[PATCH] mm/damon/stat: use IS_ENABLED() for enabled initial value

From: SeongJae Park
Date: Wed Jun 04 2025 - 16:48:30 EST


The initial value of enabled parameter is set as
CONFIG_DAMON_STAT_ENABLED_DEFAULT, so get below build error when the
config is not enabled. Fix it using IS_ENABLED().

mm/damon/stat.c:27:37: error: ‘CONFIG_DAMON_STAT_ENABLED_DEFAULT’ undeclared here (not in a function)
27 | static bool enabled __read_mostly = CONFIG_DAMON_STAT_ENABLED_DEFAULT;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: SeongJae Park <sj@xxxxxxxxxx>
---
mm/damon/stat.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/damon/stat.c b/mm/damon/stat.c
index 7ef13ea22221..3686f67befc3 100644
--- a/mm/damon/stat.c
+++ b/mm/damon/stat.c
@@ -24,7 +24,8 @@ static const struct kernel_param_ops enabled_param_ops = {
.get = param_get_bool,
};

-static bool enabled __read_mostly = CONFIG_DAMON_STAT_ENABLED_DEFAULT;
+static bool enabled __read_mostly = IS_ENABLED(
+ CONFIG_DAMON_STAT_ENABLED_DEFAULT);
module_param_cb(enabled, &enabled_param_ops, &enabled, 0600);
MODULE_PARM_DESC(enabled, "Enable of disable DAMON_STAT");

--
2.39.5


Return-Path: <linux-kernel+bounces-673782-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4650C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 16:58:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CB3F6189A8EC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:58:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 709A6213E7B;
Wed, 4 Jun 2025 20:58:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="xeKrlC9z"
Received: from out-178.mta1.migadu.com (out-178.mta1.migadu.com [95.215.58.178])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1889820459A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:58:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.178
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749070711; cv=none; b=ivxAxULWboiu6kYtmVYhEU1ZlEWGljikrOuq3S85rlOD2p6R2loW1E3jnI/2C5OQkHdF3xds8s66zXvFoxRRTlJyve72Dy67uepj1l30owWUOMEY7K0PPfYqequL2epIFdWbQK5FETawPKtcionkRofPKeFmoz6LRo7tKikwxWw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749070711; c=relaxed/simple;
bh=RoPbyZBxENrNdcPnruV3adrDN3KizO26jpCbgNiF/fc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=CNjjPnWVulVClIkKa4JA8qTQvIK+CsRyqJv++NckiAJq8VoPYg/jla7BLulzj2NfiAjelrDlVH5oCDqu/RkfbyzMINghYbTP5/+GznsKPG/Px5sEdof61q0e4gVON3OH83GiMFUYOoh1+ZMc7QJyruqZjDqwt1A7t/7+NYwnIyc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=xeKrlC9z; arc=none smtp.client-ip=95.215.58.178
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
Date: Wed, 4 Jun 2025 13:57:49 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1749070695;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=AOW1xdrjziPgqyySMNuIr3SaQxi8OEOWfnwiMMxBaSE=;
b=xeKrlC9zIC3ZmPVYMgcrLAAdA1ixnF5cvvgJyn8+c3/RJLlbX+/MB67tAaFBuiw+t0TcX3
bT5MXuHNghyhuS4IXUcX8DCQblIYjCBZmsxRaWOO1Pg4L6QzKGiQwcYAuFS5Krli8PlayG
Kps59HH5Y5EsnRyEyCt7qGrhtUhWWRg=
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
From: Oliver Upton <oliver.upton@xxxxxxxxx>
To: Colton Lewis <coltonlewis@xxxxxxxxxx>
Cc: kvm@xxxxxxxxxxxxxxx, pbonzini@xxxxxxxxxx, corbet@xxxxxxx,
linux@xxxxxxxxxxxxxxx, catalin.marinas@xxxxxxx, will@xxxxxxxxxx,
maz@xxxxxxxxxx, joey.gouly@xxxxxxx, suzuki.poulose@xxxxxxx,
yuzenghui@xxxxxxxxxx, mark.rutland@xxxxxxx, shuah@xxxxxxxxxx,
linux-doc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, kvmarm@xxxxxxxxxxxxxxx,
linux-perf-users@xxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 06/17] KVM: arm64: Introduce method to partition the PMU
Message-ID: <aECzTYoj1F6WHAUC@xxxxxxxxx>
References: <aD9w3Kj4-YoizKv5@xxxxxxxxx>
<gsntsekf1d58.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <gsntsekf1d58.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 08:10:27PM +0000, Colton Lewis wrote:
> Thank you Oliver for the additional explanation.
>
> Oliver Upton <oliver.upton@xxxxxxxxx> writes:
>
> > On Tue, Jun 03, 2025 at 09:32:41PM +0000, Colton Lewis wrote:
> > > Oliver Upton <oliver.upton@xxxxxxxxx> writes:
>
> > > > On Mon, Jun 02, 2025 at 07:26:51PM +0000, Colton Lewis wrote:
> > > > > static void kvm_arm_setup_mdcr_el2(struct kvm_vcpu *vcpu)
> > > > > {
> > > > > + u8 hpmn = vcpu->kvm->arch.arm_pmu->hpmn;
> > > > > +
> > > > > preempt_disable();
>
> > > > > /*
> > > > > * This also clears MDCR_EL2_E2PB_MASK and MDCR_EL2_E2TB_MASK
> > > > > * to disable guest access to the profiling and trace buffers
> > > > > */
> > > > > - vcpu->arch.mdcr_el2 = FIELD_PREP(MDCR_EL2_HPMN,
> > > > > - *host_data_ptr(nr_event_counters));
> > > > > - vcpu->arch.mdcr_el2 |= (MDCR_EL2_TPM |
> > > > > + vcpu->arch.mdcr_el2 = FIELD_PREP(MDCR_EL2_HPMN, hpmn);
> > > > > + vcpu->arch.mdcr_el2 |= (MDCR_EL2_HPMD |
> > > > > + MDCR_EL2_TPM |
>
> > > > This isn't safe, as there's no guarantee that kvm_arch::arm_pmu is
> > > > pointing that the PMU for this CPU. KVM needs to derive HPMN from some
> > > > per-CPU state, not anything tied to the VM/vCPU.
>
> > > I'm confused. Isn't this function preparing to run the vCPU on this
> > > CPU? Why would it be pointing at a different PMU?
>
> > Because arm64 is a silly ecosystem and system designers can glue
> > together heterogenous CPU implementations. The arm_pmu that KVM is
> > pointing at might only match a subset of CPUs, but vCPUs migrate at the
> > whim of the scheduler (and userspace).
>
> That means the arm_pmu field might at any time point to data that
> doesn't represent the current CPU. I'm surprised that's not swapped out
> anywhere. Seems like it would be useful to have an arch struct be a
> reliable source of information about the current arch.

There's no way to accomplish that. It is per-VM data, and you could have
vCPUs on a mix of physical CPUs.

This is mitigated somewhat when the VMM explicitly selects a PMU
implementation, as we prevent vCPUs from actually entering the guest on
an unsupported CPU (see ON_SUPPORTED_CPU flag).

> > There are two *very* distinct functions w.r.t. partitioning:
>
> > 1) Partitioning of a particular arm_pmu that says how many counters the
> > host can use
>
> > 2) VMM intentions to present a subset of the KVM-owned counter
> > partition to its guest
>
> > #1 is modifying *global* state, we really can't mess with that in the
> > context of a single VM...
>
> I see the distinction more clearly now. Since KVM can only control the
> number of counters presented to the guest through HPMN, why would the
> VMM ever choose a subset? If the host PMU is globally partitioned to not
> use anything in the guest range, presenting fewer counters to a guest is
> just leaving some counters in the middle of the range unused.

You may not want to give a 'full' PMU to all VMs running on a system,
but some OSes (Windows) expect to have at least the fixed CPU cycle
counter present. In this case the VMM would deliberately expose fewer
counters. FEAT_HPMN0 didn't get added to the architecture by accident...

Thanks,
Oliver


Return-Path: <linux-kernel+bounces-673783-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9271F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 16:59:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id AAFBA3A8DC5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:58:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AF8F479D0;
Wed, 4 Jun 2025 20:58:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="hKaS5he9"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1AF3C1E47AD
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:58:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749070737; cv=none; b=P75w0y3wbXjyFsoEQDwCVSX7PlqciQcOVOxXB3PUkfWTli7WPBK2xNOhmR28bAE9dT4rlt7xoh48P12WL02bWe3yDh4FYFgKbCYBaNIRglxgaEl2WjUOzW0El4IVC97GYMepzaXXXRRFFpqxsofIR8Pf53CP8/EjzVk7FasjWqg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749070737; c=relaxed/simple;
bh=zYGIV8gUJFeESoLXphcUN3VcBCSW38+M6xGL/Gy3T2E=;
h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:
MIME-Version:Content-Type; b=IECteawGkACyM4+9UROl74un4geiOd0m7RhXF2iWecftqpcd0uVTWBz87MiVnd2cguEb0cu4dNA2ngon0pk9WBERSFt0GUfnjkPiyQhPYC/Tv8QVc6XLEiZ5kgO+BLCO4Tz/mjxOsxjqwqF3PMnhM4YUYOUgrrYG+gwmVxQ/tUE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=hKaS5he9; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749070735;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=IjFlZ2/sUA2L86ngL9b3sMgbK1PseoDFjEohelsa5Jg=;
b=hKaS5he9ZwmMwa2vzrC1tPtC5wBLDMACM7iumqhIFqYC/THZoykJwm0C0yUVZfx+9npUb/
E64lOevoeo+fzzs81H491Db3mOCTG1OAAQr0LFwDwSe2QJMmy7qkbsfJV1DbG2kVofSOHr
v797OkXmDXdXvmeD/F5GQdksGVrVLyY=
Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com
[209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-329-dEBF4cY6MPKv-sqDefHqNA-1; Wed, 04 Jun 2025 16:58:51 -0400
X-MC-Unique: dEBF4cY6MPKv-sqDefHqNA-1
X-Mimecast-MFC-AGG-ID: dEBF4cY6MPKv-sqDefHqNA_1749070730
Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a503f28b09so139537f8f.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 13:58:51 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749070730; x=1749675530;
h=mime-version:references:message-id:in-reply-to:subject:cc:to:from
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=IjFlZ2/sUA2L86ngL9b3sMgbK1PseoDFjEohelsa5Jg=;
b=d73LTGZF4nhpT0x9U5yEL7dGExoCzEqDsNvgJ9Mi8VoAkzk+291x1DPHJibVeu7fnU
rhWnsHshJ8QQpyuF24jTbrbSKssy2YLGoN/RlG+adXYg7bkz7up/EvPRl/0G8fSohk9i
OpHuDMa2c/mo5+88GVzxYA+6swUqVWaJUJMUnoTe+uf/n001qJcXzdqCRCMyTbQvFXSf
sCBXikRM2CgoS3UKPlGPdS6XeANtoQ5L7j9Mp60H8minsUcEZftrtCexXaVYwbLb7jSk
m2OlLbIbKbJWoqEfGsHWBC0LVKvyky7XF10sSecc/nDqES1KL3/DuHc1v3frAbdX3+XL
gnkg==
X-Forwarded-Encrypted: i=1; AJvYcCWBeKQMHlg+F0aS9k92hN1JNdpfEvrk41dZPmztaaGWVHH8Z+dBb/B7It0kvyqsXXeZH+lEPPHA0pZUPPs=@vger.kernel.org
X-Gm-Message-State: AOJu0YxJPRE2GiGyJtJ6SXxoPaPHKke7CAXcNGdHhHst0tiuMjSiVk6w
hn0xL80NGPEqXSj4heo5z60RMJJBdm7vWxJOQG4SYAAlA9OrYy4Gu7rJ7N+EvdrNyYPMeUU2YmH
gPBhKBhrwizzcKWwqZ+HbGdAH1oi05JGmF4asT8MdKKvJnsduwrZrCxDZ4zB1sq3Eaw==
X-Gm-Gg: ASbGncshHoDxzOKLB9TpK1hm7hPReiuKpLmas1RHoU7RTNZ87F/zf5CT23wVNstFT6A
2TT2sfFwRGGgZE9I2EsZuAAJ1fTxo9Bxb84PPy7kRCTS94aVOjkM/P+blTGS1C1oo8oZYFhIJh9
j89BTPqXxEeqrlQKT98eorGG4SX7vjmmptuI9/OLfI0M7BgaifTN/iNyu1C5t8+zY/gZyXNmRoB
Aj60ZKfmYCQUdJZvcW486IL8gu2lM2R6kc/cKQE2xxOQBJv1nK3X3KIZ2MRQDIg/azPaEwAYXOo
ycRhpRK7TPafXdpng0ZYKvHvxtwGeHrYF+fyVORuT3hHFi992y2sJ1rB9U9I
X-Received: by 2002:a05:6000:2890:b0:3a4:e603:3d2 with SMTP id ffacd0b85a97d-3a526a84717mr847209f8f.0.1749070730442;
Wed, 04 Jun 2025 13:58:50 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEa+Gezp8iiTLoB/KqZ3gWK809er5J18zOcbOHxYhrjEk3yJTf+o6JBeAedMNn9aSfhfWFJMQ==
X-Received: by 2002:a05:6000:2890:b0:3a4:e603:3d2 with SMTP id ffacd0b85a97d-3a526a84717mr847196f8f.0.1749070730088;
Wed, 04 Jun 2025 13:58:50 -0700 (PDT)
Received: from rh (p200300f6af1bce00e6fe5f11c0a7f4a1.dip0.t-ipconnect.de. [2003:f6:af1b:ce00:e6fe:5f11:c0a7:f4a1])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4efe754acsm23052362f8f.59.2025.06.04.13.58.49
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 13:58:49 -0700 (PDT)
Date: Wed, 4 Jun 2025 22:58:48 +0200 (CEST)
From: Sebastian Ott <sebott@xxxxxxxxxx>
To: Zenghui Yu <yuzenghui@xxxxxxxxxx>
cc: Marc Zyngier <maz@xxxxxxxxxx>, Oliver Upton <oliver.upton@xxxxxxxxx>,
Colton Lewis <coltonlewis@xxxxxxxxxx>,
Ricardo Koller <ricarkol@xxxxxxxxxx>, Joey Gouly <joey.gouly@xxxxxxx>,
Suzuki K Poulose <suzuki.poulose@xxxxxxx>, Shuah Khan <shuah@xxxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, kvmarm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 0/3] KVM: arm64: selftests: arch_timer_edge_cases
fixes
In-Reply-To: <adf8b877-7ca2-f60b-fb59-578c70d0e3c0@xxxxxxxxxx>
Message-ID: <9b9f7099-4e81-9b74-a1ac-37cd4965675b@xxxxxxxxxx>
References: <20250527142434.25209-1-sebott@xxxxxxxxxx> <adf8b877-7ca2-f60b-fb59-578c70d0e3c0@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Zenghui,

On Tue, 3 Jun 2025, Zenghui Yu wrote:
> On 2025/5/27 22:24, Sebastian Ott wrote:
>> Some small fixes for arch_timer_edge_cases that I stumbled upon
>> while debugging failures for this selftest on ampere-one.
>>
>> Changes since v1: modified patch 3 based on suggestions from Marc.
>>
>> I've done some tests with this on various machines - seems to be all
>> good, however on ampere-one I now hit this in 10% of the runs:
>> ==== Test Assertion Failure ====
>> arm64/arch_timer_edge_cases.c:481: timer_get_cntct(timer) >= DEF_CNT + (timer_get_cntfrq() * (uint64_t)(delta_2_ms) / 1000)
>> pid=166657 tid=166657 errno=4 - Interrupted system call
>> 1 0x0000000000404db3: test_run at arch_timer_edge_cases.c:933
>> 2 0x0000000000401f9f: main at arch_timer_edge_cases.c:1062
>> 3 0x0000ffffaedd625b: ?? ??:0
>> 4 0x0000ffffaedd633b: ?? ??:0
>> 5 0x00000000004020af: _start at ??:?
>> timer_get_cntct(timer) >= DEF_CNT + msec_to_cycles(delta_2_ms)
>>
>> This is not new, it was just hidden behind the other failure. I'll
>> try to figure out what this is about (seems to be independent of
>> the wait time)..
>
> Not sure if you have figured it out. I can easily reproduce it on my box
> and I *guess* it is that we have some random XVAL values when we enable
> the timer..

Yes, I think so, too.

> test_reprogramming_timer()
> {
> local_irq_disable();
> reset_timer_state(timer, DEF_CNT);

My first attempt was to also initialize cval here

>
> /* Program the timer to DEF_CNT + delta_1_ms. */
> set_tval_irq(timer, msec_to_cycles(delta_1_ms), CTL_ENABLE);
>
> [...]
> }
>
> set_tval_irq()
> {
> timer_set_ctl(timer, ctl);
>
> // There is a window that we enable the timer with *random* XVAL
> // values and we may get the unexpected interrupt.. And it's
> // unlikely that KVM can be aware of TVAL's change (and
> // re-evaluate the interrupt's pending state) before hitting the
> // GUEST_ASSERT().
>
> timer_set_tval(timer, tval_cycles);

Yes, I stumbled over this as well. I've always assumed that this order is
becauase of this from the architecture "If CNTV_CTL_EL0.ENABLE is 0, the
value returned is UNKNOWN." However re-reading that part today I realized
that this only concerns register reads.

Maybe somone on cc knows why it's in that order?

I'm currently testing this with the above swapped and it's looking good,
so far.

> }
>
> I'm not familiar with the test so I'm not 100% sure that this is the
> root cause. But I hope this helps with your analysis ;-) .

It did, thanks!

Sebastian



Return-Path: <linux-kernel+bounces-673784-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2F6A041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:03:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2143B3A5C97
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:03:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F1C2C1DF27E;
Wed, 4 Jun 2025 21:03:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="PwwqrDkO"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2798D111BF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:03:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749071007; cv=none; b=Tv9YHBeAg9X4BW2bOve15pDPnbGbxjUrJ9UyKeobhNGHVXvAxUchv+MCNNTI93KUSUxb2t85pmJ2ujAHKLlWqkUysU2kjLEptL1mthGqT5O58DmQrJzhXqHyerpofdn9UsUeEXvwdpndk89xb9vQiV5rNq4wpdpb12sOD8vgJPY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749071007; c=relaxed/simple;
bh=Fybfpl+9NRRoM+EOI6O4wAg0E8lwrxs97y3QuiCUKKc=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=Vtf+ox9ko0f4bADRs9YiLVIvUND+iLZuTVK2rVlBBKVsp8hUJ9dK7j78qsyUA4KMSFBP8N4tniiqj7AdM1f1bIqPjMaDnZB5Etu7zwttXLQY6vWb9GpUAIoHs2Werr+vLTVpSL5wcYUf2D8m0BCalRia5sy3UI9pw8vfYAOLYng=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=PwwqrDkO; arc=none smtp.client-ip=192.198.163.10
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749071005; x=1780607005;
h=from:date:subject:mime-version:content-transfer-encoding:
message-id:to:cc;
bh=Fybfpl+9NRRoM+EOI6O4wAg0E8lwrxs97y3QuiCUKKc=;
b=PwwqrDkOdDf4lur1GQn0OCPyRUP81u6VmqjzHw3zAOlrfDsiJXjUfGwS
aItTJzD/QC9ED5jQ10uYmtV9CzHNcFOU1qbibxzcsMvwqKqpqHoqaytWv
Gtd7t5Eiy473/6SCjh8rRNzQKXHAleW4LxGDp9fmWN+AftKssoYFOn3z4
1Zg73YAVou2LQMdPUUMRSkrzLqoiN+yOcL7A6hGCkHgpFprwIdeh6sPXc
vdRhg+HIwLmmjPdl84xdWH7ubU2jVRku+KTdGiQmkcoDWp7/xEoqNBZHK
iC1188LqpT5CtaUq8lncHJYogJHz/R+yjL+7flfb0T5scAZUfpjKDOetq
g==;
X-CSE-ConnectionGUID: mBXzsYO2S6+0VWtvLDlLYw==
X-CSE-MsgGUID: zpDlbaokQiOHbPRrsp412A==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="62530236"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="62530236"
Received: from fmviesa001.fm.intel.com ([10.60.135.141])
by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:03:24 -0700
X-CSE-ConnectionGUID: eCszTzyTRlSkawbUpvgRjA==
X-CSE-MsgGUID: wuNqWI6ITYWCMQl6HrIc3g==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="176178606"
Received: from jekeller-desk.jf.intel.com ([10.166.241.15])
by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:03:24 -0700
From: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Date: Wed, 04 Jun 2025 14:03:15 -0700
Subject: [PATCH] drm/nouveau/bl: Use kasprintf for interface name
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Message-Id: <20250604-jk-nouveua-drm-bl-snprintf-fix-v1-1-79b1593ad664@xxxxxxxxx>
X-B4-Tracking: v=1; b=H4sIAJO0QGgC/x2NMQ6DMAwAv4I811JqGoZ+peoQEqc1bQ1yACEh/
k7U8W6426GwCRe4NzsYr1Jk1ArXSwPxHfTFKKkykCPvOnfD4YM6LisvAZP9sP9i0clE54xZNow
Ugycf2kQZamQyrvo/eDyP4wR50NWVcAAAAA==
X-Change-ID: 20250604-jk-nouveua-drm-bl-snprintf-fix-c2ca525a3d2f
To: Lyude Paul <lyude@xxxxxxxxxx>, Danilo Krummrich <dakr@xxxxxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Ben Skeggs <bskeggs@xxxxxxxxxx>, Pierre Moreau <pierre.morrow@xxxxxxx>,
Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>,
Philip Li <philip.li@xxxxxxxxx>
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx, nouveau@xxxxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, kernel test robot <lkp@xxxxxxxxx>,
Jacob Keller <jacob.e.keller@xxxxxxxxx>
X-Mailer: b4 0.14.2
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The nouveau_get_backlight_name() function generates a unique name for the
backlight interface, appending an id from 1 to 99 for all backlight devices
after the first.

GCC 15 (and likely other compilers) produce the following
-Wformat-truncation warning:

nouveau_backlight.c: In function ‘nouveau_backlight_init’:
nouveau_backlight.c:56:69: error: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 3 [-Werror=format-truncation=]
56 | snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight%d", nb);
| ^~
In function ‘nouveau_get_backlight_name’,
inlined from ‘nouveau_backlight_init’ at nouveau_backlight.c:351:7:
nouveau_backlight.c:56:56: note: directive argument in the range [1, 2147483647]
56 | snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight%d", nb);
| ^~~~~~~~~~~~~~~~
nouveau_backlight.c:56:17: note: ‘snprintf’ output between 14 and 23 bytes into a destination of size 15
56 | snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight%d", nb);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The warning started appearing after commit ab244be47a8f ("drm/nouveau:
Fix a potential theorical leak in nouveau_get_backlight_name()") This fix
for the ida usage removed the explicit value check for ids larger than 99.
The compiler is unable to intuit that the ida_alloc_max() limits the
returned value range between 0 and 99.

The warning has gone unfixed for some time, with at least one kernel test
robot report. The code breaks W=1 builds, which is especially frustrating
with the introduction of CONFIG_WERROR.

Refactor the function to avoid the fixed-length buffer entirely. Use
kasprintf to allocate a buffer of appropriate size. This avoids the need
for BL_NAME_SIZE and resolves the -Wformat-truncation warning, fixing W=1
builds.

Compile tested only.

Fixes: ab244be47a8f ("drm/nouveau: Fix a potential theorical leak in nouveau_get_backlight_name()")
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202312050324.0kv4PnfZ-lkp@xxxxxxxxx/
Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
---
This could also be fixed by simply increasing BL_NAME_SIZE to 24, making it
large enough to fit any size integer into its format string, or by checking
the return value of snprintf.
---
drivers/gpu/drm/nouveau/nouveau_backlight.c | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c
index d47442125fa183146135f3725eae161c68e2a900..d3cf69fe2eeb33c24ee698db19b34a56a72f51cb 100644
--- a/drivers/gpu/drm/nouveau/nouveau_backlight.c
+++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c
@@ -42,22 +42,21 @@
#include "nouveau_acpi.h"

static struct ida bl_ida;
-#define BL_NAME_SIZE 15 // 12 for name + 2 for digits + 1 for '\0'

-static bool
-nouveau_get_backlight_name(char backlight_name[BL_NAME_SIZE],
- struct nouveau_backlight *bl)
+static char *
+nouveau_get_backlight_name(struct nouveau_backlight *bl)
{
const int nb = ida_alloc_max(&bl_ida, 99, GFP_KERNEL);

if (nb < 0)
- return false;
- if (nb > 0)
- snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight%d", nb);
- else
- snprintf(backlight_name, BL_NAME_SIZE, "nv_backlight");
+ return NULL;
+
bl->id = nb;
- return true;
+
+ if (nb > 0)
+ return kasprintf(GFP_KERNEL, "nv_backlight%d", nb);
+ else
+ return kasprintf(GFP_KERNEL, "nv_backlight");
}

static int
@@ -293,9 +292,9 @@ nouveau_backlight_init(struct drm_connector *connector)
struct nouveau_backlight *bl;
struct nouveau_encoder *nv_encoder = NULL;
struct nvif_device *device = &drm->client.device;
- char backlight_name[BL_NAME_SIZE];
struct backlight_properties props = {0};
const struct backlight_ops *ops;
+ char *backlight_name;
int ret;

if (apple_gmux_present()) {
@@ -348,7 +347,8 @@ nouveau_backlight_init(struct drm_connector *connector)
goto fail_alloc;
}

- if (!nouveau_get_backlight_name(backlight_name, bl)) {
+ backlight_name = nouveau_get_backlight_name(bl);
+ if (!backlight_name) {
NV_ERROR(drm, "Failed to retrieve a unique name for the backlight interface\n");
goto fail_alloc;
}
@@ -356,6 +356,7 @@ nouveau_backlight_init(struct drm_connector *connector)
props.type = BACKLIGHT_RAW;
bl->dev = backlight_device_register(backlight_name, connector->kdev,
nv_encoder, ops, &props);
+ kfree(backlight_name);
if (IS_ERR(bl->dev)) {
if (bl->id >= 0)
ida_free(&bl_ida, bl->id);

---
base-commit: 90b83efa6701656e02c86e7df2cb1765ea602d07
change-id: 20250604-jk-nouveua-drm-bl-snprintf-fix-c2ca525a3d2f

Best regards,
--
Jacob Keller <jacob.e.keller@xxxxxxxxx>



Return-Path: <linux-kernel+bounces-673785-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6930841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:04:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9745A176410
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:04:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3DA4520B7FB;
Wed, 4 Jun 2025 21:04:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="h1mFWi87"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A0788111BF;
Wed, 4 Jun 2025 21:04:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.14
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749071088; cv=none; b=Gmav+1LU30zUNrmc9VmPbRP+ZwP+u+HkacYkh9QpZhBsT24z/o5AM0bfSc67e/IPis6sIFiMj5u4RAket21yxANDKnLygm1U56gxLuAe3WVq6lQEb/YPbMjDbipQRA3FJGQ1eVQUlYSvsjThq0YxcusV7reBH4FY8fkDYwjqcL8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749071088; c=relaxed/simple;
bh=Ax0LaVdVrMdodaXbxHS1uMp0e5JdIRTqR6F8VUnG4bM=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=hDZWp6vLA6CiiKsD+sfyEBwI4cuqlc4JleaVzCtPV0nXOo9j5p8VSgBkHNQKWqm5hJ5cXlMDt/IZz/3nKekiAMprRVtanL0Wi/LJjPBllFbZjbyqZjeROio4xMo6cm+CCpfATjUZfxRBD9XQ09PWxR31d1ZsAQvyMM4omgSzPwc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=h1mFWi87; arc=none smtp.client-ip=198.175.65.14
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749071087; x=1780607087;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=Ax0LaVdVrMdodaXbxHS1uMp0e5JdIRTqR6F8VUnG4bM=;
b=h1mFWi87s18vOb4PIqCEjWpfYxdD1hnRHOAFH8PZ5e5vus0Wekp2oJQr
xaydTSfXv8Wbc3nZ0MaqIJBRLymzrrVgLTB2/knrdxlUD3guLrCP2DYxa
C1VAY9eajzW49Ee6M1y1vY6n78NYdFcf3Y9kDXSACl0R09ZAfMLYoZDgD
Uc52ymrO5zDBfxfJNJ4WVqV2rmQxcfIKGy/ToGhx2b09dJzGWbDhmr8a4
KgfqToHpsEUVu5RC3Uc+KUHWzNPckxcrYDjGt1eGXcKbVVW9pnx8i/v/B
G768VWYobL9BtMKcHn7IYKRQ+vm5+MApQlkto+/8p6uwoH3FiG6QhzBeo
g==;
X-CSE-ConnectionGUID: G5gngbptS8eRN0WW/Ls5iQ==
X-CSE-MsgGUID: LxFS1ORZRSmvyBP3TOU8tA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="54971356"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="54971356"
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:04:46 -0700
X-CSE-ConnectionGUID: 9nD5U/QeTjKVSwVuA2BoHA==
X-CSE-MsgGUID: o9yLbTW1Tli1Atn+6utNZw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150458314"
Received: from oandoniu-mobl3.ger.corp.intel.com (HELO kekkonen.fi.intel.com) ([10.245.245.208])
by fmviesa004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:04:42 -0700
Received: from kekkonen.localdomain (localhost [127.0.0.1])
by kekkonen.fi.intel.com (Postfix) with SMTP id 5809A11F83C;
Thu, 5 Jun 2025 00:04:39 +0300 (EEST)
Date: Wed, 4 Jun 2025 21:04:39 +0000
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
From: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
To: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>,
Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>,
Hans Verkuil <hverkuil@xxxxxxxxx>,
Tiffany Lin <tiffany.lin@xxxxxxxxxxxx>,
Andrew-CT Chen <andrew-ct.chen@xxxxxxxxxxxx>,
Yunfei Dong <yunfei.dong@xxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, kernel@xxxxxxxxxxxxx,
linux-media@xxxxxxxxxxxxxxx,
Sebastian Fricke <sebastian.fricke@xxxxxxxxxxxxx>
Subject: Re: [PATCH v3 1/5] media: mc: add manual request completion
Message-ID: <aEC05991kEIIifDB@kekkonen.localdomain>
References: <20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-0-603db4749d90@xxxxxxxxxxxxx>
<20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-1-603db4749d90@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-1-603db4749d90@xxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Nicolas,

Thanks for the update.

On Wed, Jun 04, 2025 at 04:09:35PM -0400, Nicolas Dufresne wrote:
> From: Hans Verkuil <hverkuil@xxxxxxxxx>
>
> By default when the last request object is completed, the whole
> request completes as well.
>
> But sometimes you want to delay this completion to an arbitrary point in
> time so add a manual complete mode for this.
>
> In req_queue the driver marks the request for manual completion by
> calling media_request_mark_manual_completion, and when the driver
> wants to manually complete the request it calls
> media_request_manual_complete().
>
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> ---
> drivers/media/mc/mc-request.c | 38 ++++++++++++++++++++++++++++++++++++--
> include/media/media-request.h | 38 +++++++++++++++++++++++++++++++++++++-
> 2 files changed, 73 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/mc/mc-request.c b/drivers/media/mc/mc-request.c
> index 5edfc2791ce7c7485def5db675bbf53ee223d837..398d0806d1d274eb8c454fc5c37b77476abe1e74 100644
> --- a/drivers/media/mc/mc-request.c
> +++ b/drivers/media/mc/mc-request.c
> @@ -54,6 +54,7 @@ static void media_request_clean(struct media_request *req)
> req->access_count = 0;
> WARN_ON(req->num_incomplete_objects);
> req->num_incomplete_objects = 0;
> + req->manual_completion = false;
> wake_up_interruptible_all(&req->poll_wait);
> }
>
> @@ -313,6 +314,7 @@ int media_request_alloc(struct media_device *mdev, int *alloc_fd)
> req->mdev = mdev;
> req->state = MEDIA_REQUEST_STATE_IDLE;
> req->num_incomplete_objects = 0;
> + req->manual_completion = false;
> kref_init(&req->kref);
> INIT_LIST_HEAD(&req->objects);
> spin_lock_init(&req->lock);
> @@ -459,7 +461,7 @@ void media_request_object_unbind(struct media_request_object *obj)
>
> req->num_incomplete_objects--;
> if (req->state == MEDIA_REQUEST_STATE_QUEUED &&
> - !req->num_incomplete_objects) {
> + !req->num_incomplete_objects && !req->manual_completion) {
> req->state = MEDIA_REQUEST_STATE_COMPLETE;
> completed = true;
> wake_up_interruptible_all(&req->poll_wait);
> @@ -488,7 +490,7 @@ void media_request_object_complete(struct media_request_object *obj)
> WARN_ON(req->state != MEDIA_REQUEST_STATE_QUEUED))
> goto unlock;
>
> - if (!--req->num_incomplete_objects) {
> + if (!--req->num_incomplete_objects && !req->manual_completion) {
> req->state = MEDIA_REQUEST_STATE_COMPLETE;
> wake_up_interruptible_all(&req->poll_wait);
> completed = true;
> @@ -499,3 +501,35 @@ void media_request_object_complete(struct media_request_object *obj)
> media_request_put(req);
> }
> EXPORT_SYMBOL_GPL(media_request_object_complete);
> +
> +void media_request_manual_complete(struct media_request *req)
> +{
> + unsigned long flags;

I'd declare flags as last.

> + bool completed = false;
> +
> + if (WARN_ON(!req))
> + return;
> + if (WARN_ON(!req->manual_completion))
> + return;

I think I'd use WARN_ON_ONCE() consistently: this is a driver (or
framework) bug and telling once about it is very probably enough.

> +
> + spin_lock_irqsave(&req->lock, flags);
> + if (WARN_ON(req->state != MEDIA_REQUEST_STATE_QUEUED))
> + goto unlock;
> +
> + req->manual_completion = false;
> + /*
> + * It is expected that all other objects in this request are
> + * completed when this function is called. WARN if that is
> + * not the case.
> + */
> + if (!WARN_ON(req->num_incomplete_objects)) {
> + req->state = MEDIA_REQUEST_STATE_COMPLETE;
> + wake_up_interruptible_all(&req->poll_wait);
> + completed = true;
> + }

A newline would be nice here.

> +unlock:
> + spin_unlock_irqrestore(&req->lock, flags);
> + if (completed)
> + media_request_put(req);
> +}
> +EXPORT_SYMBOL_GPL(media_request_manual_complete);
> diff --git a/include/media/media-request.h b/include/media/media-request.h
> index d4ac557678a78372222704400c8c96cf3150b9d9..7f9af68ef19ac6de0184bbb0c0827dc59777c6dc 100644
> --- a/include/media/media-request.h
> +++ b/include/media/media-request.h
> @@ -56,6 +56,9 @@ struct media_request_object;
> * @access_count: count the number of request accesses that are in progress
> * @objects: List of @struct media_request_object request objects
> * @num_incomplete_objects: The number of incomplete objects in the request
> + * @manual_completion: if true, then the request won't be marked as completed
> + * when @num_incomplete_objects reaches 0. Call media_request_manual_complete()
> + * to complete the request after @num_incomplete_objects == 0.
> * @poll_wait: Wait queue for poll
> * @lock: Serializes access to this struct
> */
> @@ -68,6 +71,7 @@ struct media_request {
> unsigned int access_count;
> struct list_head objects;
> unsigned int num_incomplete_objects;
> + bool manual_completion;
> wait_queue_head_t poll_wait;
> spinlock_t lock;
> };
> @@ -218,6 +222,38 @@ media_request_get_by_fd(struct media_device *mdev, int request_fd);
> int media_request_alloc(struct media_device *mdev,
> int *alloc_fd);
>
> +/**
> + * media_request_mark_manual_completion - Enable manual completion
> + *
> + * @req: The request
> + *
> + * Mark that the request has to be manually completed by calling
> + * media_request_manual_complete().
> + *
> + * This function shall be called in the req_queue callback.
> + */
> +static inline void
> +media_request_mark_manual_completion(struct media_request *req)
> +{
> + req->manual_completion = true;
> +}
> +
> +/**
> + * media_request_manual_complete - Mark the request as completed
> + *
> + * @req: The request
> + *
> + * This function completes a request that was marked for manual completion by an
> + * earlier call to media_request_mark_manual_completion(). The request's
> + * @manual_completion flag is reset to false.

s/flag/field/

> + *
> + * All objects contained in the request must have been completed previously. It
> + * is an error to call this function otherwise. If such an error occurred, the
> + * function will WARN and the object completion will be delayed until
> + * @num_incomplete_objects is 0.
> + */
> +void media_request_manual_complete(struct media_request *req);
> +
> #else
>
> static inline void media_request_get(struct media_request *req)
> @@ -336,7 +372,7 @@ void media_request_object_init(struct media_request_object *obj);
> * @req: The media request
> * @ops: The object ops for this object
> * @priv: A driver-specific priv pointer associated with this object
> - * @is_buffer: Set to true if the object a buffer object.
> + * @is_buffer: Set to true if the object is a buffer object.
> * @obj: The object
> *
> * Bind this object to the request and set the ops and priv values of
>

--
Regards,

Sakari Ailus


Return-Path: <linux-kernel+bounces-673786-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C374641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:05:43 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5FF2C3A8D17
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:05:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C170821A444;
Wed, 4 Jun 2025 21:05:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ZfoxQQJm"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2550B1DE4FC;
Wed, 4 Jun 2025 21:05:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.21
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749071128; cv=fail; b=qIH2g6Go0Gz/guB65ULltuKPMhxK51FzEcrWxjm5o1RSBzt965RLI7rEeTgBXrImIcw0N+R/yXrpWe8QCEuHSTVSwb/IBj+40Ksba/rUUIMkBhr9V605Z4SVvyU9ODhDa+oiGuyaniWvuv4Ha453xq+oayyR8Inf7oNdpNKXTS4=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749071128; c=relaxed/simple;
bh=PsgiqNh8JeJPrfLZl6LDq+LRAoqBx7MvuVKnoWRppgs=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=Zy79S0sxuGfNy2CGZCTbAbqelPANBNnUz5DGlmRmVX1m+QQhjN2xVDsCCfiSC1A2XLPwVtLrZLR8sKc4gvWSjV3BhrPTkST/2cOJOsnhP6V3KcMJjXDPYwqXKKuSauvFu3HK+Lj/xBFFQR3Tdut+jDiWOhArn31wiBloTuMBKec=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ZfoxQQJm; arc=fail smtp.client-ip=198.175.65.21
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749071127; x=1780607127;
h=date:from:to:cc:subject:message-id:references:
in-reply-to:mime-version;
bh=PsgiqNh8JeJPrfLZl6LDq+LRAoqBx7MvuVKnoWRppgs=;
b=ZfoxQQJmuoamss1JcdK9V7v6bdePOWKMVpd7p808WUKE/9DLIqtanp+o
+u6Ft72jBAfkUXvpneybncaYKDVN6JVyuJj02bbYSqa2JxF3t/Pn+DwyS
kx/YI9wghAwqzw+pNbdofa+d03GZR9JNTVNC7pqJlTnfJGglf9Lc2qpwq
YI+K/ZBiZCVthD0YzXQZkrmAhPA5000HgxEJTqVF23mLWfDCXOj8Lt31X
4oov2w9PIAJjSZOQmv0juZ6Tgy44UAyCdNsigipTMY2ZNA48wFuDxCNGL
q7AIjHbk0T/TXURUzL8wcupFmmls2gmkDSTsle0vorvNOdsrPV9v39m2x
w==;
X-CSE-ConnectionGUID: HmCaLor1QlegpQupo+VESw==
X-CSE-MsgGUID: f+qrsDchRISaPgQWfYh9cg==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51035089"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51035089"
Received: from orviesa004.jf.intel.com ([10.64.159.144])
by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:05:26 -0700
X-CSE-ConnectionGUID: 1w0A7deQR0yNY5bmC+u9xg==
X-CSE-MsgGUID: SRc88llqSTy27ZOxdHK9eg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150323967"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by orviesa004.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:05:25 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 14:05:25 -0700
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 14:05:25 -0700
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (40.107.96.56) by
edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 14:05:24 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=VLrAoe8ovOfaGZPyhJSP9rH4posbBsh3ayyZwvqKXbSfrUWX/lqm2ZEZdDN6E6fhDRYqiPSGT+VA3tNurUq/oPCInT7wXtQBYxq7z56DephZA2mIxjRSXlsUIfcwFRf8y6qWsSUcDkh0Ojrqm7AAL95Tl4Jl3UwVHe6BIkl8p8OAFnUytCECJxvnz6mGJyA0ztJqVPZ/CvYApm1J4YDfZvSfu+NsjGap4h/lEjgUp6kHon/YBK5dHWPUrQUp2558MVceyKMY8d1JIZhwbUhU+FAksFwX0lg8yc1VgBEX3MoyC3swJoXLa9s52tWCFS9apJ6Kyv5j80M0d0hdMfxneQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=tffwslYcS9wYv6xv8s7cL/iVvooTi77TcpMyFouePAw=;
b=mLw8gKLMtl9GVIlJUK1UrfrP+8tGHNAOkZKFkTGjUclj8eSogx546ckBSLPjNm51syDR3EbBs+7JNrelW5hQDJNavu4/Ya/53xYL8C05X9ENrdl2dLIX5PC03ygLGJvE+5ElS5QyXXb+aTwhBnCSfi3rIZR9wt8SqTBwfheShZdQUpVfsSiiUwF7tHlMH44NfDGi1hVAa9JxeNEJI+mpyyW/k/aYGOKFMQIR9RgNFjik2JjMye/+FBqH62tG0iL3HeQTkemoi3Vu7KLtNCQ5+uBusgJvs8ZaWGcEEOVYiAjCvcnLfBl/T0LJZgNf/GDDqlPK6PYFDXCykqXigC8nYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6)
by PH7PR11MB8035.namprd11.prod.outlook.com (2603:10b6:510:245::21) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Wed, 4 Jun
2025 21:05:22 +0000
Received: from PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.8769.031; Wed, 4 Jun 2025
21:05:21 +0000
Date: Wed, 4 Jun 2025 14:05:16 -0700
From: Dan Williams <dan.j.williams@xxxxxxxxx>
To: Alistair Popple <apopple@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>
CC: Alistair Popple <apopple@xxxxxxxxxx>, <gerald.schaefer@xxxxxxxxxxxxx>,
<dan.j.williams@xxxxxxxxx>, <jgg@xxxxxxxx>, <willy@xxxxxxxxxxxxx>,
<david@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <nvdimm@xxxxxxxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <linux-ext4@xxxxxxxxxxxxxxx>,
<linux-xfs@xxxxxxxxxxxxxxx>, <jhubbard@xxxxxxxxxx>, <hch@xxxxxx>,
<zhang.lyra@xxxxxxxxx>, <debug@xxxxxxxxxxxx>, <bjorn@xxxxxxxxxx>,
<balbirs@xxxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <loongarch@xxxxxxxxxxxxxxx>,
<linuxppc-dev@xxxxxxxxxxxxxxxx>, <linux-riscv@xxxxxxxxxxxxxxxxxxx>,
<linux-cxl@xxxxxxxxxxxxxxx>, <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
<John@xxxxxxxxxx>
Subject: Re: [PATCH 01/12] mm: Remove PFN_MAP, PFN_SG_CHAIN and PFN_SG_LAST
Message-ID: <6840b50cb29bd_24911007e@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch>
References: <cover.541c2702181b7461b84f1a6967a3f0e823023fcc.1748500293.git-series.apopple@xxxxxxxxxx>
<cb45fa705b2eefa1228e262778e784e9b3646827.1748500293.git-series.apopple@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <cb45fa705b2eefa1228e262778e784e9b3646827.1748500293.git-series.apopple@xxxxxxxxxx>
X-ClientProxiedBy: BYAPR21CA0007.namprd21.prod.outlook.com
(2603:10b6:a03:114::17) To PH8PR11MB8107.namprd11.prod.outlook.com
(2603:10b6:510:256::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|PH7PR11MB8035:EE_
X-MS-Office365-Filtering-Correlation-Id: 095eb32d-4fa5-4d45-cad7-08dda3ab849a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|7053199007;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?sSNBqkzwqkChNTGv9qy0YPLO82lgj5OtTE682ySCKw4hI5XStu3glHDRYYPU?=
=?us-ascii?Q?FUw6jD1qt423LMTI0NMliZfglUmY++fZTnYO67zx5zFrjLOGZkzj+DCx9f68?=
=?us-ascii?Q?967e/5p8dwqKuRza1RiPcsrX5tbrzLqQkGPKDYLjlLG/F06jYeUR36FMw4F1?=
=?us-ascii?Q?DL/CpgS8bCVjNv5L9INj+mUT7FdCyJKA+FSeboh8kXRy6JZEIwyhUMP5JedE?=
=?us-ascii?Q?yr7NKJJ/OGC2/tiCQJdOiPCeGcjoHE/wWAXJp+T2il7euFKz6ItRqhldGTax?=
=?us-ascii?Q?nuRjevJ8L0vokrFDU9n+lQL6GkS/SKc+zK4z3iUCRhJf0y4pLJtDkPvghnMo?=
=?us-ascii?Q?8B9oUcEzz+ohs0NsEmw4gS+XJcT8MCFlWzanltOoki28M8PTTX4rVWizvE+M?=
=?us-ascii?Q?Ezza01LVYFhtXTVxXbwZKOhu1OEaZAL1eXP8AOn0TGhStrcALDv+zzD1SWce?=
=?us-ascii?Q?91x9Sjf65+4lkyXVDr7LhjPgFC9jLPHZ4OyrXd2H2ERHKN3ZD37bbiXBfSEY?=
=?us-ascii?Q?LFScZaW7U3W865Kda4BKrVWl2b5HX/e7A/99G8jLL/Bpps2tvJ7R6gJaWwTq?=
=?us-ascii?Q?owyPquvbrfNBOr0DOg6ydVZ7xVRxLNoM7jEUXiqZc5hhTYjsUrCx6yY9gs+G?=
=?us-ascii?Q?SMvoQwCQgdj9pD8RUeeDCIYiAGw2CHeFIUHql6sMndikMc1hC8b0vJXybRIG?=
=?us-ascii?Q?9GHBlX6+Aq31XQNcWlz0P5a+ABrw/1Sj5f/4i69mRQFiWFSLbmhK377Bzrgv?=
=?us-ascii?Q?/tSo627HmuazwFrbayp9AqLNZvGLdqvRVtLxfhWh16u1h2hJAHKwSZfQW2BH?=
=?us-ascii?Q?oS6kEqZp2IL8m56VUZoT9VCiEQ1NPe8CoVpefWgz/eaRHbgioa+szGclU58i?=
=?us-ascii?Q?J/9+yHP3ghc1jdPvK0zzC3X0UsaeyrvKEELFUnS9PLMOlcus58zCpicwh2FY?=
=?us-ascii?Q?2e+3TzmP8/lqEQ7nLq4ov/NF0zWuotjue9KqZVptNKbv4Hp5vKtOq2Ocu9Ai?=
=?us-ascii?Q?UfmVVgdaCJxajpG/z58U1IWU/tnTcUV59SlQoX9YKlLB2ijvJWE7Zzhl+3L1?=
=?us-ascii?Q?vgsgy4I6UkTbpfdrmcsnjQxQnDD9+t2YpjokYo13VPdILkWBGkeIQVRyxSJo?=
=?us-ascii?Q?cueq1Rl4fN7wolDXqowJKxLz7P9pbEFxRcEdkV1VcFJyX/44vXFWyNPwZnnY?=
=?us-ascii?Q?8gV0IqnQzqK8R/nLbOXx03UxNIAoYdke7C8hS58o7YkjKSJWFCQmwaXl7jXM?=
=?us-ascii?Q?nFDw0s8QIoBfk8aAAaJb4gtnLx/EzeTDdXKOls3BMzfsZFnhdNj6CvWJUgrU?=
=?us-ascii?Q?fYxn2xAu8iIRGoIcqfp8Ja68rJHvzFbB0uR5K9PuT5PnKaLKxefKJkFyUYB0?=
=?us-ascii?Q?neR960PnjY5rCJGuCqoO/V+3rx3aL4FgQcd3ZO38S1VqSmMAKavWXmLrqP3U?=
=?us-ascii?Q?JevMYfWN0cw=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7sal2s5eXmzc1aLMbzjU/PxAdvY0rT5/lEeUyOldsB/Y2Q+4t+8yc4KxBws2?=
=?us-ascii?Q?A0XQOmF4s5YN6l+0rLTw2oKAG3Vjkp7rndsLMKCIZcCcVs+P53EcPEQv9hMi?=
=?us-ascii?Q?GP+w7bIs+zsebKKPD05TKgbakBRTgDaU0ASpj+74umZaTUb+LP4Kjx89QRZU?=
=?us-ascii?Q?Rl4dldVBLzT92wvRQt2QjG251MOE5T3cBGvNfvSxZ0YvhdSluUatLr56eR1w?=
=?us-ascii?Q?XdjUUSSuq4EUh6hzK/n5mXWRqgbDkGgWXOpVqnmrjIDTrHxnv9gU7FGpfiNS?=
=?us-ascii?Q?/9xu8NlDV99A0wmhDzXiGHBiHfMFNfvbUZy31ZPfkrkrYJSwj+FWeTAkkH2u?=
=?us-ascii?Q?zcmljcSlaE/bbL3zm3F5dvWnJFmz8bPOlyFZznSGsHcRHODnaX+wjtZjqO1y?=
=?us-ascii?Q?Itpg89Gf7VAMmsIFRVOcZ2S9owa7Y/X76Rv/YAw1imJruK6GJmVePonr4PPH?=
=?us-ascii?Q?EcAteINsb+3DTgZNWd1DCt8yfwBeQ+kZhjugp4J5pzxPsYj5p2x5U8w80lxR?=
=?us-ascii?Q?9mUq26obfAJ49wh2S44jnbYRCSjFpcnFJXZc3AWdWrbix2GYJXdnWRSYPsiz?=
=?us-ascii?Q?DhDdWUk+D0HMJvTMmMYNmTQ+STXS8Q9QWjxaIMBXGgzznfutAeBLbVUm6AmW?=
=?us-ascii?Q?dhXJGXWnaj5A/nmsVkm0HtAqTihoGBNMDXWA7hP7KKWfekKEiHQyjgnjd2cE?=
=?us-ascii?Q?9Hx/Qy5bvSJK6mJPUJGlHd8ztI0hSETj7XiFgbsgA0qvKhhSgk5lS/4OWpXo?=
=?us-ascii?Q?CurjBHSA7lttyNW7+/sIbLeVuDGwrWh6Hm14paNB9AICIbdQdQQrIWwr2eOD?=
=?us-ascii?Q?j/Z4blVWjtWapVgRiJn1Jq1vH8xUrqOFyO/80jt6qJaoBEzM5t4PXwO0Uo7D?=
=?us-ascii?Q?cBc+ScNfVWPR2B4VaewhKOdgWTjKyGkFcH8biZQyo8Hj64Y5iv6jN+dUfjOM?=
=?us-ascii?Q?jHFrDGkEiEGweP9/cqRsWc+K/7Ez3ZTzH90rqcd8VstqcBGz0Mpx/hkU5fqj?=
=?us-ascii?Q?uOB67m8mWo49oai7jzVYfjG+AdSwvV+aqauWgyhFUPciJzT+RI7IWv+SOgsP?=
=?us-ascii?Q?F5LklrVnBZs18rELXPqNnKhRAsah1tsLCFa90ofgY60JMG1f8rjQBuW57GIv?=
=?us-ascii?Q?MLTnqTUnc3eBdnxN3/n4uZz0Etq17ErZewACw5XflzZdoqZihz3/2uya8csy?=
=?us-ascii?Q?1qw51c3O4i3ngvajqlWy+gPpv4J7wq2R2Z7PGUvNwdWQxzsM8BVRsalHI8wp?=
=?us-ascii?Q?xSobHJXTDlhZmkXF+l6XsZqQDRkzc5rcrP+mEIjwZWxrl0ezpKywp+cNEAn1?=
=?us-ascii?Q?lCyOAlSUH8xxzjbwqgDFLr0w+8z0hNxNO9AGkZSB9q0plulgX2IY0YEGMmCn?=
=?us-ascii?Q?0VQnftGKVYXMsD41sVAw7k+HfFqooRfdyXLw+Xh/cPt4Ia+LWHguOd4YNHxa?=
=?us-ascii?Q?l6ntELzhuvXZgIzIzfpJ7XgDA+vTw/hskQz3OWMpuWRQq0zb+o7Zo7PFUb9A?=
=?us-ascii?Q?WA7Ed8f6t7obD9NxpVKp2PUT6l3o8KU9DLFEXNYD3X2SG6zy03wo/EtNNtd/?=
=?us-ascii?Q?dBh7JwmN1QE7Fbcqlcqe21XarZx2Sino4r/caP06cB5YrCrchAe0K3tvlvFO?=
=?us-ascii?Q?LA=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 095eb32d-4fa5-4d45-cad7-08dda3ab849a
X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 21:05:21.8670
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6VWyVI509N+OmqwyuzReqQTRU6of21tMOMVbjQ/MlOJn5z8MzD71tBSnPKsNJAxKiBtPkrOMSX8xpFFwcZUe1qS+4q3glYipfMJ3/MtnkcY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB8035
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Alistair Popple wrote:
> The PFN_MAP flag is no longer used for anything, so remove it. The
> PFN_SG_CHAIN and PFN_SG_LAST flags never appear to have been used so
> also remove them.
>
> Signed-off-by: Alistair Popple <apopple@xxxxxxxxxx>
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>

Looks good and I see PFN_DEV goes later in the series:

Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>


Return-Path: <linux-kernel+bounces-673787-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EB2DB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:06:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 97B8F3A9ADE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:05:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 80A57214801;
Wed, 4 Jun 2025 21:05:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="XBR5ZNit"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3C3B199385
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:05:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749071149; cv=none; b=UB37zHK4m/alInSNGhdUResGRQZavBBxs7mD9sVvnETMZFX6O6x2WUWEvXpX3yYCdErPihx5tjT52lm6Sr5Kb/eYwQHC7ilV39rBQ/mwwmHrX9MkfdBaxPGtNjCtd+7yHXQGX5CAjy/DgwNUgMueQ/utGdGvUubMTaOoskH0qoE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749071149; c=relaxed/simple;
bh=ysQYkn0vJT1hldv6PQzaXbDTX8tGy9xlI/aUCkxqs/U=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=O3tvznOuXVyQMv0XrHKrDfWMrwrc9Pj5J2Qg3uq023sk6DAvstcVKSk4v7XK9RH6R4LNpq+URoByGb+yb8e5RA/O8uud2Y33hg9jqTqaacT5o+18/dwKzySth48G20M6EBCFTf4hhHrPxlQfl6dV6wiDG55AjEizQmSkHH4DF90=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=XBR5ZNit; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279864.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554H3lfA013530
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:05:46 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:message-id
:mime-version:subject:to; s=qcppdkim1; bh=jLIWSMJo+PMkCwpd429vQC
+6MO/8btJcyBIKjWy5lrA=; b=XBR5ZNitDrS/qBC0m8zJlGVUSVrf7WgzwLk27J
8bBhRClAJIXzSeEJWNPC1bffsSK/vnDjBanJWhSe6ayicNi42TwL86NN5v93hbhg
yYmhz4mQEXF7rBRwyXVFbLyU3CRNRWdeqH8d2qCP80jhNtpno+oTedozvLXTyj2M
x+yLbpH+BrTfEeGcz9m9DDev7CZNAYa2qs4MS+q0OxtkxfhdR+DHRR9lbcvqZ2yv
zK/Y/SNVyV+MyWhgTQaBPKCpEBmg2BhwASDtVPTBltgdC13dryjbhcIgf7jZKWiQ
nI3FUT5VX5CWeCf5G2uBUlLFNmVyUksg0L4Ge3sa3Q0CFKYg==
Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 471g8nq9ed-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 21:05:45 +0000 (GMT)
Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-b26e0fee459so232620a12.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 14:05:45 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749071145; x=1749675945;
h=cc:to:message-id:content-transfer-encoding:mime-version:subject
:date:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=jLIWSMJo+PMkCwpd429vQC+6MO/8btJcyBIKjWy5lrA=;
b=UGG55LaRlJYnFddVSVuokO34YF9TGTJYydMJuo9FZaB2EUOxTh0O0BMJPRHhn0AcoP
IulVbI6tr1E40kLWDQNzUjnvDhbw5RFXW0Ypz7fbN5LhurBBbEXM0ZZ1OfrYtD4quHGZ
HUd+OQuH3KZRfizLfkfVtR2LJTX7kxX5dm8oIps6q5CB/PbHVi6KmdBqjRTHAz1Q9wiR
HoTgihHtxDTbKYNV4UHLacBQYCqNZBkW2qmq3QT/0c8tYH/OZs/gDCMWQZsLjl+Wul9o
OReln3XG6csCZT00SO4nknr+f0yu2mjM/288gry0OSx6ZaFtbPqmtkfgspHqxmAcQz6B
+aiw==
X-Forwarded-Encrypted: i=1; AJvYcCXGVij+tBykjqo0ro4sBX/nEz9d8qTrTDDRgy2PaEH30OdhfThb+ZHcUIJGuD82vOi+LEPokiwU0DxFBCk=@vger.kernel.org
X-Gm-Message-State: AOJu0YyKOKrOs1p+MC8uyH6IJvY7AM91V+ut2J2lBz1+LaYASL7g7xMh
SodJY0QQFH8/XNGJPd+Kc17A5ui9XvvNIxxpZ5GlwGzmGFPxQnVYIZQhxjO4W6cwKID9cooqDpd
cElxFcDNh4EuRDHS9ir4IOi4dFUCiNTiz36chbsZ1dJMMY/LD1nclrAyeyBbmkJAGc8E=
X-Gm-Gg: ASbGncuVzT8z4CYsW16biHZur+38WPP0FOxdv6DFe47SrRf0EayMmploFaoX5vFpZQe
vYHpX5/8Lz4HfwOnxhDLII0L48VeLuipyWm1H0aW9GfpEJ0WVeDdwJDTcQcYVMdL+jtNAcr5GOs
++R+Y6yofeZhtk9aqnmZ8Meh1dXdYilcXCHb0oy5ELCwbNrbLu+vWBbhA685dXynqAPmPacVHov
rW1hf4sgZp1hMIpIqyg6ai6BRg8Pee6H1KdzvYtBGxQr634tVO5eAD1/SANeybPw9OUhhLzzxUd
2Unhvxf8JahaIAXxSGJtFSULpSkwqH5iM/umoKdXJGlwxIiexhYf2CNNvg==
X-Received: by 2002:a17:903:19c8:b0:234:8a4a:ad89 with SMTP id d9443c01a7336-235f1435b72mr12649035ad.1.1749071144731;
Wed, 04 Jun 2025 14:05:44 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IH8JrF1oEAI2tJJfoczRwnUTxxY/LlxgH/4zmuy2RcabDEANlLcbhAgFVr2lWNQOBvAqXVl/g==
X-Received: by 2002:a17:903:19c8:b0:234:8a4a:ad89 with SMTP id d9443c01a7336-235f1435b72mr12648625ad.1.1749071144317;
Wed, 04 Jun 2025 14:05:44 -0700 (PDT)
Received: from hu-clew-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20])
by smtp.gmail.com with ESMTPSA id d9443c01a7336-235eaa077aesm8842555ad.7.2025.06.04.14.05.43
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 14:05:43 -0700 (PDT)
From: Chris Lew <chris.lew@xxxxxxxxxxxxxxxx>
Date: Wed, 04 Jun 2025 14:05:42 -0700
Subject: [PATCH v2] net: qrtr: mhi: synchronize qrtr and mhi preparation
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250604-qrtr_mhi_auto-v2-1-a143433ddaad@xxxxxxxxxxxxxxxx>
X-B4-Tracking: v=1; b=H4sIACW1QGgC/z3MTQ6CMBBA4auQWTumhRbElfcwhpQylVlAZfiJC
eHuNia6/Bbv7TCTMM1wzXYQ2njmOCbkpwx878YnIXfJkKvcKqsuOMkizdBz49YlYuEKW1bGlqG
2kJqXUOD393d/JAeJAy69kPtdjNbK/C+4adRY1a4LFRVt6+xtWtnz6M8+DnAcH8iXEUWhAAAA
To: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>,
Paolo Abeni <pabeni@xxxxxxxxxx>, Simon Horman <horms@xxxxxxxxxx>,
Hemant Kumar <quic_hemantk@xxxxxxxxxxx>,
Maxim Kochetkov <fido_max@xxxxxxxx>,
Loic Poulain <loic.poulain@xxxxxxxxxxxxxxxx>
Cc: Manivannan Sadhasivam <mani@xxxxxxxxxx>, linux-arm-msm@xxxxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Johan Hovold <johan@xxxxxxxxxx>,
Chris Lew <chris.lew@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.1
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749071143; l=3838;
i=chris.lew@xxxxxxxxxxxxxxxx; s=20240508; h=from:subject:message-id;
bh=ysQYkn0vJT1hldv6PQzaXbDTX8tGy9xlI/aUCkxqs/U=;
b=C0ogf9tgd+GyYT22V1/VWSdTVkh8v3fESUWkSuZ17YRgJhqJvXR2ONiS/JtRIcrlwmx7GfJs1
ZDJ0E4NhzPvC2mzns5bWFQy9BFg0ZZK3i/SqMqmq2rWJCZPK0DqMRJ6
X-Developer-Key: i=chris.lew@xxxxxxxxxxxxxxxx; a=ed25519;
pk=lEYKFaL1H5dMC33BEeOULLcHAwjKyHkTLdLZQRDTKV4=
X-Proofpoint-GUID: amnGyFzDXp6HxpReJz8UbJZB8Ti1GN2X
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA0MDE3MCBTYWx0ZWRfX3dARtKNkr6+g
RVxMfaM+2QxVD9jUlDPksMuCrQYo/ZXQqhgaNrqkMzPUkIALXO09W5HcL+794YC+J9kQvYUmTVQ
p8oXYCWsA8rzWaYt9njWY7bp3ZQUCD3AecNhPr/NKbfYl2UfCvLm8/KhE6tvdcBzeSwHzPMO+b8
7APYA+r1tyOqo0d4Fvp+GaI3N7+YBuZLE0htuGVNNHKdH1CTrGXvgZy/AemvLb4btDKl+KJXRlN
rX3EZK0h8NuN4Qx4lyeNZKjN+2eGuizy4IqLm50hcJprYW/qVjhp054P1iT4voDcRTyVrfZp5+H
QRT/03Wnl8xiJVeDnEChRj43JeER61qgsnck88++sqZZqqq089E8TiazcFQ44fpk6PQj9+fFcg3
LjktUa+w10tAPmzwCwhOJkuDrq8pK6M7jpqf7bDsnaY4b7nPWC+XWa7puUpia88b8xlsavtp
X-Proofpoint-ORIG-GUID: amnGyFzDXp6HxpReJz8UbJZB8Ti1GN2X
X-Authority-Analysis: v=2.4 cv=UphjN/wB c=1 sm=1 tr=0 ts=6840b529 cx=c_pps
a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17
a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=VwQbUJbxAAAA:8 a=zitRP-D0AAAA:8
a=EUspDBNiAAAA:8 a=ZCUql8mqHSpVSJXybNkA:9 a=QEXdDO2ut3YA:10
a=x9snwWr2DeNwDh03kgHS:22 a=xwnAI6pc5liRhupp6brZ:22
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-04_04,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
priorityscore=1501 spamscore=0 impostorscore=0 lowpriorityscore=0
phishscore=0 mlxlogscore=865 clxscore=1011 malwarescore=0 adultscore=0
bulkscore=0 mlxscore=0 suspectscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505280000 definitions=main-2506040170
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The call to qrtr_endpoint_register() was moved before
mhi_prepare_for_transfer_autoqueue() to prevent a case where a dl
callback can occur before the qrtr endpoint is registered.

Now the reverse can happen where qrtr will try to send a packet
before the channels are prepared. The correct sequence needs to be
prepare the mhi channel, register the qrtr endpoint, queue buffers for
receiving dl transfers.

Since qrtr will not use mhi_prepare_for_transfer_autoqueue(), qrtr must
do the buffer management and requeue the buffers in the dl_callback.
Sizing of the buffers will be inherited from the mhi controller
settings.

Fixes: 68a838b84eff ("net: qrtr: start MHI channel after endpoit creation")
Reported-by: Johan Hovold <johan@xxxxxxxxxx>
Closes: https://lore.kernel.org/linux-arm-msm/ZyTtVdkCCES0lkl4@xxxxxxxxxxxxxxxxxxxx/
Signed-off-by: Chris Lew <chris.lew@xxxxxxxxxxxxxxxx>
---
net/qrtr/mhi.c | 52 +++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 47 insertions(+), 5 deletions(-)

diff --git a/net/qrtr/mhi.c b/net/qrtr/mhi.c
index 69f53625a049..5e7476afb6b4 100644
--- a/net/qrtr/mhi.c
+++ b/net/qrtr/mhi.c
@@ -15,6 +15,8 @@ struct qrtr_mhi_dev {
struct qrtr_endpoint ep;
struct mhi_device *mhi_dev;
struct device *dev;
+
+ size_t dl_buf_len;
};

/* From MHI to QRTR */
@@ -24,13 +26,22 @@ static void qcom_mhi_qrtr_dl_callback(struct mhi_device *mhi_dev,
struct qrtr_mhi_dev *qdev = dev_get_drvdata(&mhi_dev->dev);
int rc;

- if (!qdev || mhi_res->transaction_status)
+ if (!qdev)
+ return;
+
+ if (mhi_res->transaction_status == -ENOTCONN) {
+ devm_kfree(qdev->dev, mhi_res->buf_addr);
+ return;
+ } else if (mhi_res->transaction_status) {
return;
+ }

rc = qrtr_endpoint_post(&qdev->ep, mhi_res->buf_addr,
mhi_res->bytes_xferd);
if (rc == -EINVAL)
dev_err(qdev->dev, "invalid ipcrouter packet\n");
+
+ rc = mhi_queue_buf(mhi_dev, DMA_FROM_DEVICE, mhi_res->buf_addr, qdev->dl_buf_len, MHI_EOT);
}

/* From QRTR to MHI */
@@ -72,6 +83,30 @@ static int qcom_mhi_qrtr_send(struct qrtr_endpoint *ep, struct sk_buff *skb)
return rc;
}

+static int qrtr_mhi_queue_rx(struct qrtr_mhi_dev *qdev)
+{
+ struct mhi_device *mhi_dev = qdev->mhi_dev;
+ struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
+ int rc = 0;
+ int nr_el;
+
+ qdev->dl_buf_len = mhi_cntrl->buffer_len;
+ nr_el = mhi_get_free_desc_count(mhi_dev, DMA_FROM_DEVICE);
+ while (nr_el--) {
+ void *buf;
+
+ buf = devm_kzalloc(qdev->dev, qdev->dl_buf_len, GFP_KERNEL);
+ if (!buf) {
+ rc = -ENOMEM;
+ break;
+ }
+ rc = mhi_queue_buf(mhi_dev, DMA_FROM_DEVICE, buf, qdev->dl_buf_len, MHI_EOT);
+ if (rc)
+ break;
+ }
+ return rc;
+}
+
static int qcom_mhi_qrtr_probe(struct mhi_device *mhi_dev,
const struct mhi_device_id *id)
{
@@ -87,17 +122,24 @@ static int qcom_mhi_qrtr_probe(struct mhi_device *mhi_dev,
qdev->ep.xmit = qcom_mhi_qrtr_send;

dev_set_drvdata(&mhi_dev->dev, qdev);
- rc = qrtr_endpoint_register(&qdev->ep, QRTR_EP_NID_AUTO);
+
+ /* start channels */
+ rc = mhi_prepare_for_transfer(mhi_dev);
if (rc)
return rc;

- /* start channels */
- rc = mhi_prepare_for_transfer_autoqueue(mhi_dev);
+ rc = qrtr_endpoint_register(&qdev->ep, QRTR_EP_NID_AUTO);
if (rc) {
- qrtr_endpoint_unregister(&qdev->ep);
+ mhi_unprepare_from_transfer(mhi_dev);
return rc;
}

+ rc = qrtr_mhi_queue_rx(qdev);
+ if (rc) {
+ qrtr_endpoint_unregister(&qdev->ep);
+ mhi_unprepare_from_transfer(mhi_dev);
+ }
+
dev_dbg(qdev->dev, "Qualcomm MHI QRTR driver probed\n");

return 0;

---
base-commit: f48887a98b78880b7711aca311fbbbcaad6c4e3b
change-id: 20250508-qrtr_mhi_auto-3a3567456f95

Best regards,
--
Chris Lew <chris.lew@xxxxxxxxxxxxxxxx>



Return-Path: <linux-kernel+bounces-673788-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 46C0F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:07:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id A7EDD3A91AA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:07:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 183D120B7FB;
Wed, 4 Jun 2025 21:07:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=lunn.ch header.i=@lunn.ch header.b="p53paCPZ"
Received: from vps0.lunn.ch (vps0.lunn.ch [156.67.10.101])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D3D1F111BF;
Wed, 4 Jun 2025 21:07:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=156.67.10.101
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749071244; cv=none; b=n52RbaML/zbhJQKu/vGpBYyMPI+PNTr/j9B3m4ejxFnR+7pIk7z4Ch6nmayuS40LyMoHkcO6hIHg31QtQVT2bUway4Y2Ktl7y4z1DZkS9f2T2ZfKXlvLYooFyU27m4dZq881/X7QHx7HqnM+GAK+dYbuPJZ/UI7eIW2oc+a/Cj8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749071244; c=relaxed/simple;
bh=iwCXWGGatTQ1u27BEE5OUR7pg8jFHDjdG7eAGn89v24=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=hUB2UdZW6oERA83G3SgpSmrK0i5736oe3R0aXCglyHuWox6/Lysp6PXwdKQzMU+c8e65ksMoH3a2L8+imYSafEBLZoRmsQAFyCKwuyfeM+krLJdr+99+K09v4PpXQF2Ap3RimYBs1h4sLn/y2FRZ0bzWQjfqdz3zXkQ8HcK3FFs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=lunn.ch; spf=pass smtp.mailfrom=lunn.ch; dkim=pass (1024-bit key) header.d=lunn.ch header.i=@lunn.ch header.b=p53paCPZ; arc=none smtp.client-ip=156.67.10.101
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=lunn.ch
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lunn.ch
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lunn.ch;
s=20171124; h=In-Reply-To:Content-Disposition:Content-Type:MIME-Version:
References:Message-ID:Subject:Cc:To:From:Date:From:Sender:Reply-To:Subject:
Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:
Content-ID:Content-Description:Content-Disposition:In-Reply-To:References;
bh=mVs0AHMw3fsD2UbtLb9zEeprGKSe+lXYMd++O3wZybo=; b=p53paCPZfwt6vUSz1ut77lJU3q
sqxSL8txzmDgA5Pvy1zTINe3wZduLjQ8/0z49OmzRiEvv3tjAQCcMbYoF+13oGJ6dHcsv86uhZYiW
HJFRB0cHFQ6ZGo6WRroV1AWhCkeYEyG+wwS1dmVzbFrae5QEwkLr75VyaZcgqPPT3LRc=;
Received: from andrew by vps0.lunn.ch with local (Exim 4.94.2)
(envelope-from <andrew@xxxxxxx>)
id 1uMvKJ-00Ei1J-VB; Wed, 04 Jun 2025 23:07:11 +0200
Date: Wed, 4 Jun 2025 23:07:11 +0200
From: Andrew Lunn <andrew@xxxxxxx>
To: Quentin Schulz <foss+kernel@xxxxxxxxx>
Cc: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heiko Stuebner <heiko@xxxxxxxxx>,
Jakob Unterwurzacher <jakob.unterwurzacher@xxxxxxxxx>,
devicetree@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-rockchip@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Quentin Schulz <quentin.schulz@xxxxxxxxx>
Subject: Re: [PATCH v3] arm64: dts: rockchip: support Ethernet Switch adapter
for RK3588 Jaguar
Message-ID: <66af3e62-83c7-4859-b8af-215098a825f0@xxxxxxx>
References: <20250604-jaguar-mezz-eth-switch-v3-1-c68123240f9e@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604-jaguar-mezz-eth-switch-v3-1-c68123240f9e@xxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

> +&gmac1 {
> + clock_in_out = "output";
> + phy-mode = "rgmii-id";
> + pinctrl-names = "default";
> + pinctrl-0 = <&gmac1_rx_bus2
> + &gmac1_tx_bus2
> + &gmac1_rgmii_clk
> + &gmac1_rgmii_bus
> + &eth1_pins>;
> + rx_delay = <0x0>;
> + tx_delay = <0x0>;
> + status = "okay";
> +
> + fixed-link {
> + speed = <1000>;
> + full-duplex;
> + };


> + switch@5f {
> + compatible = "microchip,ksz9896";
> + reg = <0x5f>;
> + interrupt-parent = <&gpio3>;
> + interrupts = <RK_PB7 IRQ_TYPE_EDGE_FALLING>; /* ETH_INTRP_N */
> + pinctrl-0 = <&eth_reset_n &eth_intrp_n>;
> + pinctrl-names = "default";
> + reset-gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; /* ETH_RESET */
> + microchip,synclko-disable; /* CLKO_25_125 only routed to TP1 */
> +
> + ethernet-ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + lan1: port@0 {
> + reg = <0>;
> + label = "ETH1";
> + };
> +
> + lan2: port@1 {
> + reg = <1>;
> + label = "ETH2";
> + };
> +
> + lan3: port@2 {
> + reg = <2>;
> + label = "ETH3";
> + };
> +
> + lan4: port@3 {
> + reg = <3>;
> + label = "ETH4";
> + };
> +
> + port@5 {
> + reg = <5>;
> + ethernet = <&gmac1>;
> + label = "CPU";
> + phy-mode = "rgmii-id";
> + rx-internal-delay-ps = <2000>;
> + tx-internal-delay-ps = <2000>;
> +
> + fixed-link {
> + speed = <1000>;
> + full-duplex;
> + };

For these bits only:

Reviewed-by: Andrew Lunn <andrew@xxxxxxx>

Andrew


Return-Path: <linux-kernel+bounces-673789-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8205941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:08:25 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id CBCEF3A91A5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:08:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CEBF7211A11;
Wed, 4 Jun 2025 21:08:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="V89NyYz1"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89E56111BF;
Wed, 4 Jun 2025 21:08:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749071299; cv=none; b=KICSl60r1CXA+xfZuYqQWo5ojFb36w2X6X/Aw7NSgzlCrVKb/lPTfsf/qVN155M/9bZ7sSgTBJwKKGDIHuhoe23H9Mi4Y75n4Lt2YArflbgbAVl3J6BlIwxYPhFVF5K9X8y50ZTHVawKMVV4aEDEQnhLWbSxyVUHRkchJRWdUhw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749071299; c=relaxed/simple;
bh=tWPm4WiJb/p373J3p5i78NUY6CLTL/Cc5LoBP7SJ8hc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=l7dI/tHs7iAQfygmOcH6+18xkhaThymdXi52TAjmcGHtrSJYA3mcmaI/r8OtQ93WBdRXXI2iqtGgLGsQhCNc99KImokKSGeQN9jxIU0xsuVpBm/NIrk4SukdFFvJFRgVATFLPyrB7UDV8wfuNcMJ3w4BjDU4PumXjugnKr42VTs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=V89NyYz1; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C93AC4CEE4;
Wed, 4 Jun 2025 21:08:16 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749071297;
bh=tWPm4WiJb/p373J3p5i78NUY6CLTL/Cc5LoBP7SJ8hc=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=V89NyYz1PmH17Hrq03mhTjLwWzg4IkW3XOb0QW3AnTIKWyqmXPHjsIKNIVHJuxcF2
q0cwAQJDlWEVN/E/tvbAYlpW+VrFr+aipLkFdMr3ROdZAlCbV2YX3QjtzLrR1Y8B7K
AIKmJuU8QUeAMV/Yr6D4Byh1cUQ/TwyfiG6C1tlDFqha5Dl7BRpCWD+CamX0wzYL06
zEmDtabxBZRiaUziEz4oF368744ZiRJi4gGBQfVnkAO+ozVYuKr/TEYUEr65DHgpEx
GqhfU9G19z2Sqz5dllqglWJBO2RU2c0tSPZRQD6L5BuzM3rqkTXBQD4A+n+LTf7OFB
b3B6xZuI2KeTA==
Date: Wed, 4 Jun 2025 14:08:13 -0700
From: Namhyung Kim <namhyung@xxxxxxxxxx>
To: Ian Rogers <irogers@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>,
Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>,
Mark Rutland <mark.rutland@xxxxxxx>,
Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>,
Jiri Olsa <jolsa@xxxxxxxxxx>,
Adrian Hunter <adrian.hunter@xxxxxxxxx>,
Kan Liang <kan.liang@xxxxxxxxxxxxxxx>,
James Clark <james.clark@xxxxxxxxxx>, Ze Gao <zegao2021@xxxxxxxxx>,
Weilin Wang <weilin.wang@xxxxxxxxx>,
Dominique Martinet <asmadeus@xxxxxxxxxxxxx>,
Jean-Philippe Romain <jean-philippe.romain@xxxxxxxxxxx>,
Junhao He <hejunhao3@xxxxxxxxxx>, linux-perf-users@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Aditya Bodkhe <Aditya.Bodkhe1@xxxxxxx>, Leo Yan <leo.yan@xxxxxxx>,
Thomas Falcon <thomas.falcon@xxxxxxxxx>,
Atish Patra <atishp@xxxxxxxxxxxx>
Subject: Re: [PATCH v8 0/4] Prefer sysfs/JSON events also when no PMU is
provided
Message-ID: <aEC1vca_ghwQvFiY@xxxxxxxxxx>
References: <20250416045117.876775-1-irogers@xxxxxxxxxx>
<CAP-5=fU3VW1MjHMiaPG+JirLCCunMC6bEWpsJ3h0E7bTDkh9cA@xxxxxxxxxxxxxx>
<aD54ptuIFHcKPkRQ@xxxxxxxxxx>
<CAP-5=fWSfFa6ncV6JkKSN4ByQ9HR+2ff4+uzwpMO5n-GaNbwxQ@xxxxxxxxxxxxxx>
<aD98NFhyTcEU_qim@xxxxxxxxxx>
<CAP-5=fW0LKk1UyJr=feQd6nbNZC-ZLtUde=qX=-c9nqvDoqu-A@xxxxxxxxxxxxxx>
<aD-MdTsb40kIXSBE@xxxxxxxxxx>
<CAP-5=fUrQJR93UBN-rtGPqVHQsHmPcGzEmc9O2PKsQpuy+NY7w@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAP-5=fUrQJR93UBN-rtGPqVHQsHmPcGzEmc9O2PKsQpuy+NY7w@xxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Tue, Jun 03, 2025 at 05:26:37PM -0700, Ian Rogers wrote:
> On Tue, Jun 3, 2025 at 4:59 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> >
> > On Tue, Jun 03, 2025 at 04:36:34PM -0700, Ian Rogers wrote:
> > > On Tue, Jun 3, 2025 at 3:50 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> > > >
> > > > On Mon, Jun 02, 2025 at 11:08:34PM -0700, Ian Rogers wrote:
> > > > > On Mon, Jun 2, 2025 at 9:23 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> > > > > >
> > > > > > Hi Ian,
> > > > > >
> > > > > > On Tue, May 27, 2025 at 01:50:32PM -0700, Ian Rogers wrote:
> > > > > > > On Tue, Apr 15, 2025 at 9:51 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
> > > > > > > >
> > > > > > > > At the RISC-V summit the topic of avoiding event data being in the
> > > > > > > > RISC-V PMU kernel driver came up. There is a preference for sysfs/JSON
> > > > > > > > events being the priority when no PMU is provided so that legacy
> > > > > > > > events maybe supported via json. Originally Mark Rutland also
> > > > > > > > expressed at LPC 2023 that doing this would resolve bugs on ARM Apple
> > > > > > > > M? processors, but James Clark more recently tested this and believes
> > > > > > > > the driver issues there may not have existed or have been resolved. In
> > > > > > > > any case, it is inconsistent that with a PMU event names avoid legacy
> > > > > > > > encodings, but when wildcarding PMUs (ie without a PMU with the event
> > > > > > > > name) the legacy encodings have priority.
> > > > > > > >
> > > > > > > > The situation is further inconsistent as legacy events are case
> > > > > > > > sensitive, so on Intel that provides a sysfs instructions event, the
> > > > > > > > instructions event without a PMU and lowercase is legacy while with
> > > > > > > > uppercase letters it matches with sysfs which is case insensitive. Are
> > > > > > > > there legacy events with upper case letters? Yes there are, the cache
> > > > > > > > ones mix case freely:
> > > > > > > >
> > > > > > > > L1-dcache|l1-d|l1d|L1-data|L1-icache|l1-i|l1i|L1-instruction|LLC|L2|dTLB|d-tlb|Data-TLB|iTLB|i-tlb|Instruction-TLB|branch|branches|bpu|btb|bpc|node
> > > > > > > >
> > > > > > > > meaning LLC that means L2 (which is wrong) both match as part of a
> > > > > > > > legacy cache name but llc and l2 would only match sysfs/json
> > > > > > > > events. The whole thing just points at the ridiculous nature of legacy
> > > > > > > > events and why we'd want them to be preffered I don't know. Why should
> > > > > > > > case of a letter or having a PMU prefix impact the encoding in the
> > > > > > > > perf_event_attr?
> > > > > > > >
> > > > > > > > The patch doing this work was reverted in a v6.10 release candidate
> > > > > > > > as, even though the patch was posted for weeks and had been on
> > > > > > > > linux-next for weeks without issue, Linus was in the habit of using
> > > > > > > > explicit legacy events with unsupported precision options on his
> > > > > > > > Neoverse-N1. This machine has SLC PMU events for bus and CPU cycles
> > > > > > > > where ARM decided to call the events bus_cycles and cycles, the latter
> > > > > > > > being also a legacy event name. ARM haven't renamed the cycles event
> > > > > > > > to a more consistent cpu_cycles and avoided the problem. With these
> > > > > > > > changes the problematic event will now be skipped, a large warning
> > > > > > > > produced, and perf record will continue for the other PMU events. This
> > > > > > > > solution was proposed by Arnaldo.
> > > > > > > >
> > > > > > > > v8: Change removing of failed to open events that are tracking so that
> > > > > > > > the tracking moves to the next event. Make software events able to
> > > > > > > > specified with a PMU. Change the perf_api_probe to not load all
> > > > > > > > PMUs through scanning, specify a PMU when parsing events.
> > > > > > > >
> > > > > > > > v7: Expand cover letter, fix a missed core_ok check in the v6
> > > > > > > > rebase. Note, as with v6 there is an alternate series that
> > > > > > > > prioritizes legacy events but that is silly and I'd prefer we
> > > > > > > > didn't do it.
> > > > > > > >
> > > > > > > > v6: Rebase of v5 (dropping already merged patches):
> > > > > > > > https://lore.kernel.org/lkml/20250109222109.567031-1-irogers@xxxxxxxxxx/
> > > > > > > > that unusually had an RFC posted for it:
> > > > > > > > https://lore.kernel.org/lkml/Z7Z5kv75BMML2A1q@xxxxxxxxxx/
> > > > > > > > Note, this patch conflicts/contradicts:
> > > > > > > > https://lore.kernel.org/lkml/20250312211623.2495798-1-irogers@xxxxxxxxxx/
> > > > > > > > that I posted so that we could either consistently prioritize
> > > > > > > > sysfs/json (these patches) or legacy events (the other
> > > > > > > > patches). That lack of event printing and encoding inconsistency
> > > > > > > > is most prominent in the encoding of events like "instructions"
> > > > > > > > which on hybrid are reported as "cpu_core/instructions/" but
> > > > > > > > "instructions" before these patches gets a legacy encoding while
> > > > > > > > "cpu_core/instructions/" gets a sysfs/json encoding. These patches
> > > > > > > > make "instructions" always get a sysfs/json encoding while the
> > > > > > > > alternate patches make it always get a legacy encoding.
> > > > > > > >
> > > > > > > > v5: Follow Namhyung's suggestion and ignore the case where command
> > > > > > > > line dummy events fail to open alongside other events that all
> > > > > > > > fail to open. Note, the Tested-by tags are left on the series as
> > > > > > > > v4 and v5 were changing an error case that doesn't occur in
> > > > > > > > testing but was manually tested by myself.
> > > > > > > >
> > > > > > > > v4: Rework the no events opening change from v3 to make it handle
> > > > > > > > multiple dummy events. Sadly an evlist isn't empty if it just
> > > > > > > > contains dummy events as the dummy event may be used with "perf
> > > > > > > > record -e dummy .." as a way to determine whether permission
> > > > > > > > issues exist. Other software events like cpu-clock would suffice
> > > > > > > > for this, but the using dummy genie has left the bottle.
> > > > > > > >
> > > > > > > > Another problem is that we appear to have an excessive number of
> > > > > > > > dummy events added, for example, we can likely avoid a dummy event
> > > > > > > > and add sideband data to the original event. For auxtrace more
> > > > > > > > dummy events may be opened too. Anyway, this has led to the
> > > > > > > > approach taken in patch 3 where the number of dummy parsed events
> > > > > > > > is computed. If the number of removed/failing-to-open non-dummy
> > > > > > > > events matches the number of non-dummy events then we want to
> > > > > > > > fail, but only if there are no parsed dummy events or if there was
> > > > > > > > one then it must have opened. The math here is hard to read, but
> > > > > > > > passes my manual testing.
> > > > > > > >
> > > > > > > > v3: Make no events opening for perf record a failure as suggested by
> > > > > > > > James Clark and Aditya Bodkhe <Aditya.Bodkhe1@xxxxxxx>. Also,
> > > > > > > > rebase.
> > > > > > > >
> > > > > > > > v2: Rebase and add tested-by tags from James Clark, Leo Yan and Atish
> > > > > > > > Patra who have tested on RISC-V and ARM CPUs, including the
> > > > > > > > problem case from before.
> > > > > > >
> > > > > > > Ping. Thanks,
> > > > > > > Ian
> > > > > > >
> > > > > > > > Ian Rogers (4):
> > > > > > > > perf record: Skip don't fail for events that don't open
> > > > > > > > perf parse-events: Reapply "Prefer sysfs/JSON hardware events over
> > > > > > > > legacy"
> > > > > > > > perf parse-events: Allow software events to be terms
> > > > > > > > perf perf_api_probe: Avoid scanning all PMUs, try software PMU first
> > > > > >
> > > > > > Sorry for the delay. But I think we wanted to move to this instead:
> > > > > >
> > > > > > https://lore.kernel.org/linux-perf-users/20250312211623.2495798-1-irogers@xxxxxxxxxx/
> > > > >
> > > > > Hi Namhyung,
> > > > >
> > > > > The preference for sysfs/json over legacy was done as a bug fix and
> > > > > because ARM (Mark Rutland) argued strongly that it was the most
> > > > > sensible priority. Intel (Kan Liang) approved the change in priority.
> > > > > RISC-V have wanted this behavior as it enables the migration of event
> > > > > mappings from the driver to the tool. As the primary maintainer of the
> > > > > event parsing and metric code I prefer the priority as legacy events
> > > > > are weird, for example they aren't case insensitive in their naming.
> > > > > For example, on Intel with legacy events as the priority cpu-cycles
> > > > > would be a legacy event, but cpu-Cyles a sysfs one. On ARM cpu_cycles
> > > > > would be a sysfs event, but cpu-cycles a legacy one. A minor character
> > > > > difference and very different and imo surprising event encodings.
> > > >
> > > > Yeah, but it has worked like that for a long time.
> > > >
> > > > >
> > > > > On your RFC thread Arnaldo and James said that legacy events somehow
> > > > > enabled a form of drill down. As event parsing is mapping a name to a
> > > > > perf_event_attr I completely don't see this as the mapping is opaque.
> > > >
> > > > Is it opaque? (I'd say it standard event rather than legacy event.) I
> > > > think the mapping for the standard events are clearly defined.
> > >
> > > Which standard events? Going through them (abbreviated to avoid repetition):
> > > - PERF_COUNT_HW_CPU_CYCLES, ok.
> > > - PERF_COUNT_HW_INSTRUCTIONS, well does that include speculatively
> > > executed instructions or not?
> > > - ...
> > > - PERF_COUNT_HW_STALLED_CYCLES_FRONTEND, what does this count on an
> > > in order CPU?
> > > - ...
> >
> > I mean the mapping from event name to event encoding (PERF_COUNT_HW_...).
> > I think the internal event mapping is the driver's business.
> >
> > >
> > > The hardware cache events are far worse as things like LLC mean the L2
> > > cache, however, it is far more typical for this to mean L3 these days.
> > > Standard and clearly defined, sorry absolutely not. They are a
> > > minefield of well intentioned event name components waiting to explode
> > > when a vendor inadvertently creates a combination that happens to
> > > match a combination perf thinks is significant.
> >
> > Again, it belongs to the driver.
>
> But we know there are broken drivers. That is why this started. The
> Apple-M core PMU had broken mappings and was reliant on being treated
> as an uncore PMU so that legacy encodings weren't used. By forcing the
> use of legacy encodings you'd break new perf tools on v6.6 kernels on
> Apple-M IIRC.

Didn't they use sysfs events (i.e. '-e PMU/EVENT/' form) always?

>
> When an event is encoded in json it can have a description. The
> description can identify what the exact behaviors wrt speculation,
> what LLC means, etc. are. The legacy event names are a minefield and
> ambiguous.

Right, sometimes it's not 100% clear and descriptions would be nice.

>
> Why are they a minefield? We import metrics from sources like the TMA
> spreadsheet:
> https://github.com/intel/perfmon/blob/main/TMA_Metrics-full.csv
> The events named in here are intended for use across a range of tools
> like vtune and emon. When we import event names in the perf build we
> assume they are case insensitive and match them by lower-casing them:
> https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/pmu-events/jevents.py?h=perf-tools-next#n326
> Legacy cache events are made up of components:
> https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/util/parse-events.l?h=perf-tools-next#n258
> ```
> lc_type (L1-dcache|l1-d|l1d|L1-data|L1-icache|l1-i|l1i|L1-instruction|LLC|L2|dTLB|d-tlb|Data-TLB|iTLB|i-tlb|Instruction-TLB|branch|branches|bpu|btb|bpc|node)
> lc_op_result (load|loads|read|store|stores|write|prefetch|prefetches|speculative-read|speculative-load|refs|Reference|ops|access|misses|miss)
> ```

Oh, looks like it's too permissive. Do we have speculative-load in the
standard cache events?


> If legacy events have the priority then an event that accidentally
> combines these components can switch from using the event json that
> comes with the metric to using a legacy event that has a different
> behavior. It may also result in parse errors.
>
> We are avoiding stepping on mines by luck currently and the approach
> of using legacy first is essentially error prone. (It also breaks
> Apple-M and is the opposite of what RISC-V have requested)

Hmm.. ok. I feel like cache events should have lower priority at least.
If it's all about metrics, maybe we can add something like a new parse
option like parse_evens_option_args.prefer_json to have different
priority settings and use it for metrics?

>
> > >
> > > There was a similar attempt for raw events where you can go r123 for
> > > the hex 123 event config, it was missed that rEAD is a valid hex raw
> > > event as well as a useful event name. The event parsing now has a lot
> > > of special handling to avoid exploding on this - and yes the priority
> > > is that sysfs/json has priority over the raw event encoding.
> >
> > Agreed, the raw encoding can be a problem and it makes sense the sysfs/
> > JSON has the priority.
> >
> > >
> > > > >
> > > > > I strongly believe we need consistency. If `perf stat -e cycles .. `
> > > > > prints cpu_core/cycles/ as the event name on a hybrid Intel, then
> > > > > `perf stat -e cpu_core/cycles/ .. ` should have the same
> > > > > perf_event_attr. Both patch series achieve this but this one does it
> > > > > with consistency, and from what I see it, the support of 3 vendors.
> > > >
> > > > Right, it's not consistent. Maybe we need a different uniq event name
> > > > for extended (standard) events. How about "cycles(cpu_core)"? I guess
> > > > we don't want to add a space between the PMU and event names to avoid
> > > > potential user impact when they parse the output.
> > >
> > > We could and it would very likely break tooling. The intent is that
> > > cpu-cycles matches cpu_core/cpu-cycles/ and cpu_atom/cpu-cycles/ and
> > > they are expected to all be the same event. Currently with the PMU
> > > they are sysfs encoded but without a PMU they are legacy encoded but
> > > printed (uniquified) as if they were with a PMU and sysfs encoded.
> > > This is misleading.
> >
> > Hmm.. I don't know what's the correct way to handle this. Can we
> > change it not to use extended standard events and to convert to sysfs
> > events then?
>
> Tbh, I think a lot of this is coming down to 1 event, cycles. It is
> the only unambiguous legacy event. If we make cycles only mean core
> PMU cycles (ie cpu_core, cpu_atom on hybrid, cpu on non-hybrid) then I
> think this is matching what you are expecting to happen. I mean we
> only match cycles as legacy first and everything else is sysfs/json
> first and legacy last. I think other legacy events cpu-cycles aren't
> special and don't get legacy first treatment. Having just 1 special
> legacy only event cycles is a lot less offensive to me than having say
> branch-prefetch-read also be legacy. We accept cycles is a minefield
> and special, but it is unique in this.

Well.. I think cycles is an alias to cpu-cycles so they are the same.
So it's not about special casing 'cycles'. Any PMU may add conflicting
event names to sysfs (which is discouraging though).

Thanks,
Namhyung



Return-Path: <linux-kernel+bounces-673790-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 499C041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:12:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 764413A5A9C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:11:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BC39221421C;
Wed, 4 Jun 2025 21:11:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linux.org.uk header.i=@linux.org.uk header.b="EWj/Z51u"
Received: from zeniv.linux.org.uk (zeniv.linux.org.uk [62.89.141.173])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 72511111BF;
Wed, 4 Jun 2025 21:11:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=62.89.141.173
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749071514; cv=none; b=mTtV1Jd4G1NTeHjJtgUtwcwNpm1RN+3QN2Spwf/MntSvTPoUsnqJa2Xo4BCmYIlmDkH8mry9T7tZLWr5IfZhz2oWJi/oFyWr4tcbM7bgPiSgt6bFhOQaTYi7c1/DiOVAy72DPiJe7/PK5234cV7a3LcQAaDBUu9X7jen7LY/yH8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749071514; c=relaxed/simple;
bh=hLLxmyMhMOaQGxp9k0KLq1c/t6gV0P33NLDka6zpeiI=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=npGhK7y5xd57LZc7LURFtUeZHkzuU5i9jSvfIsRuae8/tDP+Au75eloNByPuG7J1yEvE3ODfLecBafdmKakoTb5TCLdicOnpy/2bIlggBMIdqIYKVxfuBNBk7oX7d+KsrQUa725mBNUAei7PHETXa2dBf7pty2GU/GdcWKfSoMI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zeniv.linux.org.uk; spf=none smtp.mailfrom=ftp.linux.org.uk; dkim=pass (2048-bit key) header.d=linux.org.uk header.i=@linux.org.uk header.b=EWj/Z51u; arc=none smtp.client-ip=62.89.141.173
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zeniv.linux.org.uk
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ftp.linux.org.uk
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To:Content-Type:
MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To:
Content-Transfer-Encoding:Content-ID:Content-Description;
bh=NBbcSq8GSGLJxMN7JRM3JgBCfklD0XZCUA2hYzChRtY=; b=EWj/Z51uEX8ppxEEgY3sAQm8mR
7VB4v+2w7EWnMgLNTRAgpSKG88cFepcWBsckF0VnGbBXKzJFTzt3IGpeTrtVzeBNn38kLu0f7dpzH
fJhMgYVyQRN0dm8EZiG+rC+GxmqUqlGj09rpaqnHIML/Ag/3MhkVylFrqdk6Kt2Z2R9fkpKRQYoQz
HUe/RusS0ScBrR4K31+kc/A0QvEmrgUwgHHcEBKDviD9OEyjWVyiybvit8XctgSEXiZ4W8X0A75Wp
QeLtBUYtK7n9OUnXcI5JTjM0m8coH56/bKg/uk+5wbsCoSLNT5xUCpX4Z74BJkNGJ8m26NC5aDxY+
PSVSoQ1g==;
Received: from viro by zeniv.linux.org.uk with local (Exim 4.98.2 #2 (Red Hat Linux))
id 1uMvOm-0000000BmCU-234o;
Wed, 04 Jun 2025 21:11:48 +0000
Date: Wed, 4 Jun 2025 22:11:48 +0100
From: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
To: Matthew Wilcox <willy@xxxxxxxxxxxxx>
Cc: Konstantin Ryabitsev <konstantin@xxxxxxxxxxxxxxxxxxx>,
Jan Kara <jack@xxxxxxx>, Christian Brauner <brauner@xxxxxxxxxx>,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Luka <luka.2016.cs@xxxxxxxxx>
Subject: Re: [Bug] possible deadlock in vfs_rmdir in Linux kernel v6.12
Message-ID: <20250604211148.GJ299672@ZenIV>
References: <CALm_T+2FtCDm4R5y-7mGyrY71Ex9G_9guaHCkELyggVfUbs1=w@xxxxxxxxxxxxxx>
<CALm_T+0j2FUr-tY5nvBqB6nvt=Dc8GBVfwzwchtrqOCoKw3rkQ@xxxxxxxxxxxxxx>
<CALm_T+3H5axrkgFdpAt23mkUyEbOaPyehAbdXbhgwutpyfMB7w@xxxxxxxxxxxxxx>
<20250604-quark-gastprofessor-9ac119a48aa1@brauner>
<20250604-alluring-resourceful-salamander-6561ff@lemur>
<bfyuxaa7cantq2fvrgizsawyclaciifxub3lortq5oox44vlsd@rxwrvg2avew7>
<20250604-daft-nondescript-junglefowl-0abd5a@lemur>
<aECu-D3Df28hYI9L@xxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <aECu-D3Df28hYI9L@xxxxxxxxxxxxxxxxxxxx>
Sender: Al Viro <viro@xxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 09:39:20PM +0100, Matthew Wilcox wrote:
> On Wed, Jun 04, 2025 at 04:11:21PM -0400, Konstantin Ryabitsev wrote:
> > Yes, hence my question. I think it's just a bad medium. It's actually the kind
> > of thing that bugzilla is okay to use for -- create a bug with attachments and
> > report it to the list, so maybe the original author can use that instead of
> > pastebin sites?
>
> The "author" looks to be a bot, frankly. At best yet-another-incompetent
> user of "my modified version of syzkaller". There's no signal here,
> would recommend just banning.

FWIW, I suspect that we ought to document that *anything* (bug reports,
patches, etc.) sent should be reachable without the need to run javascript
or any similar crap. Not sure what would be the best place for that,
though...

Seriously, this is pretty much on the same level as "don't send me
a binary as reproducer - I'm not going to run it". Folks on these
lists are fairly tempting as targets; betting on the sandbox quality
in chromium/firepox/whatnot... sorry, no.

*IF* hastebin really produces crap that can't be accessed without
interpreter of some sort, just bounce any mail that contains such links
with the obvious explanation.


Return-Path: <linux-kernel+bounces-673791-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2A70341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:14:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 8322D189A9A1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:14:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C1F6A21FF39;
Wed, 4 Jun 2025 21:13:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=paul-moore.com header.i=@paul-moore.com header.b="J48ZOjUs"
Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com [209.85.219.177])
(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 DF1CD202C2B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:13:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.177
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749071630; cv=none; b=tChTYm4EkpQH7w+lm5Qzr/bCnSQIPi5lrR0ZbjwfP2arZbk08z/dIM6c+lGHByCm/HxDfJbA8Py4kMrSY1NSX5gFETB2k1n2qnr6ee8e3ymRNBnlks3PGDu2Uyil2yfD0PlQOlFbTjIp0RhKKqKuAOwsFJma/rbuyaztI8UUXnI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749071630; c=relaxed/simple;
bh=sWOJA7v7Ov16Q2lLF9qoja13SWcCS3EU3H+3Y0lbZz8=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=f5TFxJx84SbVaBz4+VHldWW/NisoCF5LWtiDf+NdT8e/5oxFJloUFLSIQvbisGToCofK0HgwfjlinZAgVP0RnIiA5+D7di1zU6evlaXzvTI9il8vkYslqeW/U5b+4yWAhX0RNFfh6fvlxiE1zgZ1AyC0XgdiKPbkbxLQBNjGYDY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=paul-moore.com; spf=pass smtp.mailfrom=paul-moore.com; dkim=pass (2048-bit key) header.d=paul-moore.com header.i=@paul-moore.com header.b=J48ZOjUs; arc=none smtp.client-ip=209.85.219.177
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=paul-moore.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=paul-moore.com
Received: by mail-yb1-f177.google.com with SMTP id 3f1490d57ef6-e818a57287eso67668276.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 14:13:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=paul-moore.com; s=google; t=1749071627; x=1749676427; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=RFILvALIoE88+amXnoIecD1FsclDUOa9FdnGICXctS8=;
b=J48ZOjUs0gsj1gujKn+DBWQnSptDO5yRJ16jdvn4uPtU3S3UZPfZwMAVcfgXv+j/f/
ALk6LRWyNA+CakxXcVJx2dlmjB41IXZmSRtRRrIdt3oXwPdBWmiebEfcywF6GyZLUdyp
D2SmzhGHh/zSxeHGLDqdnLJCzGsLrPDfXfrF76pF5ZoyWFO2htuTzJqDCILONYKufjdS
eXY28de8CiPJiT8ola9UaGLNnJqtpY5M9y/qWPutXkIVXpBjW7s3jNnyc5tAsOw5zY0b
DN7NeSufe1nUM2cXLlW8koJwvxtNMGRKTJj8hash7GuvLSPcsAYEvd+3a0c8ApvrZegy
E7lA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749071627; x=1749676427;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=RFILvALIoE88+amXnoIecD1FsclDUOa9FdnGICXctS8=;
b=JT6JAiTWjtQsKFJ8e4f/qMoj9stu93PDDIW+PUYTdqSEI/c5u+pokC4784UfmgJt/Z
jLjLWq4YzP0a87Cv/vPq7Eju7xr6othmw6c2eu3ZalYFFVYkhPW+mJaqy7c7kZuN9Vmk
58KIVDkAny9/S2YJQkILeRhwcrl3jELRnuO3/OyBxAsLgq+MMvNk/iRbNT7iXNepyz9z
uRbgkNr+CERL24QyrwaobBtPrLyBm+hnvXbLaylsbSfF+utPA7VNgtm6AVUZD+7+i4uH
VzhDYPf4SwUfZlY8OcpXcCf3LaiW+3XLs9+fjw44zl9oiMt7PiuDXKamV/JP926K6Lm8
+OoA==
X-Forwarded-Encrypted: i=1; AJvYcCVP/ExKjzifqVQjnHCQ5nLTNWxr1AlCEB56HTeYiFk76U2MyBvCtL1AK5PzcOWPVizkuQtCXQGxplX9kFA=@vger.kernel.org
X-Gm-Message-State: AOJu0YynTwHAPJeMxdgFtt6mgs8MGeZKH6ApZrhhNvU8idTgwGe75MpJ
mTMVXvZxm76RF2Y+IXE+87rtgGJyaAMYH051ZJhWd88j2mdNBb6TPoQZfSRCgYqLVNohoLEtaW4
8C2qxYwxtAUsyIeuwgWvOsZSGRIdsDua5oMzCSyiu
X-Gm-Gg: ASbGnctQu1eVtvE1KG55HD8K7/icwnH6+T6B/OgOHrEZ0Kf5UmeATlueB1ZFSe2tomp
e97wBWiA2fsr8PhezEkZL9Lmu356Osql6/LizS/yu/2Id9YFYIx/qF4rz/KNWCNOKo8r7JKh/a+
+OId2yt/pdM0Q69+bfBiIwx1wVLqE10qksd2n9LXhrfSY=
X-Google-Smtp-Source: AGHT+IEzd3OT8v9HoRUzTyFAkQerHkAukxjDsy8RjmPaJTovfL79YwQkPcrXXduheAqGSFN+2XKJ11JKw/rxJLleniI=
X-Received: by 2002:a05:6902:100c:b0:e7f:7352:bb31 with SMTP id
3f1490d57ef6-e8179d82fc0mr6218584276.39.1749071626412; Wed, 04 Jun 2025
14:13:46 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <cover.1748890962.git.ackerleytng@xxxxxxxxxx> <c03fbe18c3ae90fb3fa7c71dc0ee164e6cc12103.1748890962.git.ackerleytng@xxxxxxxxxx>
<aD_8z4pd7JcFkAwX@xxxxxxxxxx>
In-Reply-To: <aD_8z4pd7JcFkAwX@xxxxxxxxxx>
From: Paul Moore <paul@xxxxxxxxxxxxxx>
Date: Wed, 4 Jun 2025 17:13:35 -0400
X-Gm-Features: AX0GCFtyTLCLuG24EDdI8wKdQSrU3K8jUJ6RM6t9O342c2DffUvgfnmfuwj20Jg
Message-ID: <CAHC9VhQczhrVx4YEGbXbAS8FLi0jaV1RB0kb8e4rPsUOXYLqtA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 1/2] fs: Provide function that allocates a secure
anonymous inode
To: Mike Rapoport <rppt@xxxxxxxxxx>, Ackerley Tng <ackerleytng@xxxxxxxxxx>
Cc: linux-security-module@xxxxxxxxxxxxxxx, selinux@xxxxxxxxxxxxxxx,
kvm@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
x86@xxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, aik@xxxxxxx,
ajones@xxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, amoorthy@xxxxxxxxxx,
anthony.yznaga@xxxxxxxxxx, anup@xxxxxxxxxxxxxx, aou@xxxxxxxxxxxxxxxxx,
bfoster@xxxxxxxxxx, binbin.wu@xxxxxxxxxxxxxxx, brauner@xxxxxxxxxx,
catalin.marinas@xxxxxxx, chao.p.peng@xxxxxxxxx, chenhuacai@xxxxxxxxxx,
dave.hansen@xxxxxxxxx, david@xxxxxxxxxx, dmatlack@xxxxxxxxxx,
dwmw@xxxxxxxxxxxx, erdemaktas@xxxxxxxxxx, fan.du@xxxxxxxxx, fvdl@xxxxxxxxxx,
graf@xxxxxxxxxx, haibo1.xu@xxxxxxxxx, hch@xxxxxxxxxxxxx, hughd@xxxxxxxxxx,
ira.weiny@xxxxxxxxx, isaku.yamahata@xxxxxxxxx, jack@xxxxxxx,
james.morse@xxxxxxx, jarkko@xxxxxxxxxx, jgg@xxxxxxxx, jgowans@xxxxxxxxxx,
jhubbard@xxxxxxxxxx, jroedel@xxxxxxx, jthoughton@xxxxxxxxxx,
jun.miao@xxxxxxxxx, kai.huang@xxxxxxxxx, keirf@xxxxxxxxxx,
kent.overstreet@xxxxxxxxx, kirill.shutemov@xxxxxxxxx, liam.merwick@xxxxxxxxxx,
maciej.wieczor-retman@xxxxxxxxx, mail@xxxxxxxxxxxxxxxxxxxxx, maz@xxxxxxxxxx,
mic@xxxxxxxxxxx, michael.roth@xxxxxxx, mpe@xxxxxxxxxxxxxx,
muchun.song@xxxxxxxxx, nikunj@xxxxxxx, nsaenz@xxxxxxxxx,
oliver.upton@xxxxxxxxx, palmer@xxxxxxxxxxx, pankaj.gupta@xxxxxxx,
paul.walmsley@xxxxxxxxxx, pbonzini@xxxxxxxxxx, pdurrant@xxxxxxxxxxxx,
peterx@xxxxxxxxxx, pgonda@xxxxxxxxxx, pvorel@xxxxxxx, qperret@xxxxxxxxxx,
quic_cvanscha@xxxxxxxxxxx, quic_eberman@xxxxxxxxxxx,
quic_mnalajal@xxxxxxxxxxx, quic_pderrin@xxxxxxxxxxx, quic_pheragu@xxxxxxxxxxx,
quic_svaddagi@xxxxxxxxxxx, quic_tsoni@xxxxxxxxxxx, richard.weiyang@xxxxxxxxx,
rick.p.edgecombe@xxxxxxxxx, rientjes@xxxxxxxxxx, roypat@xxxxxxxxxxxx,
seanjc@xxxxxxxxxx, shuah@xxxxxxxxxx, steven.price@xxxxxxx,
steven.sistare@xxxxxxxxxx, suzuki.poulose@xxxxxxx, tabba@xxxxxxxxxx,
thomas.lendacky@xxxxxxx, vannapurve@xxxxxxxxxx, vbabka@xxxxxxx,
viro@xxxxxxxxxxxxxxxxxx, vkuznets@xxxxxxxxxx, wei.w.wang@xxxxxxxxx,
will@xxxxxxxxxx, willy@xxxxxxxxxxxxx, xiaoyao.li@xxxxxxxxx,
yan.y.zhao@xxxxxxxxx, yilun.xu@xxxxxxxxx, yuzenghui@xxxxxxxxxx,
zhiquan1.li@xxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 4, 2025 at 3:59=E2=80=AFAM Mike Rapoport <rppt@xxxxxxxxxx> wrot=
e:
>
> (added Paul Moore for selinux bits)

Thanks Mike.

I'm adding the LSM and SELinux lists too since there are others that
will be interested as well.

> On Mon, Jun 02, 2025 at 12:17:54PM -0700, Ackerley Tng wrote:
> > The new function, alloc_anon_secure_inode(), returns an inode after
> > running checks in security_inode_init_security_anon().
> >
> > Also refactor secretmem's file creation process to use the new
> > function.
> >
> > Suggested-by: David Hildenbrand <david@xxxxxxxxxx>
> > Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>
> > ---
> > fs/anon_inodes.c | 22 ++++++++++++++++------
> > include/linux/fs.h | 1 +
> > mm/secretmem.c | 9 +--------
> > 3 files changed, 18 insertions(+), 14 deletions(-)
> >
> > diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c
> > index 583ac81669c2..4c3110378647 100644
> > --- a/fs/anon_inodes.c
> > +++ b/fs/anon_inodes.c
> > @@ -55,17 +55,20 @@ static struct file_system_type anon_inode_fs_type =
=3D {
> > .kill_sb =3D kill_anon_super,
> > };
> >
> > -static struct inode *anon_inode_make_secure_inode(
> > - const char *name,
> > - const struct inode *context_inode)
> > +static struct inode *anon_inode_make_secure_inode(struct super_block *=
s,
> > + const char *name, const struct inode *context_inode,
> > + bool fs_internal)
> > {
> > struct inode *inode;
> > int error;
> >
> > - inode =3D alloc_anon_inode(anon_inode_mnt->mnt_sb);
> > + inode =3D alloc_anon_inode(s);
> > if (IS_ERR(inode))
> > return inode;
> > - inode->i_flags &=3D ~S_PRIVATE;
> > +
> > + if (!fs_internal)
> > + inode->i_flags &=3D ~S_PRIVATE;
> > +
> > error =3D security_inode_init_security_anon(inode, &QSTR(name),
> > context_inode);
> > if (error) {
> > @@ -75,6 +78,12 @@ static struct inode *anon_inode_make_secure_inode(
> > return inode;
> > }
> >
> > +struct inode *alloc_anon_secure_inode(struct super_block *s, const cha=
r *name)
> > +{
> > + return anon_inode_make_secure_inode(s, name, NULL, true);
> > +}
> > +EXPORT_SYMBOL_GPL(alloc_anon_secure_inode);
> > +
> > static struct file *__anon_inode_getfile(const char *name,
> > const struct file_operations *fo=
ps,
> > void *priv, int flags,
> > @@ -88,7 +97,8 @@ static struct file *__anon_inode_getfile(const char *=
name,
> > return ERR_PTR(-ENOENT);
> >
> > if (make_inode) {
> > - inode =3D anon_inode_make_secure_inode(name, context_inod=
e);
> > + inode =3D anon_inode_make_secure_inode(anon_inode_mnt->mn=
t_sb,
> > + name, context_inode,=
false);
> > if (IS_ERR(inode)) {
> > file =3D ERR_CAST(inode);
> > goto err;
> > diff --git a/include/linux/fs.h b/include/linux/fs.h
> > index 016b0fe1536e..0fded2e3c661 100644
> > --- a/include/linux/fs.h
> > +++ b/include/linux/fs.h
> > @@ -3550,6 +3550,7 @@ extern int simple_write_begin(struct file *file, =
struct address_space *mapping,
> > extern const struct address_space_operations ram_aops;
> > extern int always_delete_dentry(const struct dentry *);
> > extern struct inode *alloc_anon_inode(struct super_block *);
> > +extern struct inode *alloc_anon_secure_inode(struct super_block *, con=
st char *);
> > extern int simple_nosetlease(struct file *, int, struct file_lease **,=
void **);
> > extern const struct dentry_operations simple_dentry_operations;
> >
> > diff --git a/mm/secretmem.c b/mm/secretmem.c
> > index 1b0a214ee558..c0e459e58cb6 100644
> > --- a/mm/secretmem.c
> > +++ b/mm/secretmem.c
> > @@ -195,18 +195,11 @@ static struct file *secretmem_file_create(unsigne=
d long flags)
> > struct file *file;
> > struct inode *inode;
> > const char *anon_name =3D "[secretmem]";
> > - int err;
> >
> > - inode =3D alloc_anon_inode(secretmem_mnt->mnt_sb);
> > + inode =3D alloc_anon_secure_inode(secretmem_mnt->mnt_sb, anon_nam=
e);
> > if (IS_ERR(inode))
> > return ERR_CAST(inode);
>
> I don't think we should not hide secretmem and guest_memfd inodes from
> selinux, so clearing S_PRIVATE for them is not needed and you can just dr=
op
> fs_internal parameter in anon_inode_make_secure_inode()

It's especially odd since I don't see any comments or descriptions
about why this is being done. The secretmem change is concerning as
this is user accessible and marking the inode with S_PRIVATE will
bypass a number of LSM/SELinux access controls, possibly resulting in
a security regression (one would need to dig a bit deeper to see what
is possible with secretmem and which LSM/SELinux code paths would be
affected).

I'm less familiar with guest_memfd, but generally speaking if
userspace can act on the inode/fd then we likely don't want the
S_PRIVATE flag stripped from the anon_inode.

Ackerley can you provide an explanation about why the change in
S_PRIVATE was necessary?

> > - err =3D security_inode_init_security_anon(inode, &QSTR(anon_name)=
, NULL);
> > - if (err) {
> > - file =3D ERR_PTR(err);
> > - goto err_free_inode;
> > - }
> > -
> > file =3D alloc_file_pseudo(inode, secretmem_mnt, "secretmem",
> > O_RDWR, &secretmem_fops);
> > if (IS_ERR(file))
> > --
> > 2.49.0.1204.g71687c7c1d-goog

--=20
paul-moore.com


Return-Path: <linux-kernel+bounces-673792-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8525F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:14:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id C58E6189A443
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:15:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B772F211A11;
Wed, 4 Jun 2025 21:14:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="Hahm4H2S"
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2042.outbound.protection.outlook.com [40.107.220.42])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A30D111BF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:14:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.42
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749071679; cv=fail; b=Rex3AsPCCoHp32tx0FIRvngnTJxcAU4bBv1pgH6sIRciymE27uv93pWtvdtzg73O0kfsYJ0L0uWTMRA+zAaSfK/bgHJloItE6SpJR3UEzWuEKJHgr8rG16ppYrUyfKGwzZLb1VAfxK9Tc3q09vaq+XpeJ8xm5LJ5MnTSPHmXsOk=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749071679; c=relaxed/simple;
bh=Z6vRVoTEFxw//we5ENqzsHdyrBlcfh+QXHjJm5I0iRI=;
h=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version; b=ZkfoopspwMc3RQcEmCuXi6P+s37ZlkklSjsXnQH5W9yWwUfQ0fjX3NQY8k2R083tpIwWswH7YMMN0afUbWeRdRyQCIhTb6P2mJ+JLg2OT7zWRdrsjh5b/50FQx5va0rayfWOc3x2mmJ4SrcLPGinYqy0X9G8kCnfO3b3FbEl6Vs=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=Hahm4H2S; arc=fail smtp.client-ip=40.107.220.42
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Nt08qRudeGd/KvhxjPGnUS8nfKQU8PMUdzglnjQgzRmisUfAN4Q/+N7Og/zciuGNxzhmc486UWJuT4KAy+cPJHYl2kj9Qg22pzCUTiUA68kjoHAQi13aXYEcSTrb/7pNnpPvM7j6aF4f2ZBlk9N1Q5IUfuiPCB7lya0xos+p31qeqUdSUW0hQvCigmTefD5AQkaa2XA4EggK4D9GsjIJLIQJe5Tw5tAtu++FjTPNK2n0O+DBdxS7Fv3oqruW/dU4lHCvhdxhzqyxM/GHXOZTHpIz8+s5krn3StrE3KIYTMZneXC9x8iV6SgW/uMzz4XT5G9xg+jv9M9lkk0TR7pcJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=Ftda8YoFNbQgU+/g34TsFysXCcABjB6iTs2PiWe/Wuk=;
b=yf8uJoSjhNzkTdB3s6WqgKoAwiNKz6uUi5bno/wqnuDxbBOXL5WP87jTUjTaPrhPphLEUvCL/B44cwYlDqFIJom/IzcUsfZf5jIEEtL8nYxRB0KLKsLEpafytsDucZ01jFHo8fPqGBszKxAmtXhXAL1dU5Co/X7tcOy1ZUmjM9/abIZSx78fZM5AvtIQG1K3M/ihm13Ix1HSj3v4MddaWoRS2kocBlRiG8puZfqOx3+vHD9Os2MHrkxLEdspC6nBwScBP8/U4j2GXezyUBQ1okDVjJg+kMNH/D4dHN6S41tsJpVt+BUZ9lec9nJd83Xd23tjLPj6GOS5mBrAEgLTkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=Ftda8YoFNbQgU+/g34TsFysXCcABjB6iTs2PiWe/Wuk=;
b=Hahm4H2SncwebcGGgBKfAQoKZzvd4gQ+vvhBPAo13BWDsLbRvif4+YcYfGUdhz+1ZHzV19kdqn2VNOeHPvGNDbt005x97DQ39Vq/sgHaem60xIPHmWhN9d8NRIqy+IRauJr7i0iZs8eUpFw2hJzxM/7CRKWyKamYLrWo0CWhkoXLWuxbugNbSvB/kktt3Ni6IL2/SqjaZe5rZdWCM74aNswrG9+rlDT0tLd5difAsPSaYmAmxfEy3WORC3jfRNcdNj1qjR4Yut+OtUtsngMxprdP0EcOJwb1tO09RAmjspjhUhNaILqDIpCFW6Nv0BFAci/aI57OqpV4k7zOO9mFvQ==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nvidia.com;
Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by
CY5PR12MB6599.namprd12.prod.outlook.com (2603:10b6:930:41::11) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8792.34; Wed, 4 Jun 2025 21:14:33 +0000
Received: from DS7PR12MB9473.namprd12.prod.outlook.com
([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com
([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
21:14:33 +0000
From: Zi Yan <ziy@xxxxxxxxxx>
To: david@xxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx,
isaacmanjarres@xxxxxxxxxx,
jyescas@xxxxxxxxxx,
kaleshsingh@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx,
masahiroy@xxxxxxxxxx,
mhocko@xxxxxxxx,
minchan@xxxxxxxxxx,
rppt@xxxxxxxxxx,
surenb@xxxxxxxxxx,
tjmercier@xxxxxxxxxx,
vbabka@xxxxxxx,
ziy@xxxxxxxxxx,
Anshuman Khandual <anshuman.khandual@xxxxxxx>,
Oscar Salvador <osalvador@xxxxxxx>
Subject: [PATCH v2] mm: rename CONFIG_PAGE_BLOCK_ORDER to CONFIG_PAGE_BLOCK_MAX_ORDER.
Date: Wed, 4 Jun 2025 17:14:27 -0400
Message-ID: <20250604211427.1590859-1-ziy@xxxxxxxxxx>
X-Mailer: git-send-email 2.47.2
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: BL1P222CA0011.NAMP222.PROD.OUTLOOK.COM
(2603:10b6:208:2c7::16) To DS7PR12MB9473.namprd12.prod.outlook.com
(2603:10b6:8:252::5)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|CY5PR12MB6599:EE_
X-MS-Office365-Filtering-Correlation-Id: e2933f5c-bc65-49ad-2445-08dda3accd5a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|7416014|376014|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?HJNMRZfhPdXdQiLOFK4oVJoq2ty1IepNWo6loCKGbUkIMYqyNmqsI9bsQQCd?=
=?us-ascii?Q?QDN9pVKgWJo8xWzKVoyJcEfzHRhQdQGK3HqvRLI/PwEu7HGUT0fKryb8WcKw?=
=?us-ascii?Q?qCqzx72EePZbBXanfAqPRYDGsgfym+YPb4gRBRqnRk4qtHzBfRilKJI1Kfm6?=
=?us-ascii?Q?DoRF7jrKxQqxPwab1/AWx6XfFhxFsgLR+e8NhMx8qNLTBCnhLjjY3wC146XT?=
=?us-ascii?Q?NChrC2+TRVc45bagOAET6jHxTvLy41pC6C5gq7S3AULDcHzhFFehvceLWSMg?=
=?us-ascii?Q?VwHfsiayGtaEYp9Rl4f7w5EpO3IWoPfXbGM/VqsS+eW7IOVYrrzTCPZFk2KR?=
=?us-ascii?Q?3QzDXlUDBCAHaWDfc8aBR4Yvk1qjjywGvaxGECCJTZ00DR7lOAIHEwaJvmNa?=
=?us-ascii?Q?qjnH+UBzEIub+CACqsd7nMrIzhvgSfXdaXxYjjgXKmj0OXQTFE/9my33yvuH?=
=?us-ascii?Q?0jemM0h1ztdNjIrr5iXRAHRZDdbweWMBRIVd8X77XHzUzch5UfUhTjwC+MLO?=
=?us-ascii?Q?9g+d10B0hZzAl9Je7m23Cfz0xOMTGKt0xY5FNKbvFEGpbOnyEUDXxvzq4+wV?=
=?us-ascii?Q?Y3cQZ5r3MgczmxTX0s87hJkz2MPSt0vr7Cm8lf37LbaUt2sMDDQTCfm5Gc/T?=
=?us-ascii?Q?IDEag6+uTSmNy9diyhTJVtMO/uNEpq9iVPDXzlNoIVngMgHcyVrnrOSM9/Oj?=
=?us-ascii?Q?s81Nz1xAWDBzwu32JbVUO/Fcs5SfpM2cby6+HSJVGQPIifvn7p7ZVkbQw/wo?=
=?us-ascii?Q?2Ze5Z/XrFyu+8nHZdZjUUapx4eZzWq1YJ5P6soj2B9Sj0AIWI1vK8UNFYx4R?=
=?us-ascii?Q?X+1rUkwP5QtWcra7x88JtqKiTEMB4f07EUWdbo/MV7YHY02oM/WLljihdY1f?=
=?us-ascii?Q?Ki3Idh0zUZyPpc3LMlufrSPdt/+m9kPXbaBlO/IVCWR75djjgNOzkdDVdffp?=
=?us-ascii?Q?2ZFgoTc0VAWrFtZHEeQXbCG63Yqo74YVNk+PJha4g3pVIQXjrQtbaqo81en8?=
=?us-ascii?Q?EqbJhWfd6a7ynYrQJt5sLDE+Esp6jyq+VwEvwM0AEOv85uZ6dcv5zyAtLtQK?=
=?us-ascii?Q?16Q2LDDCxQdWSEKVEkzRjfJIjFe/IE17dBVqsvYE5gOvNxTa/M2v7557paF5?=
=?us-ascii?Q?Gqoq4zNJdpFYnHk00/sWZNjZ+gOWBOd21L/hkJoTq2/WXVwxmV3bkXMAEfun?=
=?us-ascii?Q?kxC9v4J6cgopmF4KVKnRMoHWLe8cIiA8nffGoQYH6jxjbs+XKaRVFaIsb+Wq?=
=?us-ascii?Q?xUhyL2UdezZTNxPdt286lD8ocOUY5e4sQUlbXIYELkh+6IljpujiYH1aQ0HI?=
=?us-ascii?Q?bZ2mB+r3PGb6IxLluzMDl4tNQBkTAy+IWvZ3aaqO/rVEdw2IvdI3hS2cbubV?=
=?us-ascii?Q?dLmkLnmkBY5TQ78y56mdN0Et0PiXNPr9T9yyckmgjyf+yHGAn5Vsch58m713?=
=?us-ascii?Q?88swW4BlS6IWzaDNUTHH750T5vi84hKK?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?W7vLUwmgKvYCjznD4qgVyogIfhS5H8hjp0L7h+8+QtmwyEzvXCJPil034ug6?=
=?us-ascii?Q?QNTqiKHvHcYu1QEdy2Ap+6i04o8GwztgitABWsmdkefUPWoaoHNEXn+xMjOB?=
=?us-ascii?Q?/Djo5J99TQ4SAhxA+EmQqe4nBQwhWr1Xm4bCHXIK4MCWRTHcyyBuIEj00jam?=
=?us-ascii?Q?Dlb3CmRlCRG/cnHiEvR5ID7CQfiXKyAQ6ALCPxA9jsVEZuSssFPihQxuLlns?=
=?us-ascii?Q?m/AkHiKEkrX+QxEiYr+99isIFyrEx4MfbB/dyUfjlgTLURAerLIXXH9c1bb/?=
=?us-ascii?Q?Xjdt7Ap2WD8L38fxs2Rk8Q0oVUlg/GNzSc53m98ozOvhurTrsHNAmpGyr5fy?=
=?us-ascii?Q?ml67TQdQ1C6748Sz+/NVXc3H0yDANjY+/BCGhTYbPh1ONL6mKfUJhPU2dfNL?=
=?us-ascii?Q?6W68FDge7/QdrRytxvLKHTexTxkGgvZ40hDj2SeKEDm4B3kOTciRIntL2HdZ?=
=?us-ascii?Q?KxH8B8KJqFMzL1j3Ke7kJOPWbuD1eHoEbhzSuxFM39NKaJ5eL5aqp0QDuJQi?=
=?us-ascii?Q?OLzjdWkIRFG5cf5gaj1ci+Z2x6rvnTnsWjASoyoBR3ygXBe/9fB15xrGrtwf?=
=?us-ascii?Q?YNIBbMTZAdaew/WSZELVeTJUtQLZDEBhm76qUqmlAKsIW0w8NcVr/i5JO5ZV?=
=?us-ascii?Q?rwrMIsKeZi+ZsPdh9J9yNsEXOkmtWhQ1rAk/RdMYHDeHsf0aYTHCVytYLNbI?=
=?us-ascii?Q?KKmZobr+scdjaQFuRwDuTCcd/E17w2YFdHJVtF/cWfOWIFadml+CO0n81CBl?=
=?us-ascii?Q?45LCfIZ75tANsEUCCMqWO4aXuI3nqcrkdPA7E8YWb4cxhohKMDQSNfWrlRiu?=
=?us-ascii?Q?3bdxC73yHDKZ6CUMAGNxvYHf1QKJAvjdzW3V0KDloE2OmKd3L6fW9NdDRHeo?=
=?us-ascii?Q?IRCZTQiEXZvTap5q9Q3J32CrQfO5AfWyjs2kieqNFNAWtcYBzQfr1xTrfXXe?=
=?us-ascii?Q?22OI8dZA5BW6SjqsFPJfeJ9g8f1Ds4epd4pV2hkc9MyCCsvmfFSWcABj/o8N?=
=?us-ascii?Q?EbexCFWpnC76PvYLT45PxOsVC+5mzwkTlba0NfwO0HTeLkVHvSI0Ogr4KSZE?=
=?us-ascii?Q?FqAENN8iC4brC5BJCGVaE/fodXpE3LSCjr0mKYM5LuGGR+GzvrORsa+yMAri?=
=?us-ascii?Q?aCuvEcNCuuDokqcVmmCBnnxK6tO9QbP42TVpyvUZpTb8srR5+Y89ppzxXAn1?=
=?us-ascii?Q?YCdE/lRIA4yFBCj1wrgoyHPjQZLkML/CO8pywe7Bnv4RhCaFRMmoJuERzLID?=
=?us-ascii?Q?kd/7V0TJWqwqURG7EKqcNUWmvtVb/1QwyzAxWvynXWtdpy1/oaQ7BaU9UHap?=
=?us-ascii?Q?nX64lrG8senFas4fujowENLmIyarmKnvvkTCQaC4tGWMqsBeHI4kIO1JAJhY?=
=?us-ascii?Q?jLk323SLoi0gSAfEX7KN1nxO6Hoow5j65l+9hGYlfEjMTaCQ2OQWoiuVAdfD?=
=?us-ascii?Q?7qJZ6tskCSNTtVsynUNbM2yL+B805g6tb0fWzYriMmwZSCVTzjNQwhKsBPH2?=
=?us-ascii?Q?NvdIXSApxstCWC2ojHqMduI2r0KdbCSc8nqf1hHMan6Cs3PkGaKR3cXC4AKo?=
=?us-ascii?Q?LeiA5NuDfOro95RNpjLwy2dC/st99596yc85weOG?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2933f5c-bc65-49ad-2445-08dda3accd5a
X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 21:14:33.2899
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DXBZ4u0QtX/FHzPBJrJdjM6d2IBkKugApvL0Bfmpo3wIDJcPftJMTRkHP1lbaWCD
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6599
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The config is in fact an additional upper limit of pageblock_order, so
rename it to avoid confusion.

Signed-off-by: Zi Yan <ziy@xxxxxxxxxx>
Acked-by: David Hildenbrand <david@xxxxxxxxxx>
Reviewed-by: Oscar Salvador <osalvador@xxxxxxx>
Acked-by: Juan Yescas <jyescas@xxxxxxxxxx>
---
>From v1[1]:
1. used a new name: PAGE_BLOCK_MAX_ORDER,
2. added the missing PAGE_BLOCK_ORDER rename in mm/mm_init.c[2]
3. dropped the Fixes tag.

[1] https://lore.kernel.org/linux-mm/20250603154843.1565239-1-ziy@xxxxxxxxxx/
[2] https://lore.kernel.org/linux-mm/202506042058.XgvABCE0-lkp@xxxxxxxxx/

include/linux/mmzone.h | 14 +++++++-------
include/linux/pageblock-flags.h | 8 ++++----
mm/Kconfig | 15 ++++++++-------
mm/mm_init.c | 2 +-
4 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 283913d42d7b..5bec8b1d0e66 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -38,19 +38,19 @@
#define NR_PAGE_ORDERS (MAX_PAGE_ORDER + 1)

/* Defines the order for the number of pages that have a migrate type. */
-#ifndef CONFIG_PAGE_BLOCK_ORDER
-#define PAGE_BLOCK_ORDER MAX_PAGE_ORDER
+#ifndef CONFIG_PAGE_BLOCK_MAX_ORDER
+#define PAGE_BLOCK_MAX_ORDER MAX_PAGE_ORDER
#else
-#define PAGE_BLOCK_ORDER CONFIG_PAGE_BLOCK_ORDER
-#endif /* CONFIG_PAGE_BLOCK_ORDER */
+#define PAGE_BLOCK_MAX_ORDER CONFIG_PAGE_BLOCK_MAX_ORDER
+#endif /* CONFIG_PAGE_BLOCK_MAX_ORDER */

/*
* The MAX_PAGE_ORDER, which defines the max order of pages to be allocated
- * by the buddy allocator, has to be larger or equal to the PAGE_BLOCK_ORDER,
+ * by the buddy allocator, has to be larger or equal to the PAGE_BLOCK_MAX_ORDER,
* which defines the order for the number of pages that can have a migrate type
*/
-#if (PAGE_BLOCK_ORDER > MAX_PAGE_ORDER)
-#error MAX_PAGE_ORDER must be >= PAGE_BLOCK_ORDER
+#if (PAGE_BLOCK_MAX_ORDER > MAX_PAGE_ORDER)
+#error MAX_PAGE_ORDER must be >= PAGE_BLOCK_MAX_ORDER
#endif

/*
diff --git a/include/linux/pageblock-flags.h b/include/linux/pageblock-flags.h
index e73a4292ef02..6297c6343c55 100644
--- a/include/linux/pageblock-flags.h
+++ b/include/linux/pageblock-flags.h
@@ -41,18 +41,18 @@ extern unsigned int pageblock_order;
* Huge pages are a constant size, but don't exceed the maximum allocation
* granularity.
*/
-#define pageblock_order MIN_T(unsigned int, HUGETLB_PAGE_ORDER, PAGE_BLOCK_ORDER)
+#define pageblock_order MIN_T(unsigned int, HUGETLB_PAGE_ORDER, PAGE_BLOCK_MAX_ORDER)

#endif /* CONFIG_HUGETLB_PAGE_SIZE_VARIABLE */

#elif defined(CONFIG_TRANSPARENT_HUGEPAGE)

-#define pageblock_order MIN_T(unsigned int, HPAGE_PMD_ORDER, PAGE_BLOCK_ORDER)
+#define pageblock_order MIN_T(unsigned int, HPAGE_PMD_ORDER, PAGE_BLOCK_MAX_ORDER)

#else /* CONFIG_TRANSPARENT_HUGEPAGE */

-/* If huge pages are not used, group by PAGE_BLOCK_ORDER */
-#define pageblock_order PAGE_BLOCK_ORDER
+/* If huge pages are not used, group by PAGE_BLOCK_MAX_ORDER */
+#define pageblock_order PAGE_BLOCK_MAX_ORDER

#endif /* CONFIG_HUGETLB_PAGE */

diff --git a/mm/Kconfig b/mm/Kconfig
index 65089552e124..3afac26d3594 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -1017,8 +1017,8 @@ config ARCH_FORCE_MAX_ORDER
# the default page block order is MAX_PAGE_ORDER (10) as per
# include/linux/mmzone.h.
#
-config PAGE_BLOCK_ORDER
- int "Page Block Order"
+config PAGE_BLOCK_MAX_ORDER
+ int "Page Block Order Upper Limit"
range 1 10 if ARCH_FORCE_MAX_ORDER = 0
default 10 if ARCH_FORCE_MAX_ORDER = 0
range 1 ARCH_FORCE_MAX_ORDER if ARCH_FORCE_MAX_ORDER != 0
@@ -1026,12 +1026,13 @@ config PAGE_BLOCK_ORDER
help
The page block order refers to the power of two number of pages that
are physically contiguous and can have a migrate type associated to
- them. The maximum size of the page block order is limited by
- ARCH_FORCE_MAX_ORDER.
+ them. The maximum size of the page block order is at least limited by
+ ARCH_FORCE_MAX_ORDER/MAX_PAGE_ORDER.

- This config allows overriding the default page block order when the
- page block order is required to be smaller than ARCH_FORCE_MAX_ORDER
- or MAX_PAGE_ORDER.
+ This config adds a new upper limit of default page block
+ order when the page block order is required to be smaller than
+ ARCH_FORCE_MAX_ORDER/MAX_PAGE_ORDER or other limits
+ (see include/linux/pageblock-flags.h for details).

Reducing pageblock order can negatively impact THP generation
success rate. If your workloads use THP heavily, please use this
diff --git a/mm/mm_init.c b/mm/mm_init.c
index f2944748f526..02f41e2bdf60 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -1509,7 +1509,7 @@ static inline void setup_usemap(struct zone *zone) {}
/* Initialise the number of pages represented by NR_PAGEBLOCK_BITS */
void __init set_pageblock_order(void)
{
- unsigned int order = PAGE_BLOCK_ORDER;
+ unsigned int order = PAGE_BLOCK_MAX_ORDER;

/* Check that pageblock_nr_pages has not already been setup */
if (pageblock_order)
--
2.47.2



Return-Path: <linux-kernel+bounces-673793-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B036E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:17:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 606D4189AB69
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:17:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7C9D22045AD;
Wed, 4 Jun 2025 21:17:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="THqChL2T"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C0E0433B3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:17:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749071844; cv=none; b=vBocmknqRCfZkV+ryuhhzTSaxU3iGPro9tzccO4IwvG17KjJavoHgmAB3M0O2vbGbL1sBbFJ8ckb3Hk84rostC1zbUBhqyjY693qP/q6kGy6aombCaG5y3iObrXZ4mJxy1mir5lOtztL/Z3zx+rRLJTWkyS02koRXvmLULzhhCg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749071844; c=relaxed/simple;
bh=CXCvGL5hSf5ngZ4A2BceMmShZkAeoCIwyR3G4t932uk=;
h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:
MIME-Version:Content-Type; b=JLnwpwmNeIkFcokzc7o8SVky1nQzdnnZwkCEEHjtG1ScbBayV6iH5hN5nsKdzZAi+efMhQh4nEaJ0q+B0qjph19lOsSm9bIZ7W96tKDkd7tyS/kRq0XRmZBnI7Ch+zLNk/vrgZ1RvvOqh14JXz3D+ippErrGITfSFyuzPS+7578=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=THqChL2T; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749071841;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=3eaIlD6SgIwBKzFRuDf45UmSCQNYGCKtzx7DOTC83A8=;
b=THqChL2ThGEpA70BM0FfBVlZLdnIyz+tRD3UJxT1Ifr7QiQLQEYogc8bGJZov92e8Kb9xx
K2YGTOLFzI5facoMqgO2xKdpP1vqyPiYkPhZkFNCDvZwLsCdQFT7yVlHAbK+OEbnmD5YYE
4e1Ap/JSnWJt/+ovhZsyY9Q6FkaIxps=
Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com
[209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-605-YnxkDavSO_-_TLlHsXZPKA-1; Wed, 04 Jun 2025 17:17:18 -0400
X-MC-Unique: YnxkDavSO_-_TLlHsXZPKA-1
X-Mimecast-MFC-AGG-ID: YnxkDavSO_-_TLlHsXZPKA_1749071837
Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a1f6c5f4f2so160039f8f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 14:17:18 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749071837; x=1749676637;
h=mime-version:references:message-id:in-reply-to:subject:cc:to:from
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=3eaIlD6SgIwBKzFRuDf45UmSCQNYGCKtzx7DOTC83A8=;
b=k8HtEw0bU067qv5gRG16DKnBvk5HkFhxBgjAjUQUyZWuEYBrkenzevFrDtTBML8med
mHAxEW/yrTuZho3qq5RaK4lVLuqH1Cco0WSJCHWhhCKxcLRFZunMdE4si9rLCxQ9vp/1
pkUiZwdf4vgslM/UY0pePpcELYIfwHVpfr9Drqzs3HBLgFj9gkwEdH6VXRWisMy4d6qV
YCtmjBiPNLwRAiN2SsmnH8EcVuadfxiKHh3lPDcH/aOLxcxihNFxdSrxtuvnw2yw48Ue
SAFPBJSc8Pw778AY2zuK4mRc+PhRxPinYVwIY+FUuWPyyhVwmWbCP7QJSLgCv9oSJlmx
3mhg==
X-Forwarded-Encrypted: i=1; AJvYcCV8N7gSszoc8we8bQYMKouVME4o9aZeS6GmZzswlbayvNJJ3kHxx9aGBadiQXOYn7ByaYyDH0tA4gHSZI8=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw5vLd+8SzcdQRRVPf6gPx89kY7EBWb3wufPwtvbyEGGypcY8ZD
Jx9KAUMZRJ1Eg4YyEcLFd3hKEnYjzeXVacWi+4exp0yn+Q5gJ1ur6AxEhEBYvEA5bfQTMHxPA+D
BaHllx9lsPmQK/u5nIQ9wtRcxcFY98IgFAE4HRpQpKmGMQ8xIPhMeHSsQPf+YlG33zQ==
X-Gm-Gg: ASbGncva/JL228+p00IISnSUPRBkM9YCfyunj9iVwso/hOyoE8T+UJGeuEcoKuS+bSb
CXQueG/ozu6as3kg79G8tAoOwZHlHlRByiDkjcGHxWfuIAa7F7JZ0Vv9kHiORQH0woNV00EjzJ1
1AdqKO6bGB9ej0D4cO94tlKklR2LEO6hTJpZ3DceiYaSXYkJLmMYYhCDsm9DZ0Sfd7t0/lfna1W
S2hpKKOpTwjq3TsyK80NIEW/poV+D3EUwMnACdH4xwj6+3ep7vO6n0fsN6uQZFkWxREPVywaBKk
AzQy+yROT87HAmy12rP3sgrsPGPtVAH3g37Dx/3nJcMypnvDbS8YzibD0guvqzCf3DkxT9g=
X-Received: by 2002:a05:6000:2512:b0:3a4:d274:1d9b with SMTP id ffacd0b85a97d-3a51d92f84amr3541716f8f.25.1749071837469;
Wed, 04 Jun 2025 14:17:17 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IG/w3mTJC6PzaXkAlaJcofTyt+hL5Id0Z9sQ5spOyW0fO3Rb3p4l0Y62I6sWoWE4eFRofNvzg==
X-Received: by 2002:a05:6000:2512:b0:3a4:d274:1d9b with SMTP id ffacd0b85a97d-3a51d92f84amr3541694f8f.25.1749071836994;
Wed, 04 Jun 2025 14:17:16 -0700 (PDT)
Received: from rh (p200300f6af1bce00e6fe5f11c0a7f4a1.dip0.t-ipconnect.de. [2003:f6:af1b:ce00:e6fe:5f11:c0a7:f4a1])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4efe6c842sm22506811f8f.29.2025.06.04.14.17.16
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 14:17:16 -0700 (PDT)
Date: Wed, 4 Jun 2025 23:17:15 +0200 (CEST)
From: Sebastian Ott <sebott@xxxxxxxxxx>
To: Zenghui Yu <yuzenghui@xxxxxxxxxx>
cc: Marc Zyngier <maz@xxxxxxxxxx>, Oliver Upton <oliver.upton@xxxxxxxxx>,
Colton Lewis <coltonlewis@xxxxxxxxxx>,
Ricardo Koller <ricarkol@xxxxxxxxxx>, Joey Gouly <joey.gouly@xxxxxxx>,
Suzuki K Poulose <suzuki.poulose@xxxxxxx>, Shuah Khan <shuah@xxxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, kvmarm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 0/3] KVM: arm64: selftests: arch_timer_edge_cases
fixes
In-Reply-To: <9b9f7099-4e81-9b74-a1ac-37cd4965675b@xxxxxxxxxx>
Message-ID: <77f07e94-82a2-5dc4-2483-e2ecff151e66@xxxxxxxxxx>
References: <20250527142434.25209-1-sebott@xxxxxxxxxx> <adf8b877-7ca2-f60b-fb59-578c70d0e3c0@xxxxxxxxxx> <9b9f7099-4e81-9b74-a1ac-37cd4965675b@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, 4 Jun 2025, Sebastian Ott wrote:
> On Tue, 3 Jun 2025, Zenghui Yu wrote:
>> On 2025/5/27 22:24, Sebastian Ott wrote:
>>> Some small fixes for arch_timer_edge_cases that I stumbled upon
>>> while debugging failures for this selftest on ampere-one.
>>>
>>> Changes since v1: modified patch 3 based on suggestions from Marc.
>>>
>>> I've done some tests with this on various machines - seems to be all
>>> good, however on ampere-one I now hit this in 10% of the runs:
>>> ==== Test Assertion Failure ====
>>> arm64/arch_timer_edge_cases.c:481: timer_get_cntct(timer) >= DEF_CNT +
>>> (timer_get_cntfrq() * (uint64_t)(delta_2_ms) / 1000)
>>> pid=166657 tid=166657 errno=4 - Interrupted system call
>>> 1 0x0000000000404db3: test_run at arch_timer_edge_cases.c:933
>>> 2 0x0000000000401f9f: main at arch_timer_edge_cases.c:1062
>>> 3 0x0000ffffaedd625b: ?? ??:0
>>> 4 0x0000ffffaedd633b: ?? ??:0
>>> 5 0x00000000004020af: _start at ??:?
>>> timer_get_cntct(timer) >= DEF_CNT + msec_to_cycles(delta_2_ms)
>>>
>>> This is not new, it was just hidden behind the other failure. I'll
>>> try to figure out what this is about (seems to be independent of
>>> the wait time)..
>>
>> Not sure if you have figured it out. I can easily reproduce it on my box
>> and I *guess* it is that we have some random XVAL values when we enable
>> the timer..
>
> Yes, I think so, too.
>
>> test_reprogramming_timer()
>> {
>> local_irq_disable();
>> reset_timer_state(timer, DEF_CNT);
>
> My first attempt was to also initialize cval here

Forgot to mention that I did this because my tests have shown
that the interrupt didn't only trigger early (like before the
reprogrammed delta) but instantly. This seemed to work but I think
the order in set_tval_irq() is the actual issue.


>
>>
>> /* Program the timer to DEF_CNT + delta_1_ms. */
>> set_tval_irq(timer, msec_to_cycles(delta_1_ms), CTL_ENABLE);
>>
>> [...]
>> }
>>
>> set_tval_irq()
>> {
>> timer_set_ctl(timer, ctl);
>>
>> // There is a window that we enable the timer with *random* XVAL
>> // values and we may get the unexpected interrupt.. And it's
>> // unlikely that KVM can be aware of TVAL's change (and
>> // re-evaluate the interrupt's pending state) before hitting the
>> // GUEST_ASSERT().
>>
>> timer_set_tval(timer, tval_cycles);
>
> Yes, I stumbled over this as well. I've always assumed that this order is
> becauase of this from the architecture "If CNTV_CTL_EL0.ENABLE is 0, the
> value returned is UNKNOWN." However re-reading that part today I realized
> that this only concerns register reads.
>
> Maybe somone on cc knows why it's in that order?
>
> I'm currently testing this with the above swapped and it's looking good,
> so far.
>
>> }
>>
>> I'm not familiar with the test so I'm not 100% sure that this is the
>> root cause. But I hope this helps with your analysis ;-) .
>
> It did, thanks!
>
> Sebastian
>



Return-Path: <linux-kernel+bounces-673794-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3C9FF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:20:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 453353A9678
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:20:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D143B1FAC4E;
Wed, 4 Jun 2025 21:20:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="FLmgmfnU"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0A89111BF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:20:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072044; cv=none; b=YjXy9jT/PVuKfV3lVR+N4xzyI7ieC9KTJJeY3Ga4e0IAyDtn+B5v87K1xS4cS+QTnMvTNpk6MYerFBCHlYQ7YZkgm2kgdpTlKiknG7ywmkMUO0i2Rp2XXDaaMZlUPQ5vi7BA7y9s2AmOJlXVLyjhAJLioqY3DvWmS2oBjhxKnX0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072044; c=relaxed/simple;
bh=/apZxI8yjQIUYPM0hx5/EK/wgVk2YNwjbyetEn0vZgc=;
h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References:
Mime-Version:Content-Type; b=Y6FxtZ4RQHKoTV4UISlOxCaWR6SVagfrTu/q9Oy+u+ihxzMj7nkQ5fNAa10Jqwm5pmrYG9V2gH2XNG/+mnyVtYMhEns26FLpTLzM6DnQA0vvy/Cam3OtiKCaE4skaV9BMdiITTbEgoo0QChn0CkBWn3rs5D4L6M9SslgC4GYnQs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=FLmgmfnU; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BEC13C4CEE4;
Wed, 4 Jun 2025 21:20:43 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org;
s=korg; t=1749072044;
bh=/apZxI8yjQIUYPM0hx5/EK/wgVk2YNwjbyetEn0vZgc=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=FLmgmfnUs6GrZhYrEeKHhABEzJMZMeiIl+qQP/uaZzZVn8bzUAiR8H+OaNVg9ahEs
56DIojzHSx0Gpz/xDigHqYYCCVLek9JhBC6sKeSI2q959OGsubtrhK3KJiv2yWc3ic
55mii2V1oZGnNM0vV2qhO2AwZs/TD+j2q79yOtu8=
Date: Wed, 4 Jun 2025 14:20:43 -0700
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: Vlastimil Babka <vbabka@xxxxxxx>
Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>, David
Hildenbrand <david@xxxxxxxxxx>, lorenzo.stoakes@xxxxxxxxxx,
Liam.Howlett@xxxxxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx,
mhocko@xxxxxxxx, hannes@xxxxxxxxxxx, shakeel.butt@xxxxxxxxx,
muchun.song@xxxxxxxxx, linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Randy Dunlap <rdunlap@xxxxxxxxxxxxx>, Konstantin Khlebnikov
<koct9i@xxxxxxxxx>
Subject: Re: [PATCH] mm/vmstat: Fix build with MEMCG=y and
VM_EVENT_COUNTERS=n
Message-Id: <20250604142043.bdfdf4f9a6a6cbb57946f1a5@xxxxxxxxxxxxxxxxxxxx>
In-Reply-To: <6fffd2fe-0cee-405f-af78-b57b5e5d02e8@xxxxxxx>
References: <20250604095111.533783-1-kirill.shutemov@xxxxxxxxxxxxxxx>
<6fffd2fe-0cee-405f-af78-b57b5e5d02e8@xxxxxxx>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, 4 Jun 2025 11:56:42 +0200 Vlastimil Babka <vbabka@xxxxxxx> wrote:

> > There is no need to backport this fix to stable trees. Without the
> > strict BUILD_BUG_ON(), the issue is not harmful. The elements in
> > question would only be read by the memcg code, not by /proc/vmstat.
> >
> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> > Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> > Fixes: ebc5d83d0443 ("mm/memcontrol: use vmstat names for printing statistics")
>
> Well in that case I think we should put Fixes: to the BUILD_BUG_ON() change.
> And if it's not yet a stable sha1, squash that together with this?
> It doesn't seem ebc5d83d0443 alone needs this fix.

I shuffled things around.

I moved "mm: strictly check vmstat_text array size" from mm-hotfixes
and back into mm-new for the next cycle.

I reworked "mm/vmstat: fix build with MEMCG=y and VM_EVENT_COUNTERS=n"
so it precedes "mm: strictly check vmstat_text array size".

I reworked "mm/vmstat: utilize designated initializers for the
vmstat_text array" so it comes last.


So the applying order is now

mm-hotfixes:
mm-fix-vmstat-after-removing-nr_bounce.patch

mm-new:
mm-vmstat-fix-build-with-memcg=y-and-vm_event_counters=n.patch
mm-strictly-check-vmstat_text-array-size.patch
mm-vmstat-utilize-designated-initializers-for-the-vmstat_text-array.patch

and everything should land nicely.


Return-Path: <linux-kernel+bounces-673795-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CF09541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:21:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id F3EB31791A7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:21:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 55FEB21FF39;
Wed, 4 Jun 2025 21:20:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WgYvi+23"
Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54])
(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 C1C4821147D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:20:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072048; cv=none; b=QUG8NghSCH8h9n958mCAHjB3g4ueZsUAq749LOa1zFUOu3ARvYJVQighT+T9ns1HrA+yiC6OfGciw3qUB8bBXUxtK7GEjqaZmcYDSyXJBillUjMWWmok0YBc05QkXreILIUzaPkxB1oUji/ksteVm1N4vam5j9+YkXHTUcOyzos=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072048; c=relaxed/simple;
bh=+/sFF7UUkjVRwePZ93zUTXlTfs8VqB5xPpbl91ZZerE=;
h=MIME-Version:From:Date:Message-ID:Subject:To:Content-Type; b=k1UTPtyKlTdQ9sQVU6DD34GWe+T+DGr6YH5Av+3oQ+clgVLK/34X8sgqDNgekC1NLzDMd2ZGCqihXXXH7n1U2xavzkpVqlrbkVDnwqZYkM3b05VrGflaJ19XeNKevLLRcHnPo/VkCth9Bmzv9mK7LlRs2bjEUxyOLrFSLuv0qkA=
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=WgYvi+23; arc=none smtp.client-ip=209.85.167.54
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
Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5532a30ac41so317157e87.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 14:20:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749072043; x=1749676843; darn=vger.kernel.org;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=y90zevijk7xVMPG4OZ2AlSvhyKgAsEHSVc3Ynv+uEPQ=;
b=WgYvi+23B0dML9vFmOshoh/NpPdegbpw1/oeHTcChUlWa3eTiZuBECdxDzFoiuJQD+
Phmp+uE0u8kbJF0P7U+9BLwrsuUJ+ZLq1/pDjvA2onnFj6zX9q5kkeYZemSA5tUp5cUd
njtTwLPiJhWpnkB30b7SnWsl6U6WJ4cnFBDZCGXmHEQmFCPWbY+on3Bkk8bIvU8DlL0g
VqxW0JGcB9lhXq55MFr8z2zzhKJfTaWgZi6rCcQtnnhcP2sIOvATIkBe9giXVbURVR7x
ubGIOYTQnMSmWyGlCN6+NTYogzH2nQHvrheyfSeN6Qk1tDTUiN0aRJe1ZIv/Hf0d3VkH
t9GQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749072043; x=1749676843;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=y90zevijk7xVMPG4OZ2AlSvhyKgAsEHSVc3Ynv+uEPQ=;
b=ayut7jbKJu6Fw/1gB8Uzu05DJF42uvxsQeoPicB75njKE1jBiq2TeTsvL0tcoy+grl
O2ek4pvIWean+iprC0U/V1WvM932mCO0RU8joaSywaaSiZS1AhJcO0k0pp3uHMcl3aRu
VRyjyuNCDn5+x/AZg21vQTJIuIGWuxIDWMIntyF+wwUJWbuOLgBdeAn4U5yR91su80ul
SaQQL9n2TGLRQbK/DMlvrbHs+6Y1J9p+cr7yPDlFMWVy7YKy4zDSwspF19s3T0IiJ4h5
VmysBsgOxVBec+ZMVTe/TJ+Ejt8oWuvOM4VPGSZXAZCeCNBla8NqLC2CqFduA0BXesLt
Zo9w==
X-Gm-Message-State: AOJu0Yzodsm6m02EVMsAP+uc05eIiz5onQH/Yvg3mb4Lbvj2fg1Oiy2a
gNxY4akQiDrJzx+CIabFt1UsWZ35pj5SZ0b4x+CZWeBRC02w/HNfoDJRj3VzgaaNWQOdRzUFtDw
UPHPwrvVoWk199ivthP0cgy53h6l6QY1TyQ3h
X-Gm-Gg: ASbGncsj8lrEBpt6snA1D7Eoj9FCT8v8VyvkdSmts4ztg9t31KObw4JG+PvI+PUvDJu
XF//jhNaaNZl3goNNRFm8r2XaXkDl4QWUVVYC6PV5R6T7CFo11HymjDjDvJxvcYSjRKasi8uRKU
7lBP4wpi8kGhnl8IpdyhZJXCYE8alJB+zS64MpSKoL3g==
X-Google-Smtp-Source: AGHT+IEb+Pblj22bjexHKXP7iykBDdb+VUkNblzj0eWDUe2YmKjlQOP67Nc01jOL1RguvtrvcMA5Cj3lNQOFFJ5awME=
X-Received: by 2002:a2e:ae0b:0:b0:32a:648e:7ede with SMTP id
38308e7fff4ca-32ac7966c6cmr9831881fa.22.1749072043278; Wed, 04 Jun 2025
14:20:43 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
From: Alex Davis <alex47794@xxxxxxxxx>
Date: Wed, 4 Jun 2025 17:20:31 -0400
X-Gm-Features: AX0GCFvLRUrct0Mmk1aEa0eiF_VFFLbImrsNI0PqaTn8h3XyFsIn9tV2FtQxAik
Message-ID: <CADiockAtCnLdN1rWTRuMeyuQisAWRyosG_K64AQSdVr-k7CLug@xxxxxxxxxxxxxx>
Subject: Latest kernel firmware update breaks intel wifi card.
To: linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

I have the following card:
2f:00.0 Network controller: Intel Corporation Wi-Fi 7(802.11be)
AX1775*/AX1790*/BE20*/BE401/BE1750* 2x2 (rev 1a)
Subsystem: Intel Corporation BE200 320MHz [Gale Peak]
Flags: bus master, fast devsel, latency 0, IRQ 19, IOMMU group 16
Memory at aa800000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, IntMsgNum 0
Capabilities: [b0] MSI-X: Enable+ Count=32 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Secondary PCI Express
Capabilities: [158] Physical Layer 16.0 GT/s <?>
Capabilities: [17c] Lane Margining at the Receiver
Capabilities: [188] Latency Tolerance Reporting
Capabilities: [190] L1 PM Substates
Capabilities: [1a0] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?>
Capabilities: [2a0] Data Link Feature <?>
Capabilities: [2ac] Precision Time Measurement
Capabilities: [2b8] Vendor Specific Information: ID=0003 Rev=1 Len=054 <?>
Capabilities: [500] Vendor Specific Information: ID=0023 Rev=1 Len=010 <?>
Kernel driver in use: iwlwifi

With the current firmware, I get the following error in dmesg:
iwlwifi 0000:2f:00.0: Detected crf-id 0x2001910, cnv-id 0x2001910 wfpm
id 0x80000000
iwlwifi 0000:2f:00.0: PCI dev 272b/00f4, rev=0x472, rfid=0x112200
iwlwifi 0000:2f:00.0: Detected Intel(R) Wi-Fi 7 BE200 320MHz
iwlwifi 0000:2f:00.0: Direct firmware load for
iwlwifi-gl-c0-fm-c0-93.ucode failed with error -2
iwlwifi 0000:2f:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.182.4.1
iwlwifi 0000:2f:00.0: loaded firmware version 92.67ce4588.0
gl-c0-fm-c0-92.ucode op_mode iwlmvm
iwlwifi 0000:2f:00.0: Detected RF FM, rfid=0x112200
iwlwifi 0000:2f:00.0: loaded PNVM version 71864399
iwlwifi 0000:2f:00.0: Microcode SW error detected. Restarting 0x0.
iwlwifi 0000:2f:00.0: Start IWL Error Log Dump:
iwlwifi 0000:2f:00.0: Transport status: 0x0000004A, valid: 6
iwlwifi 0000:2f:00.0: Loaded firmware version: 92.67ce4588.0
gl-c0-fm-c0-92.ucode
iwlwifi 0000:2f:00.0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
iwlwifi 0000:2f:00.0: 0x000002F0 | trm_hw_status0
iwlwifi 0000:2f:00.0: 0x00000000 | trm_hw_status1
iwlwifi 0000:2f:00.0: 0x002C43D6 | branchlink2
iwlwifi 0000:2f:00.0: 0x002B89BE | interruptlink1
iwlwifi 0000:2f:00.0: 0x002B89BE | interruptlink2
iwlwifi 0000:2f:00.0: 0x00015ADA | data1
iwlwifi 0000:2f:00.0: 0x00000010 | data2
iwlwifi 0000:2f:00.0: 0x00000000 | data3
iwlwifi 0000:2f:00.0: 0x00000000 | beacon time
iwlwifi 0000:2f:00.0: 0x0001A67A | tsf low
iwlwifi 0000:2f:00.0: 0x00000000 | tsf hi
iwlwifi 0000:2f:00.0: 0x00000000 | time gp1
iwlwifi 0000:2f:00.0: 0x00046F7B | time gp2
iwlwifi 0000:2f:00.0: 0x00000001 | uCode revision type
iwlwifi 0000:2f:00.0: 0x0000005C | uCode version major
iwlwifi 0000:2f:00.0: 0x67CE4588 | uCode version minor
iwlwifi 0000:2f:00.0: 0x00000472 | hw version
iwlwifi 0000:2f:00.0: 0x58C80002 | board version
iwlwifi 0000:2f:00.0: 0x800CFD1B | hcmd
iwlwifi 0000:2f:00.0: 0x00020000 | isr0
iwlwifi 0000:2f:00.0: 0x20000000 | isr1
iwlwifi 0000:2f:00.0: 0x48F00002 | isr2
iwlwifi 0000:2f:00.0: 0x00C0001C | isr3
iwlwifi 0000:2f:00.0: 0x02000000 | isr4
iwlwifi 0000:2f:00.0: 0x00000000 | last cmd Id
iwlwifi 0000:2f:00.0: 0x00015ADA | wait_event
iwlwifi 0000:2f:00.0: 0x10000004 | l2p_control
iwlwifi 0000:2f:00.0: 0x00000000 | l2p_duration
iwlwifi 0000:2f:00.0: 0x00000000 | l2p_mhvalid
iwlwifi 0000:2f:00.0: 0x00000000 | l2p_addr_match
iwlwifi 0000:2f:00.0: 0x0000000B | lmpm_pmg_sel
iwlwifi 0000:2f:00.0: 0x00000000 | timestamp
iwlwifi 0000:2f:00.0: 0x00000024 | flow_handler

When I use the file iwlwifi-gl-c0-fm-c0.pnvm from the previous
version, it works. I'm running kernel 6.12.30 in Slackware current


Return-Path: <linux-kernel+bounces-673796-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5248A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:21:35 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D324D189A957
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:21:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BF16C20D4F2;
Wed, 4 Jun 2025 21:21:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WExevFis"
Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174])
(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 9487718A93C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:21:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.174
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072090; cv=none; b=GrIM0NmpI3O92BHEFYOTEZZHsvQ6x0A9lcqIUUtu6AuR03X/RZkRrU/WMLaRVNXsit/Oegl7ReowQuQ94LhPCFrr29FNh2+RVKLrtOC24Zqi3UifvrgM2mfdkt6q8DYOBYPFfmEUBslRdM+VIsFVFWs5u/+Af/WkS++rEYtQrNY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072090; c=relaxed/simple;
bh=Q8VEBZ7ziQ8YXSbdiWvjZBxi0JvQBhytEGyvFvabMxQ=;
h=From:To:Subject:Date:Message-ID:MIME-Version; b=f/U52XYQS+DQrVn9khP7Ul9kKczSRDwNuxQa+5hEEDAjeVQNXM5NeAYkiQnzPKTDNMwS3B2e6/JOq/mP6jt05Et8S89iWDjzhoyAgg42giYnVuQlWyMa6oHdijlRfRjViuiMf7xK2hXpwqx+zzAS+D03xAH62VFCVkL5Pz7nd1c=
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=WExevFis; arc=none smtp.client-ip=209.85.128.174
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
Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-7080dd5fe92so3349017b3.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 14:21:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749072087; x=1749676887; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:to
:from:from:to:cc:subject:date:message-id:reply-to;
bh=c3TyDKkYnghRIwFBOBsjsVIcl/iVq9sMyxo77obIjZA=;
b=WExevFisDGOiN07VinJ1DQyIkMYltnlLIjb38Wzq93UYEH3hI+H3Ekg5zFYTitbb89
ox6+I+0+Mum17EZubK7AobPTlFytS+3vshUh9yhkIcErP5iJYXKnm5Ze0sJh7+K/onnJ
7AfATaehZRyTIe6Wx/cYLAbWmnPuhpoyOYCFITO7UOyhDbtIdpuOlPHj34bDIN2TGLSv
DiHgRFcKUIYQr54Opzg80Qi9/k15f+8i6Ud6ATZarVe2ZofNG+ExwJx58vrA3WVCyxzZ
cibAfXPSG5qJVLme8dqxm0t3jIaD799K7VPn0aqkq4dfoATrBOnhFgOXo3ZOUTPvC+54
vkYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749072087; x=1749676887;
h=content-transfer-encoding:mime-version:message-id:date:subject:to
:from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=c3TyDKkYnghRIwFBOBsjsVIcl/iVq9sMyxo77obIjZA=;
b=YSTXeY3mqqXKMa6u94vQ2kO3HI2dexwpvCIfiGKe4KZc1wA/1FOhtJhxKesji02Pg6
I/Rl7NvOTbH9NF3MDG8fiWQVnOPLSVIavhIPeIVHyCk3bRozzVX954w65uuI25+fAAF1
mR9djpBnUM3kz+aOpIZSfGrs3smEkXEdOw7Ls814FCIduh8b5YYbkinkG4ZhrNcHeZQw
876nk52683QBk2dz1CknaakQ7LX8kAkfnwnNeaC94cFGodfr9++bsf5J2tKDIhzpvPeF
knIK9mSBk2LQOIOF9d1AWwxAX5H2wgwuTySD7Jg85bLOTYiAEjU9JXN+MehRulM9H3vW
rKCQ==
X-Gm-Message-State: AOJu0YxTR1ymaR/ojSMil9ZGLc9m2cNJ75q+GA39m2hCA3HwOv2fOxiv
LSaI6vXdq0qzdZCrTf9Nsm7l6dK96ZBQU8WBp7I73dFP7uKGP2Ir7Oix9MWIBg==
X-Gm-Gg: ASbGnctmaIdSZ2uXOruf7DNKo0p4wMpAmv0guPmiPMTmn+07OxQ1pe03698l1tvNtiU
kq9iizCue6NHvjOgI712+vu/CKgjKne4ms8UZ3OvQgvbG5pMLq+5p2Bd65dga5CxA3wD3Q0xXXg
qjniQgM7xwpp9P9jl24TMZ8huSEXeDeGaXsdn+AcKeOIPhB2Xz30UL6ljeam0TJR098y502Xe9U
/YGQa7h2PMDWbO7bWkAz6Fbx8pjFC6+QXqYHpFkuUrRDZTKaMA3rVSGEDrDxBmvvti9k7m5VFBS
i5lzoYx18kC/wqcp2sYaAclrgPcjADkq/FaVOBAzD187VUFB3P6/wKF8PHy5S1A+WGXw99Mcw/m
PgZfpqQ9iX+E=
X-Google-Smtp-Source: AGHT+IG0+tOPz8KhVHyF6appH615CjKn8/ox/ikovv7wCZFdUp8h84JcVFqufWAi7dzcVTHoB+f+9g==
X-Received: by 2002:a05:690c:6c03:b0:70f:8884:17af with SMTP id 00721157ae682-710d99fd497mr64151687b3.6.1749072087260;
Wed, 04 Jun 2025 14:21:27 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-710ea6872fcsm270487b3.11.2025.06.04.14.21.26
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 14:21:26 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx,
Yury Norov <yury.norov@xxxxxxxxx>,
Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>,
John Stultz <jstultz@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: [PATCH 0/3] bitmap: introduce find_random_bit() and use in clocksource
Date: Wed, 4 Jun 2025 17:21:20 -0400
Message-ID: <20250604212125.25656-1-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>

nodemasks implement node_random(), which may also be useful for other
subsystems. Generalize the function, and propagate to cpumask API.

Yury Norov (3):
bitmap: generalize node_random()
cpumask: introduce cpumask_random()
clocksource: improve randomness in clocksource_verify_choose_cpus()

include/linux/cpumask.h | 12 ++++++++++++
include/linux/find.h | 2 ++
include/linux/nodemask.h | 16 +---------------
kernel/time/clocksource.c | 5 +----
lib/find_bit.c | 17 ++++++++++++++++-
5 files changed, 32 insertions(+), 20 deletions(-)

--
2.43.0



Return-Path: <linux-kernel+bounces-673797-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 17CB441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:21:43 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C30FD3A3966
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:21:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 026BE21FF39;
Wed, 4 Jun 2025 21:21:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Tie7wQUG"
Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com [209.85.128.176])
(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 AEED71E47AD
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:21:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.176
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072091; cv=none; b=CDuLjJZeXzsd1lOmZ/9iWOi757l8/uIvUEMapgGblZiJ0nTf3tEk5NFlK/zT39idrQLxwL872lDX/TqodBRm/7rEWbmcEugcR8qBKvPJElpOrU0csbbkKVeE+W+anohcEKps72jIbfsibGJu23qnwCb9jLRzmwne/GY3pYxDhg4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072091; c=relaxed/simple;
bh=BK+1SY+Abxoz7hiEYp4R+owxezJqIWEq5orq4X2XWNI=;
h=From:To:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=G6YA1ye9gDq7IA1+zkmbNx/BVsyNK7rOFq04M0oz9Hngc/tkDbPvGxbwZgu6yIePN4x6gFWRpCyJhV0ZPrVvDVEB/2mou+Swhazm75sOiZMPiANE+eyZSfj3k1HwNMy3q1hIi+tE+I9r3m8+biwgAdFBiN4Hq5I7risoTk3Eyjw=
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=Tie7wQUG; arc=none smtp.client-ip=209.85.128.176
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
Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-70f862dbeaeso4169137b3.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 14:21:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749072088; x=1749676888; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:to:from:from:to:cc:subject:date:message-id
:reply-to;
bh=I0fLbUkQjg6oBk00ANTn3zhMmirJmjJ7KF7dIZyS7A0=;
b=Tie7wQUGKupBmr2iRFdQ8Bsxuj0rM6132v4RUAU9Im2Xkq3rzH7YoacIyvIH8y5e6b
W2ekFkd1S4ADiujvP8yIQOR99qsKIteYwl1Q5cL4OW1bQlrn5Cz7seXvefVlelD1Oi27
IQOiXP7aEE3qky42lJGWR9kU2T67RlEqoYkoEJZMmW3dwSeQpi8Ee4ZOC0h7C0/YHJNN
pGvngOveNkQj3Ew3JVghuEk4CDk4NnecZVdGFrLG/D7P0lDj6etZn7pHmMT7pn6wLo7j
t92O4jYzJRsMrgJqB3ba+bfkdx35WXvO5SoYBaWpuTIPg/SM278sQE1suD3PUGRJkQJ3
ps6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749072088; x=1749676888;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=I0fLbUkQjg6oBk00ANTn3zhMmirJmjJ7KF7dIZyS7A0=;
b=rzsDspElmbvIsN8GQlHMVwXomrkpJBmwkcfNjWuLvp0cIi75FR+pZzorwLPHAO0Lqd
uY/i+Afb4FIEP97noqUIBE4S40pLPd9vemkl9AF4IY6y+01yGHxZ8hi3RRbD/STmNaJe
aBcnjaur4YUCJP9ORN+lGypld4wc22iduKBwPqzrQ0chn90idJgtdhR5rEjpGhBfHugs
JrzYyQMjpzbnjsNXZ17it/91lpPCOnA38qqiI8xmzu1Nl6rQRRRx7Wxi7/55Fw0uY+hL
iyRpMO11f722awKjEbNKm48Mi5PYao+pwQSFO/fB1XejnaT9t6frDAXeHCJRuwiLpd34
sKSA==
X-Gm-Message-State: AOJu0Yy4TAoJOhGZTSEr8El6jLQLxGqovqXht/asXSgUYo3kniBZA3j6
ugzZUTEs9PT5vdsa14YsT6NFqf24JJqipUou3d1GtSrf7cydrifwZ8VgcQL7Tw==
X-Gm-Gg: ASbGncsh8eRHS2apW+UT6J6vA4IFowRrVeOYVc2SE5bka87MmJSgODzZolMy3B4LoBT
DENNlV9V8N9mOpUt27HAWa6kLol+LtVC47ZIrsYU/0fIz1j8Ol2ns8QMLGFCRQ9wuN0/1L0RZ3/
C2D30BWhQFxPEZ4R5W2ErX96kojuAkmXtS5BBlsTkCEgokNY1o1MZQZscYhiCSjK99XeUUjVAhj
y3HQ30G649j2ERNw+kHBOEBh/SnSB+Zjc1112AQiC4shLU5wV8LV8jRLvYC9m3jWAvyPZgMEnGc
FbRgGR415E7bIC7Q8mFYiBYwBk28hFYp3vYtVKhCRtKwLVDjS3Og1vsV+MNHb7qwxdpx6f2fYTm
xIBvNKIt6GP0IKQZBI1AtSw==
X-Google-Smtp-Source: AGHT+IE0c6xhdnyjsmDqNhD7sNfOQJbrLaexN6B2Ln+EHdv8nj90nt1QtXP+WootdiiTFN1FjNrKeQ==
X-Received: by 2002:a05:690c:25ca:b0:710:e8a8:7768 with SMTP id 00721157ae682-710e8a87c5bmr12278467b3.31.1749072088560;
Wed, 04 Jun 2025 14:21:28 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8ac0f423sm31416157b3.60.2025.06.04.14.21.27
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 14:21:28 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx,
Yury Norov <yury.norov@xxxxxxxxx>,
Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>,
John Stultz <jstultz@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: [PATCH 1/3] bitmap: generalize node_random()
Date: Wed, 4 Jun 2025 17:21:21 -0400
Message-ID: <20250604212125.25656-2-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604212125.25656-1-yury.norov@xxxxxxxxx>
References: <20250604212125.25656-1-yury.norov@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>

Generalize node_random and make it available to general bitmaps and
cpumasks users.

Signed-off-by: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>
---
include/linux/find.h | 2 ++
include/linux/nodemask.h | 16 +---------------
lib/find_bit.c | 17 ++++++++++++++++-
3 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/include/linux/find.h b/include/linux/find.h
index 5a2c267ea7f9..98c61838002c 100644
--- a/include/linux/find.h
+++ b/include/linux/find.h
@@ -44,6 +44,8 @@ unsigned long _find_next_bit_le(const unsigned long *addr, unsigned
long size, unsigned long offset);
#endif

+unsigned long find_random_bit(const unsigned long *addr, unsigned long size);
+
#ifndef find_next_bit
/**
* find_next_bit - find the next set bit in a memory region
diff --git a/include/linux/nodemask.h b/include/linux/nodemask.h
index f08ae71585fa..1cedc7132b76 100644
--- a/include/linux/nodemask.h
+++ b/include/linux/nodemask.h
@@ -492,21 +492,7 @@ static __always_inline int num_node_state(enum node_states state)
static __always_inline int node_random(const nodemask_t *maskp)
{
#if defined(CONFIG_NUMA) && (MAX_NUMNODES > 1)
- int w, bit;
-
- w = nodes_weight(*maskp);
- switch (w) {
- case 0:
- bit = NUMA_NO_NODE;
- break;
- case 1:
- bit = first_node(*maskp);
- break;
- default:
- bit = find_nth_bit(maskp->bits, MAX_NUMNODES, get_random_u32_below(w));
- break;
- }
- return bit;
+ return find_random_bit(maskp->bits, MAX_NUMNODES);
#else
return 0;
#endif
diff --git a/lib/find_bit.c b/lib/find_bit.c
index 06b6342aa3ae..2118ea23bed8 100644
--- a/lib/find_bit.c
+++ b/lib/find_bit.c
@@ -18,6 +18,7 @@
#include <linux/math.h>
#include <linux/minmax.h>
#include <linux/swab.h>
+#include <linux/random.h>

/*
* Common helper for find_bit() function family
@@ -287,7 +288,21 @@ unsigned long _find_next_bit_le(const unsigned long *addr,
return FIND_NEXT_BIT(addr[idx], swab, size, offset);
}
EXPORT_SYMBOL(_find_next_bit_le);
-
#endif

+unsigned long find_random_bit(const unsigned long *addr, unsigned long size)
+{
+ int w = bitmap_weight(addr, size);
+
+ switch (w) {
+ case 0:
+ return size;
+ case 1:
+ return find_first_bit(addr, size);
+ default:
+ return find_nth_bit(addr, size, get_random_u32_below(w));
+ }
+}
+EXPORT_SYMBOL(find_random_bit);
+
#endif /* __BIG_ENDIAN */
--
2.43.0



Return-Path: <linux-kernel+bounces-673799-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7504941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:22:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 294507A5BF4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:20:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5A8ED226541;
Wed, 4 Jun 2025 21:21:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hKXkfGdn"
Received: from mail-yb1-f172.google.com (mail-yb1-f172.google.com [209.85.219.172])
(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 2A79D221D92
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:21:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072093; cv=none; b=ifk5uj5nPbVB7CKedjKLXTVhR2tT9a2lItWV3BhGtTp7eRf2DLpCuQks2E2htA96T7IqSseHmlk05T1uCHpzEhaVwJKQw1D8wnYq+nO2JG5Yng4CG7KfCAz8raDqPPp/JVtN90p5klOEQsM+ZsxQCXn1XOTPlPyJ9/5PjrXnt8g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072093; c=relaxed/simple;
bh=mb9dGynr3tPwVH+CVGAZtzbl6KYWsmzLrX/rViY9HGc=;
h=From:To:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=UeU4y0tUbgUQ9hG16xr/6ZQRpEseasC55yMtvjhCDmYhkQCA18Ehq6BZL9zY8iCH5YWn7X58xZzEm43ctUU5xut4CWpFtuGSQIODTSIAYRlRKLObekb8axVmV5G/VWQlF/u/cRG9FQtK/nGx21vRPkSsNzMaN0hlxpQJ5nMx9t0=
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=hKXkfGdn; arc=none smtp.client-ip=209.85.219.172
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
Received: by mail-yb1-f172.google.com with SMTP id 3f1490d57ef6-e7311e66a8eso330417276.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 14:21:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749072091; x=1749676891; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:to:from:from:to:cc:subject:date:message-id
:reply-to;
bh=8Q+rgdt6RTtQZmj//uE/hdIOstitQBp8gtR8Veh5SR0=;
b=hKXkfGdngvLLV4g/sPddDSZSPM0wQiGDU3CKECNzYFU2oMdmdhIsOyBaRiIYy+Ai1r
W2hChKpziBAXi10psdiTzE1eRY8LDiw7E8c2PXC+wUePOQ+HJJjeky/3Dfh6uKCWpcHy
YVw6PBxHFKScYXhvI4j4lwPz2H5bY/qmQLWHLwv+nTDqUcdp0mw75/KE1AMx56aY/FZm
m/ynPk2S7hEBBU1Hq4hc+tSomdZbPU6kqt9q1g2B04AFZvOg9jNeRbjMcVLmyE0FKyLt
rSAIIa64i3P9oXlyBp3gjBlYee9By7peRZS+5XzjTxhtV/unCZ15qoKcPC4W+rQfNpkS
PUKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749072091; x=1749676891;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=8Q+rgdt6RTtQZmj//uE/hdIOstitQBp8gtR8Veh5SR0=;
b=lWN5ZQcp2rxrHgGhOHY6t+g6mgEZimri29UkNADtI4aKerjGE47RnYb8IikwTMNam9
59AvaOIJKAPnlzo9msjOwPVRREx39pQlbT1XOOlwvRy+TtdG1URb4IOBEFqwJLbDjiTx
Jg7kVurG/0l47Yvr2fSF49K7CUS3FKY7/dTx/0vFKDWE1PEc3TrkSp8fQBJ7Mc8WZqmL
Ud8/UZRAATCUk7n4FpTKC/ocXiNWDpKKVz6tEFpcZ5/1jRlVxkzm1m6a+lJR9RL0T5vk
oMYO5oKapA4R4bvEb/ngP67gI8wUq2fEvoy4EHn9/epdEKx9P6D9PFUpvAvvDVlq6u5o
NtUQ==
X-Gm-Message-State: AOJu0YzwIj2szl8piUcYPyyhi4W7Rr4B9tDikuhNs8oOpbmpVcqHZdPb
9TbshjpRwJ2p69Nx8rQpSgJG8IF58j0YLSNrZY4YYVHzyzKQSeNFvyluUHaZzQ==
X-Gm-Gg: ASbGncvzWrcl5Pymf4A/+/L5eb7kIgJsIK/+FDw5VuAIH5MTpbRdp0eRUFG3lzePb/a
1itWXlTTrJtTOKEJDChmRJKq0KVCGD//NalKz32er7FHJxmCHp7XRjsJCVxVPvcl1hHJC2HsTUf
hGBei2Plv/k0ZwtthiNs0VEgMFR6rsvJdDo9zaEqHlSQO+3uzPmMDc7soKFFX31nAEdDjQqtQyL
5cxAMSdUT/1FXSUWpxzZIPX20uIDh/LEsCa18E7XXiOT7TXCyg0VeMSSmHlZbbB7VVRydmw3lrA
IT4wYQwyD0zM+e99byE1HpBMB0aBkz9eV+P4lyCvgDh0Ho475pjwBlf1EvCpPsAQ9P8rO6cm4ZY
2/+2E8ILtrFU=
X-Google-Smtp-Source: AGHT+IHlEaMaostuMnOS8fbl0OyvK+tz6VqMpfjpG8BtVjAlCtXvKB6FvOMue/9oveEtLju8XIRzZA==
X-Received: by 2002:a05:6902:124c:b0:e7b:3d15:10f0 with SMTP id 3f1490d57ef6-e8179de3311mr6121579276.31.1749072091150;
Wed, 04 Jun 2025 14:21:31 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-e7f733cd118sm3315399276.20.2025.06.04.14.21.30
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 14:21:30 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx,
Yury Norov <yury.norov@xxxxxxxxx>,
Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>,
John Stultz <jstultz@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: [PATCH 3/3] clocksource: improve randomness in clocksource_verify_choose_cpus()
Date: Wed, 4 Jun 2025 17:21:23 -0400
Message-ID: <20250604212125.25656-4-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604212125.25656-1-yury.norov@xxxxxxxxx>
References: <20250604212125.25656-1-yury.norov@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>

The current algorithm of picking a random CPU works OK for dence online
cpumask, but if cpumask is non-dence, the distribution of picked CPUs
is skewed.

For example, on 8-CPU board with CPUs 4-7 offlined, the probability of
selecting CPU 0 is 5/8. Accordingly, cpus 1, 2 and 3 are chosen with
probability 1/8 each. The proper algorithm should pick each CPU with
probability 1/4.

Switch it to cpumask_random(), which has better statistical
characteristics.

Signed-off-by: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>
---
kernel/time/clocksource.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index e400fe150f9d..0aef0e349e49 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -340,10 +340,7 @@ static void clocksource_verify_choose_cpus(void)
* CPUs that are currently online.
*/
for (i = 1; i < n; i++) {
- cpu = get_random_u32_below(nr_cpu_ids);
- cpu = cpumask_next(cpu - 1, cpu_online_mask);
- if (cpu >= nr_cpu_ids)
- cpu = cpumask_first(cpu_online_mask);
+ cpu = cpumask_random(cpu_online_mask);
if (!WARN_ON_ONCE(cpu >= nr_cpu_ids))
cpumask_set_cpu(cpu, &cpus_chosen);
}
--
2.43.0



Return-Path: <linux-kernel+bounces-673798-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2D55641E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:22:01 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id AF7243A8A63
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:21:33 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 34975224B05;
Wed, 4 Jun 2025 21:21:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eHWIMZBT"
Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179])
(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 EAA3E21D018
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:21:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.179
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072093; cv=none; b=nwP1/lBlzf5wKWKHQsuipBlCekjsEnDtdbjlxPSmpHZphQ1il/8cZg/WY6GkKP+WEgczs3JgWIONpQ4MFOf9TqnofHz3Izoe63gHqgrwwFU8E/K/ZClfXaMct2d4x6c7vWb2mdDHC1a0RataBfV37YvbGNcpZgPC/B3F1frB52c=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072093; c=relaxed/simple;
bh=vjzzopack8I4k/m/kpKdg/2RSq7jGGFEH9F9qiwZB1c=;
h=From:To:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=KzXd/cHk/6v8ptLN5sfBRgyIcd05H7tjQb/5FP5p1p0t9pW7gWP4lbBfwBd8M28SBg8NHLoKhBc3bqoQyuqQuM/bvWKZjQZqphCe+W/c14IJuvqIYQ6sm4G6DaBgxF8rPLTJF7NhrDaKkAiPZIE7f0KkGEGYq3YJkCxn8zhJ240=
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=eHWIMZBT; arc=none smtp.client-ip=209.85.128.179
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
Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-70e102eada9so3898677b3.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 14:21:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749072090; x=1749676890; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:to:from:from:to:cc:subject:date:message-id
:reply-to;
bh=mCjiiCRB5X+ASYeG/IGBi0ZaM45gz31jONUYysHS3Ts=;
b=eHWIMZBT8h7aEeEVI5VgQ6u55kUgY8VbJPWBkx/ZvlqWuB0e+j1Iqk95h+ec79TtDF
l036s3kBUkMK4x4k7oE1AR/Y9AdIH0nOggwElhZOTcNkYe6r1ZYUfve9/j14aBHdUJvk
RLV8TwawmJSqIFrQT92s2kMEpDY/q1LbNn3tzpCRpqWNHel9IatZ6VBI2G3fNuhmxt6Y
xJyCX2WqZshS8+4gkzMW3p0KF+b1eXL6PGYZiDrapqgfZQyoPcYKIViBIOE5QPaQVWlC
LIImeP2ARhD+EGkI8DT32HuEy9POsVAeT49ct5B8MA0x0P2WtHNj6gSB04uh9KeXFfy+
znEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749072090; x=1749676890;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=mCjiiCRB5X+ASYeG/IGBi0ZaM45gz31jONUYysHS3Ts=;
b=gpukVkR2lh4HZ+a0Pq3MXw8pxejtKzaz+DWn7UJjjwJN7Th5A1aCyLaY0KgfJTFGx/
q1GSjYgQeoOAJw+qbNAGtNPrsDG/OgAWO1G1+3dVJj1UjMJwWurPMbTSpnkn3kF2Kp9u
M6DJeW2jK0ewJPiVLJdhAuWzQCFWlNkyKPuq8DDypv6570/sYzTeKV87eNK1Ig+Jk1ZJ
slFpYg1RZEcCtpXHU4Na8KwpFWFNzNeeTCjS2b7GWrvgH0YaIimmzW6aTeUB+FCofphr
1XWvmxzq3y0Um/P9dkDAIdG0q+vSH5HjWW7OGnpNpmKdCfClsUl31eBVqlMvF3PRZSDs
42lw==
X-Gm-Message-State: AOJu0YxpTWiw3Vj5UnZS67sl8f6K1t1NHRip+PaGDYPw+ZYCOavDJoT0
oDLwf0tcftu1jUgB+dhQKLShroD4AgDCLkyojqHogKYyGhxfWOax3llLCsbOkw==
X-Gm-Gg: ASbGnct4rT9ZhA9x22i2wOhPpGp763TSbz9JcZduJ4CnAf11aqOf3Kc2PlsNnFaTIwU
QEFsG9ub6YuJy8k8sJHEEqvtU9uqRjLtaSIk2SbvrtXf3XuUgW/FGjV1SIJ5t81aqA+4X4bkO8z
wHocbNEAbdFkmMq4IJnYLB/YheVWIA426UqZU/uTV5m7VkrvsdCpLpnibMyxSntTtETgNzdUy64
rmNXorCUXfCLf2SBLUb6f6rySIa9xfCoredqC4cHR/hFaflvOFnDt2EXhgd1vyEMGjlEVV7a/T9
iYJ4GSJ1v83yKYPyybfwQyJkNpNdwpcHS6gKPgECqtFrbe+R82wcQ9JIa+zAnqCI7Gix6lxqjod
TtptBNwX82OfVHb84DOM9Bg==
X-Google-Smtp-Source: AGHT+IFGEFG42O18ggB3SfyLdVuuv2qQru1F89BNl0E92j8q9obO7eJetkyv2QNQmL5/KnXZg04hJA==
X-Received: by 2002:a05:690c:6305:b0:70d:f420:7ab4 with SMTP id 00721157ae682-710d9fb647amr59422067b3.29.1749072089862;
Wed, 04 Jun 2025 14:21:29 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8abee777sm31663287b3.40.2025.06.04.14.21.29
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 14:21:29 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx,
Yury Norov <yury.norov@xxxxxxxxx>,
Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>,
John Stultz <jstultz@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: [PATCH 2/3] cpumask: introduce cpumask_random()
Date: Wed, 4 Jun 2025 17:21:22 -0400
Message-ID: <20250604212125.25656-3-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604212125.25656-1-yury.norov@xxxxxxxxx>
References: <20250604212125.25656-1-yury.norov@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>

Propagate find_random_bit() to cpumask API.

Signed-off-by: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>
---
include/linux/cpumask.h | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
index ede95bbe8b80..4d3505acb5e0 100644
--- a/include/linux/cpumask.h
+++ b/include/linux/cpumask.h
@@ -354,6 +354,18 @@ unsigned int cpumask_next_wrap(int n, const struct cpumask *src)
return find_next_bit_wrap(cpumask_bits(src), small_cpumask_bits, n + 1);
}

+/**
+ * cpumask_random - get random cpu in *src.
+ * @src: cpumask pointer
+ *
+ * Return: random set bit, or >= nr_cpu_ids if @src is empty.
+ */
+static __always_inline
+unsigned int cpumask_random(const struct cpumask *src)
+{
+ return find_random_bit(cpumask_bits(src), nr_cpu_ids);
+}
+
/**
* for_each_cpu - iterate over every cpu in a mask
* @cpu: the (optionally unsigned) integer iterator
--
2.43.0



Return-Path: <linux-kernel+bounces-673800-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 18A1941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:22:25 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 29D533A9FB5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:22:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3B540214801;
Wed, 4 Jun 2025 21:22:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="gJ03iPsB"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 012A718A93C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:22:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072137; cv=none; b=PthFYUik3iPW9NT/d5DGNaDJIuMRQfsnX+d5x1KWFsQTSMyCKN+CtS0T3coROZrYHpvwK7wDI78DNnTY9hNNfCQO4aSAjyRmC6CSkF99ZwtyMJnLH9MRGTsuJsPkxwKm9q09G3g4Nwm4ULzOL130xRmgSGSo0bu4u0ZjpMguU78=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072137; c=relaxed/simple;
bh=4RC/cbxW7b2FR10nfyVpZzLUl8JswYtGmQlR25DFX+A=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=cUggOFTbIryqDiHFOY8IJtby/KBAgVrzKc+BnzQKdNjZUYIcNRskOFS5Z1wsinCFzTQWZi/0zdxrb9a4B8mCY0mA39Lw84MjtfGr0W9xsKX+ixDT04uCFDzXbv/XoFF5p6ZIaLn/rAT/Mbrtud9bTr3DHv8/AU5ZVnWBrdRQ5hU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=gJ03iPsB; arc=none smtp.client-ip=192.198.163.7
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749072135; x=1780608135;
h=from:to:cc:subject:date:message-id:mime-version:
content-transfer-encoding;
bh=4RC/cbxW7b2FR10nfyVpZzLUl8JswYtGmQlR25DFX+A=;
b=gJ03iPsBSQGqWbQ4Egf9S0VQmrelf/DNkQFxQbL+QSYXqWt2rs2kSkTL
M0DEHJC6YQPd4qq/F4a6lnlshKra2WIE+kgLcNw7h9mUiizs2kUmbNd6n
x+e+JS2DnCmcHi9e6oEAibJKg8THsgljzPaBW/+hkpx9Yfmp37fNI20zy
QLNY6tWT/E3URzRrFGdKtFUjXGQLJ3+9dkgmFb+kN370rVy+pB1L37pxI
I/PS6o8HwGYWrVJVPkkFWT3MGbVbwy8hbJWyfDc9IxCq3OLPeemr7HcEB
OhSfLd3ABT7+uMXQY95YI+IR+J85VZY5Q8sVsPUXxIrvxMv8ybcC2lO8G
Q==;
X-CSE-ConnectionGUID: musPgHJqRCyteB4BnIIstQ==
X-CSE-MsgGUID: W3KtzLE3RAuOrbo+bpRZGw==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="76572746"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="76572746"
Received: from orviesa003.jf.intel.com ([10.64.159.143])
by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:22:14 -0700
X-CSE-ConnectionGUID: HLWwsXghTcWMFHvT0WTTkA==
X-CSE-MsgGUID: I+B1lpl7RMq5h8RB9a5ZKg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150094180"
Received: from agluck-desk3.sc.intel.com ([172.25.103.51])
by ORVIESA003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:22:14 -0700
From: Tony Luck <tony.luck@xxxxxxxxx>
To: Babu Moger <babu.moger@xxxxxxx>,
Reinette Chatre <reinette.chatre@xxxxxxxxx>
Cc: Fenghua Yu <fenghuay@xxxxxxxxxx>,
Maciej Wieczor-Retman <maciej.wieczor-retman@xxxxxxxxx>,
Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>,
Drew Fustini <dfustini@xxxxxxxxxxxx>,
Dave Martin <Dave.Martin@xxxxxxx>,
Anil Keshavamurthy <anil.s.keshavamurthy@xxxxxxxxx>,
Chen Yu <yu.c.chen@xxxxxxxxx>,
x86@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
patches@xxxxxxxxxxxxxxx,
Tony Luck <tony.luck@xxxxxxxxx>
Subject: [PATCH v5 0/4 UPDATED] AET patches updated with Reinette feedback
Date: Wed, 4 Jun 2025 14:22:04 -0700
Message-ID: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Since these four patches from the AET series may be the new basis
for Babu's ABMC series I've updated based on Reinette's comments.

Posting these separately while I work on the rest of the series.

Tony Luck (4):
x86,fs/resctrl: Consolidate monitor event descriptions
x86,fs/resctrl: Replace architecture event enabled checks
x86/resctrl: Remove 'rdt_mon_features' global variable
x86,fs/resctrl: Prepare for more monitor events

include/linux/resctrl.h | 24 +++++--
include/linux/resctrl_types.h | 15 +++--
arch/x86/include/asm/resctrl.h | 16 -----
arch/x86/kernel/cpu/resctrl/internal.h | 9 +--
fs/resctrl/internal.h | 13 +++-
arch/x86/kernel/cpu/resctrl/core.c | 59 ++++++++++-------
arch/x86/kernel/cpu/resctrl/monitor.c | 41 +++++-------
fs/resctrl/ctrlmondata.c | 4 +-
fs/resctrl/monitor.c | 90 ++++++++++++++------------
fs/resctrl/rdtgroup.c | 73 +++++++++++----------
10 files changed, 180 insertions(+), 164 deletions(-)

--
2.49.0



Return-Path: <linux-kernel+bounces-673801-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A58AD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:22:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 4CC41189ACE4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:22:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 42A6D221DAE;
Wed, 4 Jun 2025 21:22:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="kCglucei"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 26A581DF27F
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:22:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072138; cv=none; b=ZZ34ClzdcSxlNql+mttD3Ern92dMXvfOHk06ICSu9K3IxxI6E+zeexPMlnFxMDo2ROXovJWQ1teDNfG0zY/T7q6ictk7IrktqQK3m5JZcEedqtFzNLXFswUmayyZ/FdoGSoQqRCD31mrFaHYbcfYNZudeBXTDRzZOlCZKr+cFc4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072138; c=relaxed/simple;
bh=lcm77AFQvWiqppBHMsVUJ3jNHKuLu+utmE3voKfsy1A=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=mbD/uZz9be8YaWywvfiGvaHgUrl8iuRpFcr85AbSJ7Wz2KPt2PzI5cCHtYvfr2ZiYOK640wI1Gphnt/KU8mQo1XU7zopx8KYR+DJGVscWscYpOuAjcw5BCpdfha+HJLNlk3cz10gMH71utEeRBuStI44TvH4VJtMmjsLMXiFZ3A=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=kCglucei; arc=none smtp.client-ip=192.198.163.7
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749072136; x=1780608136;
h=from:to:cc:subject:date:message-id:in-reply-to:
references:mime-version:content-transfer-encoding;
bh=lcm77AFQvWiqppBHMsVUJ3jNHKuLu+utmE3voKfsy1A=;
b=kCgluceivI6vr53QFnKnF6J7kW/Ci9xEHMf9ETCfKO+9npH2cvqgIB2A
NCv0GXAZLxlSrW0TvzJnitVWV1BOlTMQ7h909Jf3naIs6eLBB4PQKw0S5
14x7W0+sDyn7tzv3erg0lKxPTWzsj4ddD7BhyDquPoYKv2bj/lKQ/ttqU
4rqp9h/MhT/DNespHOCgIoq3+w0hU9ijxjkVizgUAcDUk/SImfeHy+hiH
6mnvTRRr8ACSuEMpXnetauZ0OAJouW7SldsIN2b9aOHFfG0uAkFgpzXiJ
FuHd3e//HrJihg/ZXXu6pWwt45+Y4GK23PCsq1xtLfYbQMlR44Gz6KYvj
w==;
X-CSE-ConnectionGUID: Kb8609KzTXqo6k8MviqLIA==
X-CSE-MsgGUID: 5U7t48kPTJyX7+rbENMxsQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="76572754"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="76572754"
Received: from orviesa003.jf.intel.com ([10.64.159.143])
by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:22:14 -0700
X-CSE-ConnectionGUID: Ba0FOnarSFGD8ooMrWx2Yg==
X-CSE-MsgGUID: lDgN9L3VQPuUQrWX6YBNKg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150094186"
Received: from agluck-desk3.sc.intel.com ([172.25.103.51])
by ORVIESA003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:22:14 -0700
From: Tony Luck <tony.luck@xxxxxxxxx>
To: Babu Moger <babu.moger@xxxxxxx>,
Reinette Chatre <reinette.chatre@xxxxxxxxx>
Cc: Fenghua Yu <fenghuay@xxxxxxxxxx>,
Maciej Wieczor-Retman <maciej.wieczor-retman@xxxxxxxxx>,
Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>,
Drew Fustini <dfustini@xxxxxxxxxxxx>,
Dave Martin <Dave.Martin@xxxxxxx>,
Anil Keshavamurthy <anil.s.keshavamurthy@xxxxxxxxx>,
Chen Yu <yu.c.chen@xxxxxxxxx>,
x86@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
patches@xxxxxxxxxxxxxxx,
Tony Luck <tony.luck@xxxxxxxxx>
Subject: [PATCH v5 1/4 UPDATED] x86,fs/resctrl: Consolidate monitor event descriptions
Date: Wed, 4 Jun 2025 14:22:05 -0700
Message-ID: <20250604212208.49080-2-tony.luck@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
References: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

There are currently only three monitor events, all associated with
the RDT_RESOURCE_L3 resource. Growing support for additional events
will be easier with some restructuring to have a single point in
file system code where all attributes of all events are defined.

Place all event descriptions into an array mon_event_all[]. Doing
this has the beneficial side effect of removing the need for
rdt_resource::evt_list.

Add resctrl_event_id::QOS_FIRST_EVENT for a lower bound on range
checks for event ids and as the starting index to scan mon_event_all[].

Drop the code that builds evt_list and change the two places where
the list is scanned to scan mon_event_all[] instead using a new
helper macro for_each_mon_event().

Architecture code now informs file system code which events are
available with resctrl_enable_mon_event().

Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
include/linux/resctrl.h | 4 +-
include/linux/resctrl_types.h | 12 ++++--
fs/resctrl/internal.h | 13 ++++--
arch/x86/kernel/cpu/resctrl/core.c | 12 ++++--
fs/resctrl/monitor.c | 63 +++++++++++++++---------------
fs/resctrl/rdtgroup.c | 11 +++---
6 files changed, 66 insertions(+), 49 deletions(-)

diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
index 9ba771f2ddea..1c87e1ed235f 100644
--- a/include/linux/resctrl.h
+++ b/include/linux/resctrl.h
@@ -269,7 +269,6 @@ enum resctrl_schema_fmt {
* @mon_domains: RCU list of all monitor domains for this resource
* @name: Name to use in "schemata" file.
* @schema_fmt: Which format string and parser is used for this schema.
- * @evt_list: List of monitoring events
* @mbm_cfg_mask: Bandwidth sources that can be tracked when bandwidth
* monitoring events can be configured.
* @cdp_capable: Is the CDP feature available on this resource
@@ -287,7 +286,6 @@ struct rdt_resource {
struct list_head mon_domains;
char *name;
enum resctrl_schema_fmt schema_fmt;
- struct list_head evt_list;
unsigned int mbm_cfg_mask;
bool cdp_capable;
};
@@ -372,6 +370,8 @@ u32 resctrl_arch_get_num_closid(struct rdt_resource *r);
u32 resctrl_arch_system_num_rmid_idx(void);
int resctrl_arch_update_domains(struct rdt_resource *r, u32 closid);

+void resctrl_enable_mon_event(enum resctrl_event_id eventid);
+
bool resctrl_arch_is_evt_configurable(enum resctrl_event_id evt);

/**
diff --git a/include/linux/resctrl_types.h b/include/linux/resctrl_types.h
index a25fb9c4070d..2dadbc54e4b3 100644
--- a/include/linux/resctrl_types.h
+++ b/include/linux/resctrl_types.h
@@ -34,11 +34,15 @@
/* Max event bits supported */
#define MAX_EVT_CONFIG_BITS GENMASK(6, 0)

-/*
- * Event IDs, the values match those used to program IA32_QM_EVTSEL before
- * reading IA32_QM_CTR on RDT systems.
- */
+/* Event IDs */
enum resctrl_event_id {
+ /* Must match value of first event below */
+ QOS_FIRST_EVENT = 0x01,
+
+ /*
+ * These values match those used to program IA32_QM_EVTSEL before
+ * reading IA32_QM_CTR on RDT systems.
+ */
QOS_L3_OCCUP_EVENT_ID = 0x01,
QOS_L3_MBM_TOTAL_EVENT_ID = 0x02,
QOS_L3_MBM_LOCAL_EVENT_ID = 0x03,
diff --git a/fs/resctrl/internal.h b/fs/resctrl/internal.h
index 9a8cf6f11151..71963255ad36 100644
--- a/fs/resctrl/internal.h
+++ b/fs/resctrl/internal.h
@@ -52,19 +52,26 @@ static inline struct rdt_fs_context *rdt_fc2context(struct fs_context *fc)
}

/**
- * struct mon_evt - Entry in the event list of a resource
+ * struct mon_evt - Description of a monitor event
* @evtid: event id
+ * @rid: index of the resource for this event
* @name: name of the event
* @configurable: true if the event is configurable
- * @list: entry in &rdt_resource->evt_list
+ * @enabled: true if the event is enabled
*/
struct mon_evt {
enum resctrl_event_id evtid;
+ enum resctrl_res_level rid;
char *name;
bool configurable;
- struct list_head list;
+ bool enabled;
};

+extern struct mon_evt mon_event_all[QOS_NUM_EVENTS];
+
+#define for_each_mon_event(mevt) for (mevt = &mon_event_all[QOS_FIRST_EVENT]; \
+ mevt < &mon_event_all[QOS_NUM_EVENTS]; mevt++)
+
/**
* struct mon_data - Monitoring details for each event file.
* @list: Member of the global @mon_data_kn_priv_list list.
diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
index 7109cbfcad4f..7b235b7691aa 100644
--- a/arch/x86/kernel/cpu/resctrl/core.c
+++ b/arch/x86/kernel/cpu/resctrl/core.c
@@ -862,12 +862,18 @@ static __init bool get_rdt_mon_resources(void)
{
struct rdt_resource *r = &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl;

- if (rdt_cpu_has(X86_FEATURE_CQM_OCCUP_LLC))
+ if (rdt_cpu_has(X86_FEATURE_CQM_OCCUP_LLC)) {
+ resctrl_enable_mon_event(QOS_L3_OCCUP_EVENT_ID);
rdt_mon_features |= (1 << QOS_L3_OCCUP_EVENT_ID);
- if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL))
+ }
+ if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL)) {
+ resctrl_enable_mon_event(QOS_L3_MBM_TOTAL_EVENT_ID);
rdt_mon_features |= (1 << QOS_L3_MBM_TOTAL_EVENT_ID);
- if (rdt_cpu_has(X86_FEATURE_CQM_MBM_LOCAL))
+ }
+ if (rdt_cpu_has(X86_FEATURE_CQM_MBM_LOCAL)) {
+ resctrl_enable_mon_event(QOS_L3_MBM_LOCAL_EVENT_ID);
rdt_mon_features |= (1 << QOS_L3_MBM_LOCAL_EVENT_ID);
+ }

if (!rdt_mon_features)
return false;
diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.c
index bde2801289d3..90093e54a279 100644
--- a/fs/resctrl/monitor.c
+++ b/fs/resctrl/monitor.c
@@ -842,38 +842,39 @@ static void dom_data_exit(struct rdt_resource *r)
mutex_unlock(&rdtgroup_mutex);
}

-static struct mon_evt llc_occupancy_event = {
- .name = "llc_occupancy",
- .evtid = QOS_L3_OCCUP_EVENT_ID,
-};
-
-static struct mon_evt mbm_total_event = {
- .name = "mbm_total_bytes",
- .evtid = QOS_L3_MBM_TOTAL_EVENT_ID,
-};
-
-static struct mon_evt mbm_local_event = {
- .name = "mbm_local_bytes",
- .evtid = QOS_L3_MBM_LOCAL_EVENT_ID,
-};
-
/*
- * Initialize the event list for the resource.
- *
- * Note that MBM events are also part of RDT_RESOURCE_L3 resource
- * because as per the SDM the total and local memory bandwidth
- * are enumerated as part of L3 monitoring.
+ * All available events. Architecture code marks the ones that
+ * are supported by a system using resctrl_enable_mon_event()
+ * to set .enabled.
*/
-static void l3_mon_evt_init(struct rdt_resource *r)
+struct mon_evt mon_event_all[QOS_NUM_EVENTS] = {
+ [QOS_L3_OCCUP_EVENT_ID] = {
+ .name = "llc_occupancy",
+ .evtid = QOS_L3_OCCUP_EVENT_ID,
+ .rid = RDT_RESOURCE_L3,
+ },
+ [QOS_L3_MBM_TOTAL_EVENT_ID] = {
+ .name = "mbm_total_bytes",
+ .evtid = QOS_L3_MBM_TOTAL_EVENT_ID,
+ .rid = RDT_RESOURCE_L3,
+ },
+ [QOS_L3_MBM_LOCAL_EVENT_ID] = {
+ .name = "mbm_local_bytes",
+ .evtid = QOS_L3_MBM_LOCAL_EVENT_ID,
+ .rid = RDT_RESOURCE_L3,
+ },
+};
+
+void resctrl_enable_mon_event(enum resctrl_event_id eventid)
{
- INIT_LIST_HEAD(&r->evt_list);
+ if (WARN_ON_ONCE(eventid < QOS_FIRST_EVENT || eventid >= QOS_NUM_EVENTS))
+ return;
+ if (mon_event_all[eventid].enabled) {
+ pr_warn("Duplicate enable for event %d\n", eventid);
+ return;
+ }

- if (resctrl_arch_is_llc_occupancy_enabled())
- list_add_tail(&llc_occupancy_event.list, &r->evt_list);
- if (resctrl_arch_is_mbm_total_enabled())
- list_add_tail(&mbm_total_event.list, &r->evt_list);
- if (resctrl_arch_is_mbm_local_enabled())
- list_add_tail(&mbm_local_event.list, &r->evt_list);
+ mon_event_all[eventid].enabled = true;
}

/**
@@ -900,15 +901,13 @@ int resctrl_mon_resource_init(void)
if (ret)
return ret;

- l3_mon_evt_init(r);
-
if (resctrl_arch_is_evt_configurable(QOS_L3_MBM_TOTAL_EVENT_ID)) {
- mbm_total_event.configurable = true;
+ mon_event_all[QOS_L3_MBM_TOTAL_EVENT_ID].configurable = true;
resctrl_file_fflags_init("mbm_total_bytes_config",
RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
}
if (resctrl_arch_is_evt_configurable(QOS_L3_MBM_LOCAL_EVENT_ID)) {
- mbm_local_event.configurable = true;
+ mon_event_all[QOS_L3_MBM_LOCAL_EVENT_ID].configurable = true;
resctrl_file_fflags_init("mbm_local_bytes_config",
RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
}
diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
index cc37f58b47dd..e4e4b6af5147 100644
--- a/fs/resctrl/rdtgroup.c
+++ b/fs/resctrl/rdtgroup.c
@@ -1150,7 +1150,9 @@ static int rdt_mon_features_show(struct kernfs_open_file *of,
struct rdt_resource *r = rdt_kn_parent_priv(of->kn);
struct mon_evt *mevt;

- list_for_each_entry(mevt, &r->evt_list, list) {
+ for_each_mon_event(mevt) {
+ if (mevt->rid != r->rid || !mevt->enabled)
+ continue;
seq_printf(seq, "%s\n", mevt->name);
if (mevt->configurable)
seq_printf(seq, "%s_config\n", mevt->name);
@@ -3055,10 +3057,9 @@ static int mon_add_all_files(struct kernfs_node *kn, struct rdt_mon_domain *d,
struct mon_evt *mevt;
int ret, domid;

- if (WARN_ON(list_empty(&r->evt_list)))
- return -EPERM;
-
- list_for_each_entry(mevt, &r->evt_list, list) {
+ for_each_mon_event(mevt) {
+ if (mevt->rid != r->rid || !mevt->enabled)
+ continue;
domid = do_sum ? d->ci->id : d->hdr.id;
priv = mon_get_kn_priv(r->rid, domid, mevt, do_sum);
if (WARN_ON_ONCE(!priv))
--
2.49.0



Return-Path: <linux-kernel+bounces-673802-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D291E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:22:43 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 783D1189ACC5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:22:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9374C224B05;
Wed, 4 Jun 2025 21:22:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="mC1CzzDO"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 943BE20ADE6
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:22:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072139; cv=none; b=HMO3YJJW2fWMK493GleoGntDMqUDK6zEMPtrnGbtKI8S1OqihzE6Ov3ewHnJUyCdpTsL4cmdLQFrwXFATWDUsB5L7FtLHZdZniXFNKytSvoNuQfBSuIuObnYZBUJUgyK0BMiRMP+CsHfJmZ0R6WPfVqnak9owr1Skn2DvgJ9M5A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072139; c=relaxed/simple;
bh=LFIefMQBpldwd7i8qr64fXmkB2yJmxSiYyFiZoOOq0E=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=bM8IK/gU6l7QP0zS7Y7sfg08P4Rhy+4q2N42G+eDlPo01XFijtQOJRFCYJY4roi1f/IPEd4l6yJFX+ezyEGt/NkqKV5BMPu+Fex7fE0NXBQBOgH3VGZ3hxXLN5u/ncMNQyev+vZy/chUVvt2cb+uo1ExbHQdtliW1wx8eCXD2iU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=mC1CzzDO; arc=none smtp.client-ip=192.198.163.7
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749072138; x=1780608138;
h=from:to:cc:subject:date:message-id:in-reply-to:
references:mime-version:content-transfer-encoding;
bh=LFIefMQBpldwd7i8qr64fXmkB2yJmxSiYyFiZoOOq0E=;
b=mC1CzzDOtEkiormrE6dtX7pZ+to+BeHkKCFPQutFyxehULMwCVSIaDVY
LuJkQOjBQWSK2demLV/GJ4vs7SenlI4mT6lcgFwrTLp7BAzp8mGx+U28D
bLW8ryipvzTIbZM4+O5p3QqYujEem38R2sMokxV5m6ylKse9yD8s/38sN
eB1IKuyyWJQk7dhWY4dxqJdyAFibL4fF6ARtnN+BYmvgnqII0jjkedHP3
mkwrIRFAssLeQS+MExPZGf0ZCmR/EN4qqAy94mlXOC9NKmEUWnD7xpIqc
OehYhQQ1OuFrQhqBsqlz6gmTANbyPLSfi4cJn6UAOa3mxggX8vOkbRCat
A==;
X-CSE-ConnectionGUID: g7Ud+z4OTmeR4ohqDzbX1w==
X-CSE-MsgGUID: Tpnd2RseToGKpKVOU3gCqw==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="76572762"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="76572762"
Received: from orviesa003.jf.intel.com ([10.64.159.143])
by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:22:15 -0700
X-CSE-ConnectionGUID: KO2drRFARWOqGNZOcTM+dA==
X-CSE-MsgGUID: fC/CFcNcT0OeZ4wPfT68EA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150094191"
Received: from agluck-desk3.sc.intel.com ([172.25.103.51])
by ORVIESA003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:22:14 -0700
From: Tony Luck <tony.luck@xxxxxxxxx>
To: Babu Moger <babu.moger@xxxxxxx>,
Reinette Chatre <reinette.chatre@xxxxxxxxx>
Cc: Fenghua Yu <fenghuay@xxxxxxxxxx>,
Maciej Wieczor-Retman <maciej.wieczor-retman@xxxxxxxxx>,
Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>,
Drew Fustini <dfustini@xxxxxxxxxxxx>,
Dave Martin <Dave.Martin@xxxxxxx>,
Anil Keshavamurthy <anil.s.keshavamurthy@xxxxxxxxx>,
Chen Yu <yu.c.chen@xxxxxxxxx>,
x86@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
patches@xxxxxxxxxxxxxxx,
Tony Luck <tony.luck@xxxxxxxxx>
Subject: [PATCH v5 2/4 UPDATED] x86,fs/resctrl: Replace architecture event enabled checks
Date: Wed, 4 Jun 2025 14:22:06 -0700
Message-ID: <20250604212208.49080-3-tony.luck@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
References: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The resctrl file system now has complete knowledge of the status
of every event. So there is no need for per-event function calls
to check.

Replace each of the resctrl_arch_is_{event}enabled() calls with
resctrl_is_mon_event_enabled(QOS_{EVENT}).

No functional change.

Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
include/linux/resctrl.h | 2 ++
arch/x86/include/asm/resctrl.h | 15 ---------------
arch/x86/kernel/cpu/resctrl/core.c | 4 ++--
arch/x86/kernel/cpu/resctrl/monitor.c | 4 ++--
fs/resctrl/ctrlmondata.c | 4 ++--
fs/resctrl/monitor.c | 16 +++++++++++-----
fs/resctrl/rdtgroup.c | 18 +++++++++---------
7 files changed, 28 insertions(+), 35 deletions(-)

diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
index 1c87e1ed235f..8404089f18ad 100644
--- a/include/linux/resctrl.h
+++ b/include/linux/resctrl.h
@@ -372,6 +372,8 @@ int resctrl_arch_update_domains(struct rdt_resource *r, u32 closid);

void resctrl_enable_mon_event(enum resctrl_event_id eventid);

+bool resctrl_is_mon_event_enabled(enum resctrl_event_id eventid);
+
bool resctrl_arch_is_evt_configurable(enum resctrl_event_id evt);

/**
diff --git a/arch/x86/include/asm/resctrl.h b/arch/x86/include/asm/resctrl.h
index feb93b50e990..b1dd5d6b87db 100644
--- a/arch/x86/include/asm/resctrl.h
+++ b/arch/x86/include/asm/resctrl.h
@@ -84,21 +84,6 @@ static inline void resctrl_arch_disable_mon(void)
static_branch_dec_cpuslocked(&rdt_enable_key);
}

-static inline bool resctrl_arch_is_llc_occupancy_enabled(void)
-{
- return (rdt_mon_features & (1 << QOS_L3_OCCUP_EVENT_ID));
-}
-
-static inline bool resctrl_arch_is_mbm_total_enabled(void)
-{
- return (rdt_mon_features & (1 << QOS_L3_MBM_TOTAL_EVENT_ID));
-}
-
-static inline bool resctrl_arch_is_mbm_local_enabled(void)
-{
- return (rdt_mon_features & (1 << QOS_L3_MBM_LOCAL_EVENT_ID));
-}
-
/*
* __resctrl_sched_in() - Writes the task's CLOSid/RMID to IA32_PQR_MSR
*
diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
index 7b235b7691aa..f02095625043 100644
--- a/arch/x86/kernel/cpu/resctrl/core.c
+++ b/arch/x86/kernel/cpu/resctrl/core.c
@@ -402,13 +402,13 @@ static int arch_domain_mbm_alloc(u32 num_rmid, struct rdt_hw_mon_domain *hw_dom)
{
size_t tsize;

- if (resctrl_arch_is_mbm_total_enabled()) {
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID)) {
tsize = sizeof(*hw_dom->arch_mbm_total);
hw_dom->arch_mbm_total = kcalloc(num_rmid, tsize, GFP_KERNEL);
if (!hw_dom->arch_mbm_total)
return -ENOMEM;
}
- if (resctrl_arch_is_mbm_local_enabled()) {
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID)) {
tsize = sizeof(*hw_dom->arch_mbm_local);
hw_dom->arch_mbm_local = kcalloc(num_rmid, tsize, GFP_KERNEL);
if (!hw_dom->arch_mbm_local) {
diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
index c261558276cd..61d38517e2bf 100644
--- a/arch/x86/kernel/cpu/resctrl/monitor.c
+++ b/arch/x86/kernel/cpu/resctrl/monitor.c
@@ -207,11 +207,11 @@ void resctrl_arch_reset_rmid_all(struct rdt_resource *r, struct rdt_mon_domain *
{
struct rdt_hw_mon_domain *hw_dom = resctrl_to_arch_mon_dom(d);

- if (resctrl_arch_is_mbm_total_enabled())
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID))
memset(hw_dom->arch_mbm_total, 0,
sizeof(*hw_dom->arch_mbm_total) * r->num_rmid);

- if (resctrl_arch_is_mbm_local_enabled())
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID))
memset(hw_dom->arch_mbm_local, 0,
sizeof(*hw_dom->arch_mbm_local) * r->num_rmid);
}
diff --git a/fs/resctrl/ctrlmondata.c b/fs/resctrl/ctrlmondata.c
index 6ed2dfd4dbbd..6be423c5e2e0 100644
--- a/fs/resctrl/ctrlmondata.c
+++ b/fs/resctrl/ctrlmondata.c
@@ -473,12 +473,12 @@ ssize_t rdtgroup_mba_mbps_event_write(struct kernfs_open_file *of,
rdt_last_cmd_clear();

if (!strcmp(buf, "mbm_local_bytes")) {
- if (resctrl_arch_is_mbm_local_enabled())
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID))
rdtgrp->mba_mbps_event = QOS_L3_MBM_LOCAL_EVENT_ID;
else
ret = -EINVAL;
} else if (!strcmp(buf, "mbm_total_bytes")) {
- if (resctrl_arch_is_mbm_total_enabled())
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID))
rdtgrp->mba_mbps_event = QOS_L3_MBM_TOTAL_EVENT_ID;
else
ret = -EINVAL;
diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.c
index 90093e54a279..73328cfbadc6 100644
--- a/fs/resctrl/monitor.c
+++ b/fs/resctrl/monitor.c
@@ -336,7 +336,7 @@ void free_rmid(u32 closid, u32 rmid)

entry = __rmid_entry(idx);

- if (resctrl_arch_is_llc_occupancy_enabled())
+ if (resctrl_is_mon_event_enabled(QOS_L3_OCCUP_EVENT_ID))
add_rmid_to_limbo(entry);
else
list_add_tail(&entry->list, &rmid_free_lru);
@@ -635,10 +635,10 @@ static void mbm_update(struct rdt_resource *r, struct rdt_mon_domain *d,
* This is protected from concurrent reads from user as both
* the user and overflow handler hold the global mutex.
*/
- if (resctrl_arch_is_mbm_total_enabled())
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID))
mbm_update_one_event(r, d, closid, rmid, QOS_L3_MBM_TOTAL_EVENT_ID);

- if (resctrl_arch_is_mbm_local_enabled())
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID))
mbm_update_one_event(r, d, closid, rmid, QOS_L3_MBM_LOCAL_EVENT_ID);
}

@@ -877,6 +877,12 @@ void resctrl_enable_mon_event(enum resctrl_event_id eventid)
mon_event_all[eventid].enabled = true;
}

+bool resctrl_is_mon_event_enabled(enum resctrl_event_id eventid)
+{
+ return eventid >= QOS_FIRST_EVENT && eventid < QOS_NUM_EVENTS &&
+ mon_event_all[eventid].enabled;
+}
+
/**
* resctrl_mon_resource_init() - Initialise global monitoring structures.
*
@@ -912,9 +918,9 @@ int resctrl_mon_resource_init(void)
RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
}

- if (resctrl_arch_is_mbm_local_enabled())
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID))
mba_mbps_default_event = QOS_L3_MBM_LOCAL_EVENT_ID;
- else if (resctrl_arch_is_mbm_total_enabled())
+ else if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID))
mba_mbps_default_event = QOS_L3_MBM_TOTAL_EVENT_ID;

return 0;
diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
index e4e4b6af5147..73d16e96cc3b 100644
--- a/fs/resctrl/rdtgroup.c
+++ b/fs/resctrl/rdtgroup.c
@@ -123,8 +123,8 @@ void rdt_staged_configs_clear(void)

static bool resctrl_is_mbm_enabled(void)
{
- return (resctrl_arch_is_mbm_total_enabled() ||
- resctrl_arch_is_mbm_local_enabled());
+ return (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID) ||
+ resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID));
}

static bool resctrl_is_mbm_event(int e)
@@ -196,7 +196,7 @@ static int closid_alloc(void)
lockdep_assert_held(&rdtgroup_mutex);

if (IS_ENABLED(CONFIG_RESCTRL_RMID_DEPENDS_ON_CLOSID) &&
- resctrl_arch_is_llc_occupancy_enabled()) {
+ resctrl_is_mon_event_enabled(QOS_L3_OCCUP_EVENT_ID)) {
cleanest_closid = resctrl_find_cleanest_closid();
if (cleanest_closid < 0)
return cleanest_closid;
@@ -4047,7 +4047,7 @@ void resctrl_offline_mon_domain(struct rdt_resource *r, struct rdt_mon_domain *d

if (resctrl_is_mbm_enabled())
cancel_delayed_work(&d->mbm_over);
- if (resctrl_arch_is_llc_occupancy_enabled() && has_busy_rmid(d)) {
+ if (resctrl_is_mon_event_enabled(QOS_L3_OCCUP_EVENT_ID) && has_busy_rmid(d)) {
/*
* When a package is going down, forcefully
* decrement rmid->ebusy. There is no way to know
@@ -4083,12 +4083,12 @@ static int domain_setup_mon_state(struct rdt_resource *r, struct rdt_mon_domain
u32 idx_limit = resctrl_arch_system_num_rmid_idx();
size_t tsize;

- if (resctrl_arch_is_llc_occupancy_enabled()) {
+ if (resctrl_is_mon_event_enabled(QOS_L3_OCCUP_EVENT_ID)) {
d->rmid_busy_llc = bitmap_zalloc(idx_limit, GFP_KERNEL);
if (!d->rmid_busy_llc)
return -ENOMEM;
}
- if (resctrl_arch_is_mbm_total_enabled()) {
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID)) {
tsize = sizeof(*d->mbm_total);
d->mbm_total = kcalloc(idx_limit, tsize, GFP_KERNEL);
if (!d->mbm_total) {
@@ -4096,7 +4096,7 @@ static int domain_setup_mon_state(struct rdt_resource *r, struct rdt_mon_domain
return -ENOMEM;
}
}
- if (resctrl_arch_is_mbm_local_enabled()) {
+ if (resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID)) {
tsize = sizeof(*d->mbm_local);
d->mbm_local = kcalloc(idx_limit, tsize, GFP_KERNEL);
if (!d->mbm_local) {
@@ -4141,7 +4141,7 @@ int resctrl_online_mon_domain(struct rdt_resource *r, struct rdt_mon_domain *d)
RESCTRL_PICK_ANY_CPU);
}

- if (resctrl_arch_is_llc_occupancy_enabled())
+ if (resctrl_is_mon_event_enabled(QOS_L3_OCCUP_EVENT_ID))
INIT_DELAYED_WORK(&d->cqm_limbo, cqm_handle_limbo);

/*
@@ -4216,7 +4216,7 @@ void resctrl_offline_cpu(unsigned int cpu)
cancel_delayed_work(&d->mbm_over);
mbm_setup_overflow_handler(d, 0, cpu);
}
- if (resctrl_arch_is_llc_occupancy_enabled() &&
+ if (resctrl_is_mon_event_enabled(QOS_L3_OCCUP_EVENT_ID) &&
cpu == d->cqm_work_cpu && has_busy_rmid(d)) {
cancel_delayed_work(&d->cqm_limbo);
cqm_setup_limbo_handler(d, 0, cpu);
--
2.49.0



Return-Path: <linux-kernel+bounces-673803-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E424241E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:22:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id A2DC27A616F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:21:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A2408225A34;
Wed, 4 Jun 2025 21:22:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="EqVmR8DZ"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3AD75212B28
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:22:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072139; cv=none; b=OjEV5/5I3IZMHnaRy45JIfGho+46HRp52vTAHEOesCOXK6cf2RG73lsGU/+iXw0pXjH5kjQytn+5ALofNPkKO7kc/G0l6y6b7m+LggOv2ZE/lh/hgxHhmjuxNES137zIFqvU3lxLADEMLHDigcmZoVQBv8l8Fuhx0Q2/xuv86Tk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072139; c=relaxed/simple;
bh=mrfi1QYiWikbPQQ1lTr4igmz0kTS4BErTnR8Ei3X7Js=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=fs/dG/p9DV7mnGMkPxAxnDgrFM6OB5VG1zppqXyfOlCE6ue+HWFrCVYHiffk+Y2aC845pNrD6Mh9Xx+4wxGX7xQOZbgnHihnsGX8p65MsjFwFyfyQiPz0Rxcffs0vtlTwKFgXl8G7xxIqJImsDmyw44tzP2u1ka7G8IRqPa8j2k=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=EqVmR8DZ; arc=none smtp.client-ip=192.198.163.7
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749072138; x=1780608138;
h=from:to:cc:subject:date:message-id:in-reply-to:
references:mime-version:content-transfer-encoding;
bh=mrfi1QYiWikbPQQ1lTr4igmz0kTS4BErTnR8Ei3X7Js=;
b=EqVmR8DZbc6UnIwG6kUoXfFV0/TZwKUoNILSHVaRXBcokaHvehvUYeIG
ngBbOh5UVdqrm+9RWqUmGFnIOLvz64xjyfEON6VUPWRqK0XawaHs4g0uU
lbDsgwm1bNaF7O7UR0DgaIGSePoTQWY7NnzWiXwQ6zd/wYR7Si5IHpej9
qefplj/LS8c5UdFdQL63FPCZ+gWTCuuYhibQVxYtvZQ6NXYI6OSOXaX6q
Yl4NXuk8mC8Z6HZsNF+nuxR3KLXHWC2t/TbR2o4da5q2+hd+n/KoCGeF1
8nhgmHCzb9/pcFPN79KQLi/ITdid7mZOamLCTF3BxcsXU0x1tUU25mIQM
A==;
X-CSE-ConnectionGUID: csK81Z0VSPWXPYNxcgWdsQ==
X-CSE-MsgGUID: 9hSuTKp8Tl6jWjs7Y7QZKQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="76572770"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="76572770"
Received: from orviesa003.jf.intel.com ([10.64.159.143])
by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:22:15 -0700
X-CSE-ConnectionGUID: VGnvCGlYRAa2HGL5rgkX+A==
X-CSE-MsgGUID: MymtO8YsTuyjVTtDC0am4g==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150094196"
Received: from agluck-desk3.sc.intel.com ([172.25.103.51])
by ORVIESA003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:22:15 -0700
From: Tony Luck <tony.luck@xxxxxxxxx>
To: Babu Moger <babu.moger@xxxxxxx>,
Reinette Chatre <reinette.chatre@xxxxxxxxx>
Cc: Fenghua Yu <fenghuay@xxxxxxxxxx>,
Maciej Wieczor-Retman <maciej.wieczor-retman@xxxxxxxxx>,
Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>,
Drew Fustini <dfustini@xxxxxxxxxxxx>,
Dave Martin <Dave.Martin@xxxxxxx>,
Anil Keshavamurthy <anil.s.keshavamurthy@xxxxxxxxx>,
Chen Yu <yu.c.chen@xxxxxxxxx>,
x86@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
patches@xxxxxxxxxxxxxxx,
Tony Luck <tony.luck@xxxxxxxxx>
Subject: [PATCH v5 3/4 UPDATED] x86/resctrl: Remove 'rdt_mon_features' global variable
Date: Wed, 4 Jun 2025 14:22:07 -0700
Message-ID: <20250604212208.49080-4-tony.luck@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
References: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

rdt_mon_features is used as a bitmask of enabled monitor events. A monitor
event's status is now maintained in mon_evt::enabled with all monitor
events' mon_evt structures found in the filesystem's mon_event_all[] array.

Remove the remaining uses of rdt_mon_features.

Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
arch/x86/include/asm/resctrl.h | 1 -
arch/x86/kernel/cpu/resctrl/core.c | 9 +++++----
arch/x86/kernel/cpu/resctrl/monitor.c | 5 -----
3 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/arch/x86/include/asm/resctrl.h b/arch/x86/include/asm/resctrl.h
index b1dd5d6b87db..575f8408a9e7 100644
--- a/arch/x86/include/asm/resctrl.h
+++ b/arch/x86/include/asm/resctrl.h
@@ -44,7 +44,6 @@ DECLARE_PER_CPU(struct resctrl_pqr_state, pqr_state);

extern bool rdt_alloc_capable;
extern bool rdt_mon_capable;
-extern unsigned int rdt_mon_features;

DECLARE_STATIC_KEY_FALSE(rdt_enable_key);
DECLARE_STATIC_KEY_FALSE(rdt_alloc_enable_key);
diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
index f02095625043..8ff76b9bd09b 100644
--- a/arch/x86/kernel/cpu/resctrl/core.c
+++ b/arch/x86/kernel/cpu/resctrl/core.c
@@ -861,21 +861,22 @@ static __init bool get_rdt_alloc_resources(void)
static __init bool get_rdt_mon_resources(void)
{
struct rdt_resource *r = &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl;
+ bool ret = false;

if (rdt_cpu_has(X86_FEATURE_CQM_OCCUP_LLC)) {
resctrl_enable_mon_event(QOS_L3_OCCUP_EVENT_ID);
- rdt_mon_features |= (1 << QOS_L3_OCCUP_EVENT_ID);
+ ret = true;
}
if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL)) {
resctrl_enable_mon_event(QOS_L3_MBM_TOTAL_EVENT_ID);
- rdt_mon_features |= (1 << QOS_L3_MBM_TOTAL_EVENT_ID);
+ ret = true;
}
if (rdt_cpu_has(X86_FEATURE_CQM_MBM_LOCAL)) {
resctrl_enable_mon_event(QOS_L3_MBM_LOCAL_EVENT_ID);
- rdt_mon_features |= (1 << QOS_L3_MBM_LOCAL_EVENT_ID);
+ ret = true;
}

- if (!rdt_mon_features)
+ if (!ret)
return false;

return !rdt_get_mon_l3_config(r);
diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
index 61d38517e2bf..07f8ab097cbe 100644
--- a/arch/x86/kernel/cpu/resctrl/monitor.c
+++ b/arch/x86/kernel/cpu/resctrl/monitor.c
@@ -31,11 +31,6 @@
*/
bool rdt_mon_capable;

-/*
- * Global to indicate which monitoring events are enabled.
- */
-unsigned int rdt_mon_features;
-
#define CF(cf) ((unsigned long)(1048576 * (cf) + 0.5))

static int snc_nodes_per_l3_cache = 1;
--
2.49.0



Return-Path: <linux-kernel+bounces-673804-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 751D441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:22:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id CD3D47A58A9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:21:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 755091FAC4A;
Wed, 4 Jun 2025 21:22:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="g1rPMrop"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A5E7219A72
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:22:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072140; cv=none; b=YYvHZlN9PezpA36BTIgHmpapfRWiYtywn0uvVrO+pnh99bCOX9XftT895iBq75CO3hCpDNrLYhetoOTk5ToXFlgKfyTXa6ojBRxgKjwe967/pifwKv/7IOKM/ZDxFLp7WjxC2FC/FqW9V95r0+4jIk5uvgiR3XL45ietQmJaMJg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072140; c=relaxed/simple;
bh=CPqNXOtS5x3av3658c+mXymxlY+uGP6E3aqM8g3/wZg=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=e8gwnkJ8HsO+iJfpryCEf6Ci1Y0eG+cuJ7EJqIF4nhziQIKassqWjgKedKkMGhRgJOvqpnLzk2Xe7lRdPA1jBnPwQb1M0v9pJc3GSRoGgPzKAKNvYqvpjAYhNIuMAFoMNVt6y29wFKb9U+akJVL2Xe1rEq3pgNrgegwqpLCGsus=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=g1rPMrop; arc=none smtp.client-ip=192.198.163.7
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749072138; x=1780608138;
h=from:to:cc:subject:date:message-id:in-reply-to:
references:mime-version:content-transfer-encoding;
bh=CPqNXOtS5x3av3658c+mXymxlY+uGP6E3aqM8g3/wZg=;
b=g1rPMropsE0Ix3CgT76iJpKC2hTAYPHzTK+qFkEUPDClsHUGGetpbx2X
6WD3NqVECllRs88C6FmtUAUUN5y2Qn9Z3EuKgYgPEP426EfdHBGOzcsEI
HN7ZXVTUc5rWbwHmtdFb5v7t3DESk6VRF0QsT2hG06WL1igNd5rWwZVLV
rJDnzzt0tpvZwU1LBjZTLNAc2JNP6cQxuxC4e+pjYH6ls8ucZAkENQwQg
1a9KVmPCdUXTgJGix9bqJqb7X3Zc858VgD84ew4J3+juQXbH+E4dQIl89
69qOT3/y9N3FaHcIws729DzFiWBev5Znd2927qOdX8uG13qPP2t770MFA
Q==;
X-CSE-ConnectionGUID: mvbpGwdsQU6dlqBhXazSSA==
X-CSE-MsgGUID: ThSUaakET5mXxBn572KMSA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="76572778"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="76572778"
Received: from orviesa003.jf.intel.com ([10.64.159.143])
by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:22:15 -0700
X-CSE-ConnectionGUID: GzSWHOCzSJO+M9yHYMvHkA==
X-CSE-MsgGUID: h2637UetS2+lv/ZDi3NcKA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150094202"
Received: from agluck-desk3.sc.intel.com ([172.25.103.51])
by ORVIESA003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:22:15 -0700
From: Tony Luck <tony.luck@xxxxxxxxx>
To: Babu Moger <babu.moger@xxxxxxx>,
Reinette Chatre <reinette.chatre@xxxxxxxxx>
Cc: Fenghua Yu <fenghuay@xxxxxxxxxx>,
Maciej Wieczor-Retman <maciej.wieczor-retman@xxxxxxxxx>,
Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>,
Drew Fustini <dfustini@xxxxxxxxxxxx>,
Dave Martin <Dave.Martin@xxxxxxx>,
Anil Keshavamurthy <anil.s.keshavamurthy@xxxxxxxxx>,
Chen Yu <yu.c.chen@xxxxxxxxx>,
x86@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
patches@xxxxxxxxxxxxxxx,
Tony Luck <tony.luck@xxxxxxxxx>
Subject: [PATCH v5 4/4 UPDATED] x86,fs/resctrl: Prepare for more monitor events
Date: Wed, 4 Jun 2025 14:22:08 -0700
Message-ID: <20250604212208.49080-5-tony.luck@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
References: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

There's a rule in computer programming that objects appear zero,
once, or many times. So code accordingly.

There are two MBM events and resctrl is coded with a lot of

if (local)
do one thing
if (total)
do a different thing

Change the rdt_mon_domain and rdt_hw_mon_domain structures to hold arrays
of pointers to per event data instead of explicit fields for total and
local bandwidth.

Simplify by coding for many events using loops on which are enabled.

Move resctrl_is_mbm_event() to <linux/resctrl.h> so it can be used more
widely. Also provide a for_each_mbm_event_id() helper macro.

Cleanup variable names in functions touched to consistently use
"eventid" for those with type enum resctrl_event_id.

Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
include/linux/resctrl.h | 18 +++++++---
include/linux/resctrl_types.h | 3 ++
arch/x86/kernel/cpu/resctrl/internal.h | 9 ++---
arch/x86/kernel/cpu/resctrl/core.c | 38 ++++++++++----------
arch/x86/kernel/cpu/resctrl/monitor.c | 36 +++++++++----------
fs/resctrl/monitor.c | 13 ++++---
fs/resctrl/rdtgroup.c | 48 ++++++++++++--------------
7 files changed, 88 insertions(+), 77 deletions(-)

diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
index 8404089f18ad..ee2090ef2936 100644
--- a/include/linux/resctrl.h
+++ b/include/linux/resctrl.h
@@ -161,8 +161,9 @@ struct rdt_ctrl_domain {
* @hdr: common header for different domain types
* @ci: cache info for this domain
* @rmid_busy_llc: bitmap of which limbo RMIDs are above threshold
- * @mbm_total: saved state for MBM total bandwidth
- * @mbm_local: saved state for MBM local bandwidth
+ * @mbm_states: Per-event pointer to the MBM event's saved state.
+ * An MBM event's state is an array of struct mbm_state
+ * indexed by RMID on x86 or combined CLOSID, RMID on Arm.
* @mbm_over: worker to periodically read MBM h/w counters
* @cqm_limbo: worker to periodically read CQM h/w counters
* @mbm_work_cpu: worker CPU for MBM h/w counters
@@ -172,8 +173,7 @@ struct rdt_mon_domain {
struct rdt_domain_hdr hdr;
struct cacheinfo *ci;
unsigned long *rmid_busy_llc;
- struct mbm_state *mbm_total;
- struct mbm_state *mbm_local;
+ struct mbm_state *mbm_states[QOS_NUM_L3_MBM_EVENTS];
struct delayed_work mbm_over;
struct delayed_work cqm_limbo;
int mbm_work_cpu;
@@ -376,6 +376,16 @@ bool resctrl_is_mon_event_enabled(enum resctrl_event_id eventid);

bool resctrl_arch_is_evt_configurable(enum resctrl_event_id evt);

+static inline bool resctrl_is_mbm_event(enum resctrl_event_id eventid)
+{
+ return (eventid >= QOS_L3_MBM_TOTAL_EVENT_ID &&
+ eventid <= QOS_L3_MBM_LOCAL_EVENT_ID);
+}
+
+#define for_each_mbm_event_id(eventid) \
+ for (eventid = QOS_L3_MBM_TOTAL_EVENT_ID; \
+ eventid <= QOS_L3_MBM_LOCAL_EVENT_ID; eventid++)
+
/**
* resctrl_arch_mon_event_config_write() - Write the config for an event.
* @config_info: struct resctrl_mon_config_info describing the resource, domain
diff --git a/include/linux/resctrl_types.h b/include/linux/resctrl_types.h
index 2dadbc54e4b3..d98351663c2c 100644
--- a/include/linux/resctrl_types.h
+++ b/include/linux/resctrl_types.h
@@ -51,4 +51,7 @@ enum resctrl_event_id {
QOS_NUM_EVENTS,
};

+#define QOS_NUM_L3_MBM_EVENTS (QOS_L3_MBM_LOCAL_EVENT_ID - QOS_L3_MBM_TOTAL_EVENT_ID + 1)
+#define MBM_STATE_IDX(evt) ((evt) - QOS_L3_MBM_TOTAL_EVENT_ID)
+
#endif /* __LINUX_RESCTRL_TYPES_H */
diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
index 5e3c41b36437..44ef0d94131e 100644
--- a/arch/x86/kernel/cpu/resctrl/internal.h
+++ b/arch/x86/kernel/cpu/resctrl/internal.h
@@ -54,15 +54,16 @@ struct rdt_hw_ctrl_domain {
* struct rdt_hw_mon_domain - Arch private attributes of a set of CPUs that share
* a resource for a monitor function
* @d_resctrl: Properties exposed to the resctrl file system
- * @arch_mbm_total: arch private state for MBM total bandwidth
- * @arch_mbm_local: arch private state for MBM local bandwidth
+ * @arch_mbm_states: arch private state for each MBM event
+ * @arch_mbm_states: Per-event pointer to the MBM event's saved state.
+ * An MBM event's state is an array of struct arch_mbm_state
+ * indexed by RMID on x86 or combined CLOSID, RMID on Arm.
*
* Members of this structure are accessed via helpers that provide abstraction.
*/
struct rdt_hw_mon_domain {
struct rdt_mon_domain d_resctrl;
- struct arch_mbm_state *arch_mbm_total;
- struct arch_mbm_state *arch_mbm_local;
+ struct arch_mbm_state *arch_mbm_states[QOS_NUM_L3_MBM_EVENTS];
};

static inline struct rdt_hw_ctrl_domain *resctrl_to_arch_ctrl_dom(struct rdt_ctrl_domain *r)
diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
index 8ff76b9bd09b..18fabbbed090 100644
--- a/arch/x86/kernel/cpu/resctrl/core.c
+++ b/arch/x86/kernel/cpu/resctrl/core.c
@@ -365,8 +365,8 @@ static void ctrl_domain_free(struct rdt_hw_ctrl_domain *hw_dom)

static void mon_domain_free(struct rdt_hw_mon_domain *hw_dom)
{
- kfree(hw_dom->arch_mbm_total);
- kfree(hw_dom->arch_mbm_local);
+ for (int i = 0; i < QOS_NUM_L3_MBM_EVENTS; i++)
+ kfree(hw_dom->arch_mbm_states[i]);
kfree(hw_dom);
}

@@ -400,25 +400,27 @@ static int domain_setup_ctrlval(struct rdt_resource *r, struct rdt_ctrl_domain *
*/
static int arch_domain_mbm_alloc(u32 num_rmid, struct rdt_hw_mon_domain *hw_dom)
{
- size_t tsize;
-
- if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID)) {
- tsize = sizeof(*hw_dom->arch_mbm_total);
- hw_dom->arch_mbm_total = kcalloc(num_rmid, tsize, GFP_KERNEL);
- if (!hw_dom->arch_mbm_total)
- return -ENOMEM;
- }
- if (resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID)) {
- tsize = sizeof(*hw_dom->arch_mbm_local);
- hw_dom->arch_mbm_local = kcalloc(num_rmid, tsize, GFP_KERNEL);
- if (!hw_dom->arch_mbm_local) {
- kfree(hw_dom->arch_mbm_total);
- hw_dom->arch_mbm_total = NULL;
- return -ENOMEM;
- }
+ size_t tsize = sizeof(*hw_dom->arch_mbm_states[0]);
+ enum resctrl_event_id eventid;
+ int idx;
+
+ for_each_mbm_event_id(eventid) {
+ if (!resctrl_is_mon_event_enabled(eventid))
+ continue;
+ idx = MBM_STATE_IDX(eventid);
+ hw_dom->arch_mbm_states[idx] = kcalloc(num_rmid, tsize, GFP_KERNEL);
+ if (!hw_dom->arch_mbm_states[idx])
+ goto cleanup;
}

return 0;
+cleanup:
+ while (--idx >= 0) {
+ kfree(hw_dom->arch_mbm_states[idx]);
+ hw_dom->arch_mbm_states[idx] = NULL;
+ }
+
+ return -ENOMEM;
}

static int get_domain_id_from_scope(int cpu, enum resctrl_scope scope)
diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
index 07f8ab097cbe..0add57b29a4d 100644
--- a/arch/x86/kernel/cpu/resctrl/monitor.c
+++ b/arch/x86/kernel/cpu/resctrl/monitor.c
@@ -161,18 +161,14 @@ static struct arch_mbm_state *get_arch_mbm_state(struct rdt_hw_mon_domain *hw_do
u32 rmid,
enum resctrl_event_id eventid)
{
- switch (eventid) {
- case QOS_L3_OCCUP_EVENT_ID:
- return NULL;
- case QOS_L3_MBM_TOTAL_EVENT_ID:
- return &hw_dom->arch_mbm_total[rmid];
- case QOS_L3_MBM_LOCAL_EVENT_ID:
- return &hw_dom->arch_mbm_local[rmid];
- default:
- /* Never expect to get here */
- WARN_ON_ONCE(1);
+ struct arch_mbm_state *state;
+
+ if (!resctrl_is_mbm_event(eventid))
return NULL;
- }
+
+ state = hw_dom->arch_mbm_states[MBM_STATE_IDX(eventid)];
+
+ return state ? &state[rmid] : NULL;
}

void resctrl_arch_reset_rmid(struct rdt_resource *r, struct rdt_mon_domain *d,
@@ -201,14 +197,16 @@ void resctrl_arch_reset_rmid(struct rdt_resource *r, struct rdt_mon_domain *d,
void resctrl_arch_reset_rmid_all(struct rdt_resource *r, struct rdt_mon_domain *d)
{
struct rdt_hw_mon_domain *hw_dom = resctrl_to_arch_mon_dom(d);
-
- if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID))
- memset(hw_dom->arch_mbm_total, 0,
- sizeof(*hw_dom->arch_mbm_total) * r->num_rmid);
-
- if (resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID))
- memset(hw_dom->arch_mbm_local, 0,
- sizeof(*hw_dom->arch_mbm_local) * r->num_rmid);
+ enum resctrl_event_id eventid;
+ int idx;
+
+ for_each_mbm_event_id(eventid) {
+ if (!resctrl_is_mon_event_enabled(eventid))
+ continue;
+ idx = MBM_STATE_IDX(eventid);
+ memset(hw_dom->arch_mbm_states[idx], 0,
+ sizeof(struct arch_mbm_state) * r->num_rmid);
+ }
}

static u64 mbm_overflow_count(u64 prev_msr, u64 cur_msr, unsigned int width)
diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.c
index 73328cfbadc6..d4d211b7b5d3 100644
--- a/fs/resctrl/monitor.c
+++ b/fs/resctrl/monitor.c
@@ -346,15 +346,14 @@ static struct mbm_state *get_mbm_state(struct rdt_mon_domain *d, u32 closid,
u32 rmid, enum resctrl_event_id evtid)
{
u32 idx = resctrl_arch_rmid_idx_encode(closid, rmid);
+ struct mbm_state *state;

- switch (evtid) {
- case QOS_L3_MBM_TOTAL_EVENT_ID:
- return &d->mbm_total[idx];
- case QOS_L3_MBM_LOCAL_EVENT_ID:
- return &d->mbm_local[idx];
- default:
+ if (!resctrl_is_mbm_event(evtid))
return NULL;
- }
+
+ state = d->mbm_states[MBM_STATE_IDX(evtid)];
+
+ return state ? &state[idx] : NULL;
}

static int __mon_event_count(u32 closid, u32 rmid, struct rmid_read *rr)
diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
index 73d16e96cc3b..fbc23bfae46a 100644
--- a/fs/resctrl/rdtgroup.c
+++ b/fs/resctrl/rdtgroup.c
@@ -127,12 +127,6 @@ static bool resctrl_is_mbm_enabled(void)
resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID));
}

-static bool resctrl_is_mbm_event(int e)
-{
- return (e >= QOS_L3_MBM_TOTAL_EVENT_ID &&
- e <= QOS_L3_MBM_LOCAL_EVENT_ID);
-}
-
/*
* Trivial allocator for CLOSIDs. Use BITMAP APIs to manipulate a bitmap
* of free CLOSIDs.
@@ -4020,8 +4014,10 @@ static void rdtgroup_setup_default(void)
static void domain_destroy_mon_state(struct rdt_mon_domain *d)
{
bitmap_free(d->rmid_busy_llc);
- kfree(d->mbm_total);
- kfree(d->mbm_local);
+ for (int i = 0; i < QOS_NUM_L3_MBM_EVENTS; i++) {
+ kfree(d->mbm_states[i]);
+ d->mbm_states[i] = NULL;
+ }
}

void resctrl_offline_ctrl_domain(struct rdt_resource *r, struct rdt_ctrl_domain *d)
@@ -4081,32 +4077,34 @@ void resctrl_offline_mon_domain(struct rdt_resource *r, struct rdt_mon_domain *d
static int domain_setup_mon_state(struct rdt_resource *r, struct rdt_mon_domain *d)
{
u32 idx_limit = resctrl_arch_system_num_rmid_idx();
- size_t tsize;
+ size_t tsize = sizeof(*d->mbm_states[0]);
+ enum resctrl_event_id eventid;
+ int idx;

if (resctrl_is_mon_event_enabled(QOS_L3_OCCUP_EVENT_ID)) {
d->rmid_busy_llc = bitmap_zalloc(idx_limit, GFP_KERNEL);
if (!d->rmid_busy_llc)
return -ENOMEM;
}
- if (resctrl_is_mon_event_enabled(QOS_L3_MBM_TOTAL_EVENT_ID)) {
- tsize = sizeof(*d->mbm_total);
- d->mbm_total = kcalloc(idx_limit, tsize, GFP_KERNEL);
- if (!d->mbm_total) {
- bitmap_free(d->rmid_busy_llc);
- return -ENOMEM;
- }
- }
- if (resctrl_is_mon_event_enabled(QOS_L3_MBM_LOCAL_EVENT_ID)) {
- tsize = sizeof(*d->mbm_local);
- d->mbm_local = kcalloc(idx_limit, tsize, GFP_KERNEL);
- if (!d->mbm_local) {
- bitmap_free(d->rmid_busy_llc);
- kfree(d->mbm_total);
- return -ENOMEM;
- }
+
+ for_each_mbm_event_id(eventid) {
+ if (!resctrl_is_mon_event_enabled(eventid))
+ continue;
+ idx = MBM_STATE_IDX(eventid);
+ d->mbm_states[idx] = kcalloc(idx_limit, tsize, GFP_KERNEL);
+ if (!d->mbm_states[idx])
+ goto cleanup;
}

return 0;
+cleanup:
+ bitmap_free(d->rmid_busy_llc);
+ while (--idx >= 0) {
+ kfree(d->mbm_states[idx]);
+ d->mbm_states[idx] = NULL;
+ }
+
+ return -ENOMEM;
}

int resctrl_online_ctrl_domain(struct rdt_resource *r, struct rdt_ctrl_domain *d)
--
2.49.0



Return-Path: <linux-kernel+bounces-673805-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 81F2241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:23:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id B8FF716D439
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:23:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 136D9213237;
Wed, 4 Jun 2025 21:23:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="R0WX9NI+"
Received: from out-171.mta1.migadu.com (out-171.mta1.migadu.com [95.215.58.171])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B5C1E139B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:23:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.171
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072218; cv=none; b=ZfDDMPL8XV8z+CYG32Hf5frFXmWWAalY2/mfEoFMN/0gWTiaFOIOb1hEjfW5b5uE2L1Tv6GBVXOH0XUtUQEbpUcB0BL4C51wZDhO/zxx6p8EXBgK0rzPVqOdc/BbptdeXi0YMbHaiP9mbFOSTD5F2/aES3zAvyc+iEsQAVolTNs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072218; c=relaxed/simple;
bh=4S10gW2wt3Usw1eY6iH4D3RuLj5PdEfnJJKHo9LJi6s=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=JSgFvDk1kxRRqQb+hdQc5o9D0EMSQ/H43nkSo1cqZjAl05Vp8NfMICy8w4PiSZLi8eDkZqqSH0PO1Sdr+Db5eR/i5pTdTA+2AArH9XRhubUbBkDd8VkOd6a3qCFMi30Sm0i///oLs9IYpCqrzXgGo+XWNpN5hZeHSOxQLiSLPdM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=R0WX9NI+; arc=none smtp.client-ip=95.215.58.171
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
Date: Wed, 4 Jun 2025 17:23:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1749072203;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type;
bh=mkV9b8O+6559TIf0+Ma+w1OI88MqcmuriotQpPbTw/Q=;
b=R0WX9NI+oV+nyQiYmfggYH9bcblA/PDrxpwY1yX1hAPZw8OyMoJTN9jlMhhFdUEx8sNOe0
bcNt0hrsKQRfW84LrE2vNFjUdNPRhyZ5jRGNxS07uNBz33Qk16o0oO88JSon1cqRnGTeMo
Vq+5Le4Tl8FOuVyj3HIU9f6i5BhcgQg=
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
From: Kent Overstreet <kent.overstreet@xxxxxxxxx>
To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: linux-bcachefs@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [GIT PULL] bcachefs changes for 6.16, part 2
Message-ID: <xtigikvqorbxtpy2rh52fobvunp7yrwkfpj4muwaogr4ijxl4j@s327kfvhpi3v>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Linus - there's also a small merge conflict, due to the timer renaming;
the relevant code has been deleted here.

The following changes since commit 9caea9208fc3fbdbd4a41a2de8c6a0c969b030f9:

bcachefs: Don't mount bs > ps without TRANSPARENT_HUGEPAGE (2025-05-23 22:00:07 -0400)

are available in the Git repository at:

git://evilpiepirate.org/bcachefs.git tags/bcachefs-2025-06-04

for you to fetch changes up to 3d11125ff624b540334f7134d98b94f3b980e85d:

bcachefs: add cond_resched() to handle_overwrites() (2025-06-04 16:45:41 -0400)

----------------------------------------------------------------
bcachefs updates for 6.16, part 2

- More stack usage improvements (~600 bytes).

- Define CLASS()es for some commonly used types, and convert most
rcu_read_lock() uses to the new lock guards

- New introspection:
- Superblock error counters are now available in sysfs: previously,
they were only visible with 'show-super', which doesn't provide a
live view
- New tracepoint, error_throw(), which is called any time we return an
error and start to unwind

- Repair
- check_fix_ptrs() can now repair btree node roots
- We can now repair when we've somehow ended up with the journal using
a superblock bucket

- Revert some leftovers from the aborted directory i_size feature, and
add repair code: some userspace programs (e.g. sshfs) were getting
confused.

It seems in 6.15 there's a bug where i_nlink on the vfs inode has been
getting incorrectly set to 0, with some unfortunate results;
list_journal analysis showed bch2_inode_rm() being called (by
bch2_evict_inode()) when it clearly should not have been.

- bch2_inode_rm() now runs "should we be deleting this inode?" checks
that were previously only run when deleting unlinked inodes in
recovery.

- check_subvol() was treating a dangling subvol (pointing to a missing
root inode) like a dangling dirent, and deleting it. This was the
really unfortunate one: check_subvol() will now recreate the root
inode if necessary.

This took longer to debug than it should have, and we lost several
filesystems unnecessarily, becuase users have been ignoring the release
notes and blindly running 'fsck -y'. Debugging required reconstructing
what happened through analyzing the journal, when ideally someone would
have noticed 'hey, fsck is asking me if I want to repair this: it
usually doesn't, maybe I should run this in dry run mode and check
what's going on?'.

As a reminder, fsck errors are being marked as autofix once we've
verified, in real world usage, that they're working correctly; blindly
running 'fsck -y' on an experimental filesystem is playing with fire.

Up to this incident we've had an excellent track record of not losing
data, so let's try to learn from this one.

This is a community effort, I wouldn't be able to get this done without
the help of all the people QAing and providing excellent bug reports and
feedback based on real world usage. But please don't ignore advice and
expect me to pick up the pieces.

If an error isn't marked as autofix, and it /is/ happening in the wild,
that's also something I need to know about so we can check it out and
add it to the autofix list if repair looks good. I haven't been getting
those reports, and I should be; since we don't have any sort of
telemetry yet I am absolutely dependent on user reports.

Now I'll be spending the weekend working on new repair code to see if I
can get a filesystem back for a user who didn't have backups.

----------------------------------------------------------------
Kent Overstreet (68):
bcachefs: fix REFLINK_P_MAY_UPDATE_OPTIONS
bcachefs: Fix missing BTREE_UPDATE_internal_snapshot_node
bcachefs: Ensure we print output of run_recovery_pass if it errors
bcachefs: bch2_kthread_io_clock_wait_once()
bcachefs: Fix lost rebalance wakeups
bcachefs: Fix missing commit in check_dirents
bcachefs: Move unicode message to after the startup message
bcachefs: Don't rewind to run a recovery pass we already ran
bcachefs: Journal read error message improvements
bcachefs: Fix infinite loop in journal_entry_btree_keys_to_text()
bcachefs: trace_io_move_pred
bcachefs: io_move_evacuate_bucket tracepoint, counter
bcachefs: Catch data_update_done events in trace_io_move_start_fail
bcachefs: Fix incorrect multiple dev check in journal write path
bcachefs: Fix misaligned bucket check in journal space calculations
bcachefs: Add missing error logging in delete_dead_inodes()
bcachefs: Kill bkey_buf in btree_path_down()
bcachefs: btree_node_missing_err()
bcachefs: factor out break_cycle_fail()
bcachefs: Don't stack allocate bch_writepage_state
bcachefs: kill replicas_sectors arg to __trigger_extent()
bcachefs: Tweak bch2_data_update_init() for stack usage
bcachefs: bch2_alloc_v4_to_text()
bcachefs: reduce stack usage in alloc_sectors_start()
bcachefs: Move devs_sorted to alloc_request
bcachefs: Include b->ob.nr in cached_btree_node_to_text()
bcachefs: bch2_check_fix_ptrs() can now repair btree roots
bcachefs: sysfs/errors
bcachefs: Add missing printbuf_reset() in bch2_check_dirent_inode_dirent()
bcachefs: Mark bch_errcode helpers __attribute__((const))
bcachefs: Use bch2_err_matches() for BCH_ERR_fsck_(fix|ignore)
bcachefs: Don't unlock trans before data_update_init()
bcachefs: Runtime self healing for keys for deleted snapshots
bcachefs: bch2_dev_journal_bucket_delete()
bcachefs: bch2_get_snapshot_overwrites()
bcachefs: __bch2_insert_snapshot_whiteouts() refactoring
bcachefs: bch2_str_hash_check_key() may now be called without snapshots_seen
bcachefs: bch2_readdir() now calls str_hash_check_key()
bcachefs: Improve error printing in btree_node_check_topology()
bcachefs: Journal keys are retained until shutdown, or journal replay finishes
bcachefs: darray_find(), darray_find_p()
bcachefs: sysfs trigger_emergency_read_only
bcachefs: sysfs trigger_journal_commit
bcachefs: CLASS(printbuf)
bcachefs: CLASS(darray)
bcachefs: CLASS(btree_trans)
bcachefs: Replace rcu_read_lock() with guards
bcachefs: Add better logging to fsck_rename_dirent()
bcachefs: Convert BUG() to error
bcachefs: Delete redundant fsck_err()
bcachefs: Kill un-reverted directory i_size code
bcachefs: Repair code for directory i_size
bcachefs: bch_err_throw()
bcachefs: bch2_require_recovery_pass()
bcachefs: BCH_RECOVERY_PASS_NO_RATELIMIT
bcachefs: Make check_key_has_snapshot safer
bcachefs: Run snapshot deletion out of system_long_wq
bcachefs: Run check_dirents second time if required
bcachefs: Redo bch2_dirent_init_name()
bcachefs: Fix bch2_fsck_rename_dirent() for casefold
bcachefs: Fix dirent_casefold_mismatch repair
bcachefs: Fix oops in btree_node_seq_matches()
bcachefs: Add flags to subvolume_to_text()
bcachefs: delete dead code from may_delete_deleted_inode()
bcachefs: Run may_delete_deleted_inode() checks in bch2_inode_rm()
bcachefs: Fix subvol to missing root repair
bcachefs: Make journal read log message a bit quieter
bcachefs: add cond_resched() to handle_overwrites()

Nathan Chancellor (1):
bcachefs: Fix -Wc23-extensions in bch2_check_dirents()

fs/bcachefs/alloc_background.c | 79 ++++-----
fs/bcachefs/alloc_background.h | 9 +-
fs/bcachefs/alloc_foreground.c | 108 ++++++------
fs/bcachefs/alloc_foreground.h | 8 +-
fs/bcachefs/backpointers.c | 72 ++++----
fs/bcachefs/backpointers.h | 5 +-
fs/bcachefs/bcachefs.h | 72 ++++----
fs/bcachefs/btree_cache.c | 24 +--
fs/bcachefs/btree_gc.c | 57 +++---
fs/bcachefs/btree_io.c | 43 +++--
fs/bcachefs/btree_iter.c | 78 ++++-----
fs/bcachefs/btree_iter.h | 31 ++--
fs/bcachefs/btree_journal_iter.c | 19 +-
fs/bcachefs/btree_key_cache.c | 28 ++-
fs/bcachefs/btree_locking.c | 56 +++---
fs/bcachefs/btree_node_scan.c | 2 +
fs/bcachefs/btree_trans_commit.c | 36 ++--
fs/bcachefs/btree_types.h | 2 +
fs/bcachefs/btree_update.c | 59 ++-----
fs/bcachefs/btree_update.h | 14 +-
fs/bcachefs/btree_update_interior.c | 104 ++++++-----
fs/bcachefs/btree_write_buffer.c | 6 +-
fs/bcachefs/buckets.c | 163 ++++++++++-------
fs/bcachefs/buckets.h | 12 +-
fs/bcachefs/buckets_waiting_for_journal.c | 3 +-
fs/bcachefs/chardev.c | 9 +-
fs/bcachefs/checksum.c | 8 +-
fs/bcachefs/clock.c | 47 ++---
fs/bcachefs/clock.h | 1 +
fs/bcachefs/compress.c | 20 +--
fs/bcachefs/darray.h | 46 ++++-
fs/bcachefs/data_update.c | 174 ++++++++++--------
fs/bcachefs/debug.c | 30 ++--
fs/bcachefs/dirent.c | 169 +++++++++---------
fs/bcachefs/dirent.h | 16 +-
fs/bcachefs/disk_accounting.c | 38 ++--
fs/bcachefs/disk_accounting.h | 6 +-
fs/bcachefs/disk_groups.c | 37 ++--
fs/bcachefs/ec.c | 108 ++++++------
fs/bcachefs/errcode.c | 4 +-
fs/bcachefs/errcode.h | 15 +-
fs/bcachefs/error.c | 93 +++++-----
fs/bcachefs/error.h | 12 +-
fs/bcachefs/extents.c | 63 +++----
fs/bcachefs/fs-io-buffered.c | 30 ++--
fs/bcachefs/fs-io-pagecache.c | 2 +-
fs/bcachefs/fs-io.c | 12 +-
fs/bcachefs/fs-ioctl.c | 4 +-
fs/bcachefs/fs.c | 40 +++--
fs/bcachefs/fsck.c | 149 +++++++++-------
fs/bcachefs/fsck.h | 6 +
fs/bcachefs/inode.c | 86 +++++----
fs/bcachefs/inode.h | 9 -
fs/bcachefs/io_misc.c | 2 +-
fs/bcachefs/io_read.c | 35 ++--
fs/bcachefs/io_read.h | 6 +-
fs/bcachefs/io_write.c | 26 ++-
fs/bcachefs/journal.c | 117 ++++++++++---
fs/bcachefs/journal.h | 5 +-
fs/bcachefs/journal_io.c | 281 ++++++++++++++++++------------
fs/bcachefs/journal_io.h | 1 +
fs/bcachefs/journal_reclaim.c | 44 ++---
fs/bcachefs/journal_sb.c | 2 +-
fs/bcachefs/journal_seq_blacklist.c | 4 +-
fs/bcachefs/lru.c | 6 +-
fs/bcachefs/migrate.c | 4 +-
fs/bcachefs/move.c | 132 +++++++++-----
fs/bcachefs/movinggc.c | 26 ++-
fs/bcachefs/movinggc.h | 3 +-
fs/bcachefs/namei.c | 21 +--
fs/bcachefs/printbuf.h | 8 +
fs/bcachefs/quota.c | 6 +-
fs/bcachefs/rebalance.c | 27 +--
fs/bcachefs/rebalance.h | 8 +-
fs/bcachefs/rebalance_types.h | 1 +
fs/bcachefs/recovery.c | 6 +-
fs/bcachefs/recovery_passes.c | 92 ++++++++--
fs/bcachefs/recovery_passes.h | 5 +
fs/bcachefs/recovery_passes_format.h | 2 +
fs/bcachefs/reflink.c | 9 +-
fs/bcachefs/replicas.c | 35 ++--
fs/bcachefs/sb-counters_format.h | 1 +
fs/bcachefs/sb-downgrade.c | 2 +-
fs/bcachefs/sb-errors.c | 22 +++
fs/bcachefs/sb-errors.h | 1 +
fs/bcachefs/sb-errors_format.h | 4 +-
fs/bcachefs/sb-members.c | 21 +--
fs/bcachefs/sb-members.h | 32 ++--
fs/bcachefs/six.c | 7 +-
fs/bcachefs/snapshot.c | 148 +++++++++-------
fs/bcachefs/snapshot.h | 85 ++++-----
fs/bcachefs/str_hash.c | 243 +++++++++++++++++---------
fs/bcachefs/str_hash.h | 24 ++-
fs/bcachefs/subvolume.c | 45 +++--
fs/bcachefs/super-io.c | 8 +-
fs/bcachefs/super.c | 106 ++++++-----
fs/bcachefs/sysfs.c | 24 +++
fs/bcachefs/trace.h | 69 ++++++--
98 files changed, 2323 insertions(+), 1757 deletions(-)


Return-Path: <linux-kernel+bounces-673806-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 92B2F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:30:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 50C3F3A8D84
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:30:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5A197221DBD;
Wed, 4 Jun 2025 21:30:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="DDiElLie"
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2079.outbound.protection.outlook.com [40.107.237.79])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 19F64221F38;
Wed, 4 Jun 2025 21:30:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.79
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072612; cv=fail; b=mPdF9d2DAwwbXjXAOfDfa1qSXwMWDVuUYTSuMhmMVhB0GSIA3JQzpJJFk+rnriL7LIwPYQmBptmSFq3Y5aQKgjNil9bCGPJKmVeWgKijNwFEfdVIHf8Ba0Q++miNzX0CdOtHTsCEJS2QQ8ZR09UT5n6L32RwbuVlkEJaVlZpKo4=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072612; c=relaxed/simple;
bh=BuqPGj5+684djJPJD++4yI2bE/KxHWmx+ZvtXN2bdK4=;
h=Message-ID:Date:Subject:To:References:From:In-Reply-To:
Content-Type:MIME-Version; b=rO1tTn+7urvKZILD17hRqLnlGHWC86iPVgvihHJr5QMKIOW89ZzlvYAHBZgwBm0jJRPoaJh/QLLPDnPEq/kCTxxioZ0rZ4GEEJRI7Lw5gnxD9w+gsKpjsamjKhKOhRzg9mji5NRAus7Ij9ShPu4Lk3H7La8NyXUkpbX16qb/4qw=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=DDiElLie; arc=fail smtp.client-ip=40.107.237.79
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=ymmaBCC/qJkVUE7ru6XVW2Mwb0nhlW3ZDTKe3lC0G6h0c45YqQJAeL6wusLcc6JsL/OvkTRVaUUL1b1G2XUHxvp16i4ALrS0ELBo2VAnBDuedo3JBMEa38diFA0jxR8lXhwTT8tpuGpHueEWpcVtHqfuurPyxFNAGJ8TZA4KzIgO4nYOPdBs5LBdDlVVppI4W6N67/bt7Nn4AsgnG/lzChoN+QRovwEme5XLoAVtIEHyCvuzrtH6cxD87Yso1qW1vmUduqLtVaKdK+BFmZBT1s8Tsa9gvZt0rvUhryvDmLhskD5BWEpSzG87VM28Si05Kt0W7+BBmdITEJetG5dLNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=PrhJUILrl3WBxuSbluHn8DHtIWpr1PLimBykJctHK48=;
b=CIgluE6kwxIRWCg9MxWlFPQQtA2h2sweZqv47ySAmCzLhW/+H3VUTJBT8/6xXNSllAKk7CuiaAb2dXmjsYqC+XJdRBDhfobg3dYj3S3nze3OD/52gVzz8bDEouSCRJ+plj0FELQGJFwnry3Ep5reH1gMJcKNL3D7Br3BBGhExIyLQNQbewIqkWmKpQx50rT3zMS7O3cLkSshDGSyEMfX2pfbcGU/dci+K17bCEyXL8o2XsOXKVhUrojG0tSRTMjFH+3pnmsY+yBmTJOtR+BP1kmFSbuDTLV4UWrJIRGf+ghG75ALPqW1Empt2V4MEkVju1zt67aehuYZm7airEKX4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=PrhJUILrl3WBxuSbluHn8DHtIWpr1PLimBykJctHK48=;
b=DDiElLie67FyErce/XkautnRRphISioJv+oUihsrC/jEtlx5vIWimX8iu0KkHbtx1pxeFpxj0ASUmXhS+ZaHMbkrAimRgzcuNwOOGWb0Jr65TMDW8PijZHY+2fiF0HQQExpwruDInZwubC27Opmhp/D8K/YCKCj9vLQAcumUogg=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from DS0PR12MB6390.namprd12.prod.outlook.com (2603:10b6:8:ce::7) by
MN0PR12MB6199.namprd12.prod.outlook.com (2603:10b6:208:3c4::20) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.37; Wed, 4 Jun
2025 21:30:05 +0000
Received: from DS0PR12MB6390.namprd12.prod.outlook.com
([fe80::38ec:7496:1a35:599f]) by DS0PR12MB6390.namprd12.prod.outlook.com
([fe80::38ec:7496:1a35:599f%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
21:30:05 +0000
Message-ID: <c4f88c14-293a-4fd7-8a65-03ee3cfec93e@xxxxxxx>
Date: Wed, 4 Jun 2025 16:30:00 -0500
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 02/16] PCI/AER: Report CXL or PCIe bus error type in
trace logging
To: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>,
PradeepVineshReddy.Kodamati@xxxxxxx, dave@xxxxxxxxxxxx,
jonathan.cameron@xxxxxxxxxx, dave.jiang@xxxxxxxxx,
alison.schofield@xxxxxxxxx, vishal.l.verma@xxxxxxxxx, ira.weiny@xxxxxxxxx,
dan.j.williams@xxxxxxxxx, bhelgaas@xxxxxxxxxx, bp@xxxxxxxxx,
ming.li@xxxxxxxxxxxx, shiju.jose@xxxxxxxxxx, dan.carpenter@xxxxxxxxxx,
Smita.KoralahalliChannabasappa@xxxxxxx, kobayashi.da-06@xxxxxxxxxxx,
yanfei.xu@xxxxxxxxx, rrichter@xxxxxxx, peterz@xxxxxxxxxxxxx, colyli@xxxxxxx,
uaisheng.ye@xxxxxxxxx, fabio.m.de.francesco@xxxxxxxxxxxxxxx,
ilpo.jarvinen@xxxxxxxxxxxxxxx, yazen.ghannam@xxxxxxx,
linux-cxl@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-pci@xxxxxxxxxxxxxxx
References: <20250603172239.159260-1-terry.bowman@xxxxxxx>
<20250603172239.159260-3-terry.bowman@xxxxxxx>
<0619c83f-84d9-4dcd-866d-d6df1da4d1c9@xxxxxxxxxxxxxxx>
<7d9030bf-8d27-4c9e-b995-89ce1a63dd6c@xxxxxxx>
<1222c005-9d0c-4f02-a1d6-02c14b61673b@xxxxxxxxxxxxxxx>
Content-Language: en-US
From: "Bowman, Terry" <terry.bowman@xxxxxxx>
In-Reply-To: <1222c005-9d0c-4f02-a1d6-02c14b61673b@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SN6PR08CA0004.namprd08.prod.outlook.com
(2603:10b6:805:66::17) To DS0PR12MB6390.namprd12.prod.outlook.com
(2603:10b6:8:ce::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS0PR12MB6390:EE_|MN0PR12MB6199:EE_
X-MS-Office365-Filtering-Correlation-Id: df37360d-8a43-4b2e-f059-08dda3aef8a8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|366016|7416014|1800799024|376014|921020;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?Z2tYTmlPT2lkUnlIclJ3UzlyYTlHK2o5N3ZZM3RPejI5T3N4bGpNSTc2bDNw?=
=?utf-8?B?NVFSbEwvSHBJM01OUGl3U3VKUk5iN2VJaExRNUEyM0FnMEV6ZnF6MmpRZlkw?=
=?utf-8?B?THllMGMrakgyakJ0MjdBTEU2cUtlR0M2VEwrcWZxbURYOEdOMzBodkEvaTlP?=
=?utf-8?B?dUxBdU5xV3NYM1dpeHA3ZVdwbm0vRDNONUxwdkpBM3pEUjZ1dUR2SHlvUGRK?=
=?utf-8?B?TmVKV01tdlI5ODg2WG1sWVo1RkR2OVdUcXhHK3VzYWgrWmhIWmdmakU3K1lI?=
=?utf-8?B?MzFxUDc2NUR3bjdYbG9ScU1JUE1vTFZ6cmRWQ3dEYTJncGc2V3NVV2tlQTE0?=
=?utf-8?B?VExleERBcXZrYlY4OGxsSTlzd1NBekhhWGk2UE5UTEt6K1hTMnRkZ2JwRGdJ?=
=?utf-8?B?bWtIRXgvYTA5SDFQd0dMcExOV1d6amwrTUVtVkRRdVZ5bE1OMDRjL3Mrc0JO?=
=?utf-8?B?Ymt6QTRqVSs5cDFNam9XWmNOOXY5aysyZGRnT2dNOHJBbGhmMjlPQzI5NHpG?=
=?utf-8?B?RExJM0F0Z3p3NHRSQjhESUtVRy91bmowNkRTNFlXOW1pM0czRUZPdFBwZTBK?=
=?utf-8?B?WW15MFRzaW0zVENaMzhId1p5d00xUFpOYWtoL3FQa1R2YzFST0JIMUhFQ0gy?=
=?utf-8?B?UEhlRGdHWjUzZlYrV0pIbHVpZmVLT3BJWHZ1Ukd5QWhrOXlVTWM1MWZwQlBO?=
=?utf-8?B?dFhMQkpvRFZrUURtZEM4R1JOaWlkWW9LVks4Q3ZGb0RFMmYvamZTUWlNdk9q?=
=?utf-8?B?UGg5QURFNGtLQXdkWmlpOXcweFdrUDEycmtVdTIvV1NDU05ZUldmdHdscEZ6?=
=?utf-8?B?QlUzM2hsekI3YWl1ZkJYeWc0VHNwZEdQM3duNjVVL1pSbHdPdFBMK3BhdjBa?=
=?utf-8?B?b094ZEdqSXN2S25OVzlMS0g5MkZOWmVIZVcvaGF5UG14UEswSzY4bmJMZG1v?=
=?utf-8?B?aHhXY09UZ05OMHZQb0JQckd1ZkFldm51SWZIakxZcVhaUTNEcVg3bGp3ZEJT?=
=?utf-8?B?dzBWQmFPckI5azYzeElmVkxXMWtMaGRwQ0JOQ2NxakN1bURDdUNFQmx0TWRK?=
=?utf-8?B?M2srbytyVE5XR1U5KzI3dGMxUTZ6cEw0ZkhMWmNQMHdneHZRNU1zTVB1ZGFJ?=
=?utf-8?B?czNHd2RBcmpYWXF0SHo4UlNpaEFndkowZ3NHNzJ0OTl1SDFTWHV1N1oxMGdu?=
=?utf-8?B?ZnZGRjhLV2s5WmoraVRSN3EzRjFEeURvR0NBK3g4YmRzczlNRWhXMTVBN3BL?=
=?utf-8?B?TGJJVER5U0ZhMWZmQ1VidU9TeElMZHBJSkF0aytJMzVlTE9aVnArV2N6TVJR?=
=?utf-8?B?U2IxRDFZTW1aZVhFUGFMZDBuUkVqUlA3Q1Z4bG5BYnpOd2xNWmtaK0JoYVBy?=
=?utf-8?B?RFdyTVYwT0o2ay8yK2ZkdWxHTFVvV2dYUVp5TkhVTzQxZVV4MTZUWTF4M3Bz?=
=?utf-8?B?WVo0blBCeENmQWlTMUZJMk1JTEJBaExBbzlqNDd4YTdZaC82Y2ZMMjE2N1ov?=
=?utf-8?B?RzVob2ozTWo1a0U0VzVMUS9BSk1uMjkrZXZYQzlEZzd5aWswYm1qVlhXWFRp?=
=?utf-8?B?bFRPWEE5QS92dU9YRGZ1S0YzSUdVR3NTRi9kQ1NMZEFZZzgrTmlGdFI2Rk90?=
=?utf-8?B?QjhJVWphQWtkaUdHZUVQZ2lGVVdNSWphZ1YxMCs2RS9FcEMyaGZydzFwUUFw?=
=?utf-8?B?NkI5RGRBcjRUQ1ZuZkkwTTFRUmxFSjVvcWRuMW9vMms1bHFpRUNpRjNwNExQ?=
=?utf-8?B?QWVvRGFEbkczbzBmVEorcnU5RzZNWEdNeWdYQUF0SHhUUVJNd2xUNFBsT3JS?=
=?utf-8?B?TzlHZzFQam9YOUJVUUIrOW02UUFuM2VCRkxhdEF4ZWNTYWxIek81WjE2dXgv?=
=?utf-8?B?WS9SOXFhOE5SRElVRmpqVlVWQm1GSDZXc01uM2pZSUVoc3NOcUp1R2lHRjE0?=
=?utf-8?B?a1BoTWxBak5iTjFnbjM0L1RaVzFDaTZ5MTNSWjc1eWdoSFU0NW1qMXExSXBs?=
=?utf-8?B?MTN6M2JSdXd3PT0=?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR12MB6390.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(1800799024)(376014)(921020);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?VFo1V3g2dTNBemRBZUhqU3ZybStkUXZFc2k3TE1yQ0RqcTl4TCsvVVVaTGhj?=
=?utf-8?B?MThxd296V0ZJZU91OXlhMTgzN0xRRnYxR2grZ254QWhZdnRwSnpMWXpvbTlM?=
=?utf-8?B?VmFZUjhTeUdTc3dUajg1Zm5pcEdDUmg4Vlo0Z3Y5cEp3T0dvMzVOcWVVMmlr?=
=?utf-8?B?SlRobU5YRGczWjQydjNVSzI5cS9GaXBtdkRmZ3RnOHNZeDhoSXRLOTI1RWNO?=
=?utf-8?B?RVBFTlY3RzQxc296cFhkbWlvNGZ0dnQyNDd1U3poU0FSU0YxMHZaRVZuYnph?=
=?utf-8?B?dGo4aC94OVc2YmQyc1liZm42c0FsNUQ0clNBek1BN3NBVzI0UWhlUk4xVWdZ?=
=?utf-8?B?OTVPbGdlM3VTUVNiblZvZXRod0JaYW5ESVhmSjZ6RVJwdW44TkRabnhWK3RP?=
=?utf-8?B?cDdtb3N6K3UzUWI4MW1PN0s5M0E1cHhOUlk5bS9pRDhDVXdHQVNXb1BNbzcw?=
=?utf-8?B?U2hjNDdpVXllQnlBNTNlbElTdEplcWMwd1JDVUEwVEo0SVdBaHpHUy9HZmVM?=
=?utf-8?B?WC9aNHkvZnF3cmhseXpDSS9FbDhwbktLdlRvd2pBc29xL2Y3WjdOeFJWem4r?=
=?utf-8?B?eGY0czVzcFBmSkc0TWY4YVI2ZE5VeVZyaFNDdmpNcDdta3dQeGxZZUdoeDVS?=
=?utf-8?B?WUo3T2ozMXhrVkl0VCtWUXVSc1c4RlhveE9aclVZZHVzbmFEc2hmcXlqZm1E?=
=?utf-8?B?c1BodUlKZ2pzNjV2MS93dmFaNjdVRms1QTdCYnJhZlJ5eEtVSXM3MGpUZGRG?=
=?utf-8?B?eVBacGQ2Vi9hWldxdmNCK2IwblVpVkduckRhK2hlbDk5d2MwUTVPYTFBSzlk?=
=?utf-8?B?WU1FZXBpbDVKc3JRbWZXb3VRZnppVHIyRml2aXd4UUtacU1xdlRkQThGMG1i?=
=?utf-8?B?dGFHaDUxR3VTUzVtMDdYUGtXZlZ3TitqeGdTbGtRM0NwWXgxVFZoTkp4YzlL?=
=?utf-8?B?cERMZjdoZlJ2cG1hZXdxeU05UGRhNjlKZUpYd0gwVklONGhTWS83eG5zV3Ey?=
=?utf-8?B?RUhWWXVyZUZCaDBkNFdBbGFONXRha2JpS0IyY0ZNVEJaNm5ETHFyUUJRMmJX?=
=?utf-8?B?L1R0Nm55U3Rna0tsUnFrZGpUdTQyTmkza2ZVSlhSMEtjTXZsVXRRbnZ1VFhk?=
=?utf-8?B?bDVnL1JScGg3SThtS2RQTno5QUVyb0FxdnArVFdVQXl0Ukt3R3dlaFNhUGcx?=
=?utf-8?B?VW5YU3NZUUtveWNxTGxXeWhKd1hIUEdsaXVHSkptR2k5c0p1c1RmeStGNWdj?=
=?utf-8?B?WW5KdG41ZG5reTFxTXZ2d2xuWXpxQytGM2RhTXlvU2ZlbkRiR1dmaXZFK1Yy?=
=?utf-8?B?THZqM0RvclkvWkNUMnB6VGNwL3RtMHJVZ0dIaTJUdmxzTlJDdW9meXJHMjRM?=
=?utf-8?B?S1NLenQ2V0lrcC9zTmVTOXptY0xEVWExamxaMFRYZ0NBMlR0VGNhK2VrQUU4?=
=?utf-8?B?QlcrY09nYlFjMVBhZWVUQkc0K2N3a0hxQmtQdlBkWk5QSTNHdS9HZHlyQVdJ?=
=?utf-8?B?NDRKWG9aM0I2bFJ6dDFYVWMvRG9ZNlBIWnpkNVVjNVdBWGphQzlEcGFKMFdo?=
=?utf-8?B?WTFHVlZBb2RaZlkyNVdFeGV2a2NNSE9tSzZlRkRKRkN3NDZBa01XeVYzV25X?=
=?utf-8?B?anY2eVhhTHZUdjBkdTJXbWp0c0FhdUN0TzgzN1RoTW5qb1oyV0VLdEU5MzVW?=
=?utf-8?B?NmpnVDZWQ1NzRDlwWTg5ZWFWSVVqR2lTZUU3VWFJYi9uMGMrc3JRS1U0bmc1?=
=?utf-8?B?MExWZHNUSzRtKzU1dlBPWVVzMWVkbFpFNkZOeElNdDdaWWJqMzhtYndyY1Qw?=
=?utf-8?B?ZHJNekFOUFl4RTBTN2dOUElOOEZKOEJLWUVLVHRQa0cxZE5zWkpMZDV6RDk3?=
=?utf-8?B?VjAyc2ZkeWczUjI1QXlLNEkxMWt0bXpaS0M1SnZlWkJTL3NWZEJhZGZSQ1B5?=
=?utf-8?B?b1ErTklod1Y0a3dCbFoydnRERHhVbC9Fa09JMk05QllybUFnUFFRaHUyaEZU?=
=?utf-8?B?UDdqK0VJZFl3QlBQM210L1UrZTNFS2RQNEowTXRmaXFIWDF6ZHJrT2lnWXo3?=
=?utf-8?B?bWJiNW5vczNZSnJkWGJLT2lHY3pvRzRmREkzZk1pRUxpdjY0REZZVUFCdk1t?=
=?utf-8?Q?0kuK0BnfhhWiJnx5g0i0MG0V3?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: df37360d-8a43-4b2e-f059-08dda3aef8a8
X-MS-Exchange-CrossTenant-AuthSource: DS0PR12MB6390.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 21:30:04.9575
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gGcDGBJDxc48e0fumzSyV8Do5VJ6VMWpAzsNxN0wrNpisTbsxJrz59jKT96MIRZ03gCFJCGo7s96EUe+tKFM1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6199
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/4/2025 2:24 PM, Sathyanarayanan Kuppuswamy wrote:
>
> On 6/4/25 7:32 AM, Bowman, Terry wrote:
>>
>> On 6/3/2025 5:02 PM, Sathyanarayanan Kuppuswamy wrote:
>>> On 6/3/25 10:22 AM, Terry Bowman wrote:
>>>> The AER service driver and aer_event tracing currently log 'PCIe Bus Type'
>>>> for all errors. Update the driver and aer_event tracing to log 'CXL Bus
>>>> Type' for CXL device errors.
>>>>
>>>> This requires the AER can identify and distinguish between PCIe errors and
>>>> CXL errors.
>>>>
>>>> Introduce boolean 'is_cxl' to 'struct aer_err_info'. Add assignment in
>>>> aer_get_device_error_info() and pci_print_aer().
>>>>
>>>> Update the aer_event trace routine to accept a bus type string parameter.
>>>>
>>>> Signed-off-by: Terry Bowman <terry.bowman@xxxxxxx>
>>>> Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>
>>>> ---
>>>> drivers/pci/pci.h | 6 ++++++
>>>> drivers/pci/pcie/aer.c | 18 ++++++++++++------
>>>> include/ras/ras_event.h | 9 ++++++---
>>>> 3 files changed, 24 insertions(+), 9 deletions(-)
>>>>
>>>> diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
>>>> index b81e99cd4b62..d6296500b004 100644
>>>> --- a/drivers/pci/pci.h
>>>> +++ b/drivers/pci/pci.h
>>>> @@ -588,6 +588,7 @@ static inline bool pci_dev_test_and_set_removed(struct pci_dev *dev)
>>>> struct aer_err_info {
>>>> struct pci_dev *dev[AER_MAX_MULTI_ERR_DEVICES];
>>>> int error_dev_num;
>>>> + bool is_cxl;
>>> Do you really need this member ? Why not just use pcie_is_cxl() in aer_err_bus()?
>> This was added per Dan's request instead of using pcie_is_cxl().[1]
>>
>> [1] https://lore.kernel.org/linux-cxl/67abe1903a8ed_2d1e2942f@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch/
>>
>> -Terry
>
> It looks like it is added to accommodate some future use cases. May be add some info about it in the aer_err_info struct. Just looking at the code, that member value mirrors pci_dev->is_cxl and where ever you read info->cxl, you can also read the value from pci_dev->is_cxl.

Right. pci_dev::is_cxl is currently only updated at device creation but could be tied
to alternate protocol training and link status changes.

Terry

>>>>
>>>> unsigned int id:16;
>>>>
>>>> @@ -604,6 +605,11 @@ struct aer_err_info {
>>>> struct pcie_tlp_log tlp; /* TLP Header */
>>>> };
>>>>
>>>> +static inline const char *aer_err_bus(struct aer_err_info *info)
>>>> +{
>>>> + return info->is_cxl ? "CXL" : "PCIe";
>>>> +}
>>>> +
>>>> int aer_get_device_error_info(struct pci_dev *dev, struct aer_err_info *info);
>>>> void aer_print_error(struct pci_dev *dev, struct aer_err_info *info);
>>>>
>>>> diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
>>>> index a1cf8c7ef628..adb4b1123b9b 100644
>>>> --- a/drivers/pci/pcie/aer.c
>>>> +++ b/drivers/pci/pcie/aer.c
>>>> @@ -698,13 +698,14 @@ static void __aer_print_error(struct pci_dev *dev,
>>>>
>>>> void aer_print_error(struct pci_dev *dev, struct aer_err_info *info)
>>>> {
>>>> + const char *bus_type = aer_err_bus(info);
>>>> int layer, agent;
>>>> int id = pci_dev_id(dev);
>>>> const char *level;
>>>>
>>>> if (!info->status) {
>>>> - pci_err(dev, "PCIe Bus Error: severity=%s, type=Inaccessible, (Unregistered Agent ID)\n",
>>>> - aer_error_severity_string[info->severity]);
>>>> + pci_err(dev, "%s Bus Error: severity=%s, type=Inaccessible, (Unregistered Agent ID)\n",
>>>> + bus_type, aer_error_severity_string[info->severity]);
>>>> goto out;
>>>> }
>>>>
>>>> @@ -713,8 +714,8 @@ void aer_print_error(struct pci_dev *dev, struct aer_err_info *info)
>>>>
>>>> level = (info->severity == AER_CORRECTABLE) ? KERN_WARNING : KERN_ERR;
>>>>
>>>> - aer_printk(level, dev, "PCIe Bus Error: severity=%s, type=%s, (%s)\n",
>>>> - aer_error_severity_string[info->severity],
>>>> + aer_printk(level, dev, "%s Bus Error: severity=%s, type=%s, (%s)\n",
>>>> + bus_type, aer_error_severity_string[info->severity],
>>>> aer_error_layer[layer], aer_agent_string[agent]);
>>>>
>>>> aer_printk(level, dev, " device [%04x:%04x] error status/mask=%08x/%08x\n",
>>>> @@ -729,7 +730,7 @@ void aer_print_error(struct pci_dev *dev, struct aer_err_info *info)
>>>> if (info->id && info->error_dev_num > 1 && info->id == id)
>>>> pci_err(dev, " Error of this Agent is reported first\n");
>>>>
>>>> - trace_aer_event(dev_name(&dev->dev), (info->status & ~info->mask),
>>>> + trace_aer_event(dev_name(&dev->dev), bus_type, (info->status & ~info->mask),
>>>> info->severity, info->tlp_header_valid, &info->tlp);
>>>> }
>>>>
>>>> @@ -763,6 +764,7 @@ EXPORT_SYMBOL_GPL(cper_severity_to_aer);
>>>> void pci_print_aer(struct pci_dev *dev, int aer_severity,
>>>> struct aer_capability_regs *aer)
>>>> {
>>>> + const char *bus_type;
>>>> int layer, agent, tlp_header_valid = 0;
>>>> u32 status, mask;
>>>> struct aer_err_info info;
>>>> @@ -784,6 +786,9 @@ void pci_print_aer(struct pci_dev *dev, int aer_severity,
>>>> info.status = status;
>>>> info.mask = mask;
>>>> info.first_error = PCI_ERR_CAP_FEP(aer->cap_control);
>>>> + info.is_cxl = pcie_is_cxl(dev);
>>>> +
>>>> + bus_type = aer_err_bus(&info);
>>>>
>>>> pci_err(dev, "aer_status: 0x%08x, aer_mask: 0x%08x\n", status, mask);
>>>> __aer_print_error(dev, &info);
>>>> @@ -797,7 +802,7 @@ void pci_print_aer(struct pci_dev *dev, int aer_severity,
>>>> if (tlp_header_valid)
>>>> pcie_print_tlp_log(dev, &aer->header_log, dev_fmt(" "));
>>>>
>>>> - trace_aer_event(dev_name(&dev->dev), (status & ~mask),
>>>> + trace_aer_event(dev_name(&dev->dev), bus_type, (status & ~mask),
>>>> aer_severity, tlp_header_valid, &aer->header_log);
>>>> }
>>>> EXPORT_SYMBOL_NS_GPL(pci_print_aer, "CXL");
>>>> @@ -1215,6 +1220,7 @@ int aer_get_device_error_info(struct pci_dev *dev, struct aer_err_info *info)
>>>> /* Must reset in this function */
>>>> info->status = 0;
>>>> info->tlp_header_valid = 0;
>>>> + info->is_cxl = pcie_is_cxl(dev);
>>>>
>>>> /* The device might not support AER */
>>>> if (!aer)
>>>> diff --git a/include/ras/ras_event.h b/include/ras/ras_event.h
>>>> index 14c9f943d53f..080829d59c36 100644
>>>> --- a/include/ras/ras_event.h
>>>> +++ b/include/ras/ras_event.h
>>>> @@ -297,15 +297,17 @@ TRACE_EVENT(non_standard_event,
>>>>
>>>> TRACE_EVENT(aer_event,
>>>> TP_PROTO(const char *dev_name,
>>>> + const char *bus_type,
>>>> const u32 status,
>>>> const u8 severity,
>>>> const u8 tlp_header_valid,
>>>> struct pcie_tlp_log *tlp),
>>>>
>>>> - TP_ARGS(dev_name, status, severity, tlp_header_valid, tlp),
>>>> + TP_ARGS(dev_name, bus_type, status, severity, tlp_header_valid, tlp),
>>>>
>>>> TP_STRUCT__entry(
>>>> __string( dev_name, dev_name )
>>>> + __string( bus_type, bus_type )
>>>> __field( u32, status )
>>>> __field( u8, severity )
>>>> __field( u8, tlp_header_valid)
>>>> @@ -314,6 +316,7 @@ TRACE_EVENT(aer_event,
>>>>
>>>> TP_fast_assign(
>>>> __assign_str(dev_name);
>>>> + __assign_str(bus_type);
>>>> __entry->status = status;
>>>> __entry->severity = severity;
>>>> __entry->tlp_header_valid = tlp_header_valid;
>>>> @@ -325,8 +328,8 @@ TRACE_EVENT(aer_event,
>>>> }
>>>> ),
>>>>
>>>> - TP_printk("%s PCIe Bus Error: severity=%s, %s, TLP Header=%s\n",
>>>> - __get_str(dev_name),
>>>> + TP_printk("%s %s Bus Error: severity=%s, %s, TLP Header=%s\n",
>>>> + __get_str(dev_name), __get_str(bus_type),
>>>> __entry->severity == AER_CORRECTABLE ? "Corrected" :
>>>> __entry->severity == AER_FATAL ?
>>>> "Fatal" : "Uncorrected, non-fatal",
>>



Return-Path: <linux-kernel+bounces-673807-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4D4F241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:30:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 52FDD18981FD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:30:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A2F28226D10;
Wed, 4 Jun 2025 21:30:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="C4ZRL+Jz"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF58B22259C;
Wed, 4 Jun 2025 21:30:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072612; cv=none; b=FBJs1skJwxdVZzRP9/q2FznqzEmQ83UlRJybQByH0Ix2qBsKUvp3mOAfZX91v00uAStErRwj7Xbgf7a8SGcKad2B38c5zJB/osIIkCv8mnKArO+JLHQ06uDF8mD6HnkDNGrQrNKfNrsZY9rT8hm01nU5gncl2xaxjraNHhJ7uZc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072612; c=relaxed/simple;
bh=mcgIqsoxQ0DUFCqqcvzlt1vRTae271UHuYTxdWHyoDQ=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=FMaBWBvT1q8ha/P14dWeG6VyOzsY0UDd/CdCJbPjp7MWmqQFyw+6ZtA0gBXEPHdYUFvr6+5uFiUCM6u2xJOPXrB6Dc2KV0XH3VIjH62zdMcKOwn0L6/U5p0Mwl/wVbs11w+Y5vDRQ4a5bKxKO6vBvX+sLElpn5VMeqP/L3J6Vlw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=C4ZRL+Jz; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D5F12C4CEE4;
Wed, 4 Jun 2025 21:30:11 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749072612;
bh=mcgIqsoxQ0DUFCqqcvzlt1vRTae271UHuYTxdWHyoDQ=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=C4ZRL+JzEWKy4eZ/OBlu1bUqAPDBx1RazS7BtJ56+HSVD+PE3OUuwZHhZSHz66nF2
1TJEQsa6iPft8rS0nUQB0IJl41LXFhT2pubE1Xc8+d/L7CojPjOX+5XRoN7s1jttPO
2DQJEJDRKw6XHcm6t2hgWmtRsjHAYYKrNFPKo01kKQyqueVwyNnensTk8423FK236P
D/N4ZO31Jdqabh4DD6hz6A8tcEbJEOP/3aaYsXMDavEXcLc0yxwEF6M6PgcH+bTxcm
3EuTMzy1DwGVFcIKwmPudKP2KkXGOx7BB67mohPF2tPhSQ8Oc0G6yU35w1uJY4okHR
GD8X+rox1wngA==
Date: Wed, 4 Jun 2025 14:30:10 -0700
From: Namhyung Kim <namhyung@xxxxxxxxxx>
To: Ian Rogers <irogers@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>,
Kan Liang <kan.liang@xxxxxxxxxxxxxxx>, Jiri Olsa <jolsa@xxxxxxxxxx>,
Adrian Hunter <adrian.hunter@xxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>,
linux-perf-users@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2] perf bpf-filter: Improve error messages
Message-ID: <aEC64oiBI3U-619x@xxxxxxxxxx>
References: <20250604174835.1852481-1-namhyung@xxxxxxxxxx>
<CAP-5=fWap82Wjx2EBTESFsTxSikkJ3TW7B_jSjhUkgfheQu_xw@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAP-5=fWap82Wjx2EBTESFsTxSikkJ3TW7B_jSjhUkgfheQu_xw@xxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 10:59:57AM -0700, Ian Rogers wrote:
> On Wed, Jun 4, 2025 at 10:48 AM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> >
> > The BPF filter needs libbpf/BPF-skeleton support and root privilege.
> > Add error messages to help users understand the problem easily.
> >
> > When it's not build with BPF support (make BUILD_BPF_SKEL=0).
> >
> > $ sudo perf record -e cycles --filter "pid != 0" true
> > Error: BPF filter is requested but perf is not built with BPF.
> > Please make sure to build with libbpf and BPF skeleton.
> >
> > Usage: perf record [<options>] [<command>]
> > or: perf record [<options>] -- <command> [<options>]
> >
> > --filter <filter>
> > event filter
> >
> > When it supports BPF but runs without root or CAP_BPF. Note that it
> > also checks pinned BPF filters.
> >
> > $ perf record -e cycles --filter "pid != 0" -o /dev/null true
> > Error: BPF filter only works for users with the CAP_BPF capability!
> > Please run 'perf record --setup-filter pin' as root first.
> >
> > Usage: perf record [<options>] [<command>]
> > or: perf record [<options>] -- <command> [<options>]
> >
> > --filter <filter>
> > event filter
> >
> > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
>
> Reviewed-by: Ian Rogers <irogers@xxxxxxxxxx>

Thanks for your review!

>
> > ---
> > v2) change fprintf() -> pr_err() (Ian)
> >
> > tools/perf/util/bpf-filter.c | 28 ++++++++++++++++++++++++++++
> > tools/perf/util/bpf-filter.h | 3 +++
> > tools/perf/util/cap.c | 1 -
> > tools/perf/util/cap.h | 5 +++++
> > 4 files changed, 36 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/util/bpf-filter.c b/tools/perf/util/bpf-filter.c
> > index a4fdf6911ec1c32e..92e2f054b45e91dd 100644
> > --- a/tools/perf/util/bpf-filter.c
> > +++ b/tools/perf/util/bpf-filter.c
> > @@ -52,6 +52,7 @@
> > #include <internal/xyarray.h>
> > #include <perf/threadmap.h>
> >
> > +#include "util/cap.h"
> > #include "util/debug.h"
> > #include "util/evsel.h"
> > #include "util/target.h"
> > @@ -618,11 +619,38 @@ struct perf_bpf_filter_expr *perf_bpf_filter_expr__new(enum perf_bpf_filter_term
> > return expr;
> > }
> >
> > +static bool check_bpf_filter_capable(void)
> > +{
> > + bool used_root;
> > +
> > + if (perf_cap__capable(CAP_BPF, &used_root))
> > + return true;
> > +
> > + if (!used_root) {
> > + /* Check if root already pinned the filter programs and maps */
> > + int fd = get_pinned_fd("filters");
> > +
> > + if (fd >= 0) {
> > + close(fd);
> > + return true;
> > + }
> > + }
> > +
> > + pr_err("Error: BPF filter only works for %s!\n"
> > + "\tPlease run 'perf record --setup-filter pin' as root first.\n",
> > + used_root ? "root" : "users with the CAP_BPF capability");
> > +
> > + return false;
> > +}
> > +
> > int perf_bpf_filter__parse(struct list_head *expr_head, const char *str)
> > {
> > YY_BUFFER_STATE buffer;
> > int ret;
> >
> > + if (!check_bpf_filter_capable())
> > + return -EPERM;
> > +
> > buffer = perf_bpf_filter__scan_string(str);
> >
> > ret = perf_bpf_filter_parse(expr_head);
> > diff --git a/tools/perf/util/bpf-filter.h b/tools/perf/util/bpf-filter.h
> > index 916ed7770b734f15..122477f2de44bb60 100644
> > --- a/tools/perf/util/bpf-filter.h
> > +++ b/tools/perf/util/bpf-filter.h
> > @@ -5,6 +5,7 @@
> > #include <linux/list.h>
> >
> > #include "bpf_skel/sample-filter.h"
> > +#include "util/debug.h"
>
> nit: I'd generally avoid the util/ prefix here as bpf-filter.h and
> debug.h are in the same directory. The compiler first looks in the
> same directory before using include paths:
> https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
> So including this way is saying please search using the include paths
> which is weird when the files are in the same directory. I know the
> style in the code base is inconsistent with this, but I wish it
> wasn't.

I see your point. But I thought it's more flexible to file move and
for people to find out where the file is.

Thanks,
Namhyung

> >
> > struct perf_bpf_filter_expr {
> > struct list_head list;
> > @@ -38,6 +39,8 @@ int perf_bpf_filter__unpin(void);
> > static inline int perf_bpf_filter__parse(struct list_head *expr_head __maybe_unused,
> > const char *str __maybe_unused)
> > {
> > + pr_err("Error: BPF filter is requested but perf is not built with BPF.\n"
> > + "\tPlease make sure to build with libbpf and BPF skeleton.\n");
> > return -EOPNOTSUPP;
> > }
> > static inline int perf_bpf_filter__prepare(struct evsel *evsel __maybe_unused,
> > diff --git a/tools/perf/util/cap.c b/tools/perf/util/cap.c
> > index 69d9a2bcd40bfdd1..24a0ea7e6d97749b 100644
> > --- a/tools/perf/util/cap.c
> > +++ b/tools/perf/util/cap.c
> > @@ -7,7 +7,6 @@
> > #include "debug.h"
> > #include <errno.h>
> > #include <string.h>
> > -#include <linux/capability.h>
> > #include <sys/syscall.h>
> > #include <unistd.h>
> >
> > diff --git a/tools/perf/util/cap.h b/tools/perf/util/cap.h
> > index 0c6a1ff55f07340a..c1b8ac033ccc5826 100644
> > --- a/tools/perf/util/cap.h
> > +++ b/tools/perf/util/cap.h
> > @@ -3,6 +3,7 @@
> > #define __PERF_CAP_H
> >
> > #include <stdbool.h>
> > +#include <linux/capability.h>
> >
> > /* For older systems */
> > #ifndef CAP_SYSLOG
> > @@ -13,6 +14,10 @@
> > #define CAP_PERFMON 38
> > #endif
> >
> > +#ifndef CAP_BPF
> > +#define CAP_BPF 39
> > +#endif
> > +
> > /* Query if a capability is supported, used_root is set if the fallback root check was used. */
> > bool perf_cap__capable(int cap, bool *used_root);
> >
> > --
> > 2.49.0.1266.g31b7d2e469-goog
> >


Return-Path: <linux-kernel+bounces-673808-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0C2BB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:32:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C18E13A8D5B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:31:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 02F5A2116F6;
Wed, 4 Jun 2025 21:32:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="jF8MIvsE"
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2052.outbound.protection.outlook.com [40.107.92.52])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A6779339A1;
Wed, 4 Jun 2025 21:32:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.52
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072725; cv=fail; b=eSsLkYAI4xkLAld9mVnph03I65eMuHKGUQBwbCdULreY8kXNx6eusDg9zg1HaKqvjGdVeT3ektM0Co8zBI3iVqitHq/SSQeWTio3lhDu40cBw+w37uhhJClD+b0MQ+osUbzfUtnjr93bJGGRygxgXWJd7sHHEwphdfw7VsdP5rM=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072725; c=relaxed/simple;
bh=pQehkr0QxMGCAW0e7cJuDyXuMra29KvjbtcnL3H6J38=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=AtEO3f/3sk/aJy7WPBbjC7RkdmTKZLX176EuLf2DhIP+lRmgg5GVsne3TCNqUgQbWlZf8ywtb0cqTShluW6L1AcK0hFm6Nxp8U7PYDxLkI7GCZS6bAevyTUZjgLjJ7TOkgQmU1d5wBFAEu4cmYnlnjZxh0PN/kKYK9BRInHw/po=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=jF8MIvsE; arc=fail smtp.client-ip=40.107.92.52
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=ZsZ4q9felOm3VaStHClvqcmMYE8nvwAvHDzBANGMETCVzfKCRxf0IL17nqZPe8bQUHJ8lGl+3BUD+EUewF2LQkmx8j9Io2v2IZpntk7VezLlMKPHt95u8ytypWJv7H28iVUJfOMlZF937UFJhyTpPR92vlE0d6WyMCGXdwjBmHMhpMzONr7jvvL0gJGGybzKwsqaDHITzGblq4QIbyoqA5ZiIgHLJp/DvJD/DPSnYqZDrQoTgq4STC9ZRoVruj8ER/roK7vik87kyTzl3qIyNM3KMhCZU0exdpien9uEOKZt9HoBHSf8/UD5eySs1XtI9VfMKj7bsYJD47KUtcHoAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=JofnGBD8+A0mIxTF8+P72AOhQyBdtSSQsQbpWUdZVPw=;
b=S8Zjhnu3Hs6VeefdXWVyWOJ69Vb6C4zXCORjyxV6l+NgModMBBN67b2dLhLwhG6tcr5si9vPhGEYY00HQDncRMzwesf6iYNqIiRdAQJLflXx7Ih2j0XxCZgWjMdevmFsTinLgd11CAA57yrRtkXWM8/FMkcc9oLPsMcIqr5PHSbHVV3hVKH+tWc2Py2z5rZ/mhLy62C/a8XYkHQUSo7aggj9fqeIHU1ZineurnlzBdR4ZkHybtklf79X9ynKD1w1Aze3wnMYFt5sOQa3LpUfta3/m8eg5+FXm6l+cC4Z46f24oa5ThAH0beDT9yb/4pY2rtKq/n9tk4RSXH3RI1uug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=JofnGBD8+A0mIxTF8+P72AOhQyBdtSSQsQbpWUdZVPw=;
b=jF8MIvsEM/SIvIoxiphB7FWxOEMCZt3liYQCnmP06sIA195bGtH4UbL2NW+sEh4SzSpYyA9SRd5JWf/W6uR38ytqR8ejOXzsOXg/4KaymiOSv34uR14IbGMIZWPUm02Tp67Ou9xSGVsg5RWJXkJTGVdHEbH70HVs5XchQmrqGms=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from BL3PR12MB9049.namprd12.prod.outlook.com (2603:10b6:208:3b8::21)
by DS4PR12MB9657.namprd12.prod.outlook.com (2603:10b6:8:27f::17) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Wed, 4 Jun
2025 21:31:59 +0000
Received: from BL3PR12MB9049.namprd12.prod.outlook.com
([fe80::c170:6906:9ef3:ecef]) by BL3PR12MB9049.namprd12.prod.outlook.com
([fe80::c170:6906:9ef3:ecef%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
21:31:59 +0000
Message-ID: <57aeb651-b7d3-49c2-a4ad-056529f62a62@xxxxxxx>
Date: Wed, 4 Jun 2025 16:31:56 -0500
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] crypto: ccp: Fix SNP panic notifier unregistration
To: Tom Lendacky <thomas.lendacky@xxxxxxx>, john.allen@xxxxxxx,
herbert@xxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx
Cc: aik@xxxxxxx, dionnaglaze@xxxxxxxxxx, michael.roth@xxxxxxx,
linux-crypto@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250602191017.60936-1-Ashish.Kalra@xxxxxxx>
<8cd27c20-6439-deec-f09c-e4f6f789761c@xxxxxxx>
Content-Language: en-US
From: "Kalra, Ashish" <ashish.kalra@xxxxxxx>
In-Reply-To: <8cd27c20-6439-deec-f09c-e4f6f789761c@xxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SN7P220CA0021.NAMP220.PROD.OUTLOOK.COM
(2603:10b6:806:123::26) To BL3PR12MB9049.namprd12.prod.outlook.com
(2603:10b6:208:3b8::21)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL3PR12MB9049:EE_|DS4PR12MB9657:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c066f84-4286-4725-cc0a-08dda3af3cda
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?Zjd5S0tJYXBsWERWMmFENnRUc2VGWDdQQkxoTElPbUk2WDdJSmliQ0xsL2ZT?=
=?utf-8?B?QXcyclJUeHdHNjhkWXZjQytvS1hIelBRZU16VHFUTnkvZFowcGQ2MUNoT2lJ?=
=?utf-8?B?QmhWSUhDSXRsM2VETmc5QVFaT29UVTJjcENUbVZ2T0dPU0hCQkx5WldlTyta?=
=?utf-8?B?U3lOeUVzMThsOXFpdEhZdk9tVktMWXFwVEVmSmVhNkpYSWVvM3k0b0lvRUYz?=
=?utf-8?B?aWV0UHRVOE0vekJpa0pQaVV5YndNbHVIVTRORFVxQnNhNmsxNGF5UjdnNm5m?=
=?utf-8?B?U2k0MjVJeHlCUng3U0JOQ25uU1JFK0U0RzVwVWUzUlk5QjNzc3RFOXBubytI?=
=?utf-8?B?OTU3dkI1bXl6MWFpSWp5d0ZvQW5zcFdEbVdHNFNYOXhhbjNIVHNEY3JBL1cr?=
=?utf-8?B?LzdLVDB6d3d2MzNZVENXMEdGcE5vbjNyeUlrMERGcG5VNzgzMHQxNkZ1bDhX?=
=?utf-8?B?Q09JYUVCQkh1K0dGTjU1Y1VCMDNlTktMdTV0WE1UK1BIMUtVN2Jld1NrT0c2?=
=?utf-8?B?aWt4bjV4VnlMTGM2LytBeStFS1BabFZ4THN5N2k2eGFvSEh2emxkTlkrYmI0?=
=?utf-8?B?UzRrcWk0YlZ1T3NibWY2T3VUdmFyQVdqTXMzYVFoRFhmNHMzK29JUHArMUlT?=
=?utf-8?B?ZU5WRVlFam5FbjJUZ2ZmQkFpM0tkTnJYZW5UVGNoRVFhTDVsUlR1TnE3bC9B?=
=?utf-8?B?bTM3aGpZc00raWw1a0VvRTh3N241L0NNWVhxbG54S1picjk1ZXM2VEtVUURG?=
=?utf-8?B?bWZQSzRaWGlsLzVlc1JrSm56S25tbWtLUTh5YUl2bFNqcUVDSG9Gc0FlNStj?=
=?utf-8?B?enpWek1HU3lmVEhzUzZmNGVFcGt1SW9XMVV1M29UU1cwWkVYZWdkYzYyVmxD?=
=?utf-8?B?MFpUWGhUYm5vajhBNUpWOGZqN21nOEROUFR4VEFTL0RIU0h1SWdYQXRlcGtX?=
=?utf-8?B?YXZFZDVzQ0cwYjZQMHR2U1l6WDhXYWdyd1R2UXV0blRnVTMzaXdkMHFnclN2?=
=?utf-8?B?elBQMEw1Z2xjMkIrTGtra1M2a1k1K3pjcmtDN3VvblUvNmRIMFZqYXVSZVZM?=
=?utf-8?B?OS9KS0REUHk2QWJNb2ZlVWtjblFnRkllTFNKTm1BME9Sd3AraVdzNVcvbVE1?=
=?utf-8?B?V1lZWFJMYWxPTGhzYXVpR0hiQnRnaVQrRVhxTWt0bjFCeWdWZnlQYUpkTGty?=
=?utf-8?B?MllpQWVsZnl6dWRHbEZGZnQzSXNkNUdtNndlTjl3YzB3WCtMRVRPZEVJTHJL?=
=?utf-8?B?L0w2T2dUSlFkM2Y5MHRMRUxjTjMxamJHZll2NDd1RjZRWWw0RXQycit0M1JR?=
=?utf-8?B?U2NBNWY4Vm1IUGVzekpiYXNkSjJFWnhWaDJzTWE1c1p5U2RQRHdXK3MxM2NN?=
=?utf-8?B?RHRrMExtZjJUZ004RlBMcmlBcmR6ODhURTdsdkdYdHZ4dGxSdVlRZ0w2YVMz?=
=?utf-8?B?d2NXSE9nTG1MbTFVaWp2UWxlSFVEbGtBeTV3T2NlZW5aaGYxYXZrUDFXWDI0?=
=?utf-8?B?ZE80WTFnL0krS293TWQ5bGpQRk9kWjluRHRyQnNZUXZidS9aaUpBalljRjNH?=
=?utf-8?B?aWtneXlySnNxWXI3dEFFRkorSlZ3WFpYNXJaS1pNME5hZGkyK1ZySG9mc25m?=
=?utf-8?B?bVlJaDMzWlBLdTJtekxSeEI3Z3p3aUtiemJQQXkwZjNKcldZTVh2cXdrU2ow?=
=?utf-8?B?cmFtQmZya0tsUGNvUFQwZ01YMGpDSG41MEJFZGxPamp2bVBpZzh4cjBwUjFo?=
=?utf-8?B?QXczRGhzS1gzbXROSmY0aC9sajN3cUVSNDhMRHlZU1hSSzFoWFBGNDhyNFcw?=
=?utf-8?B?YnEzQmtkOEt2RCtnd2tHelJ0L0dKZ05ubGlzOUxtcHFmYlc1T2xBZXNCdTZE?=
=?utf-8?B?Z25sWDlOdDArNnN1QWRXaDN6M1ZFc0pyZTZ6ejR4MnVFRXdiNHhyUU1RVXZD?=
=?utf-8?Q?rgywHbVA7no=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL3PR12MB9049.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?VUxCcGM2SkFzRjB0VGxhNk9jTkt5Rjh1Tm5KcEUrZ28raWtpZWxNRDBGZ2Rv?=
=?utf-8?B?TS9WcjRyRE5pem5TTWVCZll0NVI5N0FyVVlUUzQyOWtyN2pjV0l4RDE5WTJU?=
=?utf-8?B?dkNWbFg0YTl2Y2twaTBvSFpURUc3SUFxb0YvTEFINW5kSW4vYnpGc09NbWJx?=
=?utf-8?B?dVVNRUpTK28yeEJPMDY1VmRQbEwxcHlCaE8yL3J1WEU4NmdHdG93dHM0MVNs?=
=?utf-8?B?Q0l5a0pVd05KOFZDWGVTWFJ4M0Z1dE9VL0pTRVdPTmR3aE1WZlhqZ2ozdXBw?=
=?utf-8?B?UThZWVo3ZHZFaEg4elE1enNOdXdzdE05bjgvR002SllBalFBQytsVFBabXVJ?=
=?utf-8?B?R2ovejhVU0oxNS83MjRHVzllMk9xSThucFVSZmcvSXgwSHlwYlM4U1BHR2g3?=
=?utf-8?B?clBUTnJWempadStSbjNCcUlxZGZiMVd1d3RxUlRjZWVtYjFUOEdXUDl3VzY5?=
=?utf-8?B?ekdCaVlTd3AzV3oxZGZUUmdETStSWVE4NnQxVHFZSzlKaE05Q2Q4T3pzM2Nx?=
=?utf-8?B?OHRPenlpSk9sOGUybUJYdXpQUWRCOW1ta25zT3ZEM2ZweXN2K2pveFZWN1Zn?=
=?utf-8?B?ZjhuSkQwUk1jY0tLaWxaWC9naWhwaStrVjQ5Nmt4QjZpTXFVaDY1UzE3WXdY?=
=?utf-8?B?V2ZuWWFRb1BLOHhsOExTTGhhaWJ3akNjVUIyNzhVSVFyWHg2by91SW15b0U0?=
=?utf-8?B?eTdIYnRYVU02VjZYa1JFbUFNeXV2VG11KzdvVmFEdmtsUS9VNlVBYkQ0UG9D?=
=?utf-8?B?d05XeER0d1ErajZkakMwVWYrOGNHeGM3WjQ4Tkp0YmxNbzNYMjZDNzVzMlQw?=
=?utf-8?B?TUdhZGRqTUdrZXNQTDNoeFhINDVuQnFnbklDTnZGdWMrcWZoVGVxakg1NlA5?=
=?utf-8?B?TTVBQXgvS05EY2FHZTFqQnN3dmsvQWNKNzVCMTNrbXpBQzUyTUt6MWFNSnZJ?=
=?utf-8?B?QkdwcW9hcTVBYmRNelg4V1RUVjljQ210WHcxMVIrYTZGaUJuSSthRWNoa1hW?=
=?utf-8?B?T0t5c0JFMVU1OXJiS2lUMmJoSHFtdW9HQ0pOZUN1MUJXdUE5OXpYRW14Mjl3?=
=?utf-8?B?SklCSkNMam8rTVQ5Yk13ODRDWkppYTNIM1NySHNyb3N2cFlYYkVPZ2VUcU9C?=
=?utf-8?B?QXJZSTNqb1VjR214US91K1doVnRMaXVJaVZaRThCcEJpSUJMTTZMZGVvakNN?=
=?utf-8?B?RUF2Y2tFb0hSUjhFVk15UFJkWUVwRGgwRnhzb3U0WE02UG8waUFadFJ1QW8r?=
=?utf-8?B?MUlhdWJ6RFBrcFFkWTRURlNBRWl2Rjh1Z3FPQVQ5cnBKV01sSmRHV0pyU2sw?=
=?utf-8?B?R1F6eVY3QnNCaWJPVXRXaU5YY3ZLRzhySzVrNGpzUlFTWUxYUjRndDlUNXQz?=
=?utf-8?B?eWtEREZ2UE15dnJya3hUTm5EajB0UWVuQktLVENwejFqdExsOWpta1BNclk2?=
=?utf-8?B?cS9rREhiZVdHWG1RaU56S1ZlY3YzVERaL0FtUmNHM3UyTjY2OG5vY2V4WFVx?=
=?utf-8?B?TjNhTjNlMTNET3V1Q0tmRGw2RkViaXJhVU13K3kxTyswdDcya2krdHpBdkFW?=
=?utf-8?B?NjZQMVA2cDMwYjl0REc3c0xsUXdkVEd2V1BHd3ROenhOSXRycHdVRXpJa2hh?=
=?utf-8?B?dzRwS3NPK2tLWlhTN1R4dHk0S3VtZWNnRDhSM0luMHZaeXltNVlqVlVzcVBO?=
=?utf-8?B?cXhnVk9nV0wwaG1SdStkakx6eVdFczVsRXlISldwWDNsR2JUS0Z6ODI3eTl1?=
=?utf-8?B?RFVQLzZGWHRrWmtyaWR4eVFNZm1jV3JNeUdQNi80WVljcGlhQmc3b3FCeUlj?=
=?utf-8?B?cWw0bjdNeCtxRmlxMkNJWHhCR0VuS2Q0dTR5UDEreVZvTUt3bFh1ZFVVZkho?=
=?utf-8?B?emFnNVd4Mkc0b3ZGNEZuai9MYkJ6UzhQdVR0dm1tbkNBRXVrSUNkVE9DZUhv?=
=?utf-8?B?ZVlaZkc0TWY5aE9mN3g2OHU1QmxacXpybkxHWUxRTDlGQXF0Sk4ycy84ZVJy?=
=?utf-8?B?TGtMY2FGcVJzQkRXa1I3RklZayt0cUVVWXpsR2dPWmQwc3lwcWlCUmR3Qy9L?=
=?utf-8?B?eGZ5UjJDajJkTm9ZWktacjVBM2x1Q1B4c3RWT2cvSFVMTExHR3FjZVNRQjZM?=
=?utf-8?Q?PpS60fv1wyH5w02ptMDTw/hLg?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c066f84-4286-4725-cc0a-08dda3af3cda
X-MS-Exchange-CrossTenant-AuthSource: BL3PR12MB9049.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 21:31:59.3725
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c3TT9raCADf6WW5ZX8Am0ZJ8tezF2FPs831yyyjdv+y5mYVEUxXQ51W3N8HtSFojd+6L+Otk3Q+b8tdgS/NA3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PR12MB9657
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello Tom,

On 6/4/2025 10:57 AM, Tom Lendacky wrote:
> On 6/2/25 14:10, Ashish Kalra wrote:
>> From: Ashish Kalra <ashish.kalra@xxxxxxx>
>>
>> Panic notifiers are invoked with RCU read lock held and when the
>> SNP panic notifier tries to unregister itself from the panic
>> notifier callback itself it causes a deadlock as notifier
>> unregistration does RCU synchronization.
>
> You mean that during a panic, __sev_snp_shutdown_locked() is trying to
> unregister the notifier?

Yes.

This is the code path :

snp_shutdown_on_panic() ->
__sev_firmware_shutdown() ->
__sev_snp_shutdown_locked() ->
atomic_notifier_chain_unregister(.., &snp_panic_notifier)

So atomic_notifier_chain_unregister() is being invoked from the panic notifier (context) itself.

>
> Wouldn't it be better to check if a panic is in progress and not try to
> perform the unregister?

Yes, actually it will be easier to do that by simply checking the panic parameter in
__sev_snp_shutdown_locked().

>
> Or, is snp_panic_notifier() resilient enough to just always have it
> registered / unregistered on module load/unload?
>

For registration it makes more sense to do that only if SNP is being initialized and as part of
__sev_snp_init_locked(), for unregistration see notes below.

> Also, wouldn't a better check be snp_panic_notifier.next != NULL during
> sev_pci_exit()?

Actually i can't use snp_initialized here as it will always be false.

But i also can't use snp_panic_notifier.next != NULL, because if it has already been unregistered then
snp_panic_notifier.next may be non-NULL as unregister() would have chained it to the next notifier
on the chain.

Actually i can simply call atomic_notifier_chain_unregister() unconditionally during module unload as it
handles the case of the specific notifier already unregistered and/or not added to the chain.

Thanks,
Ashish

>
> Thanks,
> Tom
>
>>
>> Fix SNP panic notifier to unregister itself during module unload
>> if SNP is initialized.
>>
>> Fixes: 19860c3274fb ("crypto: ccp - Register SNP panic notifier only if SNP is enabled")
>> Signed-off-by: Ashish Kalra <ashish.kalra@xxxxxxx>
>> ---
>> drivers/crypto/ccp/sev-dev.c | 7 ++++---
>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/crypto/ccp/sev-dev.c b/drivers/crypto/ccp/sev-dev.c
>> index 8fb94c5f006a..942d93da1136 100644
>> --- a/drivers/crypto/ccp/sev-dev.c
>> +++ b/drivers/crypto/ccp/sev-dev.c
>> @@ -1787,9 +1787,6 @@ static int __sev_snp_shutdown_locked(int *error, bool panic)
>> sev->snp_initialized = false;
>> dev_dbg(sev->dev, "SEV-SNP firmware shutdown\n");
>>
>> - atomic_notifier_chain_unregister(&panic_notifier_list,
>> - &snp_panic_notifier);
>> -
>> /* Reset TMR size back to default */
>> sev_es_tmr_size = SEV_TMR_SIZE;
>>
>> @@ -2562,4 +2559,8 @@ void sev_pci_exit(void)
>> return;
>>
>> sev_firmware_shutdown(sev);
>> +
>> + if (sev->snp_initialized)
>> + atomic_notifier_chain_unregister(&panic_notifier_list,
>> + &snp_panic_notifier);
>> }



Return-Path: <linux-kernel+bounces-673809-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2B1C741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:33:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 195B97A64C3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:32:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 86715214813;
Wed, 4 Jun 2025 21:33:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="QTQTwGvL"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CB567339A1;
Wed, 4 Jun 2025 21:33:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.21
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072789; cv=none; b=pFjn8FnceaNmZE5BUbe12Xw/JQMoEh240rcd03CSUTyvPMzBcqsXyA2vHHB4rWsjAadjrLMeKiHgF5RMKgIxoyi5YWnC6OUlgUuQEAH9ApDXNnk7HLN47qE9n90eVx3HZgpsTTe6uODa1TajSaWtuZODM3WFpVxpRlz8+8XcDQM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072789; c=relaxed/simple;
bh=O7vyp2UPZdtMd+kT/CGPsJnzViBUVjVC9sOrwdwPN/E=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ddUMKfP39B8PlqwXzMr/18LcngD9c36aMCXG18TJoe1Rk05+NlmLtHuVlpZTMEDszWZMyY0ze8SKO2IkGg2VGiKiJnLYycfbCFBlLtrYVJSUT6fnXg0R5bHEKoeC5oT87rIaAGZvgyxAlqKIJNX1D6jkX6enx/D3c2ky/xrJEPo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=QTQTwGvL; arc=none smtp.client-ip=198.175.65.21
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749072788; x=1780608788;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=O7vyp2UPZdtMd+kT/CGPsJnzViBUVjVC9sOrwdwPN/E=;
b=QTQTwGvLGWSqz6hoaDqlBZO+UMbP+PWnwZoAydaMclBKKj3ZAqaECxBL
o5UE8shFp5M/ydid+7rt7Xi5Y+b3wG0bmxpXY/FE+/CkYC528uWfRtXK1
tJNOtpg8IHQOT6RDNJGygDKTWnitbXW2ICUxt4x9IQVYy4tTn03Uip3Ap
EqYOjLnPLqV1jxX3SCqqIzqk1Vh59gAySvQEKOU6NM/cd97Ti9cAxyq3r
x+CDLS4rfQ5vIs0zheJ+5swwwqPawffGE3JAUThDcn2bY8hWj7SGx19uE
BlGYMzE8pzb4BwzX/pkRPjTZ6P6+/X6HYrEuoirjbI+1d/OA2O3274psC
Q==;
X-CSE-ConnectionGUID: aaLT+jKNQBmckh9lONPpkQ==
X-CSE-MsgGUID: 1HMHyEwBQKeDUUaA34NIzw==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51037571"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51037571"
Received: from orviesa002.jf.intel.com ([10.64.159.142])
by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:33:07 -0700
X-CSE-ConnectionGUID: q5l7A0fLTUinKKQu0uEbng==
X-CSE-MsgGUID: cAOQcKgvSuaRNTkQw0B+IA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="176264994"
Received: from oandoniu-mobl3.ger.corp.intel.com (HELO kekkonen.fi.intel.com) ([10.245.245.208])
by orviesa002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:33:04 -0700
Received: from kekkonen.localdomain (localhost [127.0.0.1])
by kekkonen.fi.intel.com (Postfix) with SMTP id 7707F11FBD1;
Thu, 5 Jun 2025 00:33:00 +0300 (EEST)
Date: Wed, 4 Jun 2025 21:33:00 +0000
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
From: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
To: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>,
Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>,
Hans Verkuil <hverkuil@xxxxxxxxx>,
Tiffany Lin <tiffany.lin@xxxxxxxxxxxx>,
Andrew-CT Chen <andrew-ct.chen@xxxxxxxxxxxx>,
Yunfei Dong <yunfei.dong@xxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, kernel@xxxxxxxxxxxxx,
linux-media@xxxxxxxxxxxxxxx,
Sebastian Fricke <sebastian.fricke@xxxxxxxxxxxxx>
Subject: Re: [PATCH v3 3/5] media: mc: add debugfs node to keep track of
requests
Message-ID: <aEC7jMDgRAg1cfXZ@kekkonen.localdomain>
References: <20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-0-603db4749d90@xxxxxxxxxxxxx>
<20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-3-603db4749d90@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-3-603db4749d90@xxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Nicolas, Hans,

Thanks for the update.

On Wed, Jun 04, 2025 at 04:09:37PM -0400, Nicolas Dufresne wrote:
> From: Hans Verkuil <hverkuil@xxxxxxxxx>
>
> Keep track of the number of requests and request objects of a media
> device. Helps to verify that all request-related memory is freed.
>
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> ---
> drivers/media/mc/mc-device.c | 30 ++++++++++++++++++++++++++++++
> drivers/media/mc/mc-devnode.c | 5 +++++
> drivers/media/mc/mc-request.c | 6 ++++++
> include/media/media-device.h | 9 +++++++++
> include/media/media-devnode.h | 4 ++++
> include/media/media-request.h | 2 ++
> 6 files changed, 56 insertions(+)
>
> diff --git a/drivers/media/mc/mc-device.c b/drivers/media/mc/mc-device.c
> index c0dd4ae5722725f1744bc6fd6282d5c765438059..5a458160200afb540d8014fed42d8bf2dab9c8c3 100644
> --- a/drivers/media/mc/mc-device.c
> +++ b/drivers/media/mc/mc-device.c
> @@ -679,6 +679,23 @@ void media_device_unregister_entity(struct media_entity *entity)
> }
> EXPORT_SYMBOL_GPL(media_device_unregister_entity);
>
> +#ifdef CONFIG_DEBUG_FS
> +/*
> + * Log the state of media requests.
> + * Very useful for debugging.
> + */

Fits on a single line.

> +static int media_device_requests(struct seq_file *file, void *priv)
> +{
> + struct media_device *dev = dev_get_drvdata(file->private);
> +
> + seq_printf(file, "number of requests: %d\n",
> + atomic_read(&dev->num_requests));
> + seq_printf(file, "number of request objects: %d\n",
> + atomic_read(&dev->num_request_objects));

Newline here?

> + return 0;
> +}
> +#endif
> +
> void media_device_init(struct media_device *mdev)
> {
> INIT_LIST_HEAD(&mdev->entities);
> @@ -697,6 +714,9 @@ void media_device_init(struct media_device *mdev)
> media_set_bus_info(mdev->bus_info, sizeof(mdev->bus_info),
> mdev->dev);
>
> + atomic_set(&mdev->num_requests, 0);
> + atomic_set(&mdev->num_request_objects, 0);
> +
> dev_dbg(mdev->dev, "Media device initialized\n");
> }
> EXPORT_SYMBOL_GPL(media_device_init);
> @@ -748,6 +768,15 @@ int __must_check __media_device_register(struct media_device *mdev,
>
> dev_dbg(mdev->dev, "Media device registered\n");
>
> +#ifdef CONFIG_DEBUG_FS
> + if (!media_debugfs_root)
> + media_debugfs_root = debugfs_create_dir("media", NULL);
> + mdev->media_dir = debugfs_create_dir(dev_name(&devnode->dev),
> + media_debugfs_root);
> + debugfs_create_devm_seqfile(&devnode->dev, "requests",
> + mdev->media_dir, media_device_requests);
> +#endif

I have no objection to this but it would have been great to have the Media
device lifetime set in first and MC device and devnode merged. But maybe
it's too late for that. Well, at least this won't change error handling...

> +
> return 0;
> }
> EXPORT_SYMBOL_GPL(__media_device_register);
> @@ -824,6 +853,7 @@ void media_device_unregister(struct media_device *mdev)
>
> dev_dbg(mdev->dev, "Media device unregistered\n");
>
> + debugfs_remove_recursive(mdev->media_dir);
> device_remove_file(&mdev->devnode->dev, &dev_attr_model);
> media_devnode_unregister(mdev->devnode);
> /* devnode free is handled in media_devnode_*() */
> diff --git a/drivers/media/mc/mc-devnode.c b/drivers/media/mc/mc-devnode.c
> index 56444edaf13651874331e7c04e86b0a585067d38..d0a8bcc11dd6350fdbc04add70f62de2c5f01178 100644
> --- a/drivers/media/mc/mc-devnode.c
> +++ b/drivers/media/mc/mc-devnode.c
> @@ -45,6 +45,9 @@ static dev_t media_dev_t;
> static DEFINE_MUTEX(media_devnode_lock);
> static DECLARE_BITMAP(media_devnode_nums, MEDIA_NUM_DEVICES);
>
> +/* debugfs */
> +struct dentry *media_debugfs_root;
> +
> /* Called when the last user of the media device exits. */
> static void media_devnode_release(struct device *cd)
> {
> @@ -236,6 +239,7 @@ int __must_check media_devnode_register(struct media_device *mdev,
> if (devnode->parent)
> devnode->dev.parent = devnode->parent;
> dev_set_name(&devnode->dev, "media%d", devnode->minor);
> + dev_set_drvdata(&devnode->dev, mdev);
> device_initialize(&devnode->dev);
>
> /* Part 2: Initialize the character device */
> @@ -313,6 +317,7 @@ static int __init media_devnode_init(void)
>
> static void __exit media_devnode_exit(void)
> {
> + debugfs_remove_recursive(media_debugfs_root);
> bus_unregister(&media_bus_type);
> unregister_chrdev_region(media_dev_t, MEDIA_NUM_DEVICES);
> }
> diff --git a/drivers/media/mc/mc-request.c b/drivers/media/mc/mc-request.c
> index 398d0806d1d274eb8c454fc5c37b77476abe1e74..829e35a5d56d41c52cc583cdea1c959bcb4fce60 100644
> --- a/drivers/media/mc/mc-request.c
> +++ b/drivers/media/mc/mc-request.c
> @@ -75,6 +75,7 @@ static void media_request_release(struct kref *kref)
> mdev->ops->req_free(req);
> else
> kfree(req);
> + atomic_dec(&mdev->num_requests);
> }
>
> void media_request_put(struct media_request *req)
> @@ -326,6 +327,7 @@ int media_request_alloc(struct media_device *mdev, int *alloc_fd)
>
> snprintf(req->debug_str, sizeof(req->debug_str), "%u:%d",
> atomic_inc_return(&mdev->request_id), fd);
> + atomic_inc(&mdev->num_requests);
> dev_dbg(mdev->dev, "request: allocated %s\n", req->debug_str);
>
> fd_install(fd, filp);
> @@ -349,10 +351,12 @@ static void media_request_object_release(struct kref *kref)
> struct media_request_object *obj =
> container_of(kref, struct media_request_object, kref);
> struct media_request *req = obj->req;
> + struct media_device *mdev = obj->mdev;
>
> if (WARN_ON(req))
> media_request_object_unbind(obj);
> obj->ops->release(obj);
> + atomic_dec(&mdev->num_request_objects);
> }
>
> struct media_request_object *
> @@ -417,6 +421,7 @@ int media_request_object_bind(struct media_request *req,
> obj->req = req;
> obj->ops = ops;
> obj->priv = priv;
> + obj->mdev = req->mdev;
>
> if (is_buffer)
> list_add_tail(&obj->list, &req->objects);
> @@ -424,6 +429,7 @@ int media_request_object_bind(struct media_request *req,
> list_add(&obj->list, &req->objects);
> req->num_incomplete_objects++;
> ret = 0;
> + atomic_inc(&obj->mdev->num_request_objects);
>
> unlock:
> spin_unlock_irqrestore(&req->lock, flags);
> diff --git a/include/media/media-device.h b/include/media/media-device.h
> index 53d2a16a70b0d9d6e5cc28fe1fc5d5ef384410d5..749c327e3c582c3c583e0394468321ccd6160da5 100644
> --- a/include/media/media-device.h
> +++ b/include/media/media-device.h
> @@ -11,6 +11,7 @@
> #ifndef _MEDIA_DEVICE_H
> #define _MEDIA_DEVICE_H
>
> +#include <linux/atomic.h>
> #include <linux/list.h>
> #include <linux/mutex.h>
> #include <linux/pci.h>
> @@ -106,6 +107,9 @@ struct media_device_ops {
> * @ops: Operation handler callbacks
> * @req_queue_mutex: Serialise the MEDIA_REQUEST_IOC_QUEUE ioctl w.r.t.
> * other operations that stop or start streaming.
> + * @num_requests: number of associated requests
> + * @num_request_objects: number of associated request objects
> + * @media_dir: DebugFS media directory
> * @request_id: Used to generate unique request IDs
> *
> * This structure represents an abstract high-level media device. It allows easy
> @@ -179,6 +183,11 @@ struct media_device {
> const struct media_device_ops *ops;
>
> struct mutex req_queue_mutex;
> + atomic_t num_requests;
> + atomic_t num_request_objects;
> +
> + /* debugfs */
> + struct dentry *media_dir;
> atomic_t request_id;
> };
>
> diff --git a/include/media/media-devnode.h b/include/media/media-devnode.h
> index d27c1c646c2805171be3997d72210dd4d1a38e32..dbcabeffcb572ae707f5fe1f51ff719d451c6784 100644
> --- a/include/media/media-devnode.h
> +++ b/include/media/media-devnode.h
> @@ -20,9 +20,13 @@
> #include <linux/fs.h>
> #include <linux/device.h>
> #include <linux/cdev.h>
> +#include <linux/debugfs.h>
>
> struct media_device;
>
> +/* debugfs top-level media directory */
> +extern struct dentry *media_debugfs_root;
> +
> /*
> * Flag to mark the media_devnode struct as registered. Drivers must not touch
> * this flag directly, it will be set and cleared by media_devnode_register and
> diff --git a/include/media/media-request.h b/include/media/media-request.h
> index 7f9af68ef19ac6de0184bbb0c0827dc59777c6dc..610ccfe8d7b20ec38e166383433f9ee208248640 100644
> --- a/include/media/media-request.h
> +++ b/include/media/media-request.h
> @@ -292,6 +292,7 @@ struct media_request_object_ops {
> * struct media_request_object - An opaque object that belongs to a media
> * request
> *
> + * @mdev: Media device this object belongs to

This deserves at least a comment what this may be used for: generally once
object is unbound, it's not related to a request anymore (nor a Media
device). This field also adds a new Media device lifetime issue: nothing
guarantees the mdev is not disappearing at a wrong time albeit this is
very, very likely not user-triggerable without physically removing
hardware.

> * @ops: object's operations
> * @priv: object's priv pointer
> * @req: the request this object belongs to (can be NULL)
> @@ -303,6 +304,7 @@ struct media_request_object_ops {
> * another struct that contains the actual data for this request object.
> */
> struct media_request_object {
> + struct media_device *mdev;
> const struct media_request_object_ops *ops;
> void *priv;
> struct media_request *req;
>

--
Regards,

Sakari Ailus


Return-Path: <linux-kernel+bounces-673810-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5690941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:34:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id A2D243A9D67
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:34:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8893221D018;
Wed, 4 Jun 2025 21:34:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="iZI+eMDP"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB88CB660;
Wed, 4 Jun 2025 21:34:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072868; cv=none; b=lxRgSrS7jZ5hLtaqBiMUkFCRyZnrsvIudwarAB/WDdbpnJl94zAMUMi/xqwhPCRmQ2aiYJb+G5f+jFaNKGuMAKBIkCKid1eNRef60liB/TdyN4vBbgAsCCDoiBrMfevPDMHouzkXvuC89TTD7xvARFMQLKya21MJdErJjrStnC0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072868; c=relaxed/simple;
bh=J1MC5P61dAPFObZN1QHadd/eBuhCxQ28FFl+J7Yc4w4=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=Q8A76PN8n3cPvhq2r+hqNH4cE7Ia/d7pyXXGGbTA7Io/umuO2iwjgcoyDM6B6HgZK/jTigbTsEfCxwsP9SW1ZGzxRahaCu58tK3yCV20CvQAfbTo0HtRZ6XSv0lsFet3SoWddZYgkvAJTF1ru9dYjQrvlDrvBC2zoQwkt502dR8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=iZI+eMDP; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5C107C4CEE4;
Wed, 4 Jun 2025 21:34:23 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749072868;
bh=J1MC5P61dAPFObZN1QHadd/eBuhCxQ28FFl+J7Yc4w4=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=iZI+eMDPedko2rTVnosHnEK0ubYPnXqX5hAD5gZyzzN+rKSDS//uPPs9Z6bmPHGmW
KwnDBCJHG7X3jee19SUJShs3kxZYRo/MmdHzgorsS7sF34yaDE159uZ+j9zNjb+2cy
GbGMfTJRKV9ejP9xc0JLWVVKp4Q61FIwmZi6kRjwbKIgIL3fan9d7gRILxkT3FQnkX
ZCIJ4cjd9OukFp+54KV6Q/b4O1hsPPygMcN+mnu8FeT73EwtfMS2wOjThLL61eMJwy
5fUgcviQNlu+ZszTI4IckrfpwzPa8zBjm3V9YynzyYQ/LCRTFlekG0FuQN51+VVj9d
yRpQmqAFKcsPA==
Date: Wed, 4 Jun 2025 23:34:20 +0200
From: Danilo Krummrich <dakr@xxxxxxxxxx>
To: Igor Korotin <igor.korotin.linux@xxxxxxxxx>
Cc: Miguel Ojeda <ojeda@xxxxxxxxxx>, Alex Gaynor <alex.gaynor@xxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Saravana Kannan <saravanak@xxxxxxxxxx>,
"Rafael J . Wysocki" <rafael@xxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
rust-for-linux@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-acpi@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
=?iso-8859-1?Q?Bj=F6rn?= Roy Baron <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <benno.lossin@xxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Len Brown <lenb@xxxxxxxxxx>, Viresh Kumar <viresh.kumar@xxxxxxxxxx>,
Wedson Almeida Filho <wedsonaf@xxxxxxxxx>,
Alex Hung <alex.hung@xxxxxxx>, Tamir Duberstein <tamird@xxxxxxxxx>,
FUJITA Tomonori <fujita.tomonori@xxxxxxxxx>,
Xiangfei Ding <dingxiangfei2009@xxxxxxxxx>
Subject: Re: [PATCH v1 0/5] rust: Add ACPI match table support for Rust
drivers
Message-ID: <aEC73CHD0fvByrJs@cassiopeiae>
References: <20250604122945.3445776-1-igor.korotin.linux@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604122945.3445776-1-igor.korotin.linux@xxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 01:29:39PM +0100, Igor Korotin wrote:
> This patch series introduces support for ACPI match tables in Rust
> drivers.
>
> Currently, Rust abstractions support only Open Firmware (OF) device
> matching. This series extends the driver model to support ACPI-based
> matching, enabling Rust drivers to bind to ACPI-described devices.
>
> Changes include:
> - A new `acpi::DeviceId` abstraction for working with
> `struct acpi_device_id`.
> - A helper function `is_of_node()` for determining fwnode types.
> - Updates to the core `Adapter` trait and `platform::Driver` to support
> optional ACPI ID tables.
> - A sample implementation in the Rust platform driver, demonstrating
> multi-bus matching.
>
> This is especially useful for writing drivers that work across platforms
> using both OF and ACPI.
>
> Tested using QEMU with a custom SSDT that creates an ACPI device matching
> the sample Rust platform driver.

Thanks this is great!

Unfortunately, it seems that something went wrong sending this patch series.
Patches 3 and 5 are missing on my end (and on the corresponding lists as well).
Can you please resend?

Also, technically this series is a v2; patch 1 differs from the one you sent
originally -- please include a changelog.


Return-Path: <linux-kernel+bounces-673811-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 693A441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:34:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 6AEFC18976D7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:35:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E35A1213237;
Wed, 4 Jun 2025 21:34:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="PVP3vGxI"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 29723202961
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:34:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749072884; cv=none; b=uJmlZUCNS2M9HhMObWAZ8mWhhB4OC6UJO7yhYr3bekeWB18fygTUfNyYRfT+GGIDJjFQvZFyjixvpbK9Uce+O709VGxqFNCWV5o8RJ1jvSc7CA4IqWUxujFvxo7UW3/bCoF7YAHtnEvE7m3Wvs66ju2O8GDRX1MpWGmXLWj/gq0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749072884; c=relaxed/simple;
bh=I7krYy6q0FyCB6PgQfQzdf9QVGq1w/Z6Etz6ApZJSBI=;
h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References:
Mime-Version:Content-Type; b=uQgSQzdDcudAYMRXxcxOgxA0bRD1gbuVpm+mJGXSI9MDbrW7tK0OfjZe/xFXyhx/hA7s+JY0VpLWvUZCoBIQea7zdXXB3zKncIpc1wiDAFodidx6/8G5JWTRdMeHcB+QGxYuU4RQBHwE8YWr15xD3ycHFZoQijEC0lL9jPXPtCU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=PVP3vGxI; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 54E2DC4CEE4;
Wed, 4 Jun 2025 21:34:43 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org;
s=korg; t=1749072883;
bh=I7krYy6q0FyCB6PgQfQzdf9QVGq1w/Z6Etz6ApZJSBI=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=PVP3vGxIFXIq5TJ+Mm81Q2ivcpj0rEvoZK6dAgfgNr/QaeLt59GXTOJHwwXneP64o
1HMJ7ccy65dSDJ+3ZCsl9vBI/wUjnU53y9zwMgD6DV6XLFcRf6kG7P43K5Huny4mIW
NVbONpO9KEv//ZOZQlQZrl49wqTWhaP/VGr/GAfA=
Date: Wed, 4 Jun 2025 14:34:42 -0700
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: Yury Norov <yury.norov@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, Rasmus Villemoes
<linux@xxxxxxxxxxxxxxxxxx>, John Stultz <jstultz@xxxxxxxxxx>, Thomas
Gleixner <tglx@xxxxxxxxxxxxx>, Stephen Boyd <sboyd@xxxxxxxxxx>
Subject: Re: [PATCH 1/3] bitmap: generalize node_random()
Message-Id: <20250604143442.37635ce63e50a7425a390c2e@xxxxxxxxxxxxxxxxxxxx>
In-Reply-To: <20250604212125.25656-2-yury.norov@xxxxxxxxx>
References: <20250604212125.25656-1-yury.norov@xxxxxxxxx>
<20250604212125.25656-2-yury.norov@xxxxxxxxx>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, 4 Jun 2025 17:21:21 -0400 Yury Norov <yury.norov@xxxxxxxxx> wrote:

> Generalize node_random and make it available to general bitmaps and
> cpumasks users.

Seems sensible.

> --- a/lib/find_bit.c
> +++ b/lib/find_bit.c
>
> +unsigned long find_random_bit(const unsigned long *addr, unsigned long size)
> +{
> + int w = bitmap_weight(addr, size);
> +
> + switch (w) {
> + case 0:
> + return size;
> + case 1:
> + return find_first_bit(addr, size);

Is the `1' special case useful? The `default' case should still work OK?

> + default:
> + return find_nth_bit(addr, size, get_random_u32_below(w));
> + }
> +}
> +EXPORT_SYMBOL(find_random_bit);

Some kerneldoc, please?

Of course, the hard-coding of get_random_u32_below() might be
unsuitable for some future potential callers but we can deal with that
if it ever occurs.


Return-Path: <linux-kernel+bounces-673812-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A38E441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:39:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A18AF17842D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:39:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B931321D018;
Wed, 4 Jun 2025 21:39:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="e7gQphlW"
Received: from mail-yw1-f169.google.com (mail-yw1-f169.google.com [209.85.128.169])
(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 96C5E1FC0FE;
Wed, 4 Jun 2025 21:39:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.169
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749073153; cv=none; b=LDz0thWBX+M8ycGuzBGmza3kIOiaYLxn62J91gGgJDPnu4ZgJ6NKYEYGUMm+DMdlSWXBPyafWtOnGxRtihT8GboiLS+yindAJxET4dRLA+6fOYglSw3jrV89EY69RT16wCO8lOblPU8BQ4med0EBCIge0eUvP6Nxm3Fx0EKC3nI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749073153; c=relaxed/simple;
bh=qlbMPk4dPEEyzeLo2479cFLePiocNA54ZUrQynVHcPs=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=CP+F4I2PQq0MxVJcjC6ndV4ZeVrOqp/7mQCu17OmX0aScnWMzolRF/5V3XSD18kmx2COs2Bjn+n4KNRDHzVGfgKgUQ6we57Q6DxRWQmKwqHT8YntnRcLn2v0PrlM726VDUr0cJVAAAiObq77yUrHfSqfI6prb2mNWSR9RARNXdU=
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=e7gQphlW; arc=none smtp.client-ip=209.85.128.169
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
Received: by mail-yw1-f169.google.com with SMTP id 00721157ae682-70e3c6b88dbso2934697b3.0;
Wed, 04 Jun 2025 14:39:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749073150; x=1749677950; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=ji9MGXCP+HPw0QDJgV4StrwExJhPA0b32dnkFwNjpHU=;
b=e7gQphlWdQ56FnUVfNjpaTTEuCwuaQhqU72CgFA2bIPN/HXlOEyq7o5XTPNPmgZgMJ
UIH0sxv0xnpym9StdFE8xfG0883K3C/37hdKHUES89W8K5cOUcjWLTBs0ND+k+eObHZ8
sPL706WlPUQSzsIT68QCidY4F9r58eUiKrXWDabsS93NF2WIsviNu5mT3mgoH8tTFste
JAMgCCSylPyvDigYF5Dy1v/29iDVRFE0CuVaVbRahzT4UYfuxU/WBteHSgpJ7EkgFIcO
KQ1yanf5PON1F8rAyARFapFfjT8SY1PcCCQQ6iyOdRhxWWSUB9m3WPK7coP/H3XiDAPx
va6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749073150; x=1749677950;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=ji9MGXCP+HPw0QDJgV4StrwExJhPA0b32dnkFwNjpHU=;
b=SifvAkmf60/pYXzibV92l5OCAFIshmwOw2DwLo6XGQjZG5kHHE7eRcLIrKgpjodqJ2
u9BSoRkwTsGeOygfAbaa0yK4a8smjWePWyWEjn7L1q14iSXP2eHES/tIvl7O4ExYGHf+
IgJTqBSPnJs13AnY6bJijN3uME7/OD50ZqG5K3SCfk3CuZftQLEfCOykIIGX/yPnEdq7
Vmom5P0JAjAskVW89DRimTg2U9vG/j7NMNCpyd0foa2EnsiIQdSulfkBJhjhsPn3Gt4K
nSwlV8dMPSgQzjMH3gxumHhE+zZ5jhCy45Rn/UwSCpseWyNVKo3JvyAToNILBWWQZ/pa
TgzQ==
X-Forwarded-Encrypted: i=1; AJvYcCUPq8bT0RwW4cX/Zr4OMuJCDSm58NsbRCPgUaM4IMN4SsSsAOB6jFBb/OtY6pNB6TpfPqXFpIMSv+0=@vger.kernel.org, AJvYcCW1Ib8ZEn0ffKNNi1wS+yK+wwrNv5t4oCb9DB1aRzlNu5/IuuEiP5OyQdQ81lQpjB2FPlZ2C5sMzLhYXfs=@vger.kernel.org
X-Gm-Message-State: AOJu0YxI7VjvSl8mIeVegWxY0P5sjVCbishJBAHRi4tCqOedDI/YGgxu
rXpHquE8MAFixatLC/tk2zGBNCE1SZbQK0/lB/+bNuk2WsqM6N0tcBEE
X-Gm-Gg: ASbGncvaFE4ZlKswfRBHzArXxm9L4WytUCL8gK/U/NWXYrSLbM7PLC4ePpOAZkVfnf5
iSGe53XEQcFsTURwq9DkwxUg3H1GEuBvSLe5GEjz0u9BqMVzH0L1JsJ9sWspEm8qDf5MlTYYahk
VTK56Ez8pH/TABr4d6llcCUVTqVuVyMB1bRfScJWgstLrind/oW60nJBf7BgKuIBwPjrx3yIf9S
bawIpsCByJDRVd4ZB1QtJ8+nZtKLwinushosv+Csf715vDVm/ox+78YDXXtotEgoqV2DcNkatAS
LJbm9R+QIGtFnB8IXTZbvhyzCBS7JQuYOGrdkL81zwC6Veju55OUrWVhDlFtz49yNpCfDrljHbQ
gUbJvEScn5uU=
X-Google-Smtp-Source: AGHT+IEfJDCrc+C4RZEsb1oC+1wSuk1DhTOprUPAFfz1n70iG84/kH6FqLEPeHzWlX0yOx095YpK+A==
X-Received: by 2002:a05:690c:3609:b0:70e:7706:824e with SMTP id 00721157ae682-710d9d6c09emr65844037b3.6.1749073150393;
Wed, 04 Jun 2025 14:39:10 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8ad003cbsm31741797b3.105.2025.06.04.14.39.09
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 14:39:09 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>,
Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>,
linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Cc: "Yury Norov [NVIDIA]" <yury.norov@xxxxxxxxx>
Subject: [PATCH] cpuidle: dt: fix opencoded for_each_cpu() in idle_state_valid()
Date: Wed, 4 Jun 2025 17:39:06 -0400
Message-ID: <20250604213908.27819-1-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>

The function opencodes the for_each_cpu_from() by using an open for-loop.
Fix that in sake of readability.

While there, drop the 'valid' variable as it's pretty useless here.

Signed-off-by: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>
---
drivers/cpuidle/dt_idle_states.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/cpuidle/dt_idle_states.c b/drivers/cpuidle/dt_idle_states.c
index 97feb7d8fb23..558d49838990 100644
--- a/drivers/cpuidle/dt_idle_states.c
+++ b/drivers/cpuidle/dt_idle_states.c
@@ -98,7 +98,6 @@ static bool idle_state_valid(struct device_node *state_node, unsigned int idx,
{
int cpu;
struct device_node *cpu_node, *curr_state_node;
- bool valid = true;

/*
* Compare idle state phandles for index idx on all CPUs in the
@@ -107,20 +106,17 @@ static bool idle_state_valid(struct device_node *state_node, unsigned int idx,
* retrieved from. If a mismatch is found bail out straight
* away since we certainly hit a firmware misconfiguration.
*/
- for (cpu = cpumask_next(cpumask_first(cpumask), cpumask);
- cpu < nr_cpu_ids; cpu = cpumask_next(cpu, cpumask)) {
+ cpu = cpumask_first(cpumask) + 1;
+ for_each_cpu_from(cpu, cpumask) {
cpu_node = of_cpu_device_node_get(cpu);
curr_state_node = of_get_cpu_state_node(cpu_node, idx);
- if (state_node != curr_state_node)
- valid = false;
-
of_node_put(curr_state_node);
of_node_put(cpu_node);
- if (!valid)
- break;
+ if (state_node != curr_state_node)
+ return false;
}

- return valid;
+ return true;
}

/**
--
2.43.0



Return-Path: <linux-kernel+bounces-673813-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9A2E041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:40:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id D7B8B1785EE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:40:14 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4116521FF39;
Wed, 4 Jun 2025 21:40:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ehC2BuyQ"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 292351FC0FE;
Wed, 4 Jun 2025 21:40:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749073205; cv=none; b=Cd29wQrKilChEFoyXp0KSSWW2ZBq71msRKAChLdyQ9wiLBsELYR2idRz3jk/GGQesKz6KkxAUJeL1sSgcDmIDcEE+dG5Vv9a2aYIHiv9Yx5OqifLu8PD0hm/M4vR9Eb2wbjXrrytOvaDTkJ6/8sqDujGRtLaDFlmH5UFqcF1up8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749073205; c=relaxed/simple;
bh=YnxI2zZWfMQESoQGGqiVO4tFe0v0VC60qDivdYuSFLs=;
h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References:
Content-Type:MIME-Version; b=YHsKwxVruO4VnMYEU4SjIks0k+CmlwqwfcRYClhD8YRd/j9lW4IHA5HRYNn+KT+eE3NpBHdyLkgQVq/lDAjZaL6zGdyPuRR7bJvfEDfdPTnCiW0ycnHWCuHE9ZpseXRv7PUq0Xkmxba6HQn7DNGJ2O/RZkFghiq8SdFpbmIkpAc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ehC2BuyQ; arc=none smtp.client-ip=192.198.163.10
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749073203; x=1780609203;
h=message-id:subject:from:to:cc:date:in-reply-to:
references:content-transfer-encoding:mime-version;
bh=YnxI2zZWfMQESoQGGqiVO4tFe0v0VC60qDivdYuSFLs=;
b=ehC2BuyQ2hFAzATgvb5uawOcKhbnm+n5cB5F42/VETGdZwsdrdbxRaD/
uL82HAqE3NJJEqV6IQpelbHv0OZNc76jQhDcGPwL3apAUoERlbowaCUvG
7nx17SGzKjdXbLf9cgp+Jo86d9ds9IzJV4IPNUuMiipWpllD4ZH5DekgH
W+oBiSqcpDiGc6w3HoHKNYsV9U86PNBdoxVYMS+0hJVT1mAnXniMeFDKi
2dv+2UES9jw4i4Hcsp8uRhePHZLicPoKoyHxJR2+AblVfyPOcScX2hQTq
cDE3Mb2dHrdrWw4B/E0+hVV6nDWYjggPzAdRCmTt/31cCtvgEcUEDQCrZ
w==;
X-CSE-ConnectionGUID: T2P7GfUqRPWy1Fyh/1LT7g==
X-CSE-MsgGUID: 3zJpZAN2S8a39fLjvtHXHg==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="62532603"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="62532603"
Received: from fmviesa008.fm.intel.com ([10.60.135.148])
by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:40:02 -0700
X-CSE-ConnectionGUID: uvXubLf5RT22eAXK8bjhJA==
X-CSE-MsgGUID: c7hzUrA4QUOJTfDe58sVFQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145649682"
Received: from spandruv-desk1.amr.corp.intel.com ([10.124.221.157])
by fmviesa008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 14:40:02 -0700
Message-ID: <9cbc3ee82561859acbd6f4787c82f453f8a7afeb.camel@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH 1/2] thermal: intel: int340x: Add performance control
for platform temperature control
From: srinivas pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
To: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>
Cc: rui.zhang@xxxxxxxxx, daniel.lezcano@xxxxxxxxxx, lukasz.luba@xxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-pm@xxxxxxxxxxxxxxx
Date: Wed, 04 Jun 2025 14:40:01 -0700
In-Reply-To: <CAJZ5v0hgK+B1j6=M+Sx1+jC4d1n3GZfcpLtZJ_j58xdMXweTPA@xxxxxxxxxxxxxx>
References: <20250604203518.2330533-1-srinivas.pandruvada@xxxxxxxxxxxxxxx>
<CAJZ5v0hgK+B1j6=M+Sx1+jC4d1n3GZfcpLtZJ_j58xdMXweTPA@xxxxxxxxxxxxxx>
Autocrypt: addr=srinivas.pandruvada@xxxxxxxxxxxxxxx; prefer-encrypt=mutual;
keydata=mQGNBGYHNAsBDAC7tv5u9cIsSDvdgBBEDG0/a/nTaC1GXOx5MFNEDL0LWia2p8Asl7igx
YrB68fyfPNLSIgtCmps0EbRUkPtoN5/HTbAEZeJUTL8Xdoe6sTywf8/6/DMheEUzprE4Qyjt0HheW
y1JGvdOA0f1lkxCnPXeiiDY4FUqQHr3U6X4FPqfrfGlrMmGvntpKzOTutlQl8eSAprtgZ+zm0Jiwq
NSiSBOt2SlbkGu9bBYx7mTsrGv+x7x4Ca6/BO9o5dIvwJOcfK/cXC/yxEkr1ajbIUYZFEzQyZQXrT
GUGn8j3/cXQgVvMYxrh3pGCq9Q0Q6PAwQYhm97ipXa86GcTpP5B2ip9xclPtDW99sihiL8euTWRfS
TUsEI+1YzCyz5DU32w3WiXr3ITicaMV090tMg9phIZsjfFbnR8hY03n0kRNWWFXi/ch2MsZCCqXIB
oY/SruNH9Y6mnFKW8HSH762C7On8GXBYJzH6giLGeSsbvis2ZmV/r+LmswwZ6ACcOKLlvvIukAEQE
AAbQ5U3Jpbml2YXMgUGFuZHJ1dmFkYSA8c3Jpbml2YXMucGFuZHJ1dmFkYUBsaW51eC5pbnRlbC5j
b20+iQHRBBMBCAA7FiEEdki2SeUi0wlk2xcjOqtdDMJyisMFAmYHNAsCGwMFCwkIBwICIgIGFQoJC
AsCBBYCAwECHgcCF4AACgkQOqtdDMJyisMobAv+LLYUSKNuWhRN3wS7WocRPCi3tWeBml+qivCwyv
oZbmE2LcxYFnkcj6YNoS4N1CHJCr7vwefWTzoKTTDYqz3Ma0D0SbR1p/dH0nDgN34y41HpIHf0tx0
UxGMgOWJAInq3A7/mNkoLQQ3D5siG39X3bh9Ecg0LhMpYwP/AYsd8X1ypCWgo8SE0J/6XX/HXop2a
ivimve15VklMhyuu2dNWDIyF2cWz6urHV4jmxT/wUGBdq5j87vrJhLXeosueRjGJb8/xzl34iYv08
wOB0fP+Ox5m0t9N5yZCbcaQug3hSlgp9hittYRgIK4GwZtNO11bOzeCEMk+xFYUoa5V8JWK9/vxrx
NZEn58vMJ/nxoJzkb++iV7KBtsqErbs5iDwFln/TRJAQDYrtHJKLLFB9BGUDuaBOmFummR70Rbo55
J9fvUHc2O70qteKOt5A0zv7G8uUdIaaUHrT+VOS7o+MrbPQcSk+bl81L2R7TfWViCmKQ60sD3M90Y
oOfCQxricddC
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.56.2 (3.56.2-1.fc42)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, 2025-06-04 at 22:55 +0200, Rafael J. Wysocki wrote:
> On Wed, Jun 4, 2025 at 10:35=E2=80=AFPM Srinivas Pandruvada
> <srinivas.pandruvada@xxxxxxxxxxxxxxx> wrote:
> >=20
> > Add additional attribute to control performance of platform
> > temperature
> > control feature. Two attributes are added:
>=20
> It would be good to explain why they are needed.

This is to give user space some influence in the aggressiveness of
control loops in the firmware. Firmware may be aggressive but there
can be some tolerance based on current conditions like ambient
temperature or whether the laptop is placed not on lap. Similar to
current adaptive thermal controls changing temperature limits and power
limits, with the PTC these controls can be used.

>=20
> > gain: 0-7 levels, with 0 being most aggressive.
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 7 =E2=80=93 graceful, favors=
performance at the expense of
> > temperature
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 overshoots
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 =E2=80=93 aggressive, favo=
rs tight regulation over performance
> >=20
> > min_performance_level: A value from 0-255. Specifies minimum
> > Performance
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 level below which the there =
will be no throttling.
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 - all levels of throttling=
allowed including
> > survivability
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 actions.
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 255 - no throttling allowed.
>=20
> The description of min_performance_level above doesn't seem to be
> consistent to me.=C2=A0 Specifically, the descriptions of the 0 and 255
> values appear to indicate that this really is about what kind of
> throttling can be applied.

At the end this is some power/frequency throttling to various sub
systems. 0 means that to meet temperature threshold, the power can be
lower than the lowest package power limit which is survivability mode.

>=20
> Also, I gather that the units of this number are arbitrary and it is
> not tied to anything specific.=C2=A0 I mean, 127 doesn't mean 50% of CPU
> performance, for instance.
It is unit-less. It may not scale linearly to assume any value to
percent.

Thanks,
Srinivas

>=20
> > Signed-off-by: Srinivas Pandruvada
> > <srinivas.pandruvada@xxxxxxxxxxxxxxx>
> > ---
> > =C2=A0Documentation/driver-api/thermal/intel_dptf.rst=C2=A0=C2=A0 | 10 =
++++++++++
> > =C2=A0.../platform_temperature_control.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 15
> > ++++++++++++++-
> > =C2=A02 files changed, 24 insertions(+), 1 deletion(-)
> >=20
> > diff --git a/Documentation/driver-api/thermal/intel_dptf.rst
> > b/Documentation/driver-api/thermal/intel_dptf.rst
> > index ec5769accae0..794f5cce548e 100644
> > --- a/Documentation/driver-api/thermal/intel_dptf.rst
> > +++ b/Documentation/driver-api/thermal/intel_dptf.rst
> > @@ -206,6 +206,16 @@ All these controls needs admin privilege to
> > update.
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Update a new temperature tar=
get in milli degree celsius for
> > hardware to
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 use for the temperature cont=
rol.
> >=20
> > +``gain`` (RW)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 A value in the range 0-7. Sets th=
e aggressiveness of
> > control loop.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 7 =E2=80=93 graceful, favors perf=
ormance at the expense of
> > temperature overshoots.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 =E2=80=93 aggressive, favors ti=
ght regulation over performance.
> > +
> > +``min_performance_level`` (RW)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Minimum Performance level below w=
hich the there will be no
> > throttling.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 - all levels of throttling allo=
wed including
> > survivability actions.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 256 - no throttling allowed.
> > +
> > =C2=A0Given that this is platform temperature control, it is expected
> > that a
> > =C2=A0single user-level manager owns and manages the controls. If
> > multiple
> > =C2=A0user-level software applications attempt to write different
> > targets, it
> > diff --git
> > a/drivers/thermal/intel/int340x_thermal/platform_temperature_contro
> > l.c
> > b/drivers/thermal/intel/int340x_thermal/platform_temperature_contro
> > l.c
> > index 2d6504514893..6cd05783a52d 100644
> > ---
> > a/drivers/thermal/intel/int340x_thermal/platform_temperature_contro
> > l.c
> > +++
> > b/drivers/thermal/intel/int340x_thermal/platform_temperature_contro
> > l.c
> > @@ -49,7 +49,7 @@ struct mmio_reg {
> > =C2=A0};
> >=20
> > =C2=A0#define MAX_ATTR_GROUP_NAME_LEN=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 32
> > -#define PTC_MAX_ATTRS=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 3
> > +#define PTC_MAX_ATTRS=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 5
> >=20
> > =C2=A0struct ptc_data {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u32 offset;
> > @@ -57,6 +57,8 @@ struct ptc_data {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct attribute *ptc_attrs[=
PTC_MAX_ATTRS];
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct device_attribute temp=
erature_target_attr;
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct device_attribute enab=
le_attr;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct device_attribute gain_attr=
;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct device_attribute min_perfo=
rmance_level_attr;
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 char group_name[MAX_ATTR_GRO=
UP_NAME_LEN];
> > =C2=A0};
> >=20
> > @@ -78,6 +80,8 @@ static u32 ptc_offsets[PTC_MAX_INSTANCES] =3D
> > {0x5B20, 0x5B28, 0x5B30};
> > =C2=A0static const char * const ptc_strings[] =3D {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "temperature_target",
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "enable",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "gain",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "min_performance_level",
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 NULL
> > =C2=A0};
> >=20
> > @@ -177,6 +181,11 @@ PTC_SHOW(temperature_target);
> > =C2=A0PTC_STORE(temperature_target);
> > =C2=A0PTC_SHOW(enable);
> > =C2=A0PTC_STORE(enable);
> > +PTC_SHOW(gain);
> > +PTC_STORE(gain);
> > +PTC_SHOW(min_performance_level);
> > +PTC_STORE(min_performance_level);
> > +
> >=20
> > =C2=A0#define ptc_init_attribute(_name)\
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 do {\
> > @@ -193,9 +202,13 @@ static int ptc_create_groups(struct pci_dev
> > *pdev, int instance, struct ptc_data
> >=20
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ptc_init_attribute(temperatu=
re_target);
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ptc_init_attribute(enable);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ptc_init_attribute(gain);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ptc_init_attribute(min_performanc=
e_level);
> >=20
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 data->ptc_attrs[index++] =3D=
&data-
> > >temperature_target_attr.attr;
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 data->ptc_attrs[index++] =3D=
&data->enable_attr.attr;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 data->ptc_attrs[index++] =3D &dat=
a->gain_attr.attr;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 data->ptc_attrs[index++] =3D &dat=
a-
> > >min_performance_level_attr.attr;
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 data->ptc_attrs[index] =3D N=
ULL;
> >=20
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 snprintf(data->group_name, M=
AX_ATTR_GROUP_NAME_LEN,
> > --
> > 2.49.0
> >=20


Return-Path: <linux-kernel+bounces-673814-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4DB5541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:40:49 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id C4724189B078
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:41:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EA3B8221DBD;
Wed, 4 Jun 2025 21:40:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Ly5nrdNW"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2EAEB1FC0FE;
Wed, 4 Jun 2025 21:40:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749073238; cv=none; b=e4l09WIJ48uE52o0POpSfRlqONzqynqFVwDgwK5IAncQonVsTFKzAoA7x39hGRSbFDxZ244iBHeEj9l2nNESvnbOuqO3gftGjQEyUdRU02l9whYEEENEgRBvGcJnx705uh8UPobsg/4uF1cRIOELmo5deiaW+T0CyTnMzTmrApk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749073238; c=relaxed/simple;
bh=aAeuHK5WWn3+SYekWH+tpsFhTjD2tgoSA/hS4ezKTkU=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=CjinQD3XkA8PgRcwMMk6lUn+KBowQk+wbJ+LLsdyAVTpRs2deD58Dc2ydycpaD0x1qop19H1AtXf8DfmPZZK9qMx0VUzIp+l5BlXaoXM9Tk04Fn9zplCE60Y3Hg7Uxwb93k4bMK26mcRq+GsdmY+b6HZE8MlA1AqUTxVSnbP9Mg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Ly5nrdNW; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 42C29C4CEE4;
Wed, 4 Jun 2025 21:40:36 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749073237;
bh=aAeuHK5WWn3+SYekWH+tpsFhTjD2tgoSA/hS4ezKTkU=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=Ly5nrdNWs6kVeCnPi710BfN63b45OWCwtbvkKFkWSrNnnZ/ML956ygHdjWdKuHvJz
3apMaLBfA73s2qNF5+6l04aJqKXpccKBYA0y/OYgwP3jEbILwsWHW+cIselWUaRbGM
7mDqdbGc+01hDgdSpEnRkutkibqe2KwZEvKa10l2rdPfht4kREnmKnQkgGgVNyfwMk
dl5g9g4I9htbco3lTlRzcFAQZDMhLP5enEgWrXyyBa1HxoyjYPG4pEmOike2Kgl8UJ
BHVKQIotuJRelSWbhVQ0xTGxTyllhuy34/3zhksryfxW3AeJLYnk2VsDPjCProtGNk
WRJFhk8U/TmEw==
Date: Wed, 4 Jun 2025 14:40:34 -0700
From: Namhyung Kim <namhyung@xxxxxxxxxx>
To: Blake Jones <blakejones@xxxxxxxxxx>, Song Liu <song@xxxxxxxxxx>,
Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxx>,
Daniel Borkmann <daniel@xxxxxxxxxxxxx>,
Andrii Nakryiko <andrii@xxxxxxxxxx>,
Martin KaFai Lau <martin.lau@xxxxxxxxx>,
Eduard Zingerman <eddyz87@xxxxxxxxx>,
Yonghong Song <yonghong.song@xxxxxxxxx>,
John Fastabend <john.fastabend@xxxxxxxxx>,
KP Singh <kpsingh@xxxxxxxxxx>, Stanislav Fomichev <sdf@xxxxxxxxxxx>,
Hao Luo <haoluo@xxxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>,
Mark Rutland <mark.rutland@xxxxxxx>,
Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>,
Ian Rogers <irogers@xxxxxxxxxx>,
Adrian Hunter <adrian.hunter@xxxxxxxxx>,
Kan Liang <kan.liang@xxxxxxxxxxxxxxx>,
Chun-Tse Shao <ctshao@xxxxxxxxxx>,
Zhongqiu Han <quic_zhonhan@xxxxxxxxxxx>,
James Clark <james.clark@xxxxxxxxxx>,
Charlie Jenkins <charlie@xxxxxxxxxxxx>,
Andi Kleen <ak@xxxxxxxxxxxxxxx>, Dmitry Vyukov <dvyukov@xxxxxxxxxx>,
Leo Yan <leo.yan@xxxxxxx>, Yujie Liu <yujie.liu@xxxxxxxxx>,
Graham Woodward <graham.woodward@xxxxxxx>,
Yicong Yang <yangyicong@xxxxxxxxxxxxx>,
Ben Gainey <ben.gainey@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
bpf@xxxxxxxxxxxxxxx, linux-perf-users@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 2/3] perf: collect BPF metadata from existing BPF programs
Message-ID: <aEC9UqkKeEj4on3M@xxxxxxxxxx>
References: <20250521222725.3895192-1-blakejones@xxxxxxxxxx>
<20250521222725.3895192-3-blakejones@xxxxxxxxxx>
<aD9Xxhwqpm8BDeKe@xxxxxxxxxx>
<CAP_z_Cj_8uTBGzaoFmi1f956dXi1qDnF4kqc49MSn0jDHYFfxg@xxxxxxxxxxxxxx>
<aD9sxuFwwxwHGzNi@xxxxxxxxxx>
<CAP_z_Cg+mPpdzxg-d+VV5J9t7vTTNXQmKLdnfuNETm1H40OA+g@xxxxxxxxxxxxxx>
<aD9yte49C_BM5oA9@xxxxxxxxxx>
<CAP_z_Cg0ZCfvEFpJpvhuRcUkjV_paCODw2J61D3YQMm7dg0aGg@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAP_z_Cg0ZCfvEFpJpvhuRcUkjV_paCODw2J61D3YQMm7dg0aGg@xxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Tue, Jun 03, 2025 at 03:29:35PM -0700, Blake Jones wrote:
> On Tue, Jun 3, 2025 at 3:10 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> > > Hmmm. Is that documented and tested anywhere? Offhand it sounds like an
> > > implementation detail that I wouldn't feel great about depending on -
> > > certainly not without a strong guarantee that it wouldn't change.
> >
> > Good point. Maybe BPF folks have some idea?
> >
> > Anyway the current code generates them together in a function.
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/events/core.c?h=v6.15#n9825
>
> It certainly does, yeah. But I don't want to have that become another
> instance of https://www.hyrumslaw.com/.

Thanks for sharing this.

I'm curious about the semantics of the KSYMBOL and BPF_EVENT. And I
feel like there should be a connection between them.

Song and Jiri, what do you think?

Thanks,
Namhyung

>
> > > Can you say more about why the duplicated records concern you?
> >
> > More data means more chance to lost something. I don't expect this is
> > gonna be a practical concern but in general we should pursue less data.
>
> That makes sense. In this case, it will only show up for BPF programs that
> define "bpf_metadata_" variables (which is already an opt-in action), and
> the number of variables a given program defines is likely to be quite small.
> So I think the cost of the marginal increase in data generated is outweighed
> by the usability and reliability benefits of being able to match these events
> 1:1 with the KSYMBOL events. If this proves to be a problem in practice,
> it can be revisited.
>
> Blake


Return-Path: <linux-kernel+bounces-673815-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 284DC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:41:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 17EDB3A76F7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:40:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 12089221DBD;
Wed, 4 Jun 2025 21:41:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="S7y83pew"
Received: from mail-il1-f171.google.com (mail-il1-f171.google.com [209.85.166.171])
(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 C269121885A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:40:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.171
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749073258; cv=none; b=DhymV325qKoE/+TPePWfVDeKwTlPl2MUmDqmZkOL0AK4iqBpT3H1ztPtYSQL08usuyTP137O96UJH/kfEcNojL0RjTxDZuEcKRshxJQM+gyg6n6Nd1VAVzFiTKX59PzhQGFVsq1rjsN+2BBajDkfl828HiNolY8AAxqNVv5BXNI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749073258; c=relaxed/simple;
bh=oqrUYVv3qgQI0Ysh+LEJFjUNJQcc3eTpdolkO9Kn1eg=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=Zb9/YsOshp7D5gsg05bM9z0OrO3V7p+koX8VUz8uylTeJHBkeENXW32gZatHgjQCuYdkI0h9JpHQe4hrJ2Ur+GvWbHVqJ0fRtX/ZeIyeHB7T7iBLvK20lpitbUfFySP1yNdOaUiL8HY19zUcNsaP+W+HCkbXVrg3PzT6p3Q0EqM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=S7y83pew; arc=none smtp.client-ip=209.85.166.171
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com
Received: by mail-il1-f171.google.com with SMTP id e9e14a558f8ab-3ddc10f09easo137655ab.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 14:40:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1749073255; x=1749678055; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=JvclTEksi3GgHu8WUWSi3n+8v/bvkKuy2TSmg6tbCrk=;
b=S7y83pewAFCjM7tOJKYDcPq310xa1OPyYtVVn00/py0Bf6q7W9045VbNrULE2uGovb
Evng5/o33KvUCtNP9uT7prgAt60wGQRvnfMkccjCnOQ4pgoTvnc5G89+nFbMh5AlrD0x
vsvKdSjvb1u8n7SWUngYL0UxdEs9b/Hiraa+nChYxJHErWh3NXqK80IgQoHWbmB2yskP
SUOl55jHOC6cFpbYxdfz3V1nqg2YwRiWA2GKrR25ZyqfhPM0sTjF4tsVuhwrLD2a1yyE
kt0JOjUvhm8OUvmjrw8mmyXGXFxXLk7/WHDeER1M6htefKfaSjVuE63RvIG/7ZwduMqc
Dlhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749073255; x=1749678055;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=JvclTEksi3GgHu8WUWSi3n+8v/bvkKuy2TSmg6tbCrk=;
b=fWkbzkaTFa7iQ1bNQmclL9NFUwCVUpcG+7BpP9eJZ97OF8glIEz1Ps8T7Fl1aXgv8m
Nlm8kyFaZEHlfgtU1id0nVwELBdzxhVYsV89Y0bD1qLUNPH/ujIKCw6OIZznF6eURcUE
2pMhroxDV4kMq9dfB25ZQuq7QwE5zAK1H/z+NzxZtVCE2JUkLp6Hq4tchIkiff871w4x
oLI6R0IC6UR6b4g/nVjOkLFKfmH0LJjyiEV8HiAMBDW135lgFZdkZF1IjNB4EiMngHUB
nh2HmNAAff2+hcWQf/p+4YIY+N7hf/cwe3ObT1TLxMUyUdbQKauCSMv6jIcyxrDuLxPY
jrHg==
X-Forwarded-Encrypted: i=1; AJvYcCW/swV763Y6qx27peCD+HnnYcr8loGpXU/OTD/uwMWr6nLQusrFoABG2PO/h/95PjyPQyBAmPQ/1L5J0Q0=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy11m494B76qB3n+CnxyvL0LIT0aDl0lCl47t60zh6WANbBZ0YD
xhy3UV8sGx2M2RHWhpJkbL/6e6DN2kNuTzJD6DCTIUlMsCbIQ2MxY73nIiqmdjqbWrRSrYTedQ/
ekzInIj7nftZE4Eb7Ah3D9N6MOx2a2sb5ZPY/FbLz
X-Gm-Gg: ASbGncuBY37bZ6IvNoDAdh4Kmf+X86QsgaKuOFIBnck4x8kuOccE0m/yVBcaRiMSgFu
EEfead7BWWcK2XXkdEZ8AsjqKQSkQT+NLTPZ3xO2RDBlaa/kxp26GQuuTz9TY9YecYGmrHBT3DP
BUMARPDlyzpjiyADgwOvmsBjVmLmWXPI0orZ7OiKs4kvCgPbX3xwqUZ0gH+QX3KmPwEX9FUTs=
X-Google-Smtp-Source: AGHT+IH8o3osuLITcUT4FadWV61co/5ng9l8F0HR665TEP743o1yV2v2mQAj2OBOGaXkx2j4rZSL3bfN/41VR4IOXM0=
X-Received: by 2002:a05:6e02:1b0c:b0:3dd:be13:58fe with SMTP id
e9e14a558f8ab-3ddc74f9eccmr379675ab.1.1749073254195; Wed, 04 Jun 2025
14:40:54 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250416045117.876775-1-irogers@xxxxxxxxxx> <CAP-5=fU3VW1MjHMiaPG+JirLCCunMC6bEWpsJ3h0E7bTDkh9cA@xxxxxxxxxxxxxx>
<aD54ptuIFHcKPkRQ@xxxxxxxxxx> <CAP-5=fWSfFa6ncV6JkKSN4ByQ9HR+2ff4+uzwpMO5n-GaNbwxQ@xxxxxxxxxxxxxx>
<aD98NFhyTcEU_qim@xxxxxxxxxx> <CAP-5=fW0LKk1UyJr=feQd6nbNZC-ZLtUde=qX=-c9nqvDoqu-A@xxxxxxxxxxxxxx>
<aD-MdTsb40kIXSBE@xxxxxxxxxx> <CAP-5=fUrQJR93UBN-rtGPqVHQsHmPcGzEmc9O2PKsQpuy+NY7w@xxxxxxxxxxxxxx>
<aEC1vca_ghwQvFiY@xxxxxxxxxx>
In-Reply-To: <aEC1vca_ghwQvFiY@xxxxxxxxxx>
From: Ian Rogers <irogers@xxxxxxxxxx>
Date: Wed, 4 Jun 2025 14:40:41 -0700
X-Gm-Features: AX0GCFtN8xde3hGa_WX_QcOZLGEBovd-8qCo4dCtEm_ihvDUrVvom4wUvnjzLiw
Message-ID: <CAP-5=fWKZ8dBS-No3NiwCwcmirnRas+q2qOwVEczXUEG94K=mg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v8 0/4] Prefer sysfs/JSON events also when no PMU is provided
To: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>,
Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>, Mark Rutland <mark.rutland@xxxxxxx>,
Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>, Jiri Olsa <jolsa@xxxxxxxxxx>,
Adrian Hunter <adrian.hunter@xxxxxxxxx>, Kan Liang <kan.liang@xxxxxxxxxxxxxxx>,
James Clark <james.clark@xxxxxxxxxx>, Ze Gao <zegao2021@xxxxxxxxx>,
Weilin Wang <weilin.wang@xxxxxxxxx>, Dominique Martinet <asmadeus@xxxxxxxxxxxxx>,
Jean-Philippe Romain <jean-philippe.romain@xxxxxxxxxxx>, Junhao He <hejunhao3@xxxxxxxxxx>,
linux-perf-users@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Aditya Bodkhe <Aditya.Bodkhe1@xxxxxxx>, Leo Yan <leo.yan@xxxxxxx>,
Thomas Falcon <thomas.falcon@xxxxxxxxx>, Atish Patra <atishp@xxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-10.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,
USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 4, 2025 at 2:08=E2=80=AFPM Namhyung Kim <namhyung@xxxxxxxxxx> w=
rote:
>
> On Tue, Jun 03, 2025 at 05:26:37PM -0700, Ian Rogers wrote:
> > On Tue, Jun 3, 2025 at 4:59=E2=80=AFPM Namhyung Kim <namhyung@xxxxxxxxx=
g> wrote:
> > >
> > > On Tue, Jun 03, 2025 at 04:36:34PM -0700, Ian Rogers wrote:
> > > > On Tue, Jun 3, 2025 at 3:50=E2=80=AFPM Namhyung Kim <namhyung@kerne=
l.org> wrote:
> > > > >
> > > > > On Mon, Jun 02, 2025 at 11:08:34PM -0700, Ian Rogers wrote:
> > > > > > On Mon, Jun 2, 2025 at 9:23=E2=80=AFPM Namhyung Kim <namhyung@k=
ernel.org> wrote:
> > > > > > >
> > > > > > > Hi Ian,
> > > > > > >
> > > > > > > On Tue, May 27, 2025 at 01:50:32PM -0700, Ian Rogers wrote:
> > > > > > > > On Tue, Apr 15, 2025 at 9:51=E2=80=AFPM Ian Rogers <irogers=
@google.com> wrote:
> > > > > > > > >
> > > > > > > > > At the RISC-V summit the topic of avoiding event data bei=
ng in the
> > > > > > > > > RISC-V PMU kernel driver came up. There is a preference f=
or sysfs/JSON
> > > > > > > > > events being the priority when no PMU is provided so that=
legacy
> > > > > > > > > events maybe supported via json. Originally Mark Rutland =
also
> > > > > > > > > expressed at LPC 2023 that doing this would resolve bugs =
on ARM Apple
> > > > > > > > > M? processors, but James Clark more recently tested this =
and believes
> > > > > > > > > the driver issues there may not have existed or have been=
resolved. In
> > > > > > > > > any case, it is inconsistent that with a PMU event names =
avoid legacy
> > > > > > > > > encodings, but when wildcarding PMUs (ie without a PMU wi=
th the event
> > > > > > > > > name) the legacy encodings have priority.
> > > > > > > > >
> > > > > > > > > The situation is further inconsistent as legacy events ar=
e case
> > > > > > > > > sensitive, so on Intel that provides a sysfs instructions=
event, the
> > > > > > > > > instructions event without a PMU and lowercase is legacy =
while with
> > > > > > > > > uppercase letters it matches with sysfs which is case ins=
ensitive. Are
> > > > > > > > > there legacy events with upper case letters? Yes there ar=
e, the cache
> > > > > > > > > ones mix case freely:
> > > > > > > > >
> > > > > > > > > L1-dcache|l1-d|l1d|L1-data|L1-icache|l1-i|l1i|L1-instruct=
ion|LLC|L2|dTLB|d-tlb|Data-TLB|iTLB|i-tlb|Instruction-TLB|branch|branches|b=
pu|btb|bpc|node
> > > > > > > > >
> > > > > > > > > meaning LLC that means L2 (which is wrong) both match as =
part of a
> > > > > > > > > legacy cache name but llc and l2 would only match sysfs/j=
son
> > > > > > > > > events. The whole thing just points at the ridiculous nat=
ure of legacy
> > > > > > > > > events and why we'd want them to be preffered I don't kno=
w. Why should
> > > > > > > > > case of a letter or having a PMU prefix impact the encodi=
ng in the
> > > > > > > > > perf_event_attr?
> > > > > > > > >
> > > > > > > > > The patch doing this work was reverted in a v6.10 release=
candidate
> > > > > > > > > as, even though the patch was posted for weeks and had be=
en on
> > > > > > > > > linux-next for weeks without issue, Linus was in the habi=
t of using
> > > > > > > > > explicit legacy events with unsupported precision options=
on his
> > > > > > > > > Neoverse-N1. This machine has SLC PMU events for bus and =
CPU cycles
> > > > > > > > > where ARM decided to call the events bus_cycles and cycle=
s, the latter
> > > > > > > > > being also a legacy event name. ARM haven't renamed the c=
ycles event
> > > > > > > > > to a more consistent cpu_cycles and avoided the problem. =
With these
> > > > > > > > > changes the problematic event will now be skipped, a larg=
e warning
> > > > > > > > > produced, and perf record will continue for the other PMU=
events. This
> > > > > > > > > solution was proposed by Arnaldo.
> > > > > > > > >
> > > > > > > > > v8: Change removing of failed to open events that are tra=
cking so that
> > > > > > > > > the tracking moves to the next event. Make software e=
vents able to
> > > > > > > > > specified with a PMU. Change the perf_api_probe to no=
t load all
> > > > > > > > > PMUs through scanning, specify a PMU when parsing eve=
nts.
> > > > > > > > >
> > > > > > > > > v7: Expand cover letter, fix a missed core_ok check in th=
e v6
> > > > > > > > > rebase. Note, as with v6 there is an alternate series=
that
> > > > > > > > > prioritizes legacy events but that is silly and I'd p=
refer we
> > > > > > > > > didn't do it.
> > > > > > > > >
> > > > > > > > > v6: Rebase of v5 (dropping already merged patches):
> > > > > > > > > https://lore.kernel.org/lkml/20250109222109.567031-1-=
irogers@xxxxxxxxxx/
> > > > > > > > > that unusually had an RFC posted for it:
> > > > > > > > > https://lore.kernel.org/lkml/Z7Z5kv75BMML2A1q@google.=
com/
> > > > > > > > > Note, this patch conflicts/contradicts:
> > > > > > > > > https://lore.kernel.org/lkml/20250312211623.2495798-1=
-irogers@xxxxxxxxxx/
> > > > > > > > > that I posted so that we could either consistently pr=
ioritize
> > > > > > > > > sysfs/json (these patches) or legacy events (the othe=
r
> > > > > > > > > patches). That lack of event printing and encoding in=
consistency
> > > > > > > > > is most prominent in the encoding of events like "ins=
tructions"
> > > > > > > > > which on hybrid are reported as "cpu_core/instruction=
s/" but
> > > > > > > > > "instructions" before these patches gets a legacy enc=
oding while
> > > > > > > > > "cpu_core/instructions/" gets a sysfs/json encoding. =
These patches
> > > > > > > > > make "instructions" always get a sysfs/json encoding =
while the
> > > > > > > > > alternate patches make it always get a legacy encodin=
g.
> > > > > > > > >
> > > > > > > > > v5: Follow Namhyung's suggestion and ignore the case wher=
e command
> > > > > > > > > line dummy events fail to open alongside other events=
that all
> > > > > > > > > fail to open. Note, the Tested-by tags are left on th=
e series as
> > > > > > > > > v4 and v5 were changing an error case that doesn't oc=
cur in
> > > > > > > > > testing but was manually tested by myself.
> > > > > > > > >
> > > > > > > > > v4: Rework the no events opening change from v3 to make i=
t handle
> > > > > > > > > multiple dummy events. Sadly an evlist isn't empty if=
it just
> > > > > > > > > contains dummy events as the dummy event may be used =
with "perf
> > > > > > > > > record -e dummy .." as a way to determine whether per=
mission
> > > > > > > > > issues exist. Other software events like cpu-clock wo=
uld suffice
> > > > > > > > > for this, but the using dummy genie has left the bott=
le.
> > > > > > > > >
> > > > > > > > > Another problem is that we appear to have an excessiv=
e number of
> > > > > > > > > dummy events added, for example, we can likely avoid =
a dummy event
> > > > > > > > > and add sideband data to the original event. For auxt=
race more
> > > > > > > > > dummy events may be opened too. Anyway, this has led =
to the
> > > > > > > > > approach taken in patch 3 where the number of dummy p=
arsed events
> > > > > > > > > is computed. If the number of removed/failing-to-open=
non-dummy
> > > > > > > > > events matches the number of non-dummy events then we=
want to
> > > > > > > > > fail, but only if there are no parsed dummy events or=
if there was
> > > > > > > > > one then it must have opened. The math here is hard t=
o read, but
> > > > > > > > > passes my manual testing.
> > > > > > > > >
> > > > > > > > > v3: Make no events opening for perf record a failure as s=
uggested by
> > > > > > > > > James Clark and Aditya Bodkhe <Aditya.Bodkhe1@xxxxxxx=
>. Also,
> > > > > > > > > rebase.
> > > > > > > > >
> > > > > > > > > v2: Rebase and add tested-by tags from James Clark, Leo Y=
an and Atish
> > > > > > > > > Patra who have tested on RISC-V and ARM CPUs, includi=
ng the
> > > > > > > > > problem case from before.
> > > > > > > >
> > > > > > > > Ping. Thanks,
> > > > > > > > Ian
> > > > > > > >
> > > > > > > > > Ian Rogers (4):
> > > > > > > > > perf record: Skip don't fail for events that don't open
> > > > > > > > > perf parse-events: Reapply "Prefer sysfs/JSON hardware =
events over
> > > > > > > > > legacy"
> > > > > > > > > perf parse-events: Allow software events to be terms
> > > > > > > > > perf perf_api_probe: Avoid scanning all PMUs, try softw=
are PMU first
> > > > > > >
> > > > > > > Sorry for the delay. But I think we wanted to move to this i=
nstead:
> > > > > > >
> > > > > > > https://lore.kernel.org/linux-perf-users/20250312211623.24957=
98-1-irogers@xxxxxxxxxx/
> > > > > >
> > > > > > Hi Namhyung,
> > > > > >
> > > > > > The preference for sysfs/json over legacy was done as a bug fix=
and
> > > > > > because ARM (Mark Rutland) argued strongly that it was the most
> > > > > > sensible priority. Intel (Kan Liang) approved the change in pri=
ority.
> > > > > > RISC-V have wanted this behavior as it enables the migration of=
event
> > > > > > mappings from the driver to the tool. As the primary maintainer=
of the
> > > > > > event parsing and metric code I prefer the priority as legacy e=
vents
> > > > > > are weird, for example they aren't case insensitive in their na=
ming.
> > > > > > For example, on Intel with legacy events as the priority cpu-cy=
cles
> > > > > > would be a legacy event, but cpu-Cyles a sysfs one. On ARM cpu_=
cycles
> > > > > > would be a sysfs event, but cpu-cycles a legacy one. A minor ch=
aracter
> > > > > > difference and very different and imo surprising event encoding=
s.
> > > > >
> > > > > Yeah, but it has worked like that for a long time.
> > > > >
> > > > > >
> > > > > > On your RFC thread Arnaldo and James said that legacy events so=
mehow
> > > > > > enabled a form of drill down. As event parsing is mapping a nam=
e to a
> > > > > > perf_event_attr I completely don't see this as the mapping is o=
paque.
> > > > >
> > > > > Is it opaque? (I'd say it standard event rather than legacy even=
t.) I
> > > > > think the mapping for the standard events are clearly defined.
> > > >
> > > > Which standard events? Going through them (abbreviated to avoid rep=
etition):
> > > > - PERF_COUNT_HW_CPU_CYCLES, ok.
> > > > - PERF_COUNT_HW_INSTRUCTIONS, well does that include speculatively
> > > > executed instructions or not?
> > > > - ...
> > > > - PERF_COUNT_HW_STALLED_CYCLES_FRONTEND, what does this count on a=
n
> > > > in order CPU?
> > > > - ...
> > >
> > > I mean the mapping from event name to event encoding (PERF_COUNT_HW_.=
..).
> > > I think the internal event mapping is the driver's business.
> > >
> > > >
> > > > The hardware cache events are far worse as things like LLC mean the=
L2
> > > > cache, however, it is far more typical for this to mean L3 these da=
ys.
> > > > Standard and clearly defined, sorry absolutely not. They are a
> > > > minefield of well intentioned event name components waiting to expl=
ode
> > > > when a vendor inadvertently creates a combination that happens to
> > > > match a combination perf thinks is significant.
> > >
> > > Again, it belongs to the driver.
> >
> > But we know there are broken drivers. That is why this started. The
> > Apple-M core PMU had broken mappings and was reliant on being treated
> > as an uncore PMU so that legacy encodings weren't used. By forcing the
> > use of legacy encodings you'd break new perf tools on v6.6 kernels on
> > Apple-M IIRC.
>
> Didn't they use sysfs events (i.e. '-e PMU/EVENT/' form) always?
>
> >
> > When an event is encoded in json it can have a description. The
> > description can identify what the exact behaviors wrt speculation,
> > what LLC means, etc. are. The legacy event names are a minefield and
> > ambiguous.
>
> Right, sometimes it's not 100% clear and descriptions would be nice.
>
> >
> > Why are they a minefield? We import metrics from sources like the TMA
> > spreadsheet:
> > https://github.com/intel/perfmon/blob/main/TMA_Metrics-full.csv
> > The events named in here are intended for use across a range of tools
> > like vtune and emon. When we import event names in the perf build we
> > assume they are case insensitive and match them by lower-casing them:
> > https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-nex=
t.git/tree/tools/perf/pmu-events/jevents.py?h=3Dperf-tools-next#n326
> > Legacy cache events are made up of components:
> > https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-nex=
t.git/tree/tools/perf/util/parse-events.l?h=3Dperf-tools-next#n258
> > ```
> > lc_type (L1-dcache|l1-d|l1d|L1-data|L1-icache|l1-i|l1i|L1-instruction|L=
LC|L2|dTLB|d-tlb|Data-TLB|iTLB|i-tlb|Instruction-TLB|branch|branches|bpu|bt=
b|bpc|node)
> > lc_op_result (load|loads|read|store|stores|write|prefetch|prefetches|sp=
eculative-read|speculative-load|refs|Reference|ops|access|misses|miss)
> > ```
>
> Oh, looks like it's too permissive. Do we have speculative-load in the
> standard cache events?
>
>
> > If legacy events have the priority then an event that accidentally
> > combines these components can switch from using the event json that
> > comes with the metric to using a legacy event that has a different
> > behavior. It may also result in parse errors.
> >
> > We are avoiding stepping on mines by luck currently and the approach
> > of using legacy first is essentially error prone. (It also breaks
> > Apple-M and is the opposite of what RISC-V have requested)
>
> Hmm.. ok. I feel like cache events should have lower priority at least.
> If it's all about metrics, maybe we can add something like a new parse
> option like parse_evens_option_args.prefer_json to have different
> priority settings and use it for metrics?

There are only 10 legacy non-cache events, but after cycles the
meaning is ambiguous and likely often just not implemented. Saying the
meaning is known because of the driver, I'm not aware of any driver
giving descriptions.

For a flag, the issue is that we prefer json when there is a PMU but
not when it is wildcarded. So when is the flag used or not?

My eventual hope is that we can standardize on sysfs encoding. So we
translate json to sysfs, then compress the files/directories and
access them built into the perf tool this way. Then, as with say
addr2line or objdump, we have a priority list like:
"sysfs(/sys),sysfs(inbuilt),legacy". Then we could allow
"sysfs(/home/ian/myevents),sysfs(/sys),sysfs(inbuilt),legacy" so users
can manually add events and metrics. A priority list for the behavior
today would be something like
"legacy(no-pmu),sysfs(/sys),sysfs(inbuilt),legacy(with-pmu)". If we
have hardware cache events at a low priority may it is
"legacy(no-pmu+type_hardware),sysfs(/sys),sysfs(inbuilt),legacy(with-pmu+ty=
pe_hw_cache)"
what this series is trying to achieve is just
"sysfs(/sys),sysfs(inbuilt),legacy" and the alternate series is
"legacy,sysfs(/sys),sysfs(inbuilt)".

On x86 events are 70% of the binary size but just compressing the json
shows that this could be halved.

Making the lookup use a list and user supplied directories may allow
us to write tests that create a hybrid looking sysfs to test on
non-hybrid, etc.

> >
> > > >
> > > > There was a similar attempt for raw events where you can go r123 fo=
r
> > > > the hex 123 event config, it was missed that rEAD is a valid hex ra=
w
> > > > event as well as a useful event name. The event parsing now has a l=
ot
> > > > of special handling to avoid exploding on this - and yes the priori=
ty
> > > > is that sysfs/json has priority over the raw event encoding.
> > >
> > > Agreed, the raw encoding can be a problem and it makes sense the sysf=
s/
> > > JSON has the priority.
> > >
> > > >
> > > > > >
> > > > > > I strongly believe we need consistency. If `perf stat -e cycles=
.. `
> > > > > > prints cpu_core/cycles/ as the event name on a hybrid Intel, th=
en
> > > > > > `perf stat -e cpu_core/cycles/ .. ` should have the same
> > > > > > perf_event_attr. Both patch series achieve this but this one do=
es it
> > > > > > with consistency, and from what I see it, the support of 3 vend=
ors.
> > > > >
> > > > > Right, it's not consistent. Maybe we need a different uniq event=
name
> > > > > for extended (standard) events. How about "cycles(cpu_core)"? I=
guess
> > > > > we don't want to add a space between the PMU and event names to a=
void
> > > > > potential user impact when they parse the output.
> > > >
> > > > We could and it would very likely break tooling. The intent is that
> > > > cpu-cycles matches cpu_core/cpu-cycles/ and cpu_atom/cpu-cycles/ an=
d
> > > > they are expected to all be the same event. Currently with the PMU
> > > > they are sysfs encoded but without a PMU they are legacy encoded bu=
t
> > > > printed (uniquified) as if they were with a PMU and sysfs encoded.
> > > > This is misleading.
> > >
> > > Hmm.. I don't know what's the correct way to handle this. Can we
> > > change it not to use extended standard events and to convert to sysfs
> > > events then?
> >
> > Tbh, I think a lot of this is coming down to 1 event, cycles. It is
> > the only unambiguous legacy event. If we make cycles only mean core
> > PMU cycles (ie cpu_core, cpu_atom on hybrid, cpu on non-hybrid) then I
> > think this is matching what you are expecting to happen. I mean we
> > only match cycles as legacy first and everything else is sysfs/json
> > first and legacy last. I think other legacy events cpu-cycles aren't
> > special and don't get legacy first treatment. Having just 1 special
> > legacy only event cycles is a lot less offensive to me than having say
> > branch-prefetch-read also be legacy. We accept cycles is a minefield
> > and special, but it is unique in this.
>
> Well.. I think cycles is an alias to cpu-cycles so they are the same.
> So it's not about special casing 'cycles'. Any PMU may add conflicting
> event names to sysfs (which is discouraging though).

So it has been standard for Intel to have a cpu-cycles sysfs event:
```
$ cat /sys/bus/event_source/devices/cpu/events/cpu-cycles
event=3D0x3c
```
I'm only aware of ARM using cycles as an event name and they also use
cpu_cycles, I wish they'd pick a lane (preferably not the one that
conflicts with a legacy event name).
I'm not particularly keen on having cycles not be wildcard (other than
for core PMUs) and meaning the legacy encoding. The issue is that the
legacy encoding will break broken PMUs like on older Apple-M linux,
and what to do in the RISC-V case?
I can understand not wanting to change what users see and I think that
may be the only expedient way to do it. I don't think anyone cares
about the cpu-cycles event name and on Intel it seems they'd prefer
the sysfs encoding, hence advertising the event.

Thanks,
Ian

> Thanks,
> Namhyung
>


Return-Path: <linux-kernel+bounces-673816-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7A32541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:43:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 9A1AB189AD99
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:43:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B384E221DB6;
Wed, 4 Jun 2025 21:43:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b="hsj4wWOb"
Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azolkn19011024.outbound.protection.outlook.com [52.103.12.24])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83C28320F;
Wed, 4 Jun 2025 21:43:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.12.24
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749073408; cv=fail; b=PRCOS4qpQryTU8UxGW915Rw5dyhy1drK83Kl2N7IONnyFJkahI8QpEWSZeQzZEUSyl3zz7pOom76nwEs5LBudvyDofUgeL7mf8C29Awj/rouT4QGaiNv9z+yUV/Ohv2aKPJBN1T2VQb071wibuLFfhosiUPWJvbTlszbcthvq1w=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749073408; c=relaxed/simple;
bh=zNYBKVzGoUxL/nhe8759UnEYppm2OYllY8xoS2LUCNo=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=JIDm2J5RBX7B/tE9mjmXaoD8+dAQis/9oTsr7eCtUG8SuwRKDY9MYFcuH8NJLnU3ndGZIKDBAMXTZMyBVhtbFVt2ZWaJvT0vFFRNYTlCp/bwCjW8tk52Gx1y7nn9PaoO03FQCZ+lmfqxT9xCyTcZrfHjrGdGwQBTM2t1W34OJ1g=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com; spf=pass smtp.mailfrom=outlook.com; dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b=hsj4wWOb; arc=fail smtp.client-ip=52.103.12.24
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=outlook.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=QRFT++HTWa/J2trQasHDTkwl700LC+tkV6XHQ6zwEVHKD+tiZbxKLwkPFH082F6IkQ8D9nk0zZW8dxM6oTTlYHTX6p4+QTHjA4/4GA+8xOuASGD/oOKPx6dj1w12rSTtiwnQRe8LxUB+wNpYPERWx81dzw/QDAzYoOThTzwBpiwOH3kRSmpZ2vOR1MOV3vRRpAedfXvFhkcAsIKwLjJX/Ys5gephRKjnAcnbDQRVSEZ8ywflfxgWLx9eZzsNYNhxTNn+l/5DKdeJGMphbh/qVTjfRF6wC8TEN1jW8HTNydRuR1rmszsg9WBDmm6Dza+6rZQGNREtVT3MlxWF6lS8xQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=NVZLSlxhRdJSK2mqy3ybRHiOiTxR7VPrYODf2QV7k/A=;
b=FQWaWc9Qmyhx9aDC/DKRA1znV1YYN1+KKkiwlhQdZGSoX4s4OxUqx2c8/qPZe57vWA9PDilzN44vP8VkcvCP7SxzBY9UAG8h8kmQqmwECElOgpU9ELhHImaEYZmfXUBTj8WrNWWcUDWObPOVy1zUzYOyrhW8HaD/SVnuJDr8NgCBNbLzpAYe4B1hC7zm8ADxqnCGoz6qFWwuur2yWOdnKENtP4DV4bvM4AZvOrP+q2LoGI61sG92lrL7d6Y3LTtM3B1nJjkrWpFrWv2SqW0vL0mSJVCoatH5z9c2GPsXvhkVCEQFVBBz04ObopZIe99yrvVg3iJ9+n2JKb1VTTXqZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=NVZLSlxhRdJSK2mqy3ybRHiOiTxR7VPrYODf2QV7k/A=;
b=hsj4wWObyR1ne4vy3rRaK8OSOT0Guly195xKJ28BJbfUSz4jGiWCp/Esbcuo0x0NMHNi3GurbR2G7Eh3UoYcfqQKKvr710wp6ohXqgIbOqCSHblvXKimvtLKgOFJmHJy3mfy/gPy7RNPJaIiB9ISW/Xn6dRx/QZGBTVtlvihPsnZ1WljudZGAT9BicwhgQqAxIGui8EmAwO7V0E4QvvcrJulJhRpp6DxZKf06/FE2dWvOUXYR7n/cfVQLkihqIGgpM60NAbQTgjMd47GHm4dP6NKWceR/aBgEHQsh4W3DKHWlzvmgATZ74RRsPO+m1/4UCkOnayBd6513WeuP4qKVw==
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
by CH0PR02MB8119.namprd02.prod.outlook.com (2603:10b6:610:10c::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Wed, 4 Jun
2025 21:43:24 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com
([fe80::cedd:1e64:8f61:b9df%4]) with mapi id 15.20.8813.016; Wed, 4 Jun 2025
21:43:23 +0000
From: Michael Kelley <mhklinux@xxxxxxxxxxx>
To: Simona Vetter <simona.vetter@xxxxxxxx>, Thomas Zimmermann
<tzimmermann@xxxxxxx>
CC: David Hildenbrand <david@xxxxxxxxxx>, "simona@xxxxxxxx" <simona@xxxxxxxx>,
"deller@xxxxxx" <deller@xxxxxx>, "haiyangz@xxxxxxxxxxxxx"
<haiyangz@xxxxxxxxxxxxx>, "kys@xxxxxxxxxxxxx" <kys@xxxxxxxxxxxxx>,
"wei.liu@xxxxxxxxxx" <wei.liu@xxxxxxxxxx>, "decui@xxxxxxxxxxxxx"
<decui@xxxxxxxxxxxxx>, "akpm@xxxxxxxxxxxxxxxxxxxx"
<akpm@xxxxxxxxxxxxxxxxxxxx>, "weh@xxxxxxxxxxxxx" <weh@xxxxxxxxxxxxx>,
"hch@xxxxxx" <hch@xxxxxx>, "dri-devel@xxxxxxxxxxxxxxxxxxxxx"
<dri-devel@xxxxxxxxxxxxxxxxxxxxx>, "linux-fbdev@xxxxxxxxxxxxxxx"
<linux-fbdev@xxxxxxxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "linux-hyperv@xxxxxxxxxxxxxxx"
<linux-hyperv@xxxxxxxxxxxxxxx>, "linux-mm@xxxxxxxxx" <linux-mm@xxxxxxxxx>
Subject: RE: [PATCH v3 3/4] fbdev/deferred-io: Support contiguous kernel
memory framebuffers
Thread-Topic: [PATCH v3 3/4] fbdev/deferred-io: Support contiguous kernel
memory framebuffers
Thread-Index:
AQHby/4dA8oNLnhKakm3U+ZOuvHFDrPvrtEAgAEJQeCAAFCFAIAAuDlwgAD4GoCAAG28AIAAbZyQ
Date: Wed, 4 Jun 2025 21:43:23 +0000
Message-ID:
<SN6PR02MB415702B00D6D52B0EE962C98D46CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250523161522.409504-1-mhklinux@xxxxxxxxxxx>
<20250523161522.409504-4-mhklinux@xxxxxxxxxxx>
<de0f2cb8-aed6-436f-b55e-d3f7b3fe6d81@xxxxxxxxxx>
<SN6PR02MB41573C075152ECD8428CAF5ED46DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<c0b91a50-d3e7-44f9-b9c5-9c3b29639428@xxxxxxx>
<SN6PR02MB4157871127ED95AD24EDF96DD46DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<9a93813c-4d7c-45ef-b5a2-0ad37e7a078a@xxxxxxx>
<aEBcCjMWZJgbsRas@phenom.ffwll.local>
In-Reply-To: <aEBcCjMWZJgbsRas@phenom.ffwll.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|CH0PR02MB8119:EE_
x-ms-office365-filtering-correlation-id: 0f04a5eb-f1c0-45f2-9110-08dda3b0d4c4
x-microsoft-antispam:
BCL:0;ARA:14566002|8062599006|19110799006|15080799009|8060799009|461199028|440099028|3412199025|12091999003|102099032|56899033;
x-microsoft-antispam-message-info:
=?us-ascii?Q?EtJVUrO4FkgHWSFtSluTPhYjp8ysEKmw4WerJh5B/KWqymTo5jbhfQA20n0D?=
=?us-ascii?Q?j60mva9BkrI9Hn8K1Tw2twQvhg29xgk4rZV5k6aIEPeQtURWfweTEW5lDIPF?=
=?us-ascii?Q?BOA9z5BCSoapNbf3Ueupr2lZ//PjgyjJaQoHI5AteYsmZhX3YAvF96LJkU3w?=
=?us-ascii?Q?9keOwyTCTz11RRJDg05qHcgU+DBezywZRAoIiwM9nS1s4kraJkliHLNumRuV?=
=?us-ascii?Q?WtqTTfm0RuGzsQjksB3qY9a5/BcnEMGtY12en1wFXROIJPbVqeADRRHMwnkv?=
=?us-ascii?Q?RSvDt04eyzOH395JKu0m0kIWpoZY5IiyHUkQnnnFbvDf0XQVmzvjBKYoT4O8?=
=?us-ascii?Q?TqrMUVztddP5TdQ1T5wqXLijAa0lIDqBE1JszPQBW2hqgd+6IaNWvitCFAsy?=
=?us-ascii?Q?a/apXUrcxWVk/Utf48KU3bcvirdoduVUEgWdbY5l7M1qHaTCswtFDHJC2ujE?=
=?us-ascii?Q?t7C07WeFecbtzJW0rNAP52Nv5KAipUOvjonPc+VRqv7hCKdVqGGIryIG4d9k?=
=?us-ascii?Q?7rb5YTch4uidwMb2nUX8cvbxuK4RMO2vJbnGf1dKWNzyzhsubUUUcZqHR52e?=
=?us-ascii?Q?fPCSTuIabFlrLBo8ZXIHHqiuQhcKfJ0w2vKAjYzE/pf7NMnPJAddKt92V/9m?=
=?us-ascii?Q?nD4XE7UMf154272tXOo+Xa5nIrRAD+FlfvusjCOEMve05Q46JG/pngxEU1ir?=
=?us-ascii?Q?KvgwVSm9ykQ6klICwLKWo01NltMwQqBL8OYi/dSD+kVmFzm05PH/TkbgtItV?=
=?us-ascii?Q?l/sAHZA4QwwlCxihgKeOPITScvnq02tUy6RxvOPDbyCdv7C7CCxZ0AjdJ6Ta?=
=?us-ascii?Q?DlO/AnnJWxmL62RwuSizw035ISUQeO6Ux0FAhw4LWexMbqq4wRAfyPOyrSWf?=
=?us-ascii?Q?Ul3Rg4tmvBdi5IeNyeuWJH3CLcMW8X7UjSfljqTKQ2Mtonp7YzmMIyXpZblm?=
=?us-ascii?Q?bB5Zv/a1rKG6SNyqbEcVeKYlV8QFraGSFNQVWZCGum2aHm37M5Ak7VSGK7MO?=
=?us-ascii?Q?vjSaSFQcNd8KA5D+dEV68WOJjITHfv09sCJk93HOnir/HotqZZUgAGLuJ9EK?=
=?us-ascii?Q?mmJJknNl0d8ItA+D3Qo/filQSvJNfedQYMn3QvgaSX8mI6fRwoo=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?us-ascii?Q?7f07QgeZ5OADJE1mmSguYrA+zK+agxkVxfksPB2p1Up4/UZrhaIOob9803BF?=
=?us-ascii?Q?V8Z5HXbJtC6qBITuZepSARO8w9n0CBYZJQSxZKPSXZl//p7wG39KXqo/h6cV?=
=?us-ascii?Q?/NeWy4mMROIXe7brrJD2in57YRkxpEGudbLQ1c8lmMhGInuPBIxjip2Oge62?=
=?us-ascii?Q?YPz/WmmYPVLXXZqsen7QkFYBVbYScnocUhS01ypKLvDXMMhzk7ZyKHnuzdLu?=
=?us-ascii?Q?RAyUKVSgQ6zhLNLol0VMwWLMKDsKe/ykPf8yqlaaQWxbHNmNC9o7zu0f8OF+?=
=?us-ascii?Q?vvVU50qPRvOWNPYcMo2l4cB+8QzkGHalmDKLRi0ZXkKNciDuynJlRtWXAoPd?=
=?us-ascii?Q?0Y5D5j4mhY1tGGSPkzFQRFkkbyifiVQRTbqUNXXgUDzDFbKSEnp+eXJkT1J2?=
=?us-ascii?Q?Y0IuYcjTSA9woFj/fEYgNHQrQ0myeJWY+96Ox5OTVumXRngXA/yqGQmtzu2r?=
=?us-ascii?Q?04VRkO9VQPqiiMSiF0NwhX20kICEeRzaes/AoNIdinfN0NwBHNaONN5vMR6b?=
=?us-ascii?Q?QBVDhyncFpHLsfjH1AfgTIrb0zXP9owX9HOJ/27rbuwJs9uSPrmbs7/vHtz9?=
=?us-ascii?Q?xdKK2K4Uii0uPPhFKxN03mtUtWJKXzT3tTE+OWxIt8Ak6SWS0fJIs0/rQsKO?=
=?us-ascii?Q?TvIYGSiW7QXEhriilbJLuihxzWS1YmtIo9e7BBDinkqyxWhH5ARg5NtV14uc?=
=?us-ascii?Q?xXyXToKvswE/i1tL2zSUM80/GKggGMVqKzOmNCmwS7GLmeywRrnyCY9htjSm?=
=?us-ascii?Q?NQT8B8KUAvPEgXtBJQ6HMtS+WaK+I6A8n3lccVAxnbzdmr4lj8mUM1kMEtvB?=
=?us-ascii?Q?J2VZuqjhZLFkuBLNXgZPmOZU1DNbRd7h3u668PoRrBTfvRDMME251G9blVm2?=
=?us-ascii?Q?ELF6h2oarxskX/hitYWcPUEdgIFEPGJxcKnvnNHLfdoBwnoZJl+3Dsk/t3d2?=
=?us-ascii?Q?aID6vn86PwJWbOOs2HnbQnoGWAFLmU7oWs40s0iq6zMuTjJkVQmiEA1AtIvW?=
=?us-ascii?Q?bh3cjdiI8+hz67/16yx+ElGBKhH1/DQxjeW2BTNReRhIN67c3qSIGxKdT6yw?=
=?us-ascii?Q?ExRhGx2xBs0c+wgvboTG4NZJaMBtpg6/tnlJIjtXvG/Vezzxlc1Y2F4GH4BI?=
=?us-ascii?Q?BRIOlIXPrIzpIGAbfdUuQ1as/u5dXT0frf3Mu+XYYdTlqQvbbem0KiCFMJNH?=
=?us-ascii?Q?CdtW2+RJEvwuQ2v4ZXI2/SuMlYwju/CeIL3zWuVKCJUtZOZvyEasXqjuN70?=
=?us-ascii?Q?=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f04a5eb-f1c0-45f2-9110-08dda3b0d4c4
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 21:43:23.5198
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR02MB8119
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Simona Vetter <simona.vetter@xxxxxxxx> Sent: Wednesday, June 4, 2025 =
7:46 AM
>=20
> On Wed, Jun 04, 2025 at 10:12:45AM +0200, Thomas Zimmermann wrote:
> > Hi
> >
> > Am 03.06.25 um 19:50 schrieb Michael Kelley:
> > > From: Thomas Zimmermann <tzimmermann@xxxxxxx> Sent: Monday, June 2, 2=
025 11:25 PM
> > > > Hi
> > > >
> > > > Am 03.06.25 um 03:49 schrieb Michael Kelley:
> > > > [...]
> > > > What is the motivation behind this work? The driver or fbdev as a w=
hole
> > > > does not have much of a future anyway.
> > > >
> > > > I'd like to suggest removing hyperv_fb entirely in favor of hypervd=
rm?
> > > >
> > > Yes, I think that's the longer term direction. A couple months ago I =
had an
> > > email conversation with Saurabh Sengar from the Microsoft Linux team =
where
> > > he raised this idea. I think the Microsoft folks will need to drive t=
he deprecation
> > > process, as they need to coordinate with the distro vendors who publi=
sh
> > > images for running on local Hyper-V and in the Azure cloud. And my
> > > understanding is that the Linux kernel process would want the driver =
to
> > > be available but marked "deprecated" for a year or so before it actua=
lly
> > > goes away.
> >
> > We (DRM upstream) recently considered moving some fbdev drivers to
> > drivers/staging or marking them with !DRM if a DRM driver is available.
> > Hyverv_fb would be a candidate.
> >
> > At least at SUSE, we ship hypervdrm instead of hyperv_fb. This works we=
ll on
> > the various generations of the hyperv system. Much of our userspace wou=
ld
> > not be able to use hyperv_fb anyway.

Good to know. Red Hat has made the switch as well. The Ubuntu images
in Azure have both hyperv_fb and hyperv_drm. I don't know what other
distros have done.

>=20
> Yeah investing into fbdev drivers, especially when some mm surgery seems
> needed, does not sound like a good idea to me overall.
>=20
> > > I do have some concerns about the maturity of the hyperv_drm driver
> > > "around the edges". For example, somebody just recently submitted a
> > > patch to flush output on panic. I have less familiarity hyperv_drm vs=
.
> > > hyperv_fb, so some of my concern is probably due to that. We might
> > > need to do review of hyperv_drm and see if there's anything else to
> > > deal with before hyperv_fb goes away.
> >
> > The panic output is a feature that we recently added to the kernel. It
> > allows a DRM driver to display a final error message in the case of a k=
ernel
> > panic (think of blue screens on Windows). Drivers require a minimum of
> > support to make it work. That's what the hypervdrm patches were about.
>=20
> I'm also happy to help with any other issues and shortfalls of drm vs
> fbdev. There are some, but I thought it was mostly around some of the low
> bit color formats that really old devices want, and not anything that
> hyperv would need.

You've set me up perfectly to raise an issue. :-) I'm still relatively new
to the hyperv_drm driver and DRM in general, compared with hyperv_fb.
One capability in fbdev is deferred I/O, which is what this entire patch
series is about. The hyperv_drm driver doesn't currently use anything
similar to deferred I/O like hyperv_fb. I don't know if that's because
hyperv_drm doesn't make use of what DRM has to offer, or if DRM doesn't
have a deferred I/O framework like fbdev. Do you know what the situation
is? Or could you point me to an example of doing deferred I/O with DRM
that hyperv_drm should be following?

I ran a quick performance test comparing hyperv_drm with hyperv_fb.
The test does "cat" of a big text file in the Hyper-V graphics console. The
file has 1024 * 1024 lines, each with 64 characters, so total file size is
64 MiB.

With hyperv_fb the test completes in 24 seconds elapsed time, with
24 seconds of system CPU time. With hyperv_drm, it takes 34 seconds
elapsed time, but with about the same 24 seconds of system CPU time.
Overall this difference isn't huge, and probably isn't that noticeable
when doing human-scale work (i.e., 'dmesg' outputting several
hundred lines in 0.19 seconds vs. my test doing 1M lines) on the Hyper-V
graphics console. To me, the console doesn't feel slow with hyperv_drm
compared to hyperv_fb, which is good.

Nonetheless, there's an underlying issue. A main cause of the difference
is the number of messages to Hyper-V to update dirty regions. With
hyperv_fb using deferred I/O, the messages are limited 20/second, so
the total number of messages to Hyper-V is about 480. But hyperv_drm
appears to send 3 messages to Hyper-V for each line of output, or a total o=
f
about 3,000,000 messages (~90K/second). That's a lot of additional load
on the Hyper-V host, and it adds the 10 seconds of additional elapsed
time seen in the guest. There also this ugly output in dmesg because the
ring buffer for sending messages to the Hyper-V host gets full -- Hyper-V
doesn't always keep up, at least not on my local laptop where I'm
testing:

[12574.327615] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] *ERRO=
R* Unable to send packet via vmbus; error -11
[12574.327684] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] *ERRO=
R* Unable to send packet via vmbus; error -11
[12574.327760] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] *ERRO=
R* Unable to send packet via vmbus; error -11
[12574.327841] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] *ERRO=
R* Unable to send packet via vmbus; error -11
[12597.016128] hyperv_sendpacket: 6211 callbacks suppressed
[12597.016133] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] *ERRO=
R* Unable to send packet via vmbus; error -11
[12597.016172] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] *ERRO=
R* Unable to send packet via vmbus; error -11
[12597.016220] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] *ERRO=
R* Unable to send packet via vmbus; error -11
[12597.016267] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] *ERRO=
R* Unable to send packet via vmbus; error -11

hyperv_drm could be fixed to not output the ugly messages, but there's
still the underlying issue of overrunning the ring buffer, and excessively
hammering on the host. If we could get hyperv_drm doing deferred I/O, I
would feel much better about going full-on with deprecating hyperv_fb.

Michael


Return-Path: <linux-kernel+bounces-673817-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 42DD641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:45:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 5FE97173A4F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:45:33 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E25B8213E76;
Wed, 4 Jun 2025 21:45:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="aVv3UHTQ"
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C81311EDA0B;
Wed, 4 Jun 2025 21:45:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749073526; cv=none; b=sCGsZ9XGt1KtsPooiX/KbITkQrzKWp3SxYcY8nOJOY24B5oF6WceIgbuJ6m9G614UMpBfKKrTj/yYrXXTcWwNBzn6lFZXl43DcrlHTqa5JKRRDe8TVCayWVSolavKB4E7xmTPX/ilwdzMy/OsAOPhUm24BCRETeh58Wxt1ENT8o=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749073526; c=relaxed/simple;
bh=76PKshXorjo4ztuoC1v8XHUaPlWxHm0iUJjzsuQeqDY=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=HBvIMR4J9cUyGKfagjg8moU9HwRJm9ZhwYpQcl9DnFgDr2GST65YtJoengwpasdYixs+Jy5jwC/6OcTjFuO4z3fVm7yd3PYyOWdEbHCkOUVcCfWkmqrCxLdAU/sDYi9ZEJXstYkcpKNUWZW9bndZqn3C2DJm9rbWtGChp9ER8BY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=aVv3UHTQ; arc=none smtp.client-ip=13.77.154.182
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com
Received: from romank-3650.corp.microsoft.com (unknown [131.107.160.188])
by linux.microsoft.com (Postfix) with ESMTPSA id 3CE6B201FF58;
Wed, 4 Jun 2025 14:45:24 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 3CE6B201FF58
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
s=default; t=1749073524;
bh=8ZEvYXDUXqUYL2U4yUoW9/H/AvBZH66drMq9cCnWHGQ=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=aVv3UHTQKVgOQ5XsgnaygQFe03yxAZNtEsH3jGkDUPvYuK34m4Z7khFKcra3lSHee
XhLPJqXAbk34Fd+VuAGMjmGmH42rlQEZXAg3DL7+J7tnfZuV3zI1sYAuo2V7xnAJVa
1kCbZehw9I9ISiM1y4Am8D2DN/7jVGD5QHx83oCQ=
From: Roman Kisel <romank@xxxxxxxxxxxxxxxxxxx>
To: anirudh@xxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-hyperv@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
lpieralisi@xxxxxxxxxx,
mark.rutland@xxxxxxx,
sudeep.holla@xxxxxxx,
apais@xxxxxxxxxxxxx,
benhill@xxxxxxxxxxxxx,
bperkins@xxxxxxxxxxxxx,
sunilmut@xxxxxxxxxxxxx
Subject: [PATCH] firmware: smccc: support both conduits for getting hyp UUID
Date: Wed, 4 Jun 2025 14:45:21 -0700
Message-ID: <20250604214522.3523-1-romank@xxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250521094049.960056-1-anirudh@xxxxxxxxxxxxx>
References: <20250521094049.960056-1-anirudh@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

> From: Anirudh Rayabharam (Microsoft) <anirudh@xxxxxxxxxxxxx>
>
> When Linux is running as the root partition under Microsoft Hypervisor
> (MSHV) a.k.a Hyper-V, smc is used as the conduit for smc calls.
>
> Extend arm_smccc_hypervisor_has_uuid() to support this usecase. Use
> arm_smccc_1_1_invoke to retrieve and use the appropriate conduit instead
> of supporting only hvc.
>
> Boot tested on MSHV guest, MSHV root & KVM guest.
>
> Signed-off-by: Anirudh Rayabharam (Microsoft) <anirudh@xxxxxxxxxxxxx>
> ---
> drivers/firmware/smccc/smccc.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/firmware/smccc/smccc.c b/drivers/firmware/smccc/smccc.c
> index cd65b434dc6e..bdee057db2fd 100644
> --- a/drivers/firmware/smccc/smccc.c
> +++ b/drivers/firmware/smccc/smccc.c
> @@ -72,10 +72,7 @@ bool arm_smccc_hypervisor_has_uuid(const uuid_t *hyp_uuid)
> struct arm_smccc_res res = {};
> uuid_t uuid;
>
> - if (arm_smccc_1_1_get_conduit() != SMCCC_CONDUIT_HVC)
> - return false;
> -
> - arm_smccc_1_1_hvc(ARM_SMCCC_VENDOR_HYP_CALL_UID_FUNC_ID, &res);
> + arm_smccc_1_1_invoke(ARM_SMCCC_VENDOR_HYP_CALL_UID_FUNC_ID, &res);
> if (res.a0 == SMCCC_RET_NOT_SUPPORTED)
> return false;

The patch is a strict superset of the existing functionality.
Validated on baremetal Linux and KVM, Apple M3 nested virt., various client and
server ARM64 systems running Windows ARM64 with VMs managed by Hyper-V and OpenVMM.

Looks good to me.

Tested-by: Roman Kisel <romank@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Roman Kisel <romank@xxxxxxxxxxxxxxxxxxx>


Return-Path: <linux-kernel+bounces-673818-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A58B941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:47:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 728741896693
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:47:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B22CA212B28;
Wed, 4 Jun 2025 21:47:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lmpgX2+o"
Received: from mail-yw1-f169.google.com (mail-yw1-f169.google.com [209.85.128.169])
(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 9A71D14E2E2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:47:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.169
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749073623; cv=none; b=gHoq8/3ZppvytX3H2+8CJyrG4h42kd0dpW3pRhWkw8rKxaHfG+cq+e4TzrBHHuPd4nllsh5LwS4QarbRoD9CaHXR+Su/kBo+VqF3DBs9Y3Hv0btDdTGS1HwJou5tOpseKT5nYZmpfjWEjcZrWVK1NCp4COsJ6ju25Xqjxjp49QU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749073623; c=relaxed/simple;
bh=XA9XihKIsnj9/MLkUos7dtn103/ydAh2Lk/L/w5fmG0=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ldzA830zqFdCNTmDCwMOpCXNIwNN5bAia8HJHKPSCgUUXvitXgzmkCvB866Yl6MMBkg+oexxIPAX8537JIyb8zgRYp/7e89xkO27tOupXpKBxeRelW+t9448z5xRqwfn9ZmtFvaa3YzECCVDQCAb47fy/1SFDrJHgqn1WpEOTjs=
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=lmpgX2+o; arc=none smtp.client-ip=209.85.128.169
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
Received: by mail-yw1-f169.google.com with SMTP id 00721157ae682-7086dcab64bso3682837b3.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 14:47:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749073620; x=1749678420; 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=0PpCKpaMta1amgTiBVrzccEdgEswaJDv3Vwd4G2JXAw=;
b=lmpgX2+ov8pj5AONlcZJTKiC9Zp4+l2hDi66hmgRF6P80Ah8kyJ+HCclIAatMstKvm
aW/AShY8wul+3Uqrdd0wPFZOM5F4VHO5j3kMNK23fxd3RsjE/UU5tBUklsYyzF9iAJ7D
sr2sLxKrbs/xKokaMNz+mac7Wra84GgNrzN4nSlhCzYAzTAzEkeRn8kMaZM9YidICbx0
yEyZVurJGzrJCASnzhtELglh+bWKbYstldaw8uHUYwbfTkVEZlOmt2SJT1A7uVREmSqb
J3xerjKoQonTgGMbVdT9rNA6Uqb3VpIqX1QEfIh44WAvKDCdhvs0vSLNeJFVG4U1qHsp
I8gg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749073620; x=1749678420;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=0PpCKpaMta1amgTiBVrzccEdgEswaJDv3Vwd4G2JXAw=;
b=SfGboYBlAdZaMKb3n4dA4DdITJiavHTYbAVzSRHhpTHpnaIXMw8CgR5YMKUeON7BdF
Dk9+e8kMPfc4h0eZiYfvy1SoM237PyOa33mQr2hNyldoEIVaaev3yjUSRyuSyKkkIQcb
gEm1y65kRygYUIKfxzI3NU4/nwEJo9kYYnOsG4VJPJ3+/HWku/6uSJITMJZfCUykmJ0S
odRXmspW+7UBTI/CLEGWqg5EBt1jXf3lqW5tpEpQIMxQ1+0UrVueSi8E3EsicUk0DTjv
dWuiBxQHWctG8x437anIXLA5G/AAx73XliCaGLi/BwDQz0CPWhZKcUv+y/TfDaaxOBzM
RN+w==
X-Gm-Message-State: AOJu0YykgWcz60Y2KXV1Mbx3VIv0EabhVTOv3ztu5a3ukv3lwMnPJRg5
3knX+h4+cAYhpf10DwTQHGHwcEO5KJC9kwLPiGtHqIdj52ASQg6hw0w8
X-Gm-Gg: ASbGncsGyP2Vg+kqQ9DZ0D7LvcPPUFZGXzaOYhZzomTURWDyj1/dUkLxWbjSvYLLz32
1kT7MfmmjsHnS6PVvch5pGt7IKNNby5VhyEzyVBWknmmPz6r082oujJWF6ixGVDOCpQwYMlly0T
9Tg75kROsWmuFREX6v1wFBnlyKCO3Go6z5/g3cff0P48ZdvClN+MRdBoi1T2inGU/0Diyb91knn
e4gwL2q+2o5gLmQ3COrCPyEfEsrH0G/GTNtTe5b77mhV//SdslgkNAYMSpgvYtfxvbXtaaqGzG9
tEgzHc9Y4vmjD9wf93Zsfs5/52QxEWV+DkWDM6Vhmsk+j/fafV6r+e63q56cuWjnXDBvnov2c/l
MbqmUrCi43Is=
X-Google-Smtp-Source: AGHT+IGi4TfH9Ic0J+1Dp6iVwMaSWrMWLP9aLsPpx+8LdekKPmkb3XOUX1tG99o9M7tPDcZ+2mbjXQ==
X-Received: by 2002:a05:690c:6285:b0:70e:2d77:3cfe with SMTP id 00721157ae682-710d99fd8f7mr59419497b3.2.1749073620483;
Wed, 04 Jun 2025 14:47:00 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8ac0f42esm31529627b3.68.2025.06.04.14.46.59
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 14:46:59 -0700 (PDT)
Date: Wed, 4 Jun 2025 17:46:59 -0400
From: Yury Norov <yury.norov@xxxxxxxxx>
To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx,
Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>,
John Stultz <jstultz@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>
Subject: Re: [PATCH 1/3] bitmap: generalize node_random()
Message-ID: <aEC-04zhtWh04b_F@yury>
References: <20250604212125.25656-1-yury.norov@xxxxxxxxx>
<20250604212125.25656-2-yury.norov@xxxxxxxxx>
<20250604143442.37635ce63e50a7425a390c2e@xxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604143442.37635ce63e50a7425a390c2e@xxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 02:34:42PM -0700, Andrew Morton wrote:
> On Wed, 4 Jun 2025 17:21:21 -0400 Yury Norov <yury.norov@xxxxxxxxx> wrote:
>
> > Generalize node_random and make it available to general bitmaps and
> > cpumasks users.
>
> Seems sensible.
>
> > --- a/lib/find_bit.c
> > +++ b/lib/find_bit.c
> >
> > +unsigned long find_random_bit(const unsigned long *addr, unsigned long size)
> > +{
> > + int w = bitmap_weight(addr, size);
> > +
> > + switch (w) {
> > + case 0:
> > + return size;
> > + case 1:
> > + return find_first_bit(addr, size);
>
> Is the `1' special case useful? The `default' case should still work OK?

find_first_bit() is faster that find_nth_bit(), so this is a
performance optimization. See 3e061d924fe9c7b4 ("lib/nodemask: optimize
node_random for nodemask with single NUMA node").

> > + default:
> > + return find_nth_bit(addr, size, get_random_u32_below(w));
> > + }
> > +}
> > +EXPORT_SYMBOL(find_random_bit);
>
> Some kerneldoc, please?

Indeed, will send v2.

> Of course, the hard-coding of get_random_u32_below() might be
> unsuitable for some future potential callers but we can deal with that
> if it ever occurs.

Can you please elaborate?

Thanks,
Yury


Return-Path: <linux-kernel+bounces-673819-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 40F3241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 17:59:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 359273A953D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:58:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 81B3C224240;
Wed, 4 Jun 2025 21:58:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b="aPOEKUh9"
Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazolkn19012055.outbound.protection.outlook.com [52.103.2.55])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 830EA1EB5DB;
Wed, 4 Jun 2025 21:58:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.2.55
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749074331; cv=fail; b=sCDpXKtKtOOEw+Y3Q8XbEoHKmg1dfw5AMYleXXRxVUhcU3ehB8J/LDXAb1D84nt4XgxMKh6gpA2vqNkZ42Ce9Q67TvJ89ebDLJUiz/9rvjiCVJMrR3I9+IY7xOBf0nrT4g6FNoMnMRnDZCwlqkUoIoV90MnfuFFIUy2oRL479o4=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749074331; c=relaxed/simple;
bh=SqpbO4RuESyFPPvZdG0vs5S/DuNbJsI/FtvWqdlETlA=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=H0Bdxi7WY5RPOon9C0SunQ/AbZ/C0ViTsttuFNzzuQ5S6W6TEGAqNuJqMzVJXsGHv/0CTUlFZKJgS3bsDr7a6zpkGIhK5d+E8GmMVr/1O8+xDTGpKcyeAjRI/dWt+gQpFb/Hmdc+wHhcWKDnhbvdZfSziQ5M3WPx71IzY5n8qdI=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com; spf=pass smtp.mailfrom=outlook.com; dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b=aPOEKUh9; arc=fail smtp.client-ip=52.103.2.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=outlook.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=jgKxaozTB0B7cNqygMkbia9e3HfF73V8mF0SzL+LtKoiysX7smdf4ghxvhbH1PBckxqx1P/fqyXPWFYzvhf/NQ5LPryFcIX/OPAsPiAT3cNSoAUmTUTqPQnIqMqCRGlIChWVtoU3vCnAos+yC4R7mFCO44ZKnDtXoog8UfehzJqweH13IB+FI5wpD0SQ6smbYYzZpWjLUppwQrEDW2k2uUtE3lp/6Qga71sxwHjA81DE8igGYWyAPCKbTB1mfgiiBQT1cQU+mX9bcA66pN/JMOZFDoIt23TAtZJW7y05NR4kqXBbL2UQkAqolDHsxn34E42RzwDveM2ula2SwWDCCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=SqpbO4RuESyFPPvZdG0vs5S/DuNbJsI/FtvWqdlETlA=;
b=lifiOq9Z4eJyhRCZVaRjQHGNpzXKyl7SeR1EMe7y1cuvIgTjedd68pXAefL7WjGi2+7U+labNA3NkMt4OfKwzQO1h6ofY8lIR6cSXwwCHsa3JHgTHkGW45dS3COv6L2tSJKDwuSdgtQihD2W3LcOXhhyI2oA9dMgKZw0IWMLVUCYOEskdpYECHj/vt1PyUZXL3lidIb2aldFQ3Rp7HPof/dNQTbk7biheZTkAZlPfaNsF08SkQlOGyTPIUKLg/NS55rNPjhPH9jWG+osxcY6LxBUtuypJGdl0G/gJxv74tP7YZ9QAFh+h2AQ6zyOBevlTqADd98UP5mk1MDkIKWhZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=SqpbO4RuESyFPPvZdG0vs5S/DuNbJsI/FtvWqdlETlA=;
b=aPOEKUh9+sd199mk1v4gI8BW7ikgHopTKPuJ9E9yr3irHphbBfTr8R5dJucle3pH+DGinI+jkh4ap9pFLWsaMB+ys6U7w/A6WchSNstQpvg6wQIyN2PPo/Lbkgesqs7WZ89I3KXV7i20I8JHGMeLQ8lncNOdXz4y7l+xg+pPxiMyYZtEjpGM3Sxxeek7Z177WOb6tcVsQMZEWtHNlOJ8Hh/qtLJfnSPHB79PEJalVisjPkGSHVripXvwfReZOPrN98xdaTig8BEPX+32L/SV6KlhjtXdfs7o5mYlcusUVfQyGw6KhiWykIL+/8vn9sfEDXZIfH1nFBBNjnHNroF3Xg==
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
by PH0PR02MB7319.namprd02.prod.outlook.com (2603:10b6:510:1e::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Wed, 4 Jun
2025 21:58:46 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com
([fe80::cedd:1e64:8f61:b9df%4]) with mapi id 15.20.8813.016; Wed, 4 Jun 2025
21:58:46 +0000
From: Michael Kelley <mhklinux@xxxxxxxxxxx>
To: Michael Kelley <mhklinux@xxxxxxxxxxx>, David Hildenbrand
<david@xxxxxxxxxx>, "simona@xxxxxxxx" <simona@xxxxxxxx>, "deller@xxxxxx"
<deller@xxxxxx>, "haiyangz@xxxxxxxxxxxxx" <haiyangz@xxxxxxxxxxxxx>,
"kys@xxxxxxxxxxxxx" <kys@xxxxxxxxxxxxx>, "wei.liu@xxxxxxxxxx"
<wei.liu@xxxxxxxxxx>, "decui@xxxxxxxxxxxxx" <decui@xxxxxxxxxxxxx>,
"akpm@xxxxxxxxxxxxxxxxxxxx" <akpm@xxxxxxxxxxxxxxxxxxxx>
CC: "weh@xxxxxxxxxxxxx" <weh@xxxxxxxxxxxxx>, "tzimmermann@xxxxxxx"
<tzimmermann@xxxxxxx>, "hch@xxxxxx" <hch@xxxxxx>,
"dri-devel@xxxxxxxxxxxxxxxxxxxxx" <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
"linux-fbdev@xxxxxxxxxxxxxxx" <linux-fbdev@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"linux-hyperv@xxxxxxxxxxxxxxx" <linux-hyperv@xxxxxxxxxxxxxxx>,
"linux-mm@xxxxxxxxx" <linux-mm@xxxxxxxxx>
Subject: RE: [PATCH v3 3/4] fbdev/deferred-io: Support contiguous kernel
memory framebuffers
Thread-Topic: [PATCH v3 3/4] fbdev/deferred-io: Support contiguous kernel
memory framebuffers
Thread-Index: AQHby/4dA8oNLnhKakm3U+ZOuvHFDrPvrtEAgAEJQeCAAGmQAIAAnClQgAHgR2A=
Date: Wed, 4 Jun 2025 21:58:46 +0000
Message-ID:
<SN6PR02MB41574078A6785C3E2E1A6391D46CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250523161522.409504-1-mhklinux@xxxxxxxxxxx>
<20250523161522.409504-4-mhklinux@xxxxxxxxxxx>
<de0f2cb8-aed6-436f-b55e-d3f7b3fe6d81@xxxxxxxxxx>
<SN6PR02MB41573C075152ECD8428CAF5ED46DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<e069436f-764d-464d-98ac-36a086297632@xxxxxxxxxx>
<SN6PR02MB4157A3F9E646C060553E5D90D46DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
In-Reply-To:
<SN6PR02MB4157A3F9E646C060553E5D90D46DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|PH0PR02MB7319:EE_
x-ms-office365-filtering-correlation-id: 1a9f3856-69ac-4186-616b-08dda3b2fadd
x-microsoft-antispam:
BCL:0;ARA:14566002|41001999006|8062599006|461199028|19110799006|15080799009|8060799009|102099032|440099028|3412199025|1710799026;
x-microsoft-antispam-message-info:
=?utf-8?B?Mkt4LzE1R3BWKy93a29NUDVMMkRZbVVRbFpWdGpGdkQ2U0k0UTRvUVMrQitm?=
=?utf-8?B?MER6YWhyQnNQZzlYaFZEWlREaWM2RFZJS29oUXZXR3NpNXBQRG9qWjFJRS9x?=
=?utf-8?B?UU0wbXhwUUFmUGYybzdoek5GZTR1TjZjczNOSDduMFFDSnc4RmhjQkNBMzdO?=
=?utf-8?B?ZDZFb1M0aDZwdUJ1RXNPWG5TbDZPaXM2WEJMckFhSkhaOEFLMExLK0E3alcy?=
=?utf-8?B?bklxSVE2eDRyR2ZuWXJ1Q0NKU2R0YmxDRkNpbUxUWHBpdkRocEx1VGhwcE1J?=
=?utf-8?B?dzkrbUxoMGVTNDl5NERxclAvSmRDNEVySGNZaUYySk1PN0w4REpsTk4rY2hp?=
=?utf-8?B?NVcyRzZ1czN1THYycDVkbFhkeE5hU3ltZHp6TnlqbUVmczR4UUVZS0dMSHQ4?=
=?utf-8?B?dERiaG1Sb0ZZYmFiL21JenY2TWh5dlo3N1B3ajNXSFR5QmFOa2VmNTAwajRw?=
=?utf-8?B?aENQejVWVHd1NHVmREROWEVudWViNmZTdTF3Y0g1aUhZdjBtbXNTWnVnbkpl?=
=?utf-8?B?SldGN3FGZG1JMnBzeVY1VUEwYTFwR2I3dFkxSjk5UElRTWVxWVNNNm95VCs0?=
=?utf-8?B?YzRQbkYzNWxPVmJHUXB0eHFoNldDOEtZOTlkaVMzQy9OYVdjTVkzUzdMeXY4?=
=?utf-8?B?aDR4WnpTWExpaUl6TkNqaDlIMjEyWHFBQ3JaSUtLMXAzaXBVem9wV2VrRWs1?=
=?utf-8?B?UnVFYXBZbk9VeU9kYm1EbjFkVUF6TUR3Q3NMUGF0U2hocTJPYTZsTVJ1U0or?=
=?utf-8?B?amR6SlZEK1BvRnFBT3prRDBvc2VoZFhiUHhzVXRLdytsRVZjQVpOZFplY1pR?=
=?utf-8?B?RlpuUVRGQ05mS2NnaDBqUWF4V1I1Nm5iRnlKRTVSb1FXOUxFeUlGQmMxY2s0?=
=?utf-8?B?OXRUZXRuTEhjTTFhYmcrcmtRcnZrYlhCc1g0MXVrL1RwNzJCZ1U1MndJczBG?=
=?utf-8?B?MUJlSk9tdFA0VFNIMFk5R2VIYUhjVC9lTHVhb0pFSGRxVFdmeDFFKzZBZlla?=
=?utf-8?B?OGV2VlFoTjVtUW05NU80Q0dVdDNwMjVlTXpRL0RqRllRYy9BWlNkYXFUZXQw?=
=?utf-8?B?d1FnWkMvRjZ5dCsxQkVkcHBOTkw1S296ZlI4c2JyNndEYjBDL01kTlZPT0Rv?=
=?utf-8?B?c0tzN0NtWGNpd3ZmZkU4K2xEUHFBbnhxWC9mMzViZ21PQUIrVk8rNHJkcCt4?=
=?utf-8?B?anlYc1gwUFhpcDdCNnVLYzJPK3psbzZ5MTBQTlJBZm12YUxsOEhFQXhKNWk2?=
=?utf-8?B?Mzlya0N5NVNzZDc3d1dXWjYwZjhzNk5Nc1NVaEk4NFlaMy9XVDhEWnRPZllw?=
=?utf-8?B?ai9GVmFlNUpLS1NvZDNyWHgvL3hIR2NYTmIrQnh0eDNocDdmQUFuRDBOUEJ0?=
=?utf-8?B?V1ZGQkVqUGtGR1l6OXhVNUtrOGZNSUxwSWpQeEVXYzROS2xjeFVTT0NWOUZJ?=
=?utf-8?B?N3BCbHdCVlA4QW12MlBZWjlmN2xtb3ZzT01zbTZ5Z0ZIRkQzMTNzRytpRFhV?=
=?utf-8?B?VXhRaEJGS09WTEQ2Q1BaanZQWWRQMlpuUTY3RDV6ODVabzF2a2JJM0F4Ukk2?=
=?utf-8?B?bnE4UT09?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?ODZZL1lkRzNieHVPaXViaDlCUnlkLzZ0cnhxbkhGOUxvdWFkc2tHTzRJekpR?=
=?utf-8?B?Z0cwUWZiS3pYUjM5TTd6eG9jekRrMUpzbnByMDI4R0w4S2I1ZDVYMVhUOEtI?=
=?utf-8?B?YXV0NGJIQ1N4bWZQZUNzeHcybnNvd1kxbmNRdXB6M3lGNmN4dlNyQjlMeUE2?=
=?utf-8?B?bGtwRnBIbkN1OVV2VmFFTGxWTm1WdXhUQTVMaEdhcUJYam5pV0U2UGV1Zkwr?=
=?utf-8?B?a0tveGNFM1VvR1RZRWVwUE1SWWhzU3FaZ2xaUnRRNW9xR0M3MWowMzdidHhJ?=
=?utf-8?B?WVo1UThpenZnUDdHb3hoWHRMOGxlTG05cUdabE1XejlzSm1EL2pEYVQzZHVU?=
=?utf-8?B?d3F2cDQ4WEFlSnZoUVRyZDdIRFI0a1FsVW1EdENxOGpLS1BoWkl4S0RFY3B3?=
=?utf-8?B?YlBKQjFKZzRhUzVpZlVQOEcvdUhBNVlRSWNxbXJkSWRyVmdUUENBRnExSEhs?=
=?utf-8?B?OGlWc2IzNTkvYzhSNkZZOEZUYlo4YWtKemhJdnZzdERkSWs4VFZmejRxYTl5?=
=?utf-8?B?MGFQV0ZqZjNjS1hFQnpsVFJIMnAwUkU4eDJDODlxTGZmK04rQnUyQ096L2dw?=
=?utf-8?B?dUhpaUEzUWVrYWJHRjN6UmJsVC9rU1B3bHhmVXdEdlcvTzM0M2FVK2d6MFVK?=
=?utf-8?B?M2Y2cUU5bVFRdzFtRkJPNVZQRDdudS96MXBzSnNUSlpxTDVpVUc0aHJ4RVR2?=
=?utf-8?B?RlpqZVRNZHQxZzJJOUdDczFYRnB6S3hyYlZqMmVGMGVBY3lGTS91dVl1TTJP?=
=?utf-8?B?WjNtczkySHhjWTFxVzVvKzgrTHZiUnh6VjJpSm1zcHo1TXYvVXVlZXE2REc3?=
=?utf-8?B?SHdyY1YzS3JjclQ0b1ZUS3Z1T0dpbWJOK3JVaU1VcS9WR2FJclRPY0NTQmNC?=
=?utf-8?B?SGZ6R0FqQ2hzeW9wMzdsUERwdHdnRnlxS01CWkRZdmlqNEdFU3V5U2F1Vmtw?=
=?utf-8?B?VERGemtIbE9jdEJmWU55KzdhSDh5ZnA1WmcwR1FkZHBoZ0dOR2JMMEVqUW5N?=
=?utf-8?B?OUVGU1Z0Nk9Td0lEME9VOFl2cXBvZ0Nxd2V6MVIxWXRSQzBESll0OUE3OFhL?=
=?utf-8?B?TCtLL1I4SzlMR21jY3ZpZEQ3RWc1VC9HNW11WjQ2ZG1sRWo4WlBXbkt2WUpK?=
=?utf-8?B?VU44bEp3ejVseUJpWW15bW5YNWE0TDFNalAvZTBldzIxeUlFM2FzQ1pMK0hk?=
=?utf-8?B?TEpHa3VrbnRkdDFtbGd3YTl5ZG9hN1VwTFZoSlVSK1MrN2g4WElFZDU5WW1S?=
=?utf-8?B?M0picHNwRFAweENxeWRUdG9XMjl6UnNmTkUxdEo5WWx0OS9zZE16Z1hobmxX?=
=?utf-8?B?MUhhNjJnM3M1UndabWhqTjlxaUtYRWd3eUdUbm9wdlNGVVRmaEtIbjJXS1RH?=
=?utf-8?B?TkxqZXRwYWtxVTRPVWh4ZGZhbW5MVlBJVkdSNFZ3OU8xSFFjODBNYkZGYVhQ?=
=?utf-8?B?ZGFTWlN3QmNIRm5uNzFOa1JWVEhqeFpBV0xmL3FzT3IreHRPM2YwZkFteFhB?=
=?utf-8?B?alFBUVJ0SE5oY3ZkRmZJSFFxQklWc1ZuMHMwN0pYa1E2WVBucGZjd29pWjFE?=
=?utf-8?B?T0JlUTJPVHJac1VqSmdEazNZaEo0TVhnRnNSc1pEMm85NHZZTVlpL3hyWktz?=
=?utf-8?Q?vmzy1VScs02+qrwOTtO707T18dx9x2qXUvyB61ZfQVR8=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a9f3856-69ac-4186-616b-08dda3b2fadd
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 21:58:46.4661
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB7319
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

RnJvbTogTWljaGFlbCBLZWxsZXkgPG1oa2xpbnV4QG91dGxvb2suY29tPiBTZW50OiBUdWVzZGF5
LCBKdW5lIDMsIDIwMjUgMTA6MjUgQU0NCj4gDQo+IEZyb206IERhdmlkIEhpbGRlbmJyYW5kIDxk
YXZpZEByZWRoYXQuY29tPiBTZW50OiBUdWVzZGF5LCBKdW5lIDMsIDIwMjUgMTI6NTUgQU0NCj4g
Pg0KPiA+IE9uIDAzLjA2LjI1IDAzOjQ5LCBNaWNoYWVsIEtlbGxleSB3cm90ZToNCj4gPiA+IEZy
b206IERhdmlkIEhpbGRlbmJyYW5kIDxkYXZpZEByZWRoYXQuY29tPiBTZW50OiBNb25kYXksIEp1
bmUgMiwgMjAyNSAyOjQ4IEFNDQo+ID4gPj4NCg0KW3NuaXBdDQoNCj4gPiA+Pj4gQEAgLTE4Miwy
MCArMjIxLDM0IEBAIHN0YXRpYyB2bV9mYXVsdF90IGZiX2RlZmVycmVkX2lvX3RyYWNrX3BhZ2Uo
c3RydWN0IGZiX2luZm8gKmluZm8sIHVuc2lnbmVkIGxvbmcNCj4gPiA+Pj4gICAgCX0NCj4gPiA+
Pj4NCj4gPiA+Pj4gICAgCS8qDQo+ID4gPj4+IC0JICogV2Ugd2FudCB0aGUgcGFnZSB0byByZW1h
aW4gbG9ja2VkIGZyb20gLT5wYWdlX21rd3JpdGUgdW50aWwNCj4gPiA+Pj4gLQkgKiB0aGUgUFRF
IGlzIG1hcmtlZCBkaXJ0eSB0byBhdm9pZCBtYXBwaW5nX3dycHJvdGVjdF9yYW5nZSgpDQo+ID4g
Pj4+IC0JICogYmVpbmcgY2FsbGVkIGJlZm9yZSB0aGUgUFRFIGlzIHVwZGF0ZWQsIHdoaWNoIHdv
dWxkIGxlYXZlDQo+ID4gPj4+IC0JICogdGhlIHBhZ2UgaWdub3JlZCBieSBkZWZpby4NCj4gPiA+
Pj4gLQkgKiBEbyB0aGlzIGJ5IGxvY2tpbmcgdGhlIHBhZ2UgaGVyZSBhbmQgaW5mb3JtaW5nIHRo
ZSBjYWxsZXINCj4gPiA+Pj4gLQkgKiBhYm91dCBpdCB3aXRoIFZNX0ZBVUxUX0xPQ0tFRC4NCj4g
PiA+Pj4gKwkgKiBUaGUgUFRFIG11c3QgYmUgbWFya2VkIHdyaXRhYmxlIGJlZm9yZSB0aGUgZGVm
aW8gZGVmZXJyZWQgd29yayBydW5zDQo+ID4gPj4+ICsJICogYWdhaW4gYW5kIHBvdGVudGlhbGx5
IG1hcmtzIHRoZSBQVEUgd3JpdGUtcHJvdGVjdGVkLiBJZiB0aGUgb3JkZXINCj4gPiA+Pj4gKwkg
KiBzaG91bGQgYmUgc3dpdGNoZWQsIHRoZSBQVEUgd291bGQgYmVjb21lIHdyaXRhYmxlIHdpdGhv
dXQgZGVmaW8NCj4gPiA+Pj4gKwkgKiB0cmFja2luZyB0aGUgcGFnZSwgbGVhdmluZyB0aGUgcGFn
ZSBmb3JldmVyIGlnbm9yZWQgYnkgZGVmaW8uDQo+ID4gPj4+ICsJICoNCj4gPiA+Pj4gKwkgKiBG
b3Igdm1hbGxvYygpIGZyYW1lYnVmZmVycywgdGhlIGFzc29jaWF0ZWQgc3RydWN0IHBhZ2UgaXMg
bG9ja2VkDQo+ID4gPj4+ICsJICogYmVmb3JlIHJlbGVhc2luZyB0aGUgZGVmaW8gbG9jay4gbW0g
d2lsbCBsYXRlciBtYXJrIHRoZSBQVEUgd3JpdGFhYmxlDQo+ID4gPj4+ICsJICogYW5kIHJlbGVh
c2UgdGhlIHN0cnVjdCBwYWdlIGxvY2suIFRoZSBzdHJ1Y3QgcGFnZSBsb2NrIHByZXZlbnRzDQo+
ID4gPj4+ICsJICogdGhlIHBhZ2UgZnJvbSBiZWluZyBwcmVtYXR1cmVseSBiZWluZyBtYXJrZWQg
d3JpdGUtcHJvdGVjdGVkLg0KPiA+ID4+PiArCSAqDQo+ID4gPj4+ICsJICogRm9yIEZCSU5GT19L
TUVNRkIgZnJhbWVidWZmZXJzLCBtbSBhc3N1bWVzIHRoZXJlIGlzIG5vIHN0cnVjdCBwYWdlLA0K
PiA+ID4+PiArCSAqIHNvIHRoZSBQVEUgbXVzdCBiZSBtYXJrZWQgd3JpdGFibGUgd2hpbGUgdGhl
IGRlZmlvIGxvY2sgaXMgaGVsZC4NCj4gPiA+Pj4gICAgCSAqLw0KPiA+ID4+PiAtCWxvY2tfcGFn
ZShwYWdlcmVmLT5wYWdlKTsNCj4gPiA+Pj4gKwlpZiAoaW5mby0+ZmxhZ3MgJiBGQklORk9fS01F
TUZCKSB7DQo+ID4gPj4+ICsJCXVuc2lnbmVkIGxvbmcgcGZuID0gcGFnZV90b19wZm4ocGFnZXJl
Zi0+cGFnZSk7DQo+ID4gPj4+ICsNCj4gPiA+Pj4gKwkJcmV0ID0gdm1mX2luc2VydF9taXhlZF9t
a3dyaXRlKHZtZi0+dm1hLCB2bWYtPmFkZHJlc3MsDQo+ID4gPj4+ICsJCQkJCSAgICAgICBfX3Bm
bl90b19wZm5fdChwZm4sIFBGTl9TUEVDSUFMKSk7DQo+ID4gPj4NCj4gPiA+PiBXaWxsIHRoZSBW
TUEgaGF2ZSBWTV9QRk5NQVAgb3IgVk1fTUlYRURNQVAgc2V0PyBQRk5fU1BFQ0lBTCBpcyBhDQo+
ID4gPj4gaG9ycmlibGUgaGFjay4NCj4gPiA+Pg0KPiA+ID4+IEluIGFub3RoZXIgdGhyZWFkLCB5
b3UgbWVudGlvbiB0aGF0IHlvdSB1c2UgUEZOX1NQRUNJQUwgdG8gYnlwYXNzIHRoZQ0KPiA+ID4+
IGNoZWNrIGluIHZtX21peGVkX29rKCksIHNvIFZNX01JWEVETUFQIGlzIGxpa2VseSBub3Qgc2V0
Pw0KPiA+ID4NCj4gPiA+IFRoZSBWTUEgaGFzIFZNX1BGTk1BUCBzZXQsIG5vdCBWTV9NSVhFRE1B
UC4gIEl0IHNlZW1lZCBsaWtlDQo+ID4gPiBWTV9NSVhFRE1BUCBpcyBzb21ld2hhdCBvZiBhIHN1
cGVyc2V0IG9mIFZNX1BGTk1BUCwgYnV0IG1heWJlIHRoYXQncw0KPiA+ID4gYSB3cm9uZyBpbXBy
ZXNzaW9uLg0KPiA+DQo+ID4gVk1fUEZOTUFQOiBub3RoaW5nIGlzIHJlZmNvdW50ZWQgZXhjZXB0
IGFub24gcGFnZXMNCj4gPg0KPiA+IFZNX01JWEVETUFQOiBhbnl0aGluZyB3aXRoIGEgInN0cnVj
dCBwYWdlIiAocGZuX3ZhbGlkKCkpIGlzIHJlZmNvdW50ZWQNCj4gPg0KPiA+IHB0ZV9zcGVjaWFs
KCkgaXMgYSB3YXkgZm9yIEdVUC1mYXN0IHRvIGRpc3Rpbmd1aXNoIHRoZXNlIHJlZmNvdW50ZWQg
KGNhbg0KPiA+IEdVUCkgZnJvbSBub24tcmVmY291bnRlZCAoY2Ftbm5vdCBHVVApIHBhZ2VzIG1h
cHBlZCBieSBQVEVzIHdpdGhvdXQgYW55DQo+ID4gbG9ja3Mgb3IgdGhlIFZNQSBiZWluZyBhdmFp
bGFibGUuDQo+ID4NCj4gPiBTZXR0aW5nIHB0ZV9zcGVjaWFsKCkgaW4gVk1fTUlYRURNQVAgb24g
cHRlcyB0aGF0IGhhdmUgYSAic3RydWN0IHBhZ2UiDQo+ID4gKHBmbl92YWxpZCgpKSBpcyBsaWtl
bHkgdmVyeSBib2d1cy4NCj4gDQo+IE9LLCBnb29kIHRvIGtub3cuDQo+IA0KPiA+DQo+ID4gPiB2
bV9taXhlZF9vaygpIGRvZXMgYSB0aG9yb3VnaCBqb2Igb2YgdmFsaWRhdGluZyB0aGUNCj4gPiA+
IHVzZSBvZiBfX3ZtX2luc2VydF9taXhlZCgpLCBhbmQgc2luY2Ugd2hhdCBJIGRpZCB3YXMgYWxs
b3dlZCwgSSB0aG91Z2h0DQo+ID4gPiBwZXJoYXBzIGl0IHdhcyBPSy4gWW91ciBmZWVkYmFjayBo
YXMgc2V0IG1lIHN0cmFpZ2h0LCBhbmQgdGhhdCdzIHdoYXQgSQ0KPiA+ID4gbmVlZGVkLiA6LSkN
Cj4gPg0KPiA+IFdoYXQgZXhhY3RseSBhcmUgeW91IHRyeWluZyB0byBhY2hpZXZlPyA6KQ0KPiA+
DQo+ID4gSWYgaXQncyBtYXBwaW5nIGEgcGFnZSB3aXRoIGEgInN0cnVjdCBwYWdlIiBhbmQgKm5v
dCogcmVmY291bnRpbmcgaXQsDQo+ID4gdGhlbiB2bWZfaW5zZXJ0X3BmbigpIGlzIHRoZSBjdXJy
ZW50IHdheSB0byBhY2hpZXZlIHRoYXQgaW4gYSBWTV9QRk5NQVANCj4gPiBtYXBwaW5nLiBJdCB3
aWxsIHNldCBwdGVfc3BlY2lhbCgpIGF1dG9tYXRpY2FsbHkgZm9yIHlvdS4NCj4gPg0KPiANCj4g
WWVzLCB0aGF0J3Mgd2hhdCBJJ20gdXNpbmcgdG8gaW5pdGlhbGx5IGNyZWF0ZSB0aGUgc3BlY2lh
bCBQVEUgaW4gdGhlDQo+IC5mYXVsdCBjYWxsYmFjay4NCj4gDQo+ID4gPg0KPiA+ID4gQnV0IHRo
ZSB3aG9sZSBhcHByb2FjaCBpcyBtb290IHdpdGggQWxpc3RhaXIgUG9wcGxlJ3MgcGF0Y2ggc2V0
IHRoYXQNCj4gPiA+IGVsaW1pbmF0ZXMgcGZuX3QuIElzIHRoZXJlIGFuIGV4aXN0aW5nIG1tIEFQ
SSB0aGF0IHdpbGwgZG8gbWt3cml0ZSBvbiBhDQo+ID4gPiBzcGVjaWFsIFBURSBpbiBhIFZNX1BG
Tk1BUCBWTUE/IEkgZGlkbid0IHNlZSBvbmUsIGJ1dCBtYXliZSBJIG1pc3NlZA0KPiA+ID4gaXQu
IElmIHRoZXJlJ3Mgbm90IG9uZSwgSSdsbCB0YWtlIGEgY3JhY2sgYXQgYWRkaW5nIGl0IGluIHRo
ZSBuZXh0IHZlcnNpb24gb2YgbXkNCj4gPiA+IHBhdGNoIHNldC4NCj4gPg0KPiA+IEkgYXNzdW1l
IHlvdSdkIHdhbnQgdm1mX2luc2VydF9wZm5fbWt3cml0ZSgpLCBjb3JyZWN0PyBQcm9iYWJseQ0K
PiA+IHZtZl9pbnNlcnRfcGZuX3Byb3QoKSBjYW4gYmUgdXNlZCBieSBhZGRpbmcgUEFHRV9XUklU
RSB0byBwZ3Byb3QuIChtYXliZQ0KPiA+IDopICkNCj4gDQo+IE9rLCBJJ2xsIGxvb2sgYXQgdGhh
dCBtb3JlIGNsb3NlbHkuIFRoZSBzZXF1ZW5jZSBpcyB0aGF0IHRoZSBzcGVjaWFsDQo+IFBURSBn
ZXRzIGNyZWF0ZWQgd2l0aCB2bWZfaW5zZXJ0X3BmbigpLiBUaGVuIHdoZW4gdGhlIHBhZ2UgaXMg
Zmlyc3QNCj4gd3JpdHRlbiB0bywgdGhlIC5wZm5fbWt3cml0ZSBjYWxsYmFjayBpcyBpbnZva2Vk
IGJ5IG1tLiBUaGUgcXVlc3Rpb24NCj4gaXMgdGhlIGJlc3Qgd2F5IGZvciB0aGF0IGNhbGxiYWNr
IHRvIG1hcmsgdGhlIGV4aXN0aW5nIFBURSBhcyB3cml0YWJsZS4NCj4gDQoNCkZXSVcsIHZtZl9p
bnNlcnRfcGZuX3Byb3QoKSB3b24ndCB3b3JrLiBJdCBjYWxscyBpbnNlcnRfcGZuKCkgd2l0aA0K
dGhlICJta3dyaXRlIiBwYXJhbWV0ZXIgc2V0IHRvICdmYWxzZScsIGluIHdoaWNoIGNhc2UgaW5z
ZXJ0X3BmbigpDQpkb2VzIG5vdGhpbmcgaWYgdGhlIFBURSBhbHJlYWR5IGV4aXN0cy4NCg0KU28g
SSB3b3VsZCBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBBUEkgdGhhdCBkb2VzIGFwcHJvcHJpYXRlIHZh
bGlkYXRpb24NCmZvciBhIFZNX1BGTk1BUCBWTUEsIGFuZCB0aGVuIGNhbGxzIGluc2VydF9wZm4o
KSB3aXRoIHRoZSAibWt3cml0ZSINCnBhcmFtZXRlciBzZXQgdG8gJ3RydWUnLg0KDQpNaWNoYWVs
DQo=


Return-Path: <linux-kernel+bounces-673820-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 70FBA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:00:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id C62F01897BBA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:01:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0F38B202F8D;
Wed, 4 Jun 2025 22:00:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=sang-engineering.com header.i=@sang-engineering.com header.b="jVeSPsDN"
Received: from mail.zeus03.de (zeus03.de [194.117.254.33])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A44E1179A3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:00:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=194.117.254.33
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749074444; cv=none; b=HPZr89aWBwNOfFU12A8wSuOvHeEvWKbYscJ+3e0VLsVZsDwwf1Jwhf1s4y5M8/EgO4Wd81um/9p/7nMm3SgDQOT7OW4/sJ93MRK4kHzWZfTtU3fzAABVLXH5e2Go5qFkjdtnGKGhgh/NoGfTaVocIbcVgeEoSdBRcQI9y2Xkqr8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749074444; c=relaxed/simple;
bh=1qWSa4d30td5vlTzjJs+wg9cW143Snb9rmQm0iaxAAw=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=mtil63RQRNydSoidp9XYFPtAc6tE7YhUY5BRvbJlP4OFi9N8WbuAhP5SmNGULUEaFFg1YeL7/q6HnYAhhClnsQqUbrYRYOrPHjLS2RN4IP9X5ygIHyVlFIgb35d1sq1eKFuZSOiRsbeF29udYG4uCKiynto4bvye0MMh4nqxdLo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sang-engineering.com; spf=pass smtp.mailfrom=sang-engineering.com; dkim=pass (2048-bit key) header.d=sang-engineering.com header.i=@sang-engineering.com header.b=jVeSPsDN; arc=none smtp.client-ip=194.117.254.33
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sang-engineering.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sang-engineering.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
sang-engineering.com; h=date:from:to:cc:subject:message-id
:references:mime-version:content-type:in-reply-to; s=k1; bh=XYsN
0Mxu6kzOMZRM8G9bwLA57Ld88W2+ErglUKi5dak=; b=jVeSPsDNQqPEw3/xHqL+
kx3vWv8851KBNbLrJXyvOKKPqL5amUiL3u0pPovHND+tjTeDpaUxenV6v5pQTKBx
st94fRkYdI/JVwBetrw03cszeLPm2zqUm9VFwcU6IIpv75NAuiro9QqyizfKB5Qw
WemovnvDZvU9r3sGEhkeQYFfYut1qwRsqBRCz7tY0KI6M9bSoi23JZU1QMBlEfgS
nB7Hr+pxFlJZ7sCwZquw62o53QVNkL5sW286h2DoVgVr9HD+ECPtoFAueOvo2eFX
ujUasmXp8KXzbwWd+zCAqnzleL5wwv5HLgwIyEcrlZ1Me1muLSp0IBuDna26z4BY
8g==
Received: (qmail 838888 invoked from network); 5 Jun 2025 00:00:34 +0200
Received: by mail.zeus03.de with UTF8SMTPSA (TLS_AES_256_GCM_SHA384 encrypted, authenticated); 5 Jun 2025 00:00:34 +0200
X-UD-Smtp-Session: l3s3148p1@2VpNIMY2csEujnvc
Date: Thu, 5 Jun 2025 00:00:33 +0200
From: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
To: Frank Li <Frank.li@xxxxxxx>
Cc: Jorge Marques <jorge.marques@xxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, linux-i3c@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 2/2] i3c: master: Add driver for Analog Devices I3C
Controller IP
Message-ID: <aEDCATbPA9173lGI@shikoro>
Mail-Followup-To: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>,
Frank Li <Frank.li@xxxxxxx>,
Jorge Marques <jorge.marques@xxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, linux-i3c@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250604-adi-i3c-master-v1-0-0488e80dafcb@xxxxxxxxxx>
<20250604-adi-i3c-master-v1-2-0488e80dafcb@xxxxxxxxxx>
<aECaFQzkPYdfjagK@lizhi-Precision-Tower-5810>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="a2BXrAn6PXUNyIVW"
Content-Disposition: inline
In-Reply-To: <aECaFQzkPYdfjagK@lizhi-Precision-Tower-5810>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


--a2BXrAn6PXUNyIVW
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi everyone,

On Wed, Jun 04, 2025 at 03:10:13PM -0400, Frank Li wrote:
> On Wed, Jun 04, 2025 at 05:48:58PM +0200, Jorge Marques wrote:
> > Add support for Analog Devices I3C Controller IP, an AXI-interfaced IP
> > core that supports I3C and I2C devices, multiple speed-grades and
> > I3C IBIs.
> >
> > Signed-off-by: Jorge Marques <jorge.marques@xxxxxxxxxx>

Hmm, I didn't get the original patches. They are probably still in the
moderated queue?

> > +#define REG_VERSION 0x000
> > +#define REG_ENABLE 0x040
> > +#define REG_IRQ_MASK 0x080
> > +#define REG_IRQ_PENDING 0x084
> > +#define REG_CMD_FIFO 0x0d4
> > +#define REG_CMDR_FIFO 0x0d8
> > +#define REG_SDO_FIFO 0x0dc
> > +#define REG_SDI_FIFO 0x0e0
> > +#define REG_IBI_FIFO 0x0e4
> > +#define REG_FIFO_STATUS 0x0e8
> > +#define REG_OPS 0x100
> > +#define REG_IBI_CONFIG 0x140
> > +#define REG_DEV_CHAR 0x180

This register set has some 'cdns'-vibe to it. Maybe an earlier version?
Not sure merging this into the cdns-driver is a good idea, the register
set looks quite different to me. Note that I don't know cdns hardware, I
just grew a habit of comparing register sets of new drivers to avoid
duplicated drivers.

Happy hacking,

Wolfram

--a2BXrAn6PXUNyIVW
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEOZGx6rniZ1Gk92RdFA3kzBSgKbYFAmhAwf0ACgkQFA3kzBSg
KbapNRAAmhvODM46QrZz2ghPGvdqckgqVY4/n7p1Ha0YrYzEDKmxOitwVpG0eK/j
E2GDaBu/UxPX9yEeML2K6saO0dyvPk+lebuPazJE2IHILYmXo4bBhkCXevYLz3zr
dX2/fii0I/ICPdT26BAbfMaoc5A+hbuyKhLBxK5NMxiosW1RNaOcRvRsXiiuiKhG
4HLFcOy2st2mhQ2O5rvz1bga3uFevGVX5gO1mcXMACaewmt1YveOg8jZMr3qKXS/
P/Dai25n/D4ADbDqw3kWiFBfFbVmQuT0OmGx/x1B8FHX3RsmDXmEpSR8cLV2/mpp
dg22jS9BMtPBjN6VUFHUFIcoaz3XTJ4DBLASU8oKVlRofVmdcf/1loQiqTQp20Oc
TZZj968JmKZxfP2OQP2xXI9ZqL3rlnU1/3dKkmuChmGSpy9VI5ln0eGSwwX3DTXd
RkGuhgNWP3m3qCCD1MCmHkrdyhUb9E5UTRxV68LZTDn5jc+J/RA+xaQb+euOeYiL
dv760TCCBMtMWUGeBQ8xCsNgAc7o1BwuXUb7byguXJBZAdlaJ14yyRNodA2HxVjr
FbPGADy9M14iTGSQFKM81EXHZxZuvPlW0UQEk1mfat1U5/ZI/+MJ6SGPK5QhLXwm
vZqyLU6pPihEucm8rAiOD7SP0j3nU6JLKnr1INxO7KfOqW3Jr/Y=
=QtfA
-----END PGP SIGNATURE-----

--a2BXrAn6PXUNyIVW--


Return-Path: <linux-kernel+bounces-673821-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0FB4041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:01:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 4B03618975AD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:02:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 291071A42C4;
Wed, 4 Jun 2025 22:01:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="QNtD1rPR"
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2060.outbound.protection.outlook.com [40.107.244.60])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AAEF1179A3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:01:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.60
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749074500; cv=fail; b=hpZU3JbA9Za/Bb25BarYQIW4dtFi+OFl4sGy57bDv9fkBlXy8dFshLFxiwHx6fi/YFFQiQVowBn6oC0Q6Z5jHQ+0JyYEgSYszCpDHHFw/OKAGCHqxg0EfAjX9Np8BIfXyA5KQnOoNj411CN9yOIuJ2aPuQZMxHX6iwHaGrboHhE=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749074500; c=relaxed/simple;
bh=elNZchCTjEW+lyAfYzRMg2PJl1cnmFYCyEmVSfT+WV4=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=Uh/G0HeGFfB8P7u0IHakbaDz75aHXrNzLoulDKsoMhWO1KbH+jVQFjLmlz2jMkuhMGWW9hPSVD+iBUMLiXz0uZpB1yXw/rsiR9ILTg/zzzeASO/5MIiSIJp9IzcgadzHeB0+x+lrQ8V3OVXRBUWkQo9ZX889dMeaFveGX981Y7Y=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=QNtD1rPR; arc=fail smtp.client-ip=40.107.244.60
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=ZhydJjzD0nk1So8KG3aMQwLPw8IgZvJps8E5qI7469kUH2JcQYKh0IyAqUESmwyUJFeutIH7pnlxeX5qfd+gNb4HjdiZzG/PBYHirkbof7/dp7Mob4ThT3S3FyYkKTkhtjEewvFKA4xtN+kLF4uPU/ZcLrLg8pZUUGGLAUwAvwp0fCO7kftNFr8ZvmaGxx5Ekz7WL45oRL1oRUjY9zrsGhUtOnCozdjAK2ZtwsqrZyHDYHTT7ivrSpRVaO3r91LP/YibW6663WkoBi/EPFt68rLhdGPx2oAAw0j6y6W/QqUZxibIl6NMvtQbDADjFZ75Xvia9RuzX7mp3xCOxRZjRA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=elNZchCTjEW+lyAfYzRMg2PJl1cnmFYCyEmVSfT+WV4=;
b=XCFuf9eLpgamWM28tXluVyth7uIryMbMBQ1BL0Tz/jiUicHlevPUFV0ak9Fmsu4lZXaBv0h7eOT++I/+ec8dG+iQd+e1Bl6NC1VelBgwaQQHN0F07kMACrzWM5ZC+cr+3QI5rhy3N03RkDtuEs/nUq+d/zT8ttCEUjASwKAwsVHOEiUMWGuuzBaBp0R4FefeItMpTk3F5Mwjl+9X4ByzFEi6MjEfxovy0plE1BvtDERfkGZeh9fvPJGodkFzvAJuNSX7QchVj5ZZG/DJDxYOUBmSioMILz68IUOqJf8Q4RE/y5LjRZsDPm756O8zcbNKgVd7jaZaPAY3srQKcCP2JQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=elNZchCTjEW+lyAfYzRMg2PJl1cnmFYCyEmVSfT+WV4=;
b=QNtD1rPRDdS09MyFxLfoAT3bKZ6p9oaHRY4WPStVQQQr0eVNVWpU8zZto1JgFebyDpBbJY4DkpEV727Y1rg4qvHXJzJuvQe/k+UsyCMF1qx9rvu6Yea4NGO1sQthjkYxwcmn29my66DK9NwBL9ElLoqCfalzND24gqMxhof+8W7diJdKyR9imeIamQWPezzsZbQG1CGOJMgvUFtTn4CJPGuj/mCOErPBWIWjnr5dwDvpWqGvu6KnFRFyXEyvD0i9gMIihBGGKZGAjwdh4yT8hjeu9ykXnOzNsN+v1JkDmbrcCSSfWHRgO/PKxbo9BnsSxRJ4wcELBxs93DnIwrsmLQ==
Received: from CY5PR12MB6526.namprd12.prod.outlook.com (2603:10b6:930:31::20)
by SA1PR12MB8162.namprd12.prod.outlook.com (2603:10b6:806:33a::18) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Wed, 4 Jun
2025 22:01:35 +0000
Received: from CY5PR12MB6526.namprd12.prod.outlook.com
([fe80::e420:4e37:166:9c56]) by CY5PR12MB6526.namprd12.prod.outlook.com
([fe80::e420:4e37:166:9c56%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:01:35 +0000
From: Timur Tabi <ttabi@xxxxxxxxxx>
To: "christophe.jaillet@xxxxxxxxxx" <christophe.jaillet@xxxxxxxxxx>,
"philip.li@xxxxxxxxx" <philip.li@xxxxxxxxx>, "simona@xxxxxxxx"
<simona@xxxxxxxx>, "lyude@xxxxxxxxxx" <lyude@xxxxxxxxxx>,
"pierre.morrow@xxxxxxx" <pierre.morrow@xxxxxxx>, "airlied@xxxxxxxxx"
<airlied@xxxxxxxxx>, "jacob.e.keller@xxxxxxxxx" <jacob.e.keller@xxxxxxxxx>,
"dakr@xxxxxxxxxx" <dakr@xxxxxxxxxx>, Ben Skeggs <bskeggs@xxxxxxxxxx>
CC: "dri-devel@xxxxxxxxxxxxxxxxxxxxx" <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
"nouveau@xxxxxxxxxxxxxxxxxxxxx" <nouveau@xxxxxxxxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH] drm/nouveau/bl: Use kasprintf for interface name
Thread-Topic: [PATCH] drm/nouveau/bl: Use kasprintf for interface name
Thread-Index: AQHb1ZQiNSaKGMGvIUubP3nhiam5ArPzjVAA
Date: Wed, 4 Jun 2025 22:01:35 +0000
Message-ID: <704b69a6af32e0d89a6d88051c12f29fdadfa638.camel@xxxxxxxxxx>
References:
<20250604-jk-nouveua-drm-bl-snprintf-fix-v1-1-79b1593ad664@xxxxxxxxx>
In-Reply-To:
<20250604-jk-nouveua-drm-bl-snprintf-fix-v1-1-79b1593ad664@xxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Evolution 3.52.3-0ubuntu1
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CY5PR12MB6526:EE_|SA1PR12MB8162:EE_
x-ms-office365-filtering-correlation-id: 87f82155-12d4-4552-68ba-08dda3b35f64
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
BCL:0;ARA:13230040|7416014|376014|1800799024|366016|38070700018|41080700001;
x-microsoft-antispam-message-info:
=?utf-8?B?ZTErWnROU2F4Sy9HaTgvSDJzVUhHSGIwYlJvaXQ4Q08xdTU2bm53T3NlNENu?=
=?utf-8?B?Tjc5ZlcxVzBFWXprN2FvTXA4QUNNaHBrdnhPK0huM21KUXMreDlrczhJM3hV?=
=?utf-8?B?dFpGQjFmbHBEZ3Bzb2RxcWdZMHlPM3A3TXl6K2JSeGt3cTJnOVhiQzlLNGMy?=
=?utf-8?B?VVM3eGNBeXlnTXRCRHFlUUwzL3RkYkgxMERTc0NRM0o4bkE5VGpkTVR4YnpC?=
=?utf-8?B?M2V0Z3lrcHdGOFlXa2JGUjZ2Y1p6WEQrcUc3Q0VtQ29ac3BSN1g2UGUvSnBO?=
=?utf-8?B?aEI1cldWV05xOUZxcW1pay85MXFZbTVtN1ZpL2c0SThrUFZjVmY2bVh1MG1K?=
=?utf-8?B?SVVNMUh1a0NVaDFhclhYbVkrSXhDVEEvcGV1MnpMVG5lYmNpZDc5OHJnN3hN?=
=?utf-8?B?clZ4Nk5MMjFYbUNEbnJUZEd5aE5mOUVIUVg4NWdkS3FoRi9jSnQ2REVtR2Ru?=
=?utf-8?B?eUJhMXBjVVJBb1ZkVTVuTG1WNDBmdXFCbEFqSXZHT3dtNUFwSFRqUkpVcjNx?=
=?utf-8?B?K0ZMelNiQVVJYWxTVUZiNW1JdE0wT2ErM2JVMHFINFI1dVpaUnkrVEFvYmdl?=
=?utf-8?B?US9EYlN5K2c1WURoejQ3cmcwRjdoREdqTUN1cGticEx4SmF0ZTR6K0FObzZq?=
=?utf-8?B?NGw5dUR0TEhSNGJYalNpSXM0NDExemhCdFVRYUxRYnZJa3VNMjFieVlzNkcz?=
=?utf-8?B?L0h0NHM1SFo5MGZXT0s4RUJSL1VwTzFVWE0yamRrUDc5N2xRb0l5a1R6anhI?=
=?utf-8?B?WERjVmNDSkNZUmQwbk5hUWJLTmxqdkhiNzR0RVk2elkyVHVvaU9tSjlwVmNs?=
=?utf-8?B?YlBqdElyYmZxYzg4eHBKTG4zcWpLVWgxRmQ2b1NuTjJWa3ZXaVo4cm8rdmFl?=
=?utf-8?B?ZkVDWmp5S3pWeDlnUUZyd1Q2MiszQUxIR2l0VnErMDVmczJJam5jVFlsRmp6?=
=?utf-8?B?VGRVcWgrMFFDckoxeEl0Ryt4YXhJOUY2VUlyMjdVNGVaMFArWGxsaUduZnhG?=
=?utf-8?B?NnVVM2RMYXpFaTZBYzBiVG5yZDhhRXJ3NTJWN2VrRjdFNG4wUjRkbzVWYVUw?=
=?utf-8?B?L1M4Z1VOczZYdlZtSWFHVWVCdEFRbTlNMGpWd3p2d2d1SXFYRU9Kd1pobmdi?=
=?utf-8?B?Slg4amkrYnYwRlNQQmZkSm9na2xnMnZ2WE1UK2dpUGR5MUg1STlwUkN2TUxj?=
=?utf-8?B?R3E1R1RkaUk4dGRWTEFhbzQ1QWdNcW14QytKY1hzWTl2azFlTnNiM2lUeGF0?=
=?utf-8?B?WlBuMEtlSGdUNzJwT0VKTEtYWGJSbyt2UlJGOWhoTUozM3ZwMTlJdVBsUHlL?=
=?utf-8?B?SFlsU2JuMVRWdWk1SW05UVNrSHB5TnU3Umo3ajl3UG9zR29wWDAwR3ZOSGpZ?=
=?utf-8?B?QzRHaERJRVZka3pnQk1QSGFsVmQyaTRWYXBVN1ZwTzJxbGZXSW5iL0RjSVhx?=
=?utf-8?B?Qk91V0QrV2Uwc2JjMjd3UE4yU1ZBQjNvMHlhdEVlY1ZCeC9ER01XNmJBT3lR?=
=?utf-8?B?MU9HcVc5SkxsTitSYnRIV0Zhd2sxU3IzZlQ1d1dWb0lsS21hNGJEMW16aDQy?=
=?utf-8?B?eXZyTHBiNGFCOHgxdlUvbWZmL2lGazE3c0dDTVJkQ01ZZzNSQlRBSFpIbWdZ?=
=?utf-8?B?MTZMUmh1ZFZ1WkI1VElnLzBOWkdrRzN4Y2ZSYUtDTlViSXNZMzNpdEpMSkVR?=
=?utf-8?B?ajBadGx4S2VCREdod2g3MGpXMFpnY1ZaVTJKN1dIaFV6VlA0YVo3UXdhSzBa?=
=?utf-8?B?S1Q2bnRIRUtFNUYrZ3BNYnVBcHhDc2NSajk0QUo5QTFIaTFHaFloaFMrWFl4?=
=?utf-8?B?SkZaSURiR1JlTWRLOVJCK3hqdFpKOVJhZWYrT1kyYVMyUWN4TFRMWTNrNjNH?=
=?utf-8?B?QUhEUVlKeUFjdmR2aFNHVWVQNmRsQ3RTTUlRU0pjZ1VHZ2ZOclA3aXVnU1Vr?=
=?utf-8?B?T0pFZWYrQWxBZmRsN0Q5VjVhMDVPQWNmdmg2cnQ5eTB1MldJbS9ITmdlUmdK?=
=?utf-8?B?bXN3Um9Rd1UrTDZ4NzBpUU9IRW1KZjBrM0FFZzA1RmV4UU9uSVVVME8rVHRR?=
=?utf-8?Q?xxDp/a?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY5PR12MB6526.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(366016)(38070700018)(41080700001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?Z2JnNURKNHpUQlFnelVjSGMvWnN1WjBZMXZGMTlRdWl0SzhuU3BGYytzTFpF?=
=?utf-8?B?aTNROHkxeGoyWFZqMkVPYzlDVUxPZjBaSi9NQ1BpNG11aWs4K1ZkTS9PajA3?=
=?utf-8?B?N2hUZXpDWVpNeWJTZ2lsL0F1MWJsNDlGelMzaUV3M1dtRGVKZG10ZXduYkQ3?=
=?utf-8?B?NlRwRFJWQm5CMmt3aDZEd2ErN0QwRktCbjdudUw0ZDhZUDRuMW44bmxCalN2?=
=?utf-8?B?YWM4TUNYbGdMaTdXZ21Wc1NoMGs1dWNtRDRlTDFaNzdHeVVKZUJlUGZ4VERP?=
=?utf-8?B?TjQ1OVVmVHdGVGtpNlBjYlhpZTNyamsybzlCcnZseXRrVlRvNlo5WUFjeGdr?=
=?utf-8?B?OWVjellobllnc2hkWWZrdks2Uk9NZk5hVXZhaXFUcUQzSkpJSUNyaWQ3ZDNQ?=
=?utf-8?B?cEpFUUFuOFJGSGlvM1pHUjNzK3BjTjFlUkRGdWllT0haTWt0Q0FRcGdyRjJi?=
=?utf-8?B?NDlMQTNZWXpkaVRjQ2MraWc1N2dJSC9NbUVTY2pBODJ4RG1jbGtSdDh0K2VU?=
=?utf-8?B?MXVSVzBTRDhnVnZIdTlySkxUV2tpNVF0SDdib2hZdFUrd1k5elhhbk8ycEtu?=
=?utf-8?B?eUczVDUvWFA4RmtmblRnSzM0OXhFeWpMUUg3anJUbTM1Snh2QzV2OVM2ZkdD?=
=?utf-8?B?aEpham5tVkpuS1J1RXdxQ2JHYVgydTAyTW9pdkNydmI5ZlBycjhSNU5MV0Mr?=
=?utf-8?B?VnJDb1VvK2orNlBlMVpqdDBjYzRDV1hyeWFiMkRRTHcrVFpJVDFjVWY0T1Vk?=
=?utf-8?B?VEVmRjRMMUJDMTdILzE4S2k0cjVXYTM2VUswaTU4aFo2U1F0OGtjeGVaS1pl?=
=?utf-8?B?bCtlYzFkTWorVUJCZXlaVzcvZDhDeHhVcXRDQjhWU3puT3dUQldyU1I5U3Zj?=
=?utf-8?B?TytwdG5venEvUStNR0pMTURqM0Rtd2dzNUxYYmFNN1c5RHJjOUxoMjFmeEp2?=
=?utf-8?B?M21EUVI4alFtVlpKMGhXL2gwU3pNWFdNYkNrVEY1OEhsNWxFOWhKQVJSYWhO?=
=?utf-8?B?N2pxa3U0RGVFZndoQVptRThDZ2kxN0JZMlUraXBqRkV3ZEFUMXZiMnBiczJJ?=
=?utf-8?B?S3FPeE1nSjBlZ1VMQWpUMjRrcm0xenpxZ0ZFdDJvN0c0Tk9xOXpyc3pCTXR5?=
=?utf-8?B?c0FvY1FRSzljczRsUlFiNkpObVNleXRaWHRkNURpLzVXUEJzRWRaOHpIYU5q?=
=?utf-8?B?eWI5YjdnaVA0dnpyVDB6TmlFWlVPOEREbGhuN21wcldUdnNLL0dYUnJaUWhU?=
=?utf-8?B?Mm5Ia1BraEdEYmlnRndNbVhOLy9IdDVVajJNSWgvMmNveXMrYms1MG1HQk9T?=
=?utf-8?B?ekYyVkZ1VEhXaXEyandJYUQzdmlxeFFKT28rMU9rMWJGbGJGdzJuVWozTzhI?=
=?utf-8?B?SDZaZEkzZHFOZjlzdEl4bVlJNDdKVTNBdjlERXc1YzJaS2J0MnBPUy9OU0JR?=
=?utf-8?B?RzZieFBkTmdXUm0wREQ3SUdoQTFkMkszWVEwRXg5cFYrNVpzSjJqWHlJMVFG?=
=?utf-8?B?ZzdiZ0UrRDN5ZGc2a2RVb0I3dWdCLzdwcnJrWXIrK1hoVDkrU2pDb1crcE5o?=
=?utf-8?B?Nm53cUlXTU5TVjlSRDhzZWE0UzB6WXNvNjlGRFJTRFNxNkVEdll3eHZONWcr?=
=?utf-8?B?NmVKMUloQVh6dHBlMTUwVGVlUk5XaExkSlRBeWZZMjVvRkprQVpJVVVKUFlh?=
=?utf-8?B?R0dLcHVJR3pnYmJjY3ZUa1lqeHk4NjhQOU9kM2NPanpvZ0tEa283K0dnYnRI?=
=?utf-8?B?eEtIQm5ydlNpL0E3M2IybVluTVBNY2RDL1U2bTVoR2hYVjcwVWprZXlLa0s5?=
=?utf-8?B?bjJjUklzZGFwdDBLVEcvZDRUTnR5dW5mcDBsWEpQTXlhaS9HUFpDeTllSXpw?=
=?utf-8?B?eUhRSzN0N1VndFdQSU5meUhtVi9PRUJ0eW1WenpUaXlza29NTkJXUDZsTWVn?=
=?utf-8?B?dUhCV0pRUTZNM0JQQUpxWUpVVGJ6M2E3VEovUkRKQXY0R25vU3pPZ1U5eHZW?=
=?utf-8?B?dFNZOVRQR0NPUExqdlJVbVNPdWtQdFhUNUtSenQ2SEZKZ1o4NTJBVExyZ1My?=
=?utf-8?B?ZXFTdFJBSldKZHI1Vkw3cHJ5SU9MOWk2aUFiK2xCbm5nTklaZ25rcDJBQlEv?=
=?utf-8?Q?mKR13DlcOkROF/4MSzBgmsDX1?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8C9CA21B583B42468FC1733695684032@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CY5PR12MB6526.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 87f82155-12d4-4552-68ba-08dda3b35f64
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 22:01:35.0939
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: a2TdGBKIv/EKnJqo76aYLYif4JEzslqnlXCs/z4qR4RuAQjO3QjAE4O1nDOjK2hkJUQ4xMqKtm3iQ8XYGJGR9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8162
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCAyMDI1LTA2LTA0IGF0IDE0OjAzIC0wNzAwLCBKYWNvYiBLZWxsZXIgd3JvdGU6DQo+
IFRoaXMgY291bGQgYWxzbyBiZSBmaXhlZCBieSBzaW1wbHkgaW5jcmVhc2luZyBCTF9OQU1FX1NJ
WkUgdG8gMjQsIG1ha2luZyBpdA0KPiBsYXJnZSBlbm91Z2ggdG8gZml0IGFueSBzaXplIGludGVn
ZXIgaW50byBpdHMgZm9ybWF0IHN0cmluZywgb3IgYnkgY2hlY2tpbmcNCj4gdGhlIHJldHVybiB2
YWx1ZSBvZiBzbnByaW50Zi4NCg0KSSB0aGluayB0aGlzIHdvdWxkIGJlIGEgYmV0dGVyIGFwcHJv
YWNoLiAgYmFja2xpc3RfbmFtZVsyNF0gaXMgc3RpbGwgc21hbGwgZW5vdWdoIHRvIGZpdCBvbiB0
aGUNCnN0YWNrIHdpdGggZWFzZSwgYW5kIGl0IHdvdWxkIGVsaW1pbmF0ZSB0aGUgYWxsb2MvZnJl
ZSBjaHVybi4gIGthc3ByaW50ZigpIHNob3VsZCBiZSByZXNlcnZlZCBmb3INCmxvbmctdGVybSBv
ciBsYXJnZXIgYWxsb2NhdGlvbnMsIElNSE8uDQo=


Return-Path: <linux-kernel+bounces-673822-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A603A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:05:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 3AFC818975F1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:05:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5BD7D211A11;
Wed, 4 Jun 2025 22:05:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="HUiB6XqF"
Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 920732C3246;
Wed, 4 Jun 2025 22:05:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749074714; cv=none; b=OeZq8GPw6iiRtZa6QbLCOZUa5imNINxk5Fvsx9z2iV2Zd7+RXUBc2d4bfnNx/SC+zJWfuXj3kGh5kD+R2iJUuQQ35BZlVlfU8Xx78J7O7TCsu7BNE1re+sbq2NY1RtSV3zh9Y3UfhD5ASK+Y6xxDU4rz388C0+sDi6+Wok9q/P8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749074714; c=relaxed/simple;
bh=Nh/C3jkigC/s5IYwTai6YLcfd9DUBEpg9k9xorz/KHY=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=V1udoyGETmH6eDO28yafzpzy+EfRm7Nn6xPhCKx2b89f6mfUE/wqfr7Qiv7LTAIZzbdrxnHk155bMK9EimwS6g2yVSX/Fz3/FPlNrsHe0VBuw7SB7di85G9utP6RXfMp9zaSIrq/nDtH4eDeiLiDGachkRUEsOVjCChqkxZnkQk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=HUiB6XqF; arc=none smtp.client-ip=148.251.105.195
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
s=mail; t=1749074710;
bh=Nh/C3jkigC/s5IYwTai6YLcfd9DUBEpg9k9xorz/KHY=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=HUiB6XqFFgdF60fjimTAw2GMN1B+1vgY6gDrs0juL3FXGWRXL08bKEBh/Qke//zMw
jH3yUAYfCXr839Vll2/scvSCd9CSDSXcOUXN5zeXO/yutqwRWCI95JlzAUBN5NV0gr
kmaNqdUhuVRg2pnMLgK4onnzfYAtK/6mXck/a/rVxhF8YDAABOwYTcUNrwMGxC9aLU
8zru5C1r3tQB/D2gFuaU8DDoKEmSUpPSxR5T2JZ/ZRsEpmctbpAeLhnYXODxV17741
EbWNTiYfwH/bzCDUZzCAkhyVby00kW2FNsftbp1Mv1z6OHokVH25k8rib4RyC4xpvZ
trWKCK2DpDa5g==
Received: from notapiano (unknown [IPv6:2600:4041:5b1a:9400:99d:464c:62e0:2118])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
(Authenticated sender: nfraprado)
by bali.collaboradmins.com (Postfix) with ESMTPSA id 5775D17E0FCE;
Thu, 5 Jun 2025 00:05:09 +0200 (CEST)
Date: Wed, 4 Jun 2025 18:05:06 -0400
From: =?utf-8?B?TsOtY29sYXMgRi4gUi4gQS4=?= Prado <nfraprado@xxxxxxxxxxxxx>
To: Jonathan Corbet <corbet@xxxxxxx>
Cc: linux-doc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
Subject: Re: [PATCH v2 0/3] docs: some automarkup improvements
Message-ID: <ebeb020a-8403-441b-ab02-f017ffcb7b83@notapiano>
References: <20250604143645.78367-1-corbet@xxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250604143645.78367-1-corbet@xxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 08:36:42AM -0600, Jonathan Corbet wrote:
> A small set of automarkup changes to improve the visual consistency
> of the rendered HTML documents.
>
> Jonathan Corbet (3):
> docs: automarkup: Remove some Sphinx 2 holdovers
> docs: automarkup: Mark up undocumented entities too
> docs: CSS: make cross-reference links more evident

This is much better. Markup, links and underlines are all looking good now.

The only other thing I noticed is that the links in the sidebar still use the
old style, since they rely on a different CSS selector for some reason:

div.sphinxsidebar a {
text-decoration: none;
border-bottom: 1px dotted #999;
}

That makes it a bit inconsistent style-wise, so I think it'd be sensible to
update that selector as well to follow suit.

In any case,

Reviewed-by: N�las F. R. A. Prado <nfraprado@xxxxxxxxxxxxx>
Tested-by: N�las F. R. A. Prado <nfraprado@xxxxxxxxxxxxx>

Thanks,
N�las


Return-Path: <linux-kernel+bounces-673823-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5AD8541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:09:51 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id BC86F18943E5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:10:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 48148211A11;
Wed, 4 Jun 2025 22:09:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Ep1PFRGY"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E6EF29A2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:09:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749074982; cv=none; b=a7WeeXZ+E9ofGEcRIIw7sPxF2i1M5u2O8BHNZhXClwCLve8LUh58OL65mePhGTM2Fn+xwwD1wR66Td6mvV5WdxEqF8GzGJkfGJHKYP9SkyyH4DTk+zWNOWeIAiR+ePd5Artk+dT+AMgj1MDPnVnFEBEICIfeXbJP6jbQpfYhHms=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749074982; c=relaxed/simple;
bh=TjGCTN2WElX2W0wWftYpeQAE777rXI2b0T6a8Mxb63Y=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Bkf3FMtvZ4M5NWV519NMfPCgkIGKbpUvMfQEuPlvFdl4EwKqFXEvzfy2fZ3JvdSofzREGSROplxQs1EFIX6cUXrEbSUrphRTHYOkUVqNrJk2HAOp+6CQ0xA9DCVy0CV8Sp928i0/glFIEC7vJNW3iQS6p9yypk5rxAYa0x8A7uA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Ep1PFRGY; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749074979;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding;
bh=T2yexuRi18rJgKIKVwh54stcOMquX5XP7HKHgjkZl5A=;
b=Ep1PFRGYOncb8JEf1uhswJ4m05xdKOcGa28Jz69mQIBrv/53pqto0fmsaDZAUiT0teRsvP
vjgqGV2UBSsEcENRNGOpkk0+bK0+s0m1Lst03V5jQV+QvwEf5BaSOOwZ16fW4SHchLVcyT
KxHGKr3Cl4mQbL9iVTExUhaK3oMLasU=
Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com
(ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-505-plrHPBgsNiqKFLYn_qQTJw-1; Wed,
04 Jun 2025 18:09:38 -0400
X-MC-Unique: plrHPBgsNiqKFLYn_qQTJw-1
X-Mimecast-MFC-AGG-ID: plrHPBgsNiqKFLYn_qQTJw_1749074977
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C11CB19560AF;
Wed, 4 Jun 2025 22:09:36 +0000 (UTC)
Received: from llong-thinkpadp16vgen1.westford.csb (unknown [10.22.89.125])
by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 1AA0B1955D8E;
Wed, 4 Jun 2025 22:09:34 +0000 (UTC)
From: Waiman Long <longman@xxxxxxxxxx>
To: Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Anna-Maria Behnsen <anna-maria@xxxxxxxxxxxxx>,
Frederic Weisbecker <frederic@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx,
Waiman Long <longman@xxxxxxxxxx>
Subject: [PATCH 0/3] timers: Disable memory pre-allocation of timer debug objects
Date: Wed, 4 Jun 2025 18:09:23 -0400
Message-ID: <20250604220926.870760-1-longman@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

A circular locking dependency was reported by lockdep involving printk()
called from within the memory allocator, console driver with timeout
capability and timer code calling debug_object_activate() doing object
pool refill by allocating memory.

One simple way to break this circular locking dependency is to disable
memory allocation when timer debug objects are being handled which is
what this series is about. The majority of the changes is in the
debugobjects code with a one-line change in the timer code.

I have also considered updating the console driver to not hold the lock
when setting up timeout, but many console drivers are using timeout in
some ways. So this problem may not specific to just a single one.

Waiman Long (3):
debugobjects: Add ODEBUG_FLAG_NO_ALLOC to disable memory allocation
debugobjects: Show the state of debug_objects_enabled
timers: Disable memory pre-allocation of timer debug objects

include/linux/debugobjects.h | 6 ++++++
kernel/time/timer.c | 1 +
lib/debugobjects.c | 29 +++++++++++++++++------------
3 files changed, 24 insertions(+), 12 deletions(-)

--
2.49.0



Return-Path: <linux-kernel+bounces-673824-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0D9F841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:10:01 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1F53E3A884E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:09:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C70D51EFF8B;
Wed, 4 Jun 2025 22:09:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="gf+qd0bG"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 701A129A2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:09:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749074988; cv=none; b=Gn1xeH/Hj2WdKXZZfvA64YZGp3WjqwslGr3Hfils2RT0oK5K9xWqd/pEOxhkJxJ3cOL3S2caDFO7Oh6rrX8zvPpMGhRU74pEswk3/lnCoywVlfAw/nUyF3uqjUZzF+Q4dEPr5yB4R0OsYa5XrUggeiFmYgLznqrV8hKRQ5l8Wbk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749074988; c=relaxed/simple;
bh=/h+MbqhtifQ0wFwTNi/hRYtZRQX2zAyPjv6SYgin89Y=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=QuA6+4tZJzOQara6bladwB/ll+JKVXBpzelSgNEhjxWSA954jLAzUI+UwNDEe3msryqmFw4b7bitLWF6SMUcNKNR+8XAsSn3bUfJ20/CtafxXEukxa9I5ugIAqpDKZkTyLFMWTZXLO/f6YdSsH5gGLVLH8+/CTDqJTh4becgRlo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=gf+qd0bG; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749074985;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=o79wJP37NudpKzgPNtfpt/vYPQcJiVZbzxmLNZKyYko=;
b=gf+qd0bGtl9VP2f4kcJUZ2JWAlI733TzL/PlhlmEFolyXBqtURCVN5Gjv32mUoAsq2wtWn
xJbtV6aRq7a/J6j5zso6ZmocvgiqQeSjEli9bI8E91hU3ShxQuD8z/479fDgkCmVzdMuR2
oW5MyzndCvaV4UVA2ucnSwDQc7L06vM=
Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com
(ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-590-M9c2Qn_lMa2B7GA5G1IpQg-1; Wed,
04 Jun 2025 18:09:42 -0400
X-MC-Unique: M9c2Qn_lMa2B7GA5G1IpQg-1
X-Mimecast-MFC-AGG-ID: M9c2Qn_lMa2B7GA5G1IpQg_1749074980
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 4861B1800772;
Wed, 4 Jun 2025 22:09:40 +0000 (UTC)
Received: from llong-thinkpadp16vgen1.westford.csb (unknown [10.22.89.125])
by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id D7D6C1955DDA;
Wed, 4 Jun 2025 22:09:38 +0000 (UTC)
From: Waiman Long <longman@xxxxxxxxxx>
To: Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Anna-Maria Behnsen <anna-maria@xxxxxxxxxxxxx>,
Frederic Weisbecker <frederic@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx,
Waiman Long <longman@xxxxxxxxxx>
Subject: [PATCH 2/3] debugobjects: Show the state of debug_objects_enabled
Date: Wed, 4 Jun 2025 18:09:25 -0400
Message-ID: <20250604220926.870760-3-longman@xxxxxxxxxx>
In-Reply-To: <20250604220926.870760-1-longman@xxxxxxxxxx>
References: <20250604220926.870760-1-longman@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

In the rare case that debug_objects got disabled because we are running
out of free debug objects, it is not easy to figure this out. Fix that
by showing the state of "debug_objects_enabled" in the stats debugfs
file as well as always printing a message in the console log.

Signed-off-by: Waiman Long <longman@xxxxxxxxxx>
---
lib/debugobjects.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 52bc77b41f48..0e9f44db9043 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -125,6 +125,12 @@ static int __init disable_object_debug(char *str)
}
early_param("no_debug_objects", disable_object_debug);

+static void debug_objects_disable(const char *msg)
+{
+ debug_objects_enabled = false;
+ pr_warn("debug_objects disabled: %s\n", msg);
+}
+
static const char *obj_states[ODEBUG_STATE_MAX] = {
[ODEBUG_STATE_NONE] = "none",
[ODEBUG_STATE_INIT] = "initialized",
@@ -690,7 +696,7 @@ static struct debug_obj *lookup_object_or_alloc(void *addr, struct debug_bucket
}

/* Out of memory. Do the cleanup outside of the locked region */
- debug_objects_enabled = false;
+ debug_objects_disable("out of memory");
return NULL;
}

@@ -1161,6 +1167,8 @@ static int debug_stats_show(struct seq_file *m, void *v)
seq_printf(m, "on_free_list : %u\n", pool_count(&pool_to_free));
seq_printf(m, "objs_allocated: %d\n", debug_objects_allocated);
seq_printf(m, "objs_freed : %d\n", debug_objects_freed);
+ seq_printf(m, "debug_objects : %s\n", debug_objects_enabled ? "enabled"
+ : "disabled");
return 0;
}
DEFINE_SHOW_ATTRIBUTE(debug_stats);
@@ -1314,7 +1322,7 @@ check_results(void *addr, enum debug_obj_state state, int fixups, int warnings)
out:
raw_spin_unlock_irqrestore(&db->lock, flags);
if (res)
- debug_objects_enabled = false;
+ debug_object_disable("selftest");
return res;
}

@@ -1486,11 +1494,8 @@ void __init debug_objects_mem_init(void)
cache = kmem_cache_create("debug_objects_cache", sizeof (struct debug_obj), 0,
SLAB_DEBUG_OBJECTS | SLAB_NOLEAKTRACE, NULL);

- if (!cache || !debug_objects_replace_static_objects(cache)) {
- debug_objects_enabled = false;
- pr_warn("Out of memory.\n");
- return;
- }
+ if (!cache || !debug_objects_replace_static_objects(cache))
+ debug_objects_disable("out of memory");

/*
* Adjust the thresholds for allocating and freeing objects
--
2.49.0



Return-Path: <linux-kernel+bounces-673825-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DDDC841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:10:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 8521D1894486
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:10:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8BF9922D781;
Wed, 4 Jun 2025 22:09:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="hLuR4RxD"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3CA2F227E8A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:09:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749074988; cv=none; b=rO9+cNVesp+KJh+mMOVJO0hMMAkLNhhg1/+0ERDN6M0XpXYc4JQrUQbiYN3RLXQM/QFSPGH3kHPFl/2grVMpGud0IuCba/OOYXjU2r8WpFRXmurmwqdyge8LKg49/C84h9wkprtX122Vb2Hu23DRZeuwv/Fe79uUPrgOE4iOQQw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749074988; c=relaxed/simple;
bh=rFUH/WjWtJsebkZkqHw9z4PKcVgUSgJepocYqPbgZNg=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=tVs/HXjOQZHtAPo9iHJxVm5R5jpflAMARyv6hFrurFXOanHy3kPheACmWGzBU2o8wqFpyRotcERLuixaWVG3plVLdigNNQyESGPuSTChawyjbPwjJLdXo49qrFfDlgpnGh3J3l8uofexqi2nBjN5CElcOLMeLeghwGYXiBmNRW4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=hLuR4RxD; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749074985;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=w2uXb0O4PrtAILd3wFl5a6hCIiKKPh//OjNLuoh+Rbk=;
b=hLuR4RxD3ymP98+sVlnSCFgzp7AgYWGnIrbM5zsxdD0FAIZtANxtz7OAAIBrbut+Tsq3Ar
ognRC8ic7bB43fsV7hEIBgV6U2Bsm1I7h6lXeMjSyyqshJj27gi0iNmGzV8g7C5+sZXj5j
WQ1GzQrJRAXakHUboHqepFJ3U9iVccY=
Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com
(ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-195-MjuovzHTOB6fPxFH_Lk2eg-1; Wed,
04 Jun 2025 18:09:39 -0400
X-MC-Unique: MjuovzHTOB6fPxFH_Lk2eg-1
X-Mimecast-MFC-AGG-ID: MjuovzHTOB6fPxFH_Lk2eg_1749074978
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 95144180035E;
Wed, 4 Jun 2025 22:09:38 +0000 (UTC)
Received: from llong-thinkpadp16vgen1.westford.csb (unknown [10.22.89.125])
by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 35A1D1955DDA;
Wed, 4 Jun 2025 22:09:36 +0000 (UTC)
From: Waiman Long <longman@xxxxxxxxxx>
To: Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Anna-Maria Behnsen <anna-maria@xxxxxxxxxxxxx>,
Frederic Weisbecker <frederic@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx,
Waiman Long <longman@xxxxxxxxxx>
Subject: [PATCH 1/3] debugobjects: Add ODEBUG_FLAG_NO_ALLOC to disable memory allocation
Date: Wed, 4 Jun 2025 18:09:24 -0400
Message-ID: <20250604220926.870760-2-longman@xxxxxxxxxx>
In-Reply-To: <20250604220926.870760-1-longman@xxxxxxxxxx>
References: <20250604220926.870760-1-longman@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Some of the objects associated with debug_obj may be handled
in a sensitive context that allowing debug_obj pre-allocation
in debug_objects_fill_pool() may casue deadlock. Add a new flags
parameter to the debug_obj_descr structure as well as adding the new
ODEBUG_FLAG_NO_ALLOC flag to enable us to disallow memory allocation
for those types of objects.

Signed-off-by: Waiman Long <longman@xxxxxxxxxx>
---
include/linux/debugobjects.h | 6 ++++++
lib/debugobjects.c | 10 +++++-----
2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/include/linux/debugobjects.h b/include/linux/debugobjects.h
index 8b95545e7924..a058c7dba898 100644
--- a/include/linux/debugobjects.h
+++ b/include/linux/debugobjects.h
@@ -41,6 +41,7 @@ struct debug_obj {
* struct debug_obj_descr - object type specific debug description structure
*
* @name: name of the object typee
+ * @flags: debug object flags
* @debug_hint: function returning address, which have associated
* kernel symbol, to allow identify the object
* @is_static_object: return true if the obj is static, otherwise return false
@@ -58,6 +59,7 @@ struct debug_obj {
*/
struct debug_obj_descr {
const char *name;
+ unsigned long flags;
void *(*debug_hint)(void *addr);
bool (*is_static_object)(void *addr);
bool (*fixup_init)(void *addr, enum debug_obj_state state);
@@ -67,6 +69,10 @@ struct debug_obj_descr {
bool (*fixup_assert_init)(void *addr, enum debug_obj_state state);
};

+enum debug_obj_flags {
+ ODEBUG_FLAG_NO_ALLOC = 0x1, /* Disallow debug object pre-allocation */
+};
+
#ifdef CONFIG_DEBUG_OBJECTS
extern void debug_object_init (void *addr, const struct debug_obj_descr *descr);
extern void
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 7f50c4480a4e..52bc77b41f48 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -694,7 +694,7 @@ static struct debug_obj *lookup_object_or_alloc(void *addr, struct debug_bucket
return NULL;
}

-static void debug_objects_fill_pool(void)
+static void debug_objects_fill_pool(bool no_alloc)
{
if (!static_branch_likely(&obj_cache_enabled))
return;
@@ -705,7 +705,7 @@ static void debug_objects_fill_pool(void)
/* Try reusing objects from obj_to_free_list */
fill_pool_from_freelist();

- if (likely(!pool_should_refill(&pool_global)))
+ if (likely(!pool_should_refill(&pool_global) || no_alloc))
return;

/*
@@ -734,7 +734,7 @@ __debug_object_init(void *addr, const struct debug_obj_descr *descr, int onstack
struct debug_bucket *db;
unsigned long flags;

- debug_objects_fill_pool();
+ debug_objects_fill_pool(descr->flags & ODEBUG_FLAG_NO_ALLOC);

db = get_bucket((unsigned long) addr);

@@ -811,7 +811,7 @@ int debug_object_activate(void *addr, const struct debug_obj_descr *descr)
if (!debug_objects_enabled)
return 0;

- debug_objects_fill_pool();
+ debug_objects_fill_pool(descr->flags & ODEBUG_FLAG_NO_ALLOC);

db = get_bucket((unsigned long) addr);

@@ -1000,7 +1000,7 @@ void debug_object_assert_init(void *addr, const struct debug_obj_descr *descr)
if (!debug_objects_enabled)
return;

- debug_objects_fill_pool();
+ debug_objects_fill_pool(descr->flags & ODEBUG_FLAG_NO_ALLOC);

db = get_bucket((unsigned long) addr);

--
2.49.0



Return-Path: <linux-kernel+bounces-673826-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id ECF2341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:10:11 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 657421896132
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:10:25 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B8A6422D7BF;
Wed, 4 Jun 2025 22:09:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="SK1RWynk"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 73249227E94
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:09:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749074989; cv=none; b=p8Dl5LZJ5bYjv86+U0ln+bwNumhpT6N8qCciogWE2wfrUwJgCOBCvg1fYpkbCkleX5tvRbJMjXMOyUG+3TsyUQe4uhLrSslg/Dyk3qljIlCERIMJa4tdAL2sB4KFw9kHWl64/ugtPgbeCbjlKK7ICE1o0J7DOTsRMMxuSSrd9Z4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749074989; c=relaxed/simple;
bh=Lmu043ttmoNqgiYahD+6aywyp8FaBNBKAT+/DxnS4+s=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=AVCVJpQgXLsB+d6YjTym/Wy6KTWmDEp8K8j5JJFBXB4IZxG3lh9J66OJpNQTb90no/LZ+WdIi49zqDiSNwSsNi6+BttirC/0U4QCy3OuwMeJPbrakmVH/ZUp3w2P0iz2JOEbZhC1ozPCEnlV6t29exFX+pNgzhYMU8Z5uv5HjnA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=SK1RWynk; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749074986;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=InNfZwJnSoubR+c9L0hThUN+6+PZmB6lqdOn6p8BxJI=;
b=SK1RWynk522Lv7FQJ3EnKvcVql6tYtnlnKb1RwQv2WUtj62ON7ErMdYVPJKJWoD7u1DtEo
tDvjYtiTqp2xjx6pZHxKAWuptGKGTceW6uUV008SEZ94TzDYr4Fca0p2FN7fjAhbLPXi8Y
IvGgkj5rwqFFmpM7sGHhmODptOQsw5g=
Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com
(ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-351-R3xdR5y9PCSQqYDwzXRpTw-1; Wed,
04 Jun 2025 18:09:43 -0400
X-MC-Unique: R3xdR5y9PCSQqYDwzXRpTw-1
X-Mimecast-MFC-AGG-ID: R3xdR5y9PCSQqYDwzXRpTw_1749074982
Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0888D180035E;
Wed, 4 Jun 2025 22:09:42 +0000 (UTC)
Received: from llong-thinkpadp16vgen1.westford.csb (unknown [10.22.89.125])
by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 8BBE41955DDA;
Wed, 4 Jun 2025 22:09:40 +0000 (UTC)
From: Waiman Long <longman@xxxxxxxxxx>
To: Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Anna-Maria Behnsen <anna-maria@xxxxxxxxxxxxx>,
Frederic Weisbecker <frederic@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx,
Waiman Long <longman@xxxxxxxxxx>
Subject: [PATCH 3/3] timers: Disable memory pre-allocation of timer debug objects
Date: Wed, 4 Jun 2025 18:09:26 -0400
Message-ID: <20250604220926.870760-4-longman@xxxxxxxxxx>
In-Reply-To: <20250604220926.870760-1-longman@xxxxxxxxxx>
References: <20250604220926.870760-1-longman@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

A circular locking dependency lockdep splat was hit recently with a
debug kernel. The dependency chain (in reverse order) is:

-> #3 (&zone->lock){-.-.}-{2:2}:
-> #2 (&base->lock){-.-.}-{2:2}:
-> #1 (&console_sch_key){-.-.}-{2:2}:
-> #0 (console_owner){..-.}-{0:0}:

The last one is from calling printk() within the rmqueue_bulk() call in
mm/page_alloc.c. The "base->lock" is from lock_timer_base() and first
one is due to calling add_timer_on() leading to debug_object_activate()
doing actual memory allocation acquiring the zone lock.

The console_sch_key comes from a s390 console driver in driver/s390/cio.
The console_sch_key -> timer dependency happens because the console
driver is setting a timeout value while holding its lock. Apparently it
is pretty common for a console driver to use timer for timeout or other
timing purposes. So this may happen to other console drivers as well.

One way to break this circular locking dependency is to disallow any
memory allocation when a timer debug object is being handled. Do this by
setting the ODEBUG_FLAG_NO_ALLOC flag in the timer_debug_descr structure.

The figures below show the number of times the debug_objects_fill_pool()
function has reached the statement right before and after the no_alloc
check in initial bootup and after running a parallel kernel build on
a 2-socket 96-threads x86-64 system.

Before After non-timer %
------ ----- -----------
Initial bootup 150,730 148,198 98.3%
Parallel kernel build 5,974,464 5,893,116 98.6%

So from object pre-allocation perspective, timer debug objects represent
just a small slice of the total number of debug objects to be processed.

The allocation of debug_object to the global pool happens when its object
count falls below the (256 + 16 * num_possible_cpus) threshold. Even
then, there may still be free objects available in the percpu pool. So
the chance that debug_objects gets disabled because it is running out
of free debug_object should be minimal.

Signed-off-by: Waiman Long <longman@xxxxxxxxxx>
---
kernel/time/timer.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 553fa469d7cc..e0be64591e43 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -775,6 +775,7 @@ static bool timer_fixup_assert_init(void *addr, enum debug_obj_state state)

static const struct debug_obj_descr timer_debug_descr = {
.name = "timer_list",
+ .flags = ODEBUG_FLAG_NO_ALLOC,
.debug_hint = timer_debug_hint,
.is_static_object = timer_is_static_object,
.fixup_init = timer_fixup_init,
--
2.49.0



Return-Path: <linux-kernel+bounces-673827-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E37D041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:12:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 11C05175420
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:12:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B0E1D22539E;
Wed, 4 Jun 2025 22:12:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QTNYLMal"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E70A129A2;
Wed, 4 Jun 2025 22:12:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749075143; cv=none; b=UgUCiBANBw43q/wiNLYVi8JvQL0GeonIH34oGzsBwilf04TwqAGS9rfFlN0oOCfCQwxWc0Nd3U5eOv8+qCjqrPE+WbzEWO1CR4bQclUkcm+gmEmSUEnWcLp3qEtiKBIgEwGbHELjW90X0KdT5EW0u/D7OcNuTXD4U/PLTFkMjYE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749075143; c=relaxed/simple;
bh=ZgNC/tzUGjuhabSWLf9s/V5Dj4iYLMJ7BsfBi8LCeDs=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=mXlxBfkTp7hI6am1UQYy8hwqeM3pFNkjwaRmA7lDAwDEaAF8kiUEJdmdvAtoBfg7S2l3mTZHPkYKk7M70As4GNR8LCByWQFpVmM5nI5b4ZUBVUhpyzVJT/UaGrXI9azLip6O+2X7aJIYxqJQAFpo+SO4RIHOPPR+onMVI41lRZ4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QTNYLMal; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E7931C4CEE4;
Wed, 4 Jun 2025 22:12:21 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749075142;
bh=ZgNC/tzUGjuhabSWLf9s/V5Dj4iYLMJ7BsfBi8LCeDs=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=QTNYLMalq6elO/8yeakwihsxnK3xe5UkzqTnVdvj9JT74aJBxwpgy1Foz0W+0aoXj
uZ3cbrt51gg0ovSDbusEIHfxRm1CiA7O19bpk/sC1M/4ZKRtoBLFKShyXV9S6ajM6+
Q5QjVH8AAMxJqXMbNlQfQAESEXBmZtBKXxPJHRVBOJNpFXyP3uW3o0VXpPv4KQ8hdA
XWTltp1U/6wqSQMnRagDlQJlYDY/l/foDyVLSJ02/Wkga+MhhIPC1ygW+418vVYkvm
lR5Hp9HDqTuqZ1OpViq/XiN5etrqzbBv0L95mmk9Tdz9CVGno+7ds6Zdh+NVVjGCts
IN744KBfKdVEA==
Date: Wed, 4 Jun 2025 19:12:19 -0300
From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
To: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: Blake Jones <blakejones@xxxxxxxxxx>, Song Liu <song@xxxxxxxxxx>,
Jiri Olsa <jolsa@xxxxxxxxxx>, Alexei Starovoitov <ast@xxxxxxxxxx>,
Daniel Borkmann <daniel@xxxxxxxxxxxxx>,
Andrii Nakryiko <andrii@xxxxxxxxxx>,
Martin KaFai Lau <martin.lau@xxxxxxxxx>,
Eduard Zingerman <eddyz87@xxxxxxxxx>,
Yonghong Song <yonghong.song@xxxxxxxxx>,
John Fastabend <john.fastabend@xxxxxxxxx>,
KP Singh <kpsingh@xxxxxxxxxx>, Stanislav Fomichev <sdf@xxxxxxxxxxx>,
Hao Luo <haoluo@xxxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Mark Rutland <mark.rutland@xxxxxxx>,
Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>,
Ian Rogers <irogers@xxxxxxxxxx>,
Adrian Hunter <adrian.hunter@xxxxxxxxx>,
Kan Liang <kan.liang@xxxxxxxxxxxxxxx>,
Chun-Tse Shao <ctshao@xxxxxxxxxx>,
Zhongqiu Han <quic_zhonhan@xxxxxxxxxxx>,
James Clark <james.clark@xxxxxxxxxx>,
Charlie Jenkins <charlie@xxxxxxxxxxxx>,
Andi Kleen <ak@xxxxxxxxxxxxxxx>, Dmitry Vyukov <dvyukov@xxxxxxxxxx>,
Leo Yan <leo.yan@xxxxxxx>, Yujie Liu <yujie.liu@xxxxxxxxx>,
Graham Woodward <graham.woodward@xxxxxxx>,
Yicong Yang <yangyicong@xxxxxxxxxxxxx>,
Ben Gainey <ben.gainey@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
bpf@xxxxxxxxxxxxxxx, linux-perf-users@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 2/3] perf: collect BPF metadata from existing BPF programs
Message-ID: <aEDEw7bCDAtEXfGC@x1>
References: <20250521222725.3895192-1-blakejones@xxxxxxxxxx>
<20250521222725.3895192-3-blakejones@xxxxxxxxxx>
<aD9Xxhwqpm8BDeKe@xxxxxxxxxx>
<CAP_z_Cj_8uTBGzaoFmi1f956dXi1qDnF4kqc49MSn0jDHYFfxg@xxxxxxxxxxxxxx>
<aD9sxuFwwxwHGzNi@xxxxxxxxxx>
<CAP_z_Cg+mPpdzxg-d+VV5J9t7vTTNXQmKLdnfuNETm1H40OA+g@xxxxxxxxxxxxxx>
<aD9yte49C_BM5oA9@xxxxxxxxxx>
<CAP_z_Cg0ZCfvEFpJpvhuRcUkjV_paCODw2J61D3YQMm7dg0aGg@xxxxxxxxxxxxxx>
<aEC9UqkKeEj4on3M@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <aEC9UqkKeEj4on3M@xxxxxxxxxx>
X-Spam-Status: No, score=-1.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,URIBL_BLACK
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 02:40:34PM -0700, Namhyung Kim wrote:
> On Tue, Jun 03, 2025 at 03:29:35PM -0700, Blake Jones wrote:
> > On Tue, Jun 3, 2025 at 3:10 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
> > > > Hmmm. Is that documented and tested anywhere? Offhand it sounds like an
> > > > implementation detail that I wouldn't feel great about depending on -
> > > > certainly not without a strong guarantee that it wouldn't change.

> > > Good point. Maybe BPF folks have some idea?

> > > Anyway the current code generates them together in a function.

> > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/events/core.c?h=v6.15#n9825

> > It certainly does, yeah. But I don't want to have that become another
> > instance of https://www.hyrumslaw.com/.

> Thanks for sharing this.

> I'm curious about the semantics of the KSYMBOL and BPF_EVENT. And I
> feel like there should be a connection between them.

So, the comment in:

tools/perf/util/bpf-event.c

Is:

* Synthesize PERF_RECORD_KSYMBOL and PERF_RECORD_BPF_EVENT for one bpf
* program. One PERF_RECORD_BPF_EVENT is generated for the program. And
* one PERF_RECORD_KSYMBOL is generated for each sub program.

which is not so nicely worded tho :-\

"One KSYMBOL per program", followed by "one KSYMBOL per sub program".

But that matches the referenced:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/events/core.c?h=v6.15#n9825

So, for these bpf_metadata_ variables, would that be strictly per
program or would it be perf 'sub program'?

Couldn't get an answer from looking at tools/bpf/bpftool/prog.c, but
seems to be with progs, not subprogs, i.e. just the PERF_RECORD_KSYMBOL
associated with progs (not subprogs) will have those variables.

But then it seems those variables _are_ associated with at least one
PERF_RECORD_KSYMBOL, right?

- Arnaldo

> Song and Jiri, what do you think?

> Thanks,
> Namhyung

> > > > Can you say more about why the duplicated records concern you?
> > >
> > > More data means more chance to lost something. I don't expect this is
> > > gonna be a practical concern but in general we should pursue less data.
> >
> > That makes sense. In this case, it will only show up for BPF programs that
> > define "bpf_metadata_" variables (which is already an opt-in action), and
> > the number of variables a given program defines is likely to be quite small.
> > So I think the cost of the marginal increase in data generated is outweighed
> > by the usability and reliability benefits of being able to match these events
> > 1:1 with the KSYMBOL events. If this proves to be a problem in practice,
> > it can be revisited.


Return-Path: <linux-kernel+bounces-673828-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0D9C741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:16:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 1D7651731FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:16:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 22FE4213240;
Wed, 4 Jun 2025 22:16:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="j5AfTsp1"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7BC8129A2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:16:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.15
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749075409; cv=fail; b=nFGaeb66drQy9V9fxsibDRVpibY7scHfXjAxbI+eGPOS62h0SmncUIYZK8vRiPWzUBpas3Hn/ItJ3o4HJaRe7x0Vj9ZVEa7iHzfr0i+gN+gsemeFW3WPHU3U9q+r1xWBArFvL0GcpYbUMECDm1DzLXkqazckhzyuccnwoqWsOio=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749075409; c=relaxed/simple;
bh=4hKZqQJ7vcz+LAztndQRXQ5mKjJNYcpYcpzpHcTQKdI=;
h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To:
Content-Type:MIME-Version; b=F7kbssjRmrHgU7Lebr8F9rqS1LgK33T6mv9gUztMjQ/7QBmovJoL+07nBiAGQVHkj5mNvmNqn6dTaUwtvSZPoXFxkiEp58/oFU4p6rBwAjtv0JClGjBhcMVEi2pftGy/gwuQYAQD+DJURCXz3ie9aOR4goXarFaGmS8DiUpy/QE=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=j5AfTsp1; arc=fail smtp.client-ip=192.198.163.15
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749075408; x=1780611408;
h=message-id:date:subject:to:cc:references:from:
in-reply-to:content-transfer-encoding:mime-version;
bh=4hKZqQJ7vcz+LAztndQRXQ5mKjJNYcpYcpzpHcTQKdI=;
b=j5AfTsp1jRVMuzqFsL9uQx4MYG07+LCUYbkbhnoeJSYY0I/mnb3LUjs9
qSu2qYDgy7yWkNKv4RGMGDtdufh6pCbMhWB74VxOz4+N4c1XKJ1abU7xG
cWLHq//Vp1cXYNTpn67v/9UDoVwHo/8SJZPo/J7G13q3lUjpXIT+LOZ9N
ag0UDMXz439u/V8fgQ5Y3N13eWpT7yh2dB56eWY8XZj6nq+MajcB87PA2
vVZM1i+trCz/slOU4BXvwaPH9eP7l+rewhxTKXQsT1pHUtaGtlGtyJMw9
RVCtMTWOvjXRVJOzV5On7GlzJfJfaoLcAVweYuzml3t/ezDe3aOe6gk0/
Q==;
X-CSE-ConnectionGUID: xZ4avShwQauajXLlE1Bf1g==
X-CSE-MsgGUID: xti3qp5MTpikOfhOfVgaPA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51324117"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51324117"
Received: from orviesa009.jf.intel.com ([10.64.159.149])
by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:16:46 -0700
X-CSE-ConnectionGUID: h3Q/QZ+7Q0eMybYXyOYtMA==
X-CSE-MsgGUID: gNKRJ025TNCx7jja+IscaA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145357570"
Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25])
by orviesa009.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:16:45 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 15:16:45 -0700
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 15:16:45 -0700
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (40.107.220.85)
by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 15:16:45 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Bd13IYcfQo/w4JuxmspSJ6apsyckNWh3koywmspzSpGbdVUaM4xLlKzX+DgiBmMSTWoEHN2wYlVo/nlMi8ZbiCcyzdIsWGoNtWZEzwFxXldY+nQrz2PBI26C/n7QV46d/zs0J4Y2MlaCu52CUJLeJLc22N8oU6P0Z0Wuj4Qh47dUgk8sSMnPgzFLO80IDnBwVW54h3ldFLzgfxP5JMEP35UyFZZ86Ul2oOef4lgRClH/lAMKv+kwRBdgwjxB34erwcCQhpmnMtt68AZsFARWR0RD3JPFBFQjLRvPCvZeKhccGtXTvwtl6DhVN9lhwA2LEp1ETVz0ealIMkOUNN+BOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=XFOn7D6Eop1fm5Ho4Nk8dYt+sAVDW5tpO3k/DAB3t2A=;
b=hf3UZMINRTv9Nsa3zH80CZ9FM7Zn8tJVi3PS4BYphrE/MT/yFTbQoL+OMwdwlIGN8JT4TYaqf2VcdExGUBTmtl8GHWtjEzmB/GRCNK6BiH6IuJkDPencRbsGyuLyCt6uGbDw5PjijuISINsz33yI8cMa1FKyIPgmYkNWInHVme42f+fFHuPqivzj0kMuI/PYNf0UaJ+g+gvvxoG+JxHPDfSSxJBmEd2YCQb8l7PfIKxpuMJdMGjhkw4rHSBXfTtdfm/CqhwCkpkuaOLAof10k2u4VWjXIxI29+COHn7PqcWAt8jjFIILkdPgvzivZZOQOqcNrXA6w7m7UaZrESbpZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH0PR11MB5095.namprd11.prod.outlook.com (2603:10b6:510:3b::14)
by PH7PR11MB6377.namprd11.prod.outlook.com (2603:10b6:510:1fb::13) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Wed, 4 Jun
2025 22:16:42 +0000
Received: from PH0PR11MB5095.namprd11.prod.outlook.com
([fe80::215b:e85e:1973:8189]) by PH0PR11MB5095.namprd11.prod.outlook.com
([fe80::215b:e85e:1973:8189%6]) with mapi id 15.20.8813.018; Wed, 4 Jun 2025
22:16:42 +0000
Message-ID: <24f7d99d-3249-4fcf-a9e4-af610cc9436b@xxxxxxxxx>
Date: Wed, 4 Jun 2025 15:16:40 -0700
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] drm/nouveau/bl: Use kasprintf for interface name
To: Timur Tabi <ttabi@xxxxxxxxxx>, "christophe.jaillet@xxxxxxxxxx"
<christophe.jaillet@xxxxxxxxxx>, "philip.li@xxxxxxxxx" <philip.li@xxxxxxxxx>,
"simona@xxxxxxxx" <simona@xxxxxxxx>, "lyude@xxxxxxxxxx" <lyude@xxxxxxxxxx>,
"pierre.morrow@xxxxxxx" <pierre.morrow@xxxxxxx>, "airlied@xxxxxxxxx"
<airlied@xxxxxxxxx>, "dakr@xxxxxxxxxx" <dakr@xxxxxxxxxx>, Ben Skeggs
<bskeggs@xxxxxxxxxx>
CC: "dri-devel@xxxxxxxxxxxxxxxxxxxxx" <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
"nouveau@xxxxxxxxxxxxxxxxxxxxx" <nouveau@xxxxxxxxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
References: <20250604-jk-nouveua-drm-bl-snprintf-fix-v1-1-79b1593ad664@xxxxxxxxx>
<704b69a6af32e0d89a6d88051c12f29fdadfa638.camel@xxxxxxxxxx>
Content-Language: en-US
From: Jacob Keller <jacob.e.keller@xxxxxxxxx>
In-Reply-To: <704b69a6af32e0d89a6d88051c12f29fdadfa638.camel@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: MW4P220CA0008.NAMP220.PROD.OUTLOOK.COM
(2603:10b6:303:115::13) To PH0PR11MB5095.namprd11.prod.outlook.com
(2603:10b6:510:3b::14)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR11MB5095:EE_|PH7PR11MB6377:EE_
X-MS-Office365-Filtering-Correlation-Id: 8505c144-3f32-4a79-05cf-08dda3b57c37
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016|41080700001;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?alZibk5WZXFzeVJiNUdVSnBhaCsyb3RsdDdpUTVGRGtYcXJQUENEUi8vMjNJ?=
=?utf-8?B?K25BN2JRK1ZxcHNWSERoSzlqVzJkNzVMSzVsVGozUU90WE8vZkl1QW9VZFI1?=
=?utf-8?B?YXcrQzJoZUpZUzhHTWJSRU9Vd29yc090ZHhEZlRnS1lISWRTaXI2RG1aMkQ0?=
=?utf-8?B?UkVOM2pqa0tQWksrU290NHJFMTkxbFlZSWFMTFBuaGR3SmlBTGNtOXEyM0d4?=
=?utf-8?B?L1dscTFvb2dGTHM3Z3lzV1dFYlNmOENOaFBrRUZaV3hSQmI2UWNRcE5STHIw?=
=?utf-8?B?NHl4OHBCSEVuUjB5MFFTVStIbWltaTVzcFNLV1o2QllBMzB4ZHhocDI3eEU0?=
=?utf-8?B?QTdWSjlVZmZKK2s3amtGR2h5R2lLL09JOFpqZG9wZVM1ZVR0QmJFRitLTERT?=
=?utf-8?B?NUNtbmM0aEpQVjgwd0NudFMyTjFYbnJBWnNSQkIxRzdsaHhCZ0JITnJsVkZU?=
=?utf-8?B?T0d1M0Y5RE81YkYwTXVKd0F4cVFYUlhhUkRJU0VjNHhDMkdFWTF0dG9XUERC?=
=?utf-8?B?WitPUnhaSEFoWFdCNUc3N3JkditiYjhOSWRrVjZDaHNLd1Q3aWJpNjNvNFA1?=
=?utf-8?B?bFAxbkVENU0yUXN6cFpYWVZiK2srbzRBYVFWanQvUmZRQlFNNGtVL1gyQ0o0?=
=?utf-8?B?b0RxaU83MUtkTEI1N2QwVEhyNGpRZ0x3cGxrMC9STy9vVXpIbXVPeVpwdWNM?=
=?utf-8?B?d2dLUDJLa2pCdFZiVmtjVzlzempOZEdRc0xXMDByRWFMRWVITGJodFJsMmRa?=
=?utf-8?B?WjlWUWxHcWxJb3A1a0ZqTzJ0KzY1c083OXdHSFN1c09JeEFjOU9YTGlEQ1hG?=
=?utf-8?B?WVB6NDRaREZDWkdvdTFGZmJzV1V2cWhpcS81K2poTXNHY0hUYWdXL3FINTV1?=
=?utf-8?B?K0pManpkVWtwKzJTNURPOWJwNEFPNkhrMEZmZ3E5enBMZW9TQjJIUU9Tc0Vy?=
=?utf-8?B?Qk1BUUlhZ21UWmJkeHM0TEw4bVh6SVlPbHY2VG5mOU1CVXQxSlpVM2FtUVlO?=
=?utf-8?B?T3BmSEFreU1NRU1scEZrZ0NuZUU5ZW4yS0s2cFdkSW4yRjZpMytKdnh0a1o3?=
=?utf-8?B?Zk84YVM0M1RQZG1McGtyMDd2ZFhSQ0trK2FYdDZHOWNqb09ST2FRNnpGdHZm?=
=?utf-8?B?a1FmWXRJWEJFZWR2N0o0NzdRai9BRlFhcUVqV3pFS2FQZzJ3YXVWVW11eW1K?=
=?utf-8?B?a0ZZWjNuVTNWQU92K2EzOUM4K2dDLzh0UXlCaGxJME4rMzE0dHdERmVvNjVP?=
=?utf-8?B?RG03YVEzUlVDS3VUdVV3YlpZYVJzanpRUGZtV0d5aHRUbWNhWnhmN0VoSitn?=
=?utf-8?B?M0wwaENiWXRwMHRWMDZrdU4rUnhBYlV2aTJoNm03S1d3NzZST21LeVBicDZS?=
=?utf-8?B?L1l5d01TZnozRFdHRWZxTFlIQjBDNTk5Tm9ibHdkV3RDbEROenVaWGNoTlY3?=
=?utf-8?B?SjlGTFhuWnhnYkdiWnRFWlhHMjZ0WE1SejExZG9zQTdaL0ZMdWhOSFpHU0tK?=
=?utf-8?B?T1VjUTVKb3RhYzVvRVI2M0VyVjdqU2tKUkNHSEJOTWx5VVg1NVFBL1hBcENO?=
=?utf-8?B?Z0RwZzQwZ0o2aXZxSmlueENnR1dnWTNXTXNpa2lOdmV0enpyZmJIODgzMVhB?=
=?utf-8?B?cUdMZWJrWlJFNmhoU0hYODZqQVArZFJneHQ0bG1idUxRVWxvU3ZhV1BFejhB?=
=?utf-8?B?TnNGVXNQRXZQYkJsZ0ZoU2xaUUsxd1FabHo4Y0JmMGhFZDRzZWRmZE0va2F5?=
=?utf-8?B?VWh4NzFpeEhxRnpJeE5LR0NmZ2ppM2MvSmNzMCs2bDNOQW9LeTkvWllHanZo?=
=?utf-8?B?ZTZNMW83U3F6RkJGU1oxSWQ0TEp2aUNkMWJsZTY0K05sVlV5bG1RRTdOeDUz?=
=?utf-8?B?UnBuOVB3SExCSWFERk00aFJhYyt6UXd2bUFmQlEzL2xGS1A1ZnBPSDgwaUll?=
=?utf-8?B?dDcyVmZ0L0hBS2N2dXZDenZDcU5SdFR3RDBSdk5USC83M1hheTBpSGJiLzJJ?=
=?utf-8?Q?NRpWZ+w5CzwW0K/fFrqKhpq2gvizfw=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5095.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016)(41080700001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SjlZUElxT2dKczhmMFZ3VEFJRDNjYk95WVYyaU8xa0hXNkdINkszQmx4Tld0?=
=?utf-8?B?OWdEY1A5ampDZ0tFMW81TUlKNzJSckJ1SnQ5UkJQelg3YS9mQ0JPenVMWUpK?=
=?utf-8?B?enJJQjRDZHBDcGlRSzRjdDVudnA0M2Ntb2p3MGxOeDZoUm8wVE91bE5vN2RB?=
=?utf-8?B?QTRhNk8rY0RBL1BOZ1RMbGtvQ2h0SEpGcGRrLzFsY0QveWxSQnI3Z2xWSXhL?=
=?utf-8?B?NUY0cHR6ODhOQ0hyc3Q3Z3QyWTRmRkxaT1VobjdiRlptQjA0T0RvNC9nUyta?=
=?utf-8?B?K0trRU5pYlNTMTFpbDVwY2NnSHo4OTc2S1NyVzBuZm1XTXZPY1BQb2Q3UlhS?=
=?utf-8?B?dDM2RERrcE15S3pWcmNqTGlBeUl1U2o3OEVRcGZ6U1d2aGhOSmxDSVo1d1E4?=
=?utf-8?B?b05Rd3padXRYdktTRHEzZXlleFhVYkVubzU1SDZHZTRHWUZHT1dxRjVhTTFM?=
=?utf-8?B?ZWNpN3RpY09ET2F6L1oweEQ3UHNhTzZaMnU3UVdlejdlOEtXT0x3R0RJclhn?=
=?utf-8?B?d2NmQzBMaFFFOEphdFV3QWl1bkhYejJQMFhHSTJXMHhHMDNDR0NXcVBjSEtU?=
=?utf-8?B?SFVSY0VFRFI1Z21xdmRmMXpZcW03djE3UEhHVGhGb3RsdmNSTkJOV0dvcHl2?=
=?utf-8?B?c00rb09TVVR6a2ZzUEFxQ3hXdWg4QlFpb04zQVJDVUVXN0JqelJ3YllVeGF6?=
=?utf-8?B?QUpRZVhPQ1A5YkUzTzRCZ3FYYzY5OVBVSEp3T0VqSHRiT3R5MmJwUWpGNEJs?=
=?utf-8?B?eGpJWWtZSnVKdDJFMU9YYzNuNjJpMGdNb2Q3WHVvajBYSmtRQ0hzNjRsaXk5?=
=?utf-8?B?V0VQUlV1MTAxMEdvaVd1NTFSRXdyTW51bDZyOHR5ZVE0WmM3NExHZ1k5RmtG?=
=?utf-8?B?a2NOU2dTN0xTcytqb2JqcHloWWdLcW96dE1zMnhEKzhpS216d3plSE51dkkr?=
=?utf-8?B?Zmt1TWZsWmVBUVZFRkV1dzZHS0swNTFRTHMvUVNiUGxob3p3alJzMzhNYUIv?=
=?utf-8?B?dmRJdWVMSktxSUJYdlQ4c1hDUnA3Zytkd0hrbis3OGNpREF6U3lEWVBCVHND?=
=?utf-8?B?MkFvVE1uZE5vWjkweW9PbnVtY1FNZkdpaHMveDlqTWcwb3lEbSt1U1lzRjRl?=
=?utf-8?B?bVEzU2hTT3B0RzM3RHdtYzFoY0xCWmJoTmU4aGQvUUIvcG5YOEV5RlFLMXBq?=
=?utf-8?B?UUFlbmhvdGZjRkJLUzA1eVgxUFJKUDkvRzBheG5NOVNyZyt0dnhta0E0L0ZE?=
=?utf-8?B?VU5NTHUzd0E2cXpLdXpqODk0QUFhcy93MmhmUXJtWk5ZNWxVM0srRjQyZW5m?=
=?utf-8?B?Sit1MTgraUlrMEdJNzdSWFA0NTJYNHhGZ2xKY1QyV2dVOFMyRFBPM0x4YlhO?=
=?utf-8?B?L0ZBZlVhYzZ4STMyRGhkV0lqazYrbHpVeDlQM2RSNko1Vjdic3gwTTdlQitl?=
=?utf-8?B?dHhLMW1ZeGVmT3NMSGtKSHNYSjZ6THUvSjFzbDZwazJlNmVEZGhRYnhya3lp?=
=?utf-8?B?T2ZMbXNmZTBMUlZUVXM0a25QcTFlT1VpOFdmYUwvREdTaHBrdG5GWDFic0Jl?=
=?utf-8?B?ZityTVlMV2V6bE0zRTRUaWdBUWZGMWF4eXJrenlEQmJ2SGFvakFPZ2NSUmh6?=
=?utf-8?B?TE5mNGEwMktwZzFId3h4cGphSlV0ejM3OTNXRFplNkFJWmNkSHJXWlkxRUNs?=
=?utf-8?B?U21XWDROSmdCZGJqRnR2VnV0Zy9rakxTWWJCdUVvQ0hmZjZjWVhhZUpNd2hQ?=
=?utf-8?B?dXNKbzRldk9LeVNZU0pYRzkxNktOajVIRjJhdXMyeHl4eEp0MmpVSGtETjI5?=
=?utf-8?B?dmZ3ejQ3L3FBMkEvQmc1VXFpZ01uYlJraldZS1JnQmtjTzRGMFJBUEg3eEdt?=
=?utf-8?B?MVVla1cyM283TXVHRWU1ZnlkamdnY0dJQ2tZeU0rc1poUWlhN29YWHNYdDBz?=
=?utf-8?B?YzhPOEM5SXJFeVBBY0pXZk96UVRERVRtaXlCTGNaZnBLMXlra2hQTlRnY3Jr?=
=?utf-8?B?OHAydHFtWVNkSGlkVFp0NWlzUVRUUjdMV2pDc1RKK3FZV2diNklMK29SL1d1?=
=?utf-8?B?Slo2aGxHSmRqWGZtc0d0TWZOUE1rYjNIMkJyVVMyMkZ2aCtGZ3pRR3Q3S0NW?=
=?utf-8?B?QlRGUXZjNExRRVNSckZDVW5Bam9nOGtLUjlrYWdvNWl0V0lGSUNDcEd1ME9U?=
=?utf-8?B?YXc9PQ==?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 8505c144-3f32-4a79-05cf-08dda3b57c37
X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5095.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:16:42.7489
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tioatt6wYsqVHVX3YsuSdTb30PxG7aBHloWiVLT8ke9O0J15aZv5T4hKOt1eZ29ogCI9PJX2yfZjEb9A8VnM/bVIsssDsP+WPo8EZj0wmko=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6377
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/4/2025 3:01 PM, Timur Tabi wrote:
> On Wed, 2025-06-04 at 14:03 -0700, Jacob Keller wrote:
>> This could also be fixed by simply increasing BL_NAME_SIZE to 24, making it
>> large enough to fit any size integer into its format string, or by checking
>> the return value of snprintf.
>
> I think this would be a better approach. backlist_name[24] is still small enough to fit on the
> stack with ease, and it would eliminate the alloc/free churn. kasprintf() should be reserved for
> long-term or larger allocations, IMHO.

Fair enough. Another alternative which saves the stack and macro would
be to add a new version of backlight_register_device which can pass the
integer number itself into dev_set_name, but thats probably not worth
the churn either. (Currently we snprintf into a buffer and then again
copy that again into the device name...)

Thanks,
Jake


Return-Path: <linux-kernel+bounces-673829-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 81F3E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:21:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 8B2A917401D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:21:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F2BDD21CC59;
Wed, 4 Jun 2025 22:21:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="CWrrbklM"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0889215078
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:21:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.19
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749075710; cv=fail; b=HC9WKy4TdUCh1XYFY4yMfA5DYX2OPuQZZJ5B3cOUMLj6Tv1kyso/cVv1GHwsu3YuvikJ2UyMQJmhGXbW6+RntfX3Qmy6UkMc3zxgwSxP8DCVT0YHqf0Txty9PcFjI9mGx8K9c6u1Vgt5/zAxNgLSQil6YvzLLHeAv703VPIrHWw=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749075710; c=relaxed/simple;
bh=2FGMlQqskw9yHuoCctPux6Q6l3hfO2oryVDW45EycDM=;
h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To:
Content-Type:MIME-Version; b=Kbb7f1klelRVM6LoFyKJQ8uUdzSOUvBhMqfGBpmQ584/n+Y0t7Zy4xplD57buROH5N46BCCkkzeSpfG8o1ESTo1NID/Sxds/gtqGVAlA7IFQc6Qa2I6WaOCf/h9bc6JjjMPYQrWCLGEAUCyrkQPVD55H4tnRzRclkd1gTzCYdTg=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=CWrrbklM; arc=fail smtp.client-ip=198.175.65.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749075709; x=1780611709;
h=message-id:date:subject:to:cc:references:from:
in-reply-to:content-transfer-encoding:mime-version;
bh=2FGMlQqskw9yHuoCctPux6Q6l3hfO2oryVDW45EycDM=;
b=CWrrbklMXjNEaNTHNjaMyxJ+Y8dOChHWon+7LstJ0myz17hw7oJ2BMwc
C0SptEM3SOmn8PORsahG+g8dCAI1JhGGwnCMBDQZNH8l6oI8plzC94Lz8
EdoElRKJ6Lvb/pnp1HMOP+TmudCpQVQ/89SvgKa74U7Nh5bfwoBCfcO4D
uY8+OArojFmi9o9143BtgRCi+pF4ia6QqwqI7AKXt9xF/sLnrK+sQi0+H
DDu148T4dGd5WlynSx4sm4VOsPUtz6brs6xlsvxHBYLFsvomeYGpRgOSr
R8qSQciy256PmMSlA1ayPF5iIlPeMUP4cQL7HuaJWN4sMz97BqF4/7wSD
w==;
X-CSE-ConnectionGUID: n77/bGuaT8eNCI9ssaCjRw==
X-CSE-MsgGUID: Upr/CgdyRMiwY+UHAUN6gA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51048958"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51048958"
Received: from fmviesa001.fm.intel.com ([10.60.135.141])
by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:21:48 -0700
X-CSE-ConnectionGUID: AY9xliq4SjabaBZ1KNYohg==
X-CSE-MsgGUID: YGXa26DrSba/UKh+2U+whA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="176195776"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by fmviesa001.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:21:48 -0700
Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 15:21:47 -0700
Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 15:21:47 -0700
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (40.107.244.43)
by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 15:21:46 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=dZgCymvx5CTjZBMxoQgFZ7sMzj6T6LEDZaAZs9j0HSkBh1flGHZXNi+E53DdBhHeF8JN8Wlwgips0efXszO7n9dCMnImwpwvJB/BzNsqlazOHK+BcnhTFKwkYeV2P9eEdmbHYTMORbdK/34Zfj4qpMqrr4lmMHZY6A26hylGwq4ROMFBd1O3ZzGr7b/lC8TVRATz5SS85SRH/2XDa3+kQv8YyxGmQmV8KsyJJYLjIDQh6c7FDCIn7mkhE4KCr/CqKJ9G1mBX/g+s66tS7rdVrCeLGGTIjWcZNOJ2a89k/SGNtKhmen6I8AF2iuRBvR0YGzTMLvy+sbwNwGlxmjFVqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=25eQGA88Eabmc/2SnY7k1m13BoTzkjI05/p4tTATwNs=;
b=zPHsk8nd3Gd/Tt1Nt0X7xGXxHOHegDVicDwsoe9UkxATvgsYlO9Ycaot75fEZodYe02Oa2thrz69NjV0RPtE/+ikfZosC5mAnuDWUHhtLBYiouEFeK5CnsEniZcRSkcXak0raxe7i4JYm4ifJ5drBoxh2rqSXnuQfqWrOBuKM8YZWvg5kGzQdvuKFBb88/NdN9Jj7JJT7afGxVAH1odIQJyP7wvhb0cUZ3a6Ia+SDigQhC2O4oL835J3DYcmkkPZdO0J5R/i0s5R+3Saswz7NdyuZFq9LpAOxsaiHiwDOQFV7ks0seTQ+1/iZuNHBhpqzMIMqs7S17MFlR5EM2gHNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from CY8PR11MB6818.namprd11.prod.outlook.com (2603:10b6:930:62::19)
by DS0PR11MB6469.namprd11.prod.outlook.com (2603:10b6:8:c3::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Wed, 4 Jun
2025 22:21:45 +0000
Received: from CY8PR11MB6818.namprd11.prod.outlook.com
([fe80::48a1:723f:54ed:a6d6]) by CY8PR11MB6818.namprd11.prod.outlook.com
([fe80::48a1:723f:54ed:a6d6%7]) with mapi id 15.20.8813.018; Wed, 4 Jun 2025
22:21:44 +0000
Message-ID: <bb7badd8-dddf-41f3-b509-42cdd4539fbd@xxxxxxxxx>
Date: Wed, 4 Jun 2025 15:21:42 -0700
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/4 UPDATED] x86,fs/resctrl: Consolidate monitor event
descriptions
To: Tony Luck <tony.luck@xxxxxxxxx>, Babu Moger <babu.moger@xxxxxxx>,
"Reinette Chatre" <reinette.chatre@xxxxxxxxx>
CC: Fenghua Yu <fenghuay@xxxxxxxxxx>, Maciej Wieczor-Retman
<maciej.wieczor-retman@xxxxxxxxx>, Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>, Drew Fustini <dfustini@xxxxxxxxxxxx>,
"Dave Martin" <Dave.Martin@xxxxxxx>, Chen Yu <yu.c.chen@xxxxxxxxx>,
<x86@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <patches@xxxxxxxxxxxxxxx>
References: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
<20250604212208.49080-2-tony.luck@xxxxxxxxx>
Content-Language: en-US
From: "Keshavamurthy, Anil S" <anil.s.keshavamurthy@xxxxxxxxx>
In-Reply-To: <20250604212208.49080-2-tony.luck@xxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: SJ0PR03CA0123.namprd03.prod.outlook.com
(2603:10b6:a03:33c::8) To CY8PR11MB6818.namprd11.prod.outlook.com
(2603:10b6:930:62::19)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY8PR11MB6818:EE_|DS0PR11MB6469:EE_
X-MS-Office365-Filtering-Correlation-Id: ec153f6c-c33a-4b2b-1352-08dda3b6302c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?MnVyQ0V0RzI1VWM2ZnZQY3l2ZWE3eXpqMk95OHVtWWw5YmpMTkxxQWVYTXox?=
=?utf-8?B?V2VrNlhNcitrU1ZEK2lkaWJiaFJTcWx6Q3hGdndRN2JzbFA2TDUrbkVYNUFI?=
=?utf-8?B?TVp2WHQ1OEJGRWN5NGJaNG1pdzhxZlRLM2FQeStmdlVkSFFoclRpakZJd0Jw?=
=?utf-8?B?WjdjUWVudy9kM2FFR1c1QUI2SW5PTWo1R04ycldObzdaSndXdlhiWFJuc01o?=
=?utf-8?B?cVJqRmlISTF3VnRtZWN5Q1JQc1pRODJvTEFQYUltZnYyQWV0aFZNUUFNbG1l?=
=?utf-8?B?djRaMlBNUjVqR0RzaGNBR25yaTZVd0JmYjJDNFllTkRiVmxEWEdCWXVyL1Ft?=
=?utf-8?B?QS9rSUFSNEtwd0NPL3JzMlZ1R29RWDZwVUtDc0ZrWjZidEVNNFUvQ0Z4ZzJ1?=
=?utf-8?B?cE5rdVpvaWZ4bGtOQnpCdjd1TjNWZjM3SmJxc1RqL0xYWDhwSVY4aytid1dO?=
=?utf-8?B?YzV1T3hKRmFabzU1c2Y2NWlISjhkdUkyTXE1ZTBTU3dhSG9KRVRxTXJMRTFY?=
=?utf-8?B?eVo4ODU3RnVVSGJOd2UzejR5ZTRwelU1V3hFbm8xMnpHSkZyMkFaNzllblhO?=
=?utf-8?B?aXRQVll5TERsNFNWeS9RcnZEVDlPV3Z3N3RsRnhKQS9WZytsMkR5RWpGTGty?=
=?utf-8?B?MklZeTE1cUhWWnZESXNpRzk0VnFwdUdSU0kvRFl1LzRnRE5lcmNUUzZadzI2?=
=?utf-8?B?L3BZVGJUai9mUFNiUWVhNDRkYllybTczdXRWK0ZFTnlLa0pNckF3ems5M0dt?=
=?utf-8?B?TTJocVUwL3c0eDdNcG53THprZWVMMTZnSkYwU0lEU1ZpbnR3eEZuZGM5WTlX?=
=?utf-8?B?cEtyamtsb1BqUE1uU05rMGExUW5ZU0xOOTRlL3RYS1dkenF2aGNsWWFoVXQy?=
=?utf-8?B?Vm9kSitLd1FaZUlhd045Z0V5RklLNGdaaWZjdHhTSG41Z0RheHEzTzdNWVVF?=
=?utf-8?B?OEhUUDRrOG5Gc0FQOUg3M0FNY0NxRloyWWpRQkNoSWgxSW9XNXpTN2tLQXNE?=
=?utf-8?B?dUVWK3BWdCtvZ29NQllqK1EyVng0anFrdUhzYUZONGNnRDNIaWQ4TW5pY1Y1?=
=?utf-8?B?ZjRrb1YxVWNYZ1Q4UHlmY0xGT1lUTHlqbU5FazFVbm00ZlpqVDZ6WXFmOUtr?=
=?utf-8?B?cVBadzl0T0c5RWRZbjJrVHMxTDJqRWdJazJQTjZETU43bnc5MTBDOTYrT1Rl?=
=?utf-8?B?UHlHYlZUMWhaYUtielpEVXNOVlQ5bHlDRjZZYkdtcmdKQUYrNGd4S3djT2dM?=
=?utf-8?B?czR0cGNRaE1LYjMwL2hlSWhrVG50ZnZDTGticVZWS0Q0NUwvMEpra0ZsMnU3?=
=?utf-8?B?TFllcFZ0djNkS2xBNDNmU1JkUndsekliT0ZyeElnYzgwWCtTVjRwaUp4cmVH?=
=?utf-8?B?SFhnR3M3dWpBVGJ6enZGUDRxRW9KQm1lT2RPY0ZleU90SWx0MHRNeFNMSEtl?=
=?utf-8?B?SkpBZVNqcE1aT01RSHZZUlE2SFZrdkV1VHBqOW5QTXo3Z3BSUng5OXQ3THN5?=
=?utf-8?B?VmpHU1FTS0U5NjRmdVpTQXlUc1d3WjZoNnJDMFhDbHpiM0xIcXNUSnVIaUZ2?=
=?utf-8?B?eUw2WDBRQzA4WlVrZDRYZjNyUnYzblFxVVZyOHdOb0RraWZXSVB6eEdtMWtt?=
=?utf-8?B?Y00yc2d4T0VHZ3UrUlJsaVlra2NBUndtZUlObEVMTGNnbHBBUVZsWlVwTzFD?=
=?utf-8?B?aEYyb2pXVmhNT3d2SThuUm9DWkdwYkRTVlZRSk1WWHJWNGFVeDBDT2FNNzZF?=
=?utf-8?B?bHh4dkJ3bDZPQStsYmNYdlQ1MTd3b3hhaFhGT0VqbkpnbmRnQ3djV2g2ZlRX?=
=?utf-8?B?T0x4cjdZUlFPY0hrdVJHNlhTWldESUNvcG9vMk1xTUNCYjg5cHZiVWpuY0xs?=
=?utf-8?B?bnRFWVhIdThhQ1hmd00yVXVZc2hxcUJHcVFzVEpMTjV0T1FwU0VCNDBTZ2U4?=
=?utf-8?Q?MTlI+8DZFXI=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR11MB6818.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bnNJVnZFakpWLy9uVC9UL1lpTHYrUWI4NVhOTklxREc5YkFwUjRFbzYzZ1BL?=
=?utf-8?B?UUNBMWV4K2trUEpjTCs5NVoyM0JQaU9ZZmhjVXluRFZaQVNDcXRhN2xuRStS?=
=?utf-8?B?dzJXb1JDRDhmRE51WWdLc2h1Q0hWT3RLdTBxZDJVNmVIV2V5SHZSQ3J1SmhJ?=
=?utf-8?B?MjZjU1M1b3ZpcG5HSnczNjg4dWJHL0dHWVJTejIvNzNGNlBjMjVndnFkNTVQ?=
=?utf-8?B?SDFwTkJYdDBnVGlCSG9lZjFicjV6ejBIY0hrbkhEbzgwYVY3cHpEV0pDdUE1?=
=?utf-8?B?ZjNZKzBYcDNVako3NnYzdmdReG1wd09iVzlpaTErNlJaZ3hhOW5oQnZDTVVj?=
=?utf-8?B?SFI4UWpxSTVNb2F5Z01tWUpuaFpiOTFLWFZlenR5THZSWjE0dlpiT3lRRllw?=
=?utf-8?B?ZmNhTkFTcUwvckF3dzFkeGxxc1dSa0liRDA0clhRdWhETHdjR015K3VEaWtn?=
=?utf-8?B?UjdCMkxxUUdWZ3QvTGJHeEpBbjc4ZkJPTkRVVkNsRDJlc0pjMUJEMU9hUEVw?=
=?utf-8?B?OFBiaVZTMFBSaEVydzRlbk4vK1FoWDk5NjlLUkdxcHZzaWtROEJUdzFHaXdE?=
=?utf-8?B?cHg1U1lPOSsxQnhVSGlacWxUYnY2ZTk2dHpqYTlKTjhqaFpuRmhtUVNYVmNk?=
=?utf-8?B?ZXBoNUVFYlVwbUtlVUpqczRuWlJFUXVVRXJINmszOTZwREgyOXRTY1FYYmVn?=
=?utf-8?B?cVBVeVQ0ZjU4Qlc0UHA3QU8yYjUrdTBkZGpySllvWDUvSE5kaWVmazhMSlg1?=
=?utf-8?B?NHdxYUFKN0EzZnZhaGNFVDJOaytVMENBNE9JaXlGaE5oZXF1eHZxNGxCWUhK?=
=?utf-8?B?ZmhNa1hwT3VaVTFJM2owNmlrbHRKZWVPZ1dLazV0Q2M1UXB3Vmc4eUNDVUNL?=
=?utf-8?B?VWg5MFhsWi9mMDVTWVJRS2ZvWVlCMTJHaWY5WjNGNzljUTFSdjNYcVhoSXRP?=
=?utf-8?B?eHIxTU1xanhFc0k4djB1L2djUDRrMnpPWE1manpjWmxVWldYR2c5OGN6Ymlm?=
=?utf-8?B?Rm01d3B3eG5ZSWhQa0ZXbGNxbHZzNUNLSThPdHd3amE0aVhWeVA2Rmp5ak15?=
=?utf-8?B?cXRuY0lndllFcnRUNEh1WThwQ3I2WTNBTmZsellXeFhrS0dNZEFZMnVDdjRn?=
=?utf-8?B?a2I2WGtOYmxpdjRqemhZYXd4dWZvZnZxaUFvb3AwOW1IUi80Z0doTTVRKzRR?=
=?utf-8?B?cEN6d21vWWlQQWE5akdnL1h2bncvWUswdllHeXF5aTRNUTlYeXhnY2didkFv?=
=?utf-8?B?QTRQaDduTE9aZTQ2SitQR3Rtd0lDT2twUWxDYkVzMjJXdFYvWTlXMWdTb1VK?=
=?utf-8?B?dFNaVnFHT09JTUJSSGdMaUpHUzRiQWNrcW4vUDI3OFVpTjJLQkNFWmxMZEpm?=
=?utf-8?B?VHdlZlNKc1Q4N3JvOXJlRXpXc1lQWmJPVXFMVUVmUW5ETlQvMzU1RFJxRitO?=
=?utf-8?B?bmdVN3F5cjRqUXVoaHFLdjRCVWgveGo5MkV2Sm1CMW1yd1UyclI4K1JlbFFT?=
=?utf-8?B?MjhFNTF0Ny8zU09IVko2eXI3VFlTYVhGdHV2S29PdVE3TTkzU3NMNllNT1Zr?=
=?utf-8?B?d2MwTU1tUHJLaXdtdkIrVDJzenl3YWdjalFBaEVlN0lLVkR4SlZ4aHM1bGRy?=
=?utf-8?B?MzBBUEVFYm9UZHVPdTJ0TXFFcEtVc1FTL3ZueDJYb212Ymo2TzY1UThSN2pV?=
=?utf-8?B?UHl2MHlSdTdzWTVkY0RQNkpHbWxxNWkyMi9yZ1BZUGdndTdOTlR3WTNSbXJv?=
=?utf-8?B?MzhRdmF0K0pHUk5YVEhFaU9uTzlYRjdTdGZrdkh4d1RFSUhoNEFuS3hHMERW?=
=?utf-8?B?bTEvZytkSjNUbVNkcXNoOTlmdTJTcGFnTVgzUnQ4VmNlRllsSmZHcGlkbUdv?=
=?utf-8?B?UVBOa3NuRVRRRURVT0YrVWpWQ1Vwc2hUZmJHdkJuY0s0SWJZVW5SK3ZqZFJD?=
=?utf-8?B?YVA3Z2pIYVF3RXg4KzI1bnh1bEdPUmhDTjd4SkJ2QkkxSFRvSmxEdjVvM0Rq?=
=?utf-8?B?MStwdjExVGIyMGllbjFPanR1cUM4WjR2STZzdmlUL1lOa1JpMXQ3RTJkZWt0?=
=?utf-8?B?UlpjeDR1bEFNaGExWHREODQ4SWV6TkRxc2xwR2k5Z3Ewa25RK2gwNDhrZk52?=
=?utf-8?B?Undpa0VzQ3lITjB6eFNkL3R3VGlZQ3krTThuc0plbFNBeWtBY1pQdlp3SStC?=
=?utf-8?B?b1E9PQ==?=
X-MS-Exchange-CrossTenant-Network-Message-Id: ec153f6c-c33a-4b2b-1352-08dda3b6302c
X-MS-Exchange-CrossTenant-AuthSource: CY8PR11MB6818.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:21:44.6780
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wq6thimIscSS0RiYSQuX6BJLOCZ1UomJ92prsiRre9FfpmV3pGvgQ6ndpEhbwD2MC+zKxW1nY5MudWSkRo0CtDPITjG8DqTY0zp0/hXcSLM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB6469
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


On 6/4/2025 2:22 PM, Tony Luck wrote:
> There are currently only three monitor events, all associated with
> the RDT_RESOURCE_L3 resource. Growing support for additional events
> will be easier with some restructuring to have a single point in
> file system code where all attributes of all events are defined.
>
> Place all event descriptions into an array mon_event_all[]. Doing
> this has the beneficial side effect of removing the need for
> rdt_resource::evt_list.
>
> Add resctrl_event_id::QOS_FIRST_EVENT for a lower bound on range
> checks for event ids and as the starting index to scan mon_event_all[].
>
> Drop the code that builds evt_list and change the two places where
> the list is scanned to scan mon_event_all[] instead using a new
> helper macro for_each_mon_event().
>
> Architecture code now informs file system code which events are
> available with resctrl_enable_mon_event().
>
> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
> ---
> include/linux/resctrl.h | 4 +-
> include/linux/resctrl_types.h | 12 ++++--
> fs/resctrl/internal.h | 13 ++++--
> arch/x86/kernel/cpu/resctrl/core.c | 12 ++++--
> fs/resctrl/monitor.c | 63 +++++++++++++++---------------
> fs/resctrl/rdtgroup.c | 11 +++---
> 6 files changed, 66 insertions(+), 49 deletions(-)
>
> diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
> index 9ba771f2ddea..1c87e1ed235f 100644
> --- a/include/linux/resctrl.h
> +++ b/include/linux/resctrl.h
> @@ -269,7 +269,6 @@ enum resctrl_schema_fmt {
> * @mon_domains: RCU list of all monitor domains for this resource
> * @name: Name to use in "schemata" file.
> * @schema_fmt: Which format string and parser is used for this schema.
> - * @evt_list: List of monitoring events
> * @mbm_cfg_mask: Bandwidth sources that can be tracked when bandwidth
> * monitoring events can be configured.
> * @cdp_capable: Is the CDP feature available on this resource
> @@ -287,7 +286,6 @@ struct rdt_resource {
> struct list_head mon_domains;
> char *name;
> enum resctrl_schema_fmt schema_fmt;
> - struct list_head evt_list;
> unsigned int mbm_cfg_mask;
> bool cdp_capable;
> };
> @@ -372,6 +370,8 @@ u32 resctrl_arch_get_num_closid(struct rdt_resource *r);
> u32 resctrl_arch_system_num_rmid_idx(void);
> int resctrl_arch_update_domains(struct rdt_resource *r, u32 closid);
>
> +void resctrl_enable_mon_event(enum resctrl_event_id eventid);
> +
> bool resctrl_arch_is_evt_configurable(enum resctrl_event_id evt);
>
> /**
> diff --git a/include/linux/resctrl_types.h b/include/linux/resctrl_types.h
> index a25fb9c4070d..2dadbc54e4b3 100644
> --- a/include/linux/resctrl_types.h
> +++ b/include/linux/resctrl_types.h
> @@ -34,11 +34,15 @@
> /* Max event bits supported */
> #define MAX_EVT_CONFIG_BITS GENMASK(6, 0)
>
> -/*
> - * Event IDs, the values match those used to program IA32_QM_EVTSEL before
> - * reading IA32_QM_CTR on RDT systems.
> - */
> +/* Event IDs */
> enum resctrl_event_id {
> + /* Must match value of first event below */
> + QOS_FIRST_EVENT = 0x01,
> +
> + /*
> + * These values match those used to program IA32_QM_EVTSEL before
> + * reading IA32_QM_CTR on RDT systems.
> + */
> QOS_L3_OCCUP_EVENT_ID = 0x01,
> QOS_L3_MBM_TOTAL_EVENT_ID = 0x02,
> QOS_L3_MBM_LOCAL_EVENT_ID = 0x03,
> diff --git a/fs/resctrl/internal.h b/fs/resctrl/internal.h
> index 9a8cf6f11151..71963255ad36 100644
> --- a/fs/resctrl/internal.h
> +++ b/fs/resctrl/internal.h
> @@ -52,19 +52,26 @@ static inline struct rdt_fs_context *rdt_fc2context(struct fs_context *fc)
> }
>
> /**
> - * struct mon_evt - Entry in the event list of a resource
> + * struct mon_evt - Description of a monitor event
> * @evtid: event id
> + * @rid: index of the resource for this event
> * @name: name of the event
> * @configurable: true if the event is configurable
> - * @list: entry in &rdt_resource->evt_list
> + * @enabled: true if the event is enabled
> */
> struct mon_evt {
> enum resctrl_event_id evtid;
> + enum resctrl_res_level rid;
> char *name;
> bool configurable;
> - struct list_head list;
> + bool enabled;
> };
>
> +extern struct mon_evt mon_event_all[QOS_NUM_EVENTS];
> +
> +#define for_each_mon_event(mevt) for (mevt = &mon_event_all[QOS_FIRST_EVENT]; \
> + mevt < &mon_event_all[QOS_NUM_EVENTS]; mevt++)
> +
> /**
> * struct mon_data - Monitoring details for each event file.
> * @list: Member of the global @mon_data_kn_priv_list list.
> diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
> index 7109cbfcad4f..7b235b7691aa 100644
> --- a/arch/x86/kernel/cpu/resctrl/core.c
> +++ b/arch/x86/kernel/cpu/resctrl/core.c
> @@ -862,12 +862,18 @@ static __init bool get_rdt_mon_resources(void)
> {
> struct rdt_resource *r = &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl;
>
> - if (rdt_cpu_has(X86_FEATURE_CQM_OCCUP_LLC))
> + if (rdt_cpu_has(X86_FEATURE_CQM_OCCUP_LLC)) {
> + resctrl_enable_mon_event(QOS_L3_OCCUP_EVENT_ID);
> rdt_mon_features |= (1 << QOS_L3_OCCUP_EVENT_ID);
> - if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL))
> + }
> + if (rdt_cpu_has(X86_FEATURE_CQM_MBM_TOTAL)) {
> + resctrl_enable_mon_event(QOS_L3_MBM_TOTAL_EVENT_ID);
> rdt_mon_features |= (1 << QOS_L3_MBM_TOTAL_EVENT_ID);
> - if (rdt_cpu_has(X86_FEATURE_CQM_MBM_LOCAL))
> + }
> + if (rdt_cpu_has(X86_FEATURE_CQM_MBM_LOCAL)) {
> + resctrl_enable_mon_event(QOS_L3_MBM_LOCAL_EVENT_ID);
> rdt_mon_features |= (1 << QOS_L3_MBM_LOCAL_EVENT_ID);
> + }
>
> if (!rdt_mon_features)
> return false;
> diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.c
> index bde2801289d3..90093e54a279 100644
> --- a/fs/resctrl/monitor.c
> +++ b/fs/resctrl/monitor.c
> @@ -842,38 +842,39 @@ static void dom_data_exit(struct rdt_resource *r)
> mutex_unlock(&rdtgroup_mutex);
> }
>
> -static struct mon_evt llc_occupancy_event = {
> - .name = "llc_occupancy",
> - .evtid = QOS_L3_OCCUP_EVENT_ID,
> -};
> -
> -static struct mon_evt mbm_total_event = {
> - .name = "mbm_total_bytes",
> - .evtid = QOS_L3_MBM_TOTAL_EVENT_ID,
> -};
> -
> -static struct mon_evt mbm_local_event = {
> - .name = "mbm_local_bytes",
> - .evtid = QOS_L3_MBM_LOCAL_EVENT_ID,
> -};
> -
> /*
> - * Initialize the event list for the resource.
> - *
> - * Note that MBM events are also part of RDT_RESOURCE_L3 resource
> - * because as per the SDM the total and local memory bandwidth
> - * are enumerated as part of L3 monitoring.
> + * All available events. Architecture code marks the ones that
> + * are supported by a system using resctrl_enable_mon_event()
> + * to set .enabled.
> */
> -static void l3_mon_evt_init(struct rdt_resource *r)
> +struct mon_evt mon_event_all[QOS_NUM_EVENTS] = {
> + [QOS_L3_OCCUP_EVENT_ID] = {
> + .name = "llc_occupancy",
> + .evtid = QOS_L3_OCCUP_EVENT_ID,
> + .rid = RDT_RESOURCE_L3,
> + },
> + [QOS_L3_MBM_TOTAL_EVENT_ID] = {
> + .name = "mbm_total_bytes",
> + .evtid = QOS_L3_MBM_TOTAL_EVENT_ID,
> + .rid = RDT_RESOURCE_L3,
> + },
> + [QOS_L3_MBM_LOCAL_EVENT_ID] = {
> + .name = "mbm_local_bytes",
> + .evtid = QOS_L3_MBM_LOCAL_EVENT_ID,
> + .rid = RDT_RESOURCE_L3,
> + },
> +};

As we start adding many more events to this struct(including region
aware specific events), this this becomes too stressful on the eyes to
read.....can you consider simplifying this with #define something like
below in your next version? NOTE: For the feature that I am adding along
with Chen Yu, we started to define a macro as shown below.

#define MON_EVENT(_id, _name, _res) \
    [_id] = {                      \
        .name  = _name,           \
        .evtid = _id,             \
        .rid   = _res,            \
    }

Above #define can to into include/linux/resctrl_types.h file and the
above code reduces to using MON_EVENT as shown below.

struct mon_evt mon_event_all[QOS_NUM_EVENTS] = {
    MON_EVENT(QOS_L3_OCCUP_EVENT_ID,    "llc_occupancy", RDT_RESOURCE_L3),
    MON_EVENT(QOS_L3_MBM_TOTAL_EVENT_ID, "mbm_total_bytes",
RDT_RESOURCE_L3),
    MON_EVENT(QOS_L3_MBM_LOCAL_EVENT_ID, "mbm_local_bytes",
RDT_RESOURCE_L3),
};

> +
> +void resctrl_enable_mon_event(enum resctrl_event_id eventid)
> {
> - INIT_LIST_HEAD(&r->evt_list);
> + if (WARN_ON_ONCE(eventid < QOS_FIRST_EVENT || eventid >= QOS_NUM_EVENTS))
> + return;
> + if (mon_event_all[eventid].enabled) {
> + pr_warn("Duplicate enable for event %d\n", eventid);
> + return;
> + }
>
> - if (resctrl_arch_is_llc_occupancy_enabled())
> - list_add_tail(&llc_occupancy_event.list, &r->evt_list);
> - if (resctrl_arch_is_mbm_total_enabled())
> - list_add_tail(&mbm_total_event.list, &r->evt_list);
> - if (resctrl_arch_is_mbm_local_enabled())
> - list_add_tail(&mbm_local_event.list, &r->evt_list);
> + mon_event_all[eventid].enabled = true;
> }
>
> /**
> @@ -900,15 +901,13 @@ int resctrl_mon_resource_init(void)
> if (ret)
> return ret;
>
> - l3_mon_evt_init(r);
> -
> if (resctrl_arch_is_evt_configurable(QOS_L3_MBM_TOTAL_EVENT_ID)) {
> - mbm_total_event.configurable = true;
> + mon_event_all[QOS_L3_MBM_TOTAL_EVENT_ID].configurable = true;
> resctrl_file_fflags_init("mbm_total_bytes_config",
> RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
> }
> if (resctrl_arch_is_evt_configurable(QOS_L3_MBM_LOCAL_EVENT_ID)) {
> - mbm_local_event.configurable = true;
> + mon_event_all[QOS_L3_MBM_LOCAL_EVENT_ID].configurable = true;
> resctrl_file_fflags_init("mbm_local_bytes_config",
> RFTYPE_MON_INFO | RFTYPE_RES_CACHE);
> }
> diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
> index cc37f58b47dd..e4e4b6af5147 100644
> --- a/fs/resctrl/rdtgroup.c
> +++ b/fs/resctrl/rdtgroup.c
> @@ -1150,7 +1150,9 @@ static int rdt_mon_features_show(struct kernfs_open_file *of,
> struct rdt_resource *r = rdt_kn_parent_priv(of->kn);
> struct mon_evt *mevt;
>
> - list_for_each_entry(mevt, &r->evt_list, list) {
> + for_each_mon_event(mevt) {
> + if (mevt->rid != r->rid || !mevt->enabled)
> + continue;
> seq_printf(seq, "%s\n", mevt->name);
> if (mevt->configurable)
> seq_printf(seq, "%s_config\n", mevt->name);
> @@ -3055,10 +3057,9 @@ static int mon_add_all_files(struct kernfs_node *kn, struct rdt_mon_domain *d,
> struct mon_evt *mevt;
> int ret, domid;
>
> - if (WARN_ON(list_empty(&r->evt_list)))
> - return -EPERM;
> -
> - list_for_each_entry(mevt, &r->evt_list, list) {
> + for_each_mon_event(mevt) {
> + if (mevt->rid != r->rid || !mevt->enabled)
> + continue;
> domid = do_sum ? d->ci->id : d->hdr.id;
> priv = mon_get_kn_priv(r->rid, domid, mevt, do_sum);
> if (WARN_ON_ONCE(!priv))


Return-Path: <linux-kernel+bounces-673830-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 32D8441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:22:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 6AF831740A0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:22:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8AEF222539E;
Wed, 4 Jun 2025 22:22:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="IRPiOuv3"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F51521B8F6;
Wed, 4 Jun 2025 22:22:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749075725; cv=none; b=eUVJovrLnYpzf+1HvIJOBPUbZGvAtY3i1mqzfZwAc0MQavnk53T8KmibUuyB1Ke2J2I0NsDCQqTBsxcxO9KPr5EER0KzDWIELYWKJgDiv35uDOIdFMQ2tkcXiUWEm/u08wXIL1iNu+TH3pYxbgLuHjFZkjfQcPBefQ3NCED1H8k=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749075725; c=relaxed/simple;
bh=8TjFCS/fAg3ZcDtNDiYcyOY8DbhbVBmdojkwITkhdxc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=uy/yF/FRT0wKPWrg3JdRRTFS7ggUMrTLS4s1N1w9EIpDzLOFRxaKtVMDcbNEDWz66HIAply9Pp7PUiTZ7emKoAtloIipHzhPl/bHx7pT3M2DIRtlaPPMT2F7c2O5Yu6F7HMOCgliE7oaWC4C0tobvckSXClyQeFTmzLmvt2YlVk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IRPiOuv3; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 159A7C4CEE4;
Wed, 4 Jun 2025 22:22:00 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749075725;
bh=8TjFCS/fAg3ZcDtNDiYcyOY8DbhbVBmdojkwITkhdxc=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=IRPiOuv331lPf9W4OBi15XFLN6Y1l2o0DenF3XNVk4g6hyBj7pwh2lbZn08p51W4W
pm7Y63HpYUFqC3fo13bJb/sMlJhvAhRaSCp0xzGTKHmsb9ry1iVfZ2v5ZBOJ6SxYfK
xF1b3yHjd8aQs0exwu4OokVlGHN6bAK0nUV8GukrNPbGRaqJO37Qz1hW24mf6BFxEG
tQBlPOkcOCmDICJwkyBhv4AL0970jqixSTPY7dnpYSaulH/r3n7nRSF9lM9srWSpsW
vGVcaQMlgZ15B0/LMWYeeBPo6rO4TnoIsMfw3fJaDHtq4+aNK1ug0LUZ4V4EkESZ1c
KAEa6Jy2nOh/A==
Date: Thu, 5 Jun 2025 00:21:58 +0200
From: Danilo Krummrich <dakr@xxxxxxxxxx>
To: Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx>
Cc: Miguel Ojeda <ojeda@xxxxxxxxxx>, Alex Gaynor <alex.gaynor@xxxxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
=?iso-8859-1?Q?Bj=F6rn?= Roy Baron <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <benno.lossin@xxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
"Rafael J. Wysocki" <rafael@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>,
Ilpo =?iso-8859-1?Q?J=E4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>,
Bjorn Helgaas <bhelgaas@xxxxxxxxxx>,
Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>,
Ying Huang <huang.ying.caritas@xxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, rust-for-linux@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v9 4/4] rust: platform: allow ioremap of platform
resources
Message-ID: <aEDHBrIVNcMS7j9O@pollux>
References: <20250603-topics-tyr-platform_iomem-v9-0-a27e04157e3e@xxxxxxxxxxxxx>
<20250603-topics-tyr-platform_iomem-v9-4-a27e04157e3e@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250603-topics-tyr-platform_iomem-v9-4-a27e04157e3e@xxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Tue, Jun 03, 2025 at 12:05:30PM -0300, Daniel Almeida wrote:
> The preceding patches added support for resources, and for a general
> IoMem abstraction, but thus far there is no way to access said IoMem
> from drivers, as its creation is unsafe and depends on a resource that
> must be acquired from some device first.
>
> Now, allow the ioremap of platform resources themselves, thereby making
> the IoMem available to platform drivers.
>
> Signed-off-by: Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx>
> ---
> rust/kernel/platform.rs | 123 +++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 121 insertions(+), 2 deletions(-)
>
> diff --git a/rust/kernel/platform.rs b/rust/kernel/platform.rs
> index 427bc706f4349083b6bab81a02cb8ed803903590..57414fd0db296e412f45fbefd7707b338b37332a 100644
> --- a/rust/kernel/platform.rs
> +++ b/rust/kernel/platform.rs
> @@ -5,9 +5,14 @@
> //! C header: [`include/linux/platform_device.h`](srctree/include/linux/platform_device.h)
>
> use crate::{
> - bindings, container_of, device, driver,
> + bindings, container_of, device,
> + devres::Devres,
> + driver,
> error::{to_result, Result},
> - io::resource::Resource,
> + io::{
> + mem::{ExclusiveIoMem, IoMem},
> + resource::Resource,

I think we should add

pub use resource::Resource;

into io.rs, such that we can refer to this as ::kernel::io::Resource.

> + },
> of,
> prelude::*,
> str::CStr,
> @@ -227,6 +232,120 @@ pub fn resource_by_name(&self, name: &CStr) -> Option<&Resource> {
> }
> }
>
> +impl Device<device::Bound> {
> + /// Maps a platform resource where the size is known at compile time.
> + ///
> + /// This uses the
> + /// [`ioremap()`](https://docs.kernel.org/driver-api/device-io.html#getting-access-to-the-device)
> + /// C API.
> + ///
> + /// # Examples
> + ///
> + /// ```no_run
> + /// # use kernel::{bindings, c_str, platform, of, device::Core};
> + /// # struct SampleDriver;
> + ///
> + /// impl platform::Driver for SampleDriver {
> + /// # type IdInfo = ();
> + /// # const OF_ID_TABLE: Option<of::IdTable<Self::IdInfo>> = None;
> + ///
> + /// fn probe(
> + /// pdev: &platform::Device<Core>,
> + /// info: Option<&Self::IdInfo>,
> + /// ) -> Result<Pin<KBox<Self>>> {
> + /// let offset = 0; // Some offset.
> + ///
> + /// // If the size is known at compile time, use [`Self::iomap_resource_sized`].
> + /// //
> + /// // No runtime checks will apply when reading and writing.
> + /// let resource = pdev.resource_by_index(0).ok_or(ENODEV)?;
> + /// let iomem = pdev.iomap_resource_sized::<42>(&resource)?;
> + /// let io = iomem.access(pdev.as_ref())?;
> + ///
> + /// // Read and write a 32-bit value at `offset`. Calling `try_access()` on
> + /// // the `Devres` makes sure that the resource is still valid.
> + /// let data = io.read32_relaxed(offset);
> + ///
> + /// iomem.try_access().ok_or(ENODEV)?.write32_relaxed(data, offset);

io.write32_relaxed(data, offset);

> + ///
> + /// # let sample_driver = KBox::new(SampleDriver, GFP_KERNEL).map_err(|_| ENOMEM)?;

Why the map_err()? We have

impl From<AllocError> for Error {
fn from(_: AllocError) -> Error {
code::ENOMEM
}
}

so you shouldn't need that.

Also, please just write this as

# Ok(KBox::new(SampleDriver, GFP_KERNEL)?.into())

> + /// # Ok(sample_driver.into())
> + /// }
> + /// }
> + /// ```
> + pub fn iomap_resource_sized<const SIZE: usize>(
> + &self,
> + resource: &Resource,
> + ) -> Result<Devres<IoMem<SIZE>>> {
> + IoMem::new(resource, self.as_ref())
> + }
> +
> + /// Same as [`Self::iomap_resource_sized`] but with exclusive access to the
> + /// underlying region.
> + ///
> + /// This uses the
> + /// [`ioremap()`](https://docs.kernel.org/driver-api/device-io.html#getting-access-to-the-device)
> + /// C API.
> + pub fn iomap_resource_exclusive_sized<const SIZE: usize>(
> + &self,
> + resource: &Resource,
> + ) -> Result<Devres<ExclusiveIoMem<SIZE>>> {
> + ExclusiveIoMem::new(resource, self.as_ref())
> + }
> +
> + /// Maps a platform resource through iomap().
> + ///
> + /// This uses the
> + /// [`ioremap()`](https://docs.kernel.org/driver-api/device-io.html#getting-access-to-the-device)
> + /// C API.
> + ///
> + /// # Examples
> + ///
> + /// ```no_run
> + /// # use kernel::{bindings, c_str, platform, of, device::Core};
> + /// # struct SampleDriver;
> + ///
> + /// impl platform::Driver for SampleDriver {
> + /// # type IdInfo = ();
> + /// # const OF_ID_TABLE: Option<of::IdTable<Self::IdInfo>> = None;
> + ///
> + /// fn probe(
> + /// pdev: &platform::Device<Core>,
> + /// info: Option<&Self::IdInfo>,
> + /// ) -> Result<Pin<KBox<Self>>> {
> + /// let offset = 0; // Some offset.
> + ///
> + /// // Unlike [`Self::iomap_resource_sized`], here the size of the memory region
> + /// // is not known at compile time, so only the `try_read*` and `try_write*`
> + /// // family of functions should be used, leading to runtime checks on every
> + /// // access.
> + /// let resource = pdev.resource_by_index(0).ok_or(ENODEV)?;
> + /// let iomem = pdev.iomap_resource(&resource)?;
> + /// let io = iomem.access(pdev.as_ref())?;
> + ///
> + /// let data = io.try_read32_relaxed(offset)?;
> + ///
> + /// io.try_write32_relaxed(data, offset)?;
> + ///
> + /// # let sample_driver = KBox::new(SampleDriver, GFP_KERNEL).map_err(|_| ENOMEM)?;

Same as above.

> + /// # Ok(sample_driver.into())
> + /// }
> + /// }
> + /// ```
> + pub fn iomap_resource(&self, resource: &Resource) -> Result<Devres<IoMem<0>>> {
> + self.iomap_resource_sized::<0>(resource)
> + }
> +
> + /// Same as [`Self::iomap_resource`] but with exclusive access to the underlying
> + /// region.
> + pub fn iomap_resource_exclusive(
> + &self,
> + resource: &Resource,
> + ) -> Result<Devres<ExclusiveIoMem<0>>> {
> + self.iomap_resource_exclusive_sized::<0>(resource)
> + }
> +}
> +
> // SAFETY: `Device` is a transparent wrapper of a type that doesn't depend on `Device`'s generic
> // argument.
> kernel::impl_device_context_deref!(unsafe { Device });
>
> --
> 2.49.0
>


Return-Path: <linux-kernel+bounces-673831-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 548A041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:30:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 6D77018951FE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:30:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 469F4215075;
Wed, 4 Jun 2025 22:30:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="I0iqsCDx"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CF431F873E
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:30:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.16
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076225; cv=fail; b=Rxc6jk9cTQqpBm54oIAzm2HHyg22aV6hChsZIwfZBLzjmvQCJWHjzpC2YEtmNxlEMOdb0uvh4sbkKIdD5r++jTJghSGPXCy9YgCFD8Ia7u2OPW0MwcrrLhpo4Qj/hYOOg7+2L4TTKmH/jXTeQsPwst0uyXxYS3aEflN4+vgJ1E0=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076225; c=relaxed/simple;
bh=RSFyDVvr6c81u7hWAltj+HhhA5TsHqzwb+z3AbaVUQk=;
h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To:
Content-Type:MIME-Version; b=WvLmUSGqhovtLlnuMeMvsY/bxekSs7qZYHmg6CMReY7Wq2cQUqM8/tyvyGESgKtpMxKqf1T6ZlIlxe/AMreTteQnotTQ8d7trl2ZeAOmHlgmOh11fuQa/N7zmBDi+O7X6VU8HpC5+3hN1qwGkvOdquioqYLreJvWE41tCuF7c3U=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=I0iqsCDx; arc=fail smtp.client-ip=198.175.65.16
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749076224; x=1780612224;
h=message-id:date:subject:to:cc:references:from:
in-reply-to:content-transfer-encoding:mime-version;
bh=RSFyDVvr6c81u7hWAltj+HhhA5TsHqzwb+z3AbaVUQk=;
b=I0iqsCDxyZZLKL/xup5RkfIITt2+5ufvMZeyqUY/WojtHmTpbaStPbMq
AgeH9qjNJC4IAIwv+lWs2zUCRtjhPrW3eMwE3kD6j4K7nR44sRf4WYP7k
dxNFaeNbvnvIyCCsXT54M6p/WKdkuZtR0VbMcteUfYzgPBGt96BDrVT1U
IVlztEUPH7V7eFPoRW5OK+dMH0nkW35y+v3B9ur4x3SHmO0BTPYbZ/N9i
CqDZxjipYX8pGFr4Xb4RUdyq/n+z9EXY/bjFIFIEqu0gySt/I+Bf8/zfX
Ch0Ps9UJ1ESUgUBkDMu54qZ9GsUTDBjtlqsNyYiMZnPal0qMFG4XvzBMi
Q==;
X-CSE-ConnectionGUID: O9S663t1Qa+p1HdI49GewQ==
X-CSE-MsgGUID: 48xziR+OR+KSua3J3WBVMw==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51246529"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51246529"
Received: from orviesa003.jf.intel.com ([10.64.159.143])
by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:30:23 -0700
X-CSE-ConnectionGUID: XihfqzTWSSmAepy0bpCYLg==
X-CSE-MsgGUID: GTq9fs9US5+ZIWfCROkJBQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150109030"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by orviesa003.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:30:23 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 15:30:22 -0700
Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 15:30:22 -0700
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (40.107.223.63)
by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 15:30:22 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Ef3wOreC4Iv6kZ+7mTvNtpuIObd17T0GcCnVZGWIVO6yrTpF4UVTZ1oNsUvWidF7waaVKsefhdkhtNpITOzNePSM6iHQTbXIsO0qR8Pv6lwoizSUmXiJWCHgD1xgDhUOyeSt+hBA/XL/artbI2+GijH0OFhQjgnbc7JXMkTGhK3kP5UQq5NxMQc6A/H2Auk8zGjqJtWHCl1WQckw4LjPUK1oZqkD9Qiyhe5Z48qQN5vrPj8FjAPrQjfQPXjBQ1W0wi3Lrh4ipCYaCYipNoYcPMZo7w+38vQ0bgnPm0Fw6VJSYOadKZR5cU+9kjwswxtO6a9fzkKcuvmvs0H0z9bA6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=L1HCG/G3saBzWdfZlNSMWmm1DRzk+FEPxlCjs3SG308=;
b=rmLhskSN1RyN8hKgvP4wSGZEY9JvQ92xy06XNYpuWttVJQhy4wRoKaXkZbphOm41Km/rXQPkAX8Gq8jfE9YJahUWA/Fi0Y4sBMNlz2NUWeFgC5FX3JwwzxN3l3A29LKvLhOxDOHg97GgmbMag1G9HvqlVz6uGQm4C722F3p3hse44e+pxIoMid4UE+MdbXRC5l9m3sGxQaWlfM9+PXr9zxPw88WRoZhoa09IbY8JqedBEA6gYan0KUAtZ1EFq4v9Us+zRA1I0g0a2+NmNKdMAgF0vCXib5qMzrMwjwcv+EJ75a1rnznlNLVhjab+d0A+6nl1J6wWdjnpjdq/6uYnGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from SJ2PR11MB7573.namprd11.prod.outlook.com (2603:10b6:a03:4d2::10)
by CY8PR11MB7193.namprd11.prod.outlook.com (2603:10b6:930:91::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.37; Wed, 4 Jun
2025 22:30:20 +0000
Received: from SJ2PR11MB7573.namprd11.prod.outlook.com
([fe80::61a:aa57:1d81:a9cf]) by SJ2PR11MB7573.namprd11.prod.outlook.com
([fe80::61a:aa57:1d81:a9cf%6]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:30:20 +0000
Message-ID: <9e8c9810-1b5c-4e30-8b10-c3702810b529@xxxxxxxxx>
Date: Wed, 4 Jun 2025 15:30:18 -0700
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/4 UPDATED] x86,fs/resctrl: Consolidate monitor event
descriptions
To: "Keshavamurthy, Anil S" <anil.s.keshavamurthy@xxxxxxxxx>, Tony Luck
<tony.luck@xxxxxxxxx>, Babu Moger <babu.moger@xxxxxxx>
CC: Fenghua Yu <fenghuay@xxxxxxxxxx>, Maciej Wieczor-Retman
<maciej.wieczor-retman@xxxxxxxxx>, Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>, Drew Fustini <dfustini@xxxxxxxxxxxx>,
"Dave Martin" <Dave.Martin@xxxxxxx>, Chen Yu <yu.c.chen@xxxxxxxxx>,
<x86@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <patches@xxxxxxxxxxxxxxx>
References: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
<20250604212208.49080-2-tony.luck@xxxxxxxxx>
<bb7badd8-dddf-41f3-b509-42cdd4539fbd@xxxxxxxxx>
From: Reinette Chatre <reinette.chatre@xxxxxxxxx>
Content-Language: en-US
In-Reply-To: <bb7badd8-dddf-41f3-b509-42cdd4539fbd@xxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: SJ0PR05CA0168.namprd05.prod.outlook.com
(2603:10b6:a03:339::23) To SJ2PR11MB7573.namprd11.prod.outlook.com
(2603:10b6:a03:4d2::10)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ2PR11MB7573:EE_|CY8PR11MB7193:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c96b60d-b7d5-4ec7-d871-08dda3b76381
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?UnErQ2Zud0tLTGp4NzlPZW94dUlpbWN3MTdOUFFNaHhQS1BsK1FtNklTYWVm?=
=?utf-8?B?eGhLWjIwcjlQdGg1ZUgvYkRIWWxMNWE5eHZybHpKblptSUxGTUh5ZzJjWW9y?=
=?utf-8?B?TklodnBNRmFsV2ZEek5ZSkM3RkxCRHhwL0FIcmhwMGp0ME1OWllkS01YM2hV?=
=?utf-8?B?M3p4cDVadG00WGFFZ01wSnM1NXVpZ2UxQTU5d3VUWWZWK2ZySHJTOHNabVVx?=
=?utf-8?B?dC9lRUJIcm9tOFZVNDdkUHptZ1cwUExWWjFqTGN4QW8zQlVzdkhOelVYV0RZ?=
=?utf-8?B?ZWFQK0xvRGJBVURPeHkyQndJNVo3SDA2Wk9hUkk3cXZUZHpiTFBORXUvbmtH?=
=?utf-8?B?clVub2N1MFJVNW1qaGZ6ZFVWRHFHRmpUMHBhSnN0OVFvallybndpYW91K2pu?=
=?utf-8?B?MUJJdlNHVTYyWFFXWEhkYXdKYjh5cFUxK0NmUDR4UisyanRwSU42ZlMzK3hU?=
=?utf-8?B?M3hGR0w0SHJqWFQ5Z0dTRXFTQkI0Q29vT2lUdGpDSWtGQmdrOWRoQlpEamVQ?=
=?utf-8?B?Ty9OQXJPZGFFdWxSdzN4bGU3aGpQcmNOK1B1VHBKQUwrZlpCTVJNZjdKc3hy?=
=?utf-8?B?ZXhKSnp1R2w4NitmYkUza0QwK3M1c1F4RGo5V1dINVY4Ry9OcWlhTTQ3dUlF?=
=?utf-8?B?ME9uSlc0d0ZEWmJRSldHOGV2TVRTbWU5OXZiWmk2TCtZRG9teWVRMHR3Mlk3?=
=?utf-8?B?MmZTVmhYQ1A2aHJKSFRibWdZVGg3ZjUvakc3Z3BRNUR1K1RETTdRdmZUTTM3?=
=?utf-8?B?OVgyK2lDSkpBOHhvdkoyTEtIZDBqL04yckljK3JXK3BSeVc0RGxkMjVBKzAr?=
=?utf-8?B?TUpWVitlc2ZQU0I0eGZQQXJrRS85MloyTndGNWJjUmx4bDRlU1ZGbEYzZ0Fi?=
=?utf-8?B?M3hJTkgvRTFkVGFxWmIrMi9YVktxWEpYK1cwcUJCVWFTTkNuVDVKcVdTa2Q4?=
=?utf-8?B?b0JDa2c0VjlkR3l6UHJoZStDMmxhSUR2ZDlDMXowZEZjbUdTc2MwNHBSY2Mz?=
=?utf-8?B?WGFKa24xVWVMU0ZhTmFjdjl4bXZRR1pmWVRlNnJudVFEOERVbGhYQi9sYTVv?=
=?utf-8?B?L0EzY3BuanhUQVFsWjh4YTRIWkRIaHFSL3QyS3RLTkJFd2xnSGhNWHpLWEth?=
=?utf-8?B?a1B4Nlo2UTRLZE9YMGxCblVPN0YxcnhpWVhWVklWTkowcEdSMHhlNDFQaldi?=
=?utf-8?B?ZXVJN2M2eVF2SGxxbmVlRUV0ZDdZYlJUTUxrTTBmQzFXSElraS81cjh5dGJD?=
=?utf-8?B?NERlMjNnc21QZ2VzSUtTTStzSEFqaWxKVzQ1Q1RjdlhxekVrNGsyeXBBaytO?=
=?utf-8?B?NkFkWDVUR2FsZmJWSDVyNnA2eHNoaXRmdmFHT3FGcVdHTVdRbUhzcEpIbUto?=
=?utf-8?B?ZHJxUzQyL0lMT3J4Ty9kS0VESjB6c3ViSEJBcWJwdjBxcEg3VzJGVkJka1Ns?=
=?utf-8?B?TURsODBVZGRzTnM5Q3hwL3k4UFJhN0tzNG5VeGFUZHdUaGhFRE80czBEdi9G?=
=?utf-8?B?TWRMZlVJNlhZYTkwWlV3eU9OSDhOVzR2OTRaeG05NzN0aUhuanNPczNDcXZK?=
=?utf-8?B?Y3EzZE5EdG0yRUdZdjBlOEpRVHdYWlRyWG1YMS8vK1NlUEw4eDQ2NDcrcGFy?=
=?utf-8?B?RDBtSkJveHpPL3lhVVJ1MWovOFRRTXRHZnQ1aCtFdnpzb2V4ekxldVhuak16?=
=?utf-8?B?YmtURStVM2V4dEFidUhTUndkZDVPTkdCYm1BODB1ZThkakRpeDJqZjR3RWh3?=
=?utf-8?B?dWlDQU9FNnVaUGxueU1WU2l1M01pbDJoKzVHdVQ4cHBYclRLckpOdWhXOTYz?=
=?utf-8?B?STFmZjVMaDhQdk1KUEJzU1BMMERLUTFGUWxHcm1BMm9zZnp4dW80eGRZd3BH?=
=?utf-8?B?SWdxbnJid2VzYWNzQm1uMjJxK0VBYlNGTG4wRkZkdHZTbHd0R3lTd2l2bG0v?=
=?utf-8?Q?1IVmZnOktU4=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ2PR11MB7573.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MkxKdEwvRDlTa1dGckhhK2RjYXo4WUxCR2VYbmd6bDUzVkoyeklwdXU2Tmxa?=
=?utf-8?B?cURVbXVySlBDYllQeVVMVXFoUHpyV0lRVmN3N0tIc1kyb3dSYndtYkVPTU14?=
=?utf-8?B?YkJoK091ZG5BSEZvbXBJNHR1bmlESDluaEI4TkZTeEhlc1BrT0gvZ2FCSWEy?=
=?utf-8?B?d2owUmJYWURkQ0Vodnp4THhZREc3NVI2Nk9XSXhNSkd0ZVBOVFdRbGErczJT?=
=?utf-8?B?VjN3Y2dVWll0QVMyN3lVd2VhUHJVV0IrOUpJVmlkcnBjeUtMOTdaRzFraUZa?=
=?utf-8?B?S3JzUVo2Y3I0Uy81eHNBSzI0S1lCRUp0dHhiMFlGQTFFWVRjQU4zZm1SRVlW?=
=?utf-8?B?L0lwWEExcC91bnFJZHdLU1VFRHVTbDh2QUQvOHN3VFQ5MFpwOVQzY3VLbnZK?=
=?utf-8?B?T0RNWnQ1RHZyVzJxSk4wNSsxRmNIQVZmTDRUcVhIOUwwc0JtQ2JEaXA4bW4r?=
=?utf-8?B?eDZPYXVHZ3NNTGIzYTdEYVdZcllsZWFSWlY5ZUdRdGJsZlNKQmVVZEtOU0xm?=
=?utf-8?B?V091Q2c3eXlFaHNmTXN2L1J6TTBQMTBvSDQ0MHhLYm0zdXFncGc1OFg5WHdz?=
=?utf-8?B?WThzOHBETzdXYnBqUVNWMjRLKzJSQnErRDJzMldtUG91NE9teHFMKzlXK2s1?=
=?utf-8?B?YU5vTlNpTlg2aW1JanZMdWI3SG8zenkrOGYzREpaclIyYWdZcHdLbjlhQUdq?=
=?utf-8?B?alJVMkoyK0FkRFBnNFdDZ0RobWxnbktlaFF2eDllTy83V1BseFVhZVFUeXRY?=
=?utf-8?B?R3RDaU9haitNY1A1aEk5YTJLV09TcllQOW5Qd0ZvQ1d1WWcxNU5aNkh3WDBM?=
=?utf-8?B?YU0zQ2pNUFlkcWV6K3hpczNoNTY2T3JYYzYxVTVyWVQyK1JUcWxkZEZISEdl?=
=?utf-8?B?alljVjk0aFQwaUJ5RkRFUnVEd1pWREJ0UUs2QkptbFk0cEtxYmQ1Uy96cFpj?=
=?utf-8?B?ak9YOFh1MnVYTUdZR1Nxd3Z0V0hzR3ZJUTFVSWRGb2w2Nno2WXNZQ0RVNHB2?=
=?utf-8?B?Ly9Rend3Yjh6SWJHOEZkT1IvZ09CS0d2dlV2dmtIK2JLZU5iL1FSQVR4blBm?=
=?utf-8?B?UzFaMktpNHVJSzlTOXlRZnRiUFgzaGNjVitMaGtlRjQ0QTRPK1R4d0UrRmxR?=
=?utf-8?B?d1RrSkFFK00vWHp5cmpyY093YXUwN0RMaW8vSVZxQ2tHVFNxYUthRTlIUGxN?=
=?utf-8?B?RWF1U0JESnNRUFQ1M01QdFVNWFh2M2VNR3Z2TDVFU01XZ0cybFZhajVweGx1?=
=?utf-8?B?Ny96TysvVjhWQ216U3dTZUZjSG1MMVh0aGpJeVZnbUhGZ2NCSHN5dUh3Vnl3?=
=?utf-8?B?dnhUZzVTVy84bjlQcjhwS3E5bW5UMEVXQ09FS1luTTRRYjVwOExmR295em1z?=
=?utf-8?B?VXcyczV0citFckJCVEMzdDE2STRlanRYWFBCaHhKR1NENnZKNlpVZjU1SjU2?=
=?utf-8?B?dFdYVHl0VWt4eG15ZDVzQnZwYUhndUowSDdMV2tmR3NKckw2a3RGWklQWUIz?=
=?utf-8?B?cVdDUnNBR21INEhNWkRnSmVpdW1acmgrUzhBakRSS2dubVZiSnNTOTVON2Vq?=
=?utf-8?B?QlB3aFJiOUNORDNlOVkzNUh0VCttMnZlSU14THh6K1kvWWQ0bGNINHo4b0dp?=
=?utf-8?B?aUU3RHZwdHVRSlYvUHZoalNBbkpJeWtBRXNKSXhLVEs1OWNoMTBhTUxTR0Zs?=
=?utf-8?B?dWJxa2JSbGh4b1ptd2VBOUxUU1ZENks1RFgwWE9FZzlkbktRZU1EWUltZTVW?=
=?utf-8?B?M3pabVlwRno0WVU1NmFveTVJWTNscVVFS1VjRkNLd09EUTNGcVJ3bDZBZGRj?=
=?utf-8?B?ZjI5RjNpWEZycllhVFlPcmlBcUxjQ3dQZ1ZEUU1SWHEva2d5c1Y2Z29PNCty?=
=?utf-8?B?cHJmTXI2T3czU0pXYzJQdU9ucURMVDV6OFYrekhPUm9USVJMUEZlNzZ2YmIv?=
=?utf-8?B?V25yVlo4WlNPWmJOUU5FU2grWDc2MVNza3V4SHVuOWFTR2xudUxXbkJRRFBN?=
=?utf-8?B?UFhSeDJ6UzVIL1I3d1RNNm5kUldpL21UR2dQWGxJaHFoWlVwOFhQUnlRcko3?=
=?utf-8?B?U1ZWTmxlcmtEcU1DSGJTdi9EWnJjc0tYU0Z5dGNxS21yQjdMdzhTRzlMaWdu?=
=?utf-8?B?UnYyV3MzNXR0TWlHZmN4YnVOdUFtMjNPWXBYY1JPR2VmUkhtOVB1QlFOODBu?=
=?utf-8?B?dGc9PQ==?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c96b60d-b7d5-4ec7-d871-08dda3b76381
X-MS-Exchange-CrossTenant-AuthSource: SJ2PR11MB7573.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:30:20.1683
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wO/aB9D2L/dmaMZJMCdv3TQ+RQmOhztNwjXUcgpVgXK9YgI8fkDrt5UkCVAvqwZB3bNyQ94Q0HX3JBNC77cN1b6R7tw/rPvS0tRejRDYvTQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7193
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Anil,

On 6/4/25 3:21 PM, Keshavamurthy, Anil S wrote:
>
> On 6/4/2025 2:22 PM, Tony Luck wrote:

...

>> diff --git a/fs/resctrl/internal.h b/fs/resctrl/internal.h
>> index 9a8cf6f11151..71963255ad36 100644
>> --- a/fs/resctrl/internal.h
>> +++ b/fs/resctrl/internal.h
>> @@ -52,19 +52,26 @@ static inline struct rdt_fs_context *rdt_fc2context(struct fs_context *fc)
>>   }
>>     /**
>> - * struct mon_evt - Entry in the event list of a resource
>> + * struct mon_evt - Description of a monitor event
>>    * @evtid:        event id
>> + * @rid:        index of the resource for this event
>>    * @name:        name of the event
>>    * @configurable:    true if the event is configurable
>> - * @list:        entry in &rdt_resource->evt_list
>> + * @enabled:        true if the event is enabled
>>    */
>>   struct mon_evt {
>>       enum resctrl_event_id    evtid;
>> +    enum resctrl_res_level    rid;
>>       char            *name;
>>       bool            configurable;
>> -    struct list_head    list;
>> +    bool            enabled;
>>   };
>>   +extern struct mon_evt mon_event_all[QOS_NUM_EVENTS];
>> +
>> +#define for_each_mon_event(mevt) for (mevt = &mon_event_all[QOS_FIRST_EVENT];    \
>> +                      mevt < &mon_event_all[QOS_NUM_EVENTS]; mevt++)
>> +
>>   /**
>>    * struct mon_data - Monitoring details for each event file.
>>    * @list:            Member of the global @mon_data_kn_priv_list list.

...

>> diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.c
>> index bde2801289d3..90093e54a279 100644
>> --- a/fs/resctrl/monitor.c
>> +++ b/fs/resctrl/monitor.c
>> @@ -842,38 +842,39 @@ static void dom_data_exit(struct rdt_resource *r)
>>       mutex_unlock(&rdtgroup_mutex);
>>   }
>>   -static struct mon_evt llc_occupancy_event = {
>> -    .name        = "llc_occupancy",
>> -    .evtid        = QOS_L3_OCCUP_EVENT_ID,
>> -};
>> -
>> -static struct mon_evt mbm_total_event = {
>> -    .name        = "mbm_total_bytes",
>> -    .evtid        = QOS_L3_MBM_TOTAL_EVENT_ID,
>> -};
>> -
>> -static struct mon_evt mbm_local_event = {
>> -    .name        = "mbm_local_bytes",
>> -    .evtid        = QOS_L3_MBM_LOCAL_EVENT_ID,
>> -};
>> -
>>   /*
>> - * Initialize the event list for the resource.
>> - *
>> - * Note that MBM events are also part of RDT_RESOURCE_L3 resource
>> - * because as per the SDM the total and local memory bandwidth
>> - * are enumerated as part of L3 monitoring.
>> + * All available events. Architecture code marks the ones that
>> + * are supported by a system using resctrl_enable_mon_event()
>> + * to set .enabled.
>>    */
>> -static void l3_mon_evt_init(struct rdt_resource *r)
>> +struct mon_evt mon_event_all[QOS_NUM_EVENTS] = {
>> +    [QOS_L3_OCCUP_EVENT_ID] = {
>> +        .name    = "llc_occupancy",
>> +        .evtid    = QOS_L3_OCCUP_EVENT_ID,
>> +        .rid    = RDT_RESOURCE_L3,
>> +    },
>> +    [QOS_L3_MBM_TOTAL_EVENT_ID] = {
>> +        .name    = "mbm_total_bytes",
>> +        .evtid    = QOS_L3_MBM_TOTAL_EVENT_ID,
>> +        .rid    = RDT_RESOURCE_L3,
>> +    },
>> +    [QOS_L3_MBM_LOCAL_EVENT_ID] = {
>> +        .name    = "mbm_local_bytes",
>> +        .evtid    = QOS_L3_MBM_LOCAL_EVENT_ID,
>> +        .rid    = RDT_RESOURCE_L3,
>> +    },
>> +};
>
> As we start adding many more events to this struct(including region aware specific events), this this becomes too stressful on the eyes to read.....can you consider simplifying this with #define something like below in your next version? NOTE: For the feature that I am adding along with Chen Yu, we started to define a macro as shown below.
>
> #define MON_EVENT(_id, _name, _res) \
>     [_id] = {                      \
>         .name  = _name,           \
>         .evtid = _id,             \
>         .rid   = _res,            \
>     }
>
> Above #define can to into include/linux/resctrl_types.h file and the above code reduces to using MON_EVENT as shown below.

Any reason why the events need to leak outside resctrl fs? At the moment it is kept
inside resctrl fs with helpers for only those properties (not descriptions!) that
can/should be set by archs. Enabling arch full control of the event is not ideal
since many of the properties are required to be the same across all archs and
dictate the user interface that is ABI.

Reinette



Return-Path: <linux-kernel+bounces-673832-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 23D8841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:35:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 016DB3A8F3D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:35:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 70193227E8A;
Wed, 4 Jun 2025 22:35:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fgaG+D8/"
Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43])
(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 F100E10E9;
Wed, 4 Jun 2025 22:35:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076545; cv=none; b=a+xGQYCuzeL+dGu95QCbthYQZPBoRX+glEwMoRZhsqX4d0iffaDHSJsTJ8S45frAY+N/DBTCbP5/QAgoZb9bNmX+w8T+gqCPiCbkpdkd/WLN/n9ASK1oaxqJ1mcguN6+vxfPamkLaZCGDcgC3/fLnj0Ps+qfWWhtxMAkQBKgUX0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076545; c=relaxed/simple;
bh=8ltgHvPktIGvd828kCWmlW2E8Mj9LPG0Na5cHECVRK4=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=T7Sou9lNWUlt8BnTuzt0f917lRTf4otu566SV9WmlHQb7ZN28sdqator6PWVcDURyOqsLiT2DqsS8MMKaP/M6Fzbf2rC9wDi7L2HqcRnW3v2emNn2jabUTBZsu3EfyQs8lqYVfKSzfTpl9RKXi+KVzEXbtMpaRgzT15o/onDcLU=
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=fgaG+D8/; arc=none smtp.client-ip=209.85.221.43
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
Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-3a366843fa6so182242f8f.1;
Wed, 04 Jun 2025 15:35:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749076542; x=1749681342; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=XsxuIdbiBj+7yBzMpSX2Y7tbBVv3OjmpCi4ReJWvjY4=;
b=fgaG+D8/Eu/pv54xN6EeNHjiYwZbJG+9rgeJW3HuTwkEdBvUfIC+Kpm2GIK7l/94TE
4Q4RYkjiBffvAMT3So0CEmfQdlgkX7zO/PEUMm5ZsquWLEoJv1i22pLpt1ZeKxx93sRU
Q7+3Dvn9XhVlVvaf8x785BEGKJt9IAgrJJ0MQ1CShoRm7Vr/AhFPiZWiTpLnSXyD+6vp
GPKjD2u+sdoMAcRDK7KgnZnZJcJlsKtIlQwVklbyfVXnMYT99Wtd7LaeJogKScsoleM1
zV8igKz35Zi04q3vcjmNWaujssHtFc49RRRXl5HmqdLViZqBh4Umj0vjs5H54u64M21B
5AZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749076542; x=1749681342;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=XsxuIdbiBj+7yBzMpSX2Y7tbBVv3OjmpCi4ReJWvjY4=;
b=XFBiL/Bh4gjhfezye9VfKO0RKpdyCUKVFHxZaPOVkqteNPSlp4Z8PhUgj8qWPgRNBN
PDY5v9OkDvV4jOnJPuxrQjpBtfThMfVqLR+MzY4lnU+DCA6B75dcm1eQzN3Sjt9cHdjk
LTZu3VHvpOHEuHhN/mbZiZoqGq6Tm0J308HskdFNmiYgHjtEadNjQX7zT41y/4h9Dw5s
A3PY7rQY32e7IPYabVRt2+lfz8P7MSrO7f2cubE+zEtfvbOLUBXllnGUNg9AhgPpdfWW
Jfc+CE02BdLTbdMwAdQ66dSsJCHb8TiPF9+6Mt4FuBwalIYheDqpK/QLEEoAFPB7UjKN
gE1g==
X-Forwarded-Encrypted: i=1; AJvYcCVpZuhhdwZsWcr+rWKtTWdSJmqwpoSdzs40uFnAd/XQ8ibRb7wcfR9KJFY5AfoDWpOpfMIfoYrKy466OojMJhSA@xxxxxxxxxxxxxxx, AJvYcCWIN268+iQquSuyU/z5zmkYN9O4OZ5zNL+hmikWBJ9VzZWG75N01REZvi4id9NL1bzfJN9MfROq6StQFOQ=@vger.kernel.org
X-Gm-Message-State: AOJu0YyByKtHj2CQxpSGuzZJyF66K11uFyEYDV3vbWDgV1kfV/UpGSYc
gJK35GBLmA5CjXMSsf5pQg3bB02H7erDZY4i3tmH2fgrPXsCh3795wdefGnpJA==
X-Gm-Gg: ASbGncvBcygU4WWQxvXCfF82lPP+UydoVH0XSPbjzRwLMYV3udO4gsjcpG6rwOB2GpT
0twFIGI3zAzTKPi70MMeKgAZKC6/TGKauQy1HTPRfrIxpjwFy85Lb599Fj3te+sSivzNTRPliam
Je/Wr6T48UttTAcZKi3jtTJigPYkesW1gkdK2EeqW/VZjfrflYr6veRoRJaqcXayaEcmPGy0bf3
k+BYNy8rL72z7u6iXxBgE966cTHTbucLSH/0/Z226eOyRwCv5ndINVeqpY6rKA42mgAVxlRsEgC
61OdBX3064Gm57+Baf6aWwxUZbJ47h8zq9KHFSEcKgWZRXbdocXJhWwa5OCNKH+WoGM=
X-Google-Smtp-Source: AGHT+IGEcHI3RKpGrEdI8XRlMdKJaExfTVUZGwbopS+GoA+PBaW44CIH9k3dDaDSNYUTDJCDoEh9DA==
X-Received: by 2002:a5d:584c:0:b0:3a4:fbaf:749e with SMTP id ffacd0b85a97d-3a51d985961mr3683521f8f.49.1749076542052;
Wed, 04 Jun 2025 15:35:42 -0700 (PDT)
Received: from [192.168.1.5] ([197.63.202.146])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4efe73f83sm22159582f8f.49.2025.06.04.15.35.39
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 15:35:40 -0700 (PDT)
Message-ID: <959cfd37-1f27-4e2e-8922-19eb72227e28@xxxxxxxxx>
Date: Thu, 5 Jun 2025 01:35:38 +0300
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH RESEND] selftests/mm/run_vmtests.sh: skip hugevm tests if
write_to_hugetlbfs is missing
To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: linux-mm@xxxxxxxxx, linux-kernel-mentees@xxxxxxxxxxxxxxx,
shuah@xxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
References: <20250523184312.2647781-1-khaledelnaggarlinux@xxxxxxxxx>
<20250602232233.224099-1-khaledelnaggarlinux@xxxxxxxxx>
<20250602191216.7173b77e4f9ab5f659d1a448@xxxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Khaled Elnaggar <khaledelnaggarlinux@xxxxxxxxx>
In-Reply-To: <20250602191216.7173b77e4f9ab5f659d1a448@xxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 03/06/2025 5:12 am, Andrew Morton wrote:
> On Tue, 3 Jun 2025 02:22:32 +0300 Khaled Elnaggar <khaledelnaggarlinux@xxxxxxxxx> wrote:
>
>> The hugevm tests 'charge_reserved_hugetlb.sh' and 'hugetlb_reparenting_test.sh'
>> depend on the 'write_to_hugetlbfs' binary to simulate writes to hugetlbfs
>> while checking reservations asynchronously in the background.
>>
>> When this binary is missing (e.g., excluded from the build), these tests hang
>> for up to 180 seconds. During this time, run_vmtests.sh is eventually killed
>> due to timeout, aborting all subsequent tests.
>>
>> This patch skips these tests if the binary is not found, preventing delays
>> and ensuring that the test suite runs to completion.
>
> OK, but why is write_to_hugetlbfs missing? If we're in a situation
> where we _could_ run it then we _should_ run it! The user wants to
> test stuff so we should test as much as we can.
> So I'm thinking that it would be preferable to make sure the dang thing
> is there?
>

Totally agree, let me try to explain how I understand the issue.

The write_to_hugetlbfs binary is built from selftests/mm/Makefile,
lines 136–142. It is only compiled if ARCH matches one of the explicitly
listed 64-bit architectures:


```
ifneq (,$(filter $(ARCH),arm64 mips64 parisc64 powerpc riscv64 s390x sparc64 x86_64 s390))
TEST_GEN_FILES += va_high_addr_switch
ifneq ($(ARCH),riscv64)
TEST_GEN_FILES += virtual_address_range
endif
TEST_GEN_FILES += write_to_hugetlbfs
endif
```

However, when the MM selftests are run from the kernel’s top-level Makefile,
(root directory for example:

make defconfig
sudo make kselftest TARGETS=mm


ARCH is resolved as x86, even on an x86_64 machine (Debian in my case),
ARCH=x86 is the reason why the binary gets excluded from the build system.

As far as I understand, the top-level Makefile normalizes both
i.86 and x86_64 to x86 for ARCH variable:

Makfile: lines: 383,403
383:include $(srctree)/scripts/subarch.include
403:ARCH ?= $(SUBARCH)

scripts/subarch.include: line: 7
7:SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \

This mapping probably makes sense for selecting the correct arch/ directory
(since we have arch/x86, not arch/x86_64) for top-level Makefile.

But the mm selftests Makefile expects ARCH to differentiate between x86 and x86_64
to decide whether to build certain binaries.
As a result, the 64-bit-only binaries like write_to_hugetlbfs are skipped
during build, yet still expected at runtime (by run_vmtests.sh).

That's why this whole issue of the missing executable does not happen when
ran from selftests/mm using something like:

sudo make -C tools/testing/selftests/mm

Because then selftests/mm/Makefile arch detection rus as intended.

You're right — the proper fix is to improve how we propagate architecture
information from the top-level Makefile to selftests.
But since that's a larger change (and possibly beyond what I can safely
attempt at this point), this patch is just a targeted workaround to
avoid test stalls when the binary is missing.

I hope I haven't gone completely wrong with this analysis, happy to improve
or revise it further if needed.



Return-Path: <linux-kernel+bounces-673833-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E0F3941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:36:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0052C3A8E76
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:35:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7DB4122759B;
Wed, 4 Jun 2025 22:36:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=zytor.com header.i=@zytor.com header.b="WK2Nra8Y"
Received: from mail.zytor.com (terminus.zytor.com [198.137.202.136])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9FB891DF268
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:35:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.136
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076561; cv=none; b=IDznKAlfNB9Jo+uGn4o5z1zkIMb4zl2haLf6Mpfm5sbcgvZkCiIckiGQ8njHS3A+bomsUtrwoJPsLeSpjeYmeuTImiB//y/tM3vDak8qGtJAXeINVAxZEhSwLJaBgXa/UnjD1wzzKqs51whlz8X6+T3nu3Zj8EMUG9WWU5RVSgM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076561; c=relaxed/simple;
bh=z4sAJlikg1q7gLyQgA6JO4+ybijqmyRCm1WZOIyn6Zw=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=O3P2W8AFHmqre0n4EcLQtuhHNNBDXbjVOcLjb7h7MwGHVFQ6jjHNBg3yS1MwoChBcdO91rxcat85nbf8ydcCIL9ZbmGrGrX7cPEuR3/F+ogWQVjXTtKSyAM4QbLoC7rao09mLJBZu2M7G1C85gLtj1QgXqzw60L1cnHX7+lfw/4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zytor.com; spf=pass smtp.mailfrom=zytor.com; dkim=pass (2048-bit key) header.d=zytor.com header.i=@zytor.com header.b=WK2Nra8Y; arc=none smtp.client-ip=198.137.202.136
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zytor.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zytor.com
Received: from [IPV6:2601:646:8081:9482:7a24:4997:8aee:1bc9] ([IPv6:2601:646:8081:9482:7a24:4997:8aee:1bc9])
(authenticated bits=0)
by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 554MZPcf206205
(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
Wed, 4 Jun 2025 15:35:26 -0700
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 554MZPcf206205
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
s=2025052101; t=1749076527;
bh=6l3rtC8kpL9Sl7olv7IDhf6Z+XLo1eOCHrwhTZ6ID4o=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=WK2Nra8YPbo71WxS9Q4D+xg7DwJyrqEVoNzN9+pyJOffK2+BzzoQWHnX8zHVJXaTu
d+lGfhNhBMCo1Z4TLfAoNYWeKDV/Lp/TN2EDt7a6KczL4FXlYh8GfltRllxqsmifXm
oC+dgzhi4AUCIjO54sQEaBbs/gaEfwoY68z4ceE+BLGOsBX+g8w0pD2kO8QD1IjsX8
9Fl629rkCH9KTShGq9ZRmjQJs8Mh+79Iryfm3yxQOB+trkWv6nocy5I1/VP12xbFZ/
vOE0/ZvE5Qbyh8Mg4qTtzFaTHlGpcw1W0JMuKdf4sG+lMzdrZXUtjdWXiueq4Z42Jk
LcF5+1NID8ZAw==
Message-ID: <0ff715d6-c03c-4972-a92d-ff81c2bf61ba@xxxxxxxxx>
Date: Wed, 4 Jun 2025 15:35:20 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/kerrnel/FPU: clear MP bit of cr0
To: Khalid Ali <khaliidcaliy@xxxxxxxxx>, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx,
bp@xxxxxxxxx, dave.hansen@xxxxxxxxxxxxxxx
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250526082414.689-1-khaliidcaliy@xxxxxxxxx>
Content-Language: en-US
From: "H. Peter Anvin" <hpa@xxxxxxxxx>
In-Reply-To: <20250526082414.689-1-khaliidcaliy@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 2025-05-26 01:22, Khalid Ali wrote:
> From: Khalid Ali <khaliidcaliy@xxxxxxxxx>
>
> Clear MP bit when initializing x87 FPU, since what it does
> is making WAIT/FWAIT instructions to react to setting of TS flag.
> Right now TS bit is cleared so MP should be cleared, as it is not
> needed. This should set the bit in defined state.

Setting it to a defined value is probably good, but the bit should
definitely be SET, not clear.

If we end up relying on TS being set anywhere then we want WAIT/FWAIT to
match, and that is the meaning of the MP bit.

-hpa


>
> Signed-off-by: Khalid Ali <khaliidcaliy@xxxxxxxxx>
> ---
> arch/x86/kernel/fpu/init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/fpu/init.c b/arch/x86/kernel/fpu/init.c
> index 998a08f17e33..2a2b45610b74 100644
> --- a/arch/x86/kernel/fpu/init.c
> +++ b/arch/x86/kernel/fpu/init.c
> @@ -30,7 +30,7 @@ static void fpu__init_cpu_generic(void)
> cr4_set_bits(cr4_mask);
>
> cr0 = read_cr0();
> - cr0 &= ~(X86_CR0_TS|X86_CR0_EM); /* clear TS and EM */
> + cr0 &= ~(X86_CR0_TS|X86_CR0_EM|X86_CR0_MP); /* clear TS, EM and MP*/
> if (!boot_cpu_has(X86_FEATURE_FPU))
> cr0 |= X86_CR0_EM;
> write_cr0(cr0);



Return-Path: <linux-kernel+bounces-673834-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9351541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:37:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C1D413A81C9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:37:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 74FDF225A34;
Wed, 4 Jun 2025 22:37:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="lVVcSULP"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 963D8179A3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:37:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076667; cv=none; b=bXUi3DDZg1AzoNymNH+3iEIcag2liNhXiIdo9xSOF4ruzuNGTW9R6K/ZcMbIqmQU/v2SlNCpE38B8ndFO9f46ZbuzebnzRERlk8G+44n+jTWah/RA7rwlR+nIlmsRNJ73mWpY42JIe/4RLWbGLgXo7wp90dND4Z3e3KLu5WrQa0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076667; c=relaxed/simple;
bh=T9f7oN0L/0cScbDxsspzKLP8mQjxuXJr/BKMKI8GsUc=;
h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References:
Mime-Version:Content-Type; b=XCcLL+TolcPGt+zRiDui8biYmuV0K0FXYY1pS8rbBt6P8nMFME5xCemm4hc0pY2Ntg2TebIDEbdFoYNxcvxA54poh6ggZ1jFEWFxSeYS0J13hp4cbL/wEO68OTmuaE5MG1lvAQ7uSrm8Hae8nGfNqwft09wRjTA/lvXzXd9TUNI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=lVVcSULP; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 90D74C4CEE4;
Wed, 4 Jun 2025 22:37:46 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org;
s=korg; t=1749076666;
bh=T9f7oN0L/0cScbDxsspzKLP8mQjxuXJr/BKMKI8GsUc=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=lVVcSULPH4sQCbdJaLwkSVd1Wd6jCJUk4o86PEecvHvu9kJZjlYxYKMeiMPzlbStO
yN+++j7CEMxBQa7JmRSguzMB0ioPYwyukiWyVE+D1UtYa7cGbNtI9ImDbksO/Y82A+
FAIwQC6KyuMt5TmcCGf8OznE1Bw3Z6bHm3i7Gcp8=
Date: Wed, 4 Jun 2025 15:37:46 -0700
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: Yury Norov <yury.norov@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, Rasmus Villemoes
<linux@xxxxxxxxxxxxxxxxxx>, John Stultz <jstultz@xxxxxxxxxx>, Thomas
Gleixner <tglx@xxxxxxxxxxxxx>, Stephen Boyd <sboyd@xxxxxxxxxx>
Subject: Re: [PATCH 1/3] bitmap: generalize node_random()
Message-Id: <20250604153746.998e9e64e9aebc987d28d9fd@xxxxxxxxxxxxxxxxxxxx>
In-Reply-To: <aEC-04zhtWh04b_F@yury>
References: <20250604212125.25656-1-yury.norov@xxxxxxxxx>
<20250604212125.25656-2-yury.norov@xxxxxxxxx>
<20250604143442.37635ce63e50a7425a390c2e@xxxxxxxxxxxxxxxxxxxx>
<aEC-04zhtWh04b_F@yury>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, 4 Jun 2025 17:46:59 -0400 Yury Norov <yury.norov@xxxxxxxxx> wrote:

> > Of course, the hard-coding of get_random_u32_below() might be
> > unsuitable for some future potential callers but we can deal with that
> > if it ever occurs.
>
> Can you please elaborate?

Some callers might want to use a different random number generator.
Seems unlikely, I know.


Return-Path: <linux-kernel+bounces-673835-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B845741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:38:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1C349189951D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:38:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4DFDD22D4CE;
Wed, 4 Jun 2025 22:38:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="XXcXQzqU"
Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11023110.outbound.protection.outlook.com [40.93.201.110])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 90ECDBA49;
Wed, 4 Jun 2025 22:38:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.110
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076701; cv=fail; b=LAa4IWdifvPzE3+zkBrVUXQL+U5RojiP4COJeJRfwQk288UD4noZUFpCGE1nx5aa21bp5Q/yzRrPyGSBYdAwuwod4lvAd0lRuUFFhcNTcG3yrrhNP/M97bF1kNX2rcWsC0xJjx0EgiJJoul6WY0RopyVQAtkLF0Th2KbQ01b3nU=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076701; c=relaxed/simple;
bh=otZeO0hys3bfHu0TJVdqAgzgu0ou5UIxMV2eqDyxSOc=;
h=From:To:Subject:Date:Message-ID:Content-Type:MIME-Version; b=XwmQe56Vm/dhAeTbKuT+7swI+7+oenaJw9ffp07MOSK5kFuEYnbFr2vG5eSj5W8KcFspE1ShkPtRoOkLkB4sLVh8z6UkARg0FVMfoUPqD4jKIoHKnhvBG6Ky8q8Wv6I8cvNWTKnaKYfJSfCyzGfpnLa1HzIa6cfy6gjbAgG0bbE=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=XXcXQzqU; arc=fail smtp.client-ip=40.93.201.110
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=rlM13sVyc6xB+iHxzPdDBvOhlsUmK2qpMXW017gw2vXEVty5PYX3SpfUEIAU4CE3sMTzpeN2VrwQxdV0inCPIfDLsKDTDk8t6k5psZyMOWZ5/PfdHqN3aL/Bqokm9I2L2XbLoq/937q9EgnojggiQw/n+nU4dA0ghxT5UyGcM6rOcFvcPR2znmmj636GIKUPIvFEbMxioe8U0+T0YCQzXEYHGb2knw2/VDVNQ+xOChkZ3c2Swz/uHd24Z8yDqp10lgMzXj6Zfczo3nIZlTvzgfXgd8Uvk0G3eVWbxkab283HZBRdbdbwhaB5iA25zO7o8NzSAA7JDAROJT2jrFFdAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=gAfKKAONQOUeOTWLZleFiY/i9YWQmWLFyRL5u2ZM90M=;
b=blcT9V/nU5BfsHsJY8O/4VOrq3+Z2jTClsA8dC9C/4MLE4SjwnN/n7b/rv9aIGzhqfUkkwXpPicwXuU2ZSfOOlyGfd3G1LKV/3C7cnfnHCE5cVTSnOJ7vmbeymSgHNkKS6RzXEZTk+/vGedq02/usaFmlowHnctOnhl49vzQI+kEzEhr1vWY9vl5xz9EUyU1ucFPUHCoGNresWq62/yTmRKYippT4noaOPO0ur2ZeDK05GVdjVYlblXqfCWu3iJmRfvXFsGtwbAfd9NhPBf+RrkStJBk6Pt/HWlVffdfTs8gVC3tjk+Y2nzIjcXfd5aXNSKNalM/UtpU3LOmrmEkPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none
header.from=os.amperecomputing.com; dkim=pass
header.d=os.amperecomputing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=os.amperecomputing.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=gAfKKAONQOUeOTWLZleFiY/i9YWQmWLFyRL5u2ZM90M=;
b=XXcXQzqU0u5egcBiaZVK1Olsa7hE/sE4dat+A800FDtx7/R7E2vvChNmRw4JjWqOywhKPrxhaVgTppUredpfK7bLpo53KGFXDM1DNQ41eDcMBIvPqJWeaGtWkjs+bYLezQOeGsLD5G4c7Q156hF3Ul+eOzgx0IqJsUo9/p5qi/M=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=os.amperecomputing.com;
Received: from SN7PR01MB7903.prod.exchangelabs.com (2603:10b6:806:34f::17) by
CH7PR01MB8810.prod.exchangelabs.com (2603:10b6:610:24a::7) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8792.34; Wed, 4 Jun 2025 22:38:16 +0000
Received: from SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f]) by SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f%6]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:38:16 +0000
From: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
To: rafael@xxxxxxxxxx,
lenb@xxxxxxxxxx,
james.morse@xxxxxxx,
tony.luck@xxxxxxxxx,
bp@xxxxxxxxx,
kees@xxxxxxxxxx,
gustavoars@xxxxxxxxxx,
zaidal@xxxxxxxxxxxxxxxxxxxxxx,
Jonathan.Cameron@xxxxxxxxxx,
sudeep.holla@xxxxxxx,
u.kleine-koenig@xxxxxxxxxxxx,
jonathanh@xxxxxxxxxx,
viro@xxxxxxxxxxxxxxxxxx,
ira.weiny@xxxxxxxxx,
peterz@xxxxxxxxxxxxx,
sthanneeru.opensrc@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx,
Benjamin.Cheatham@xxxxxxx,
dave.jiang@xxxxxxxxx,
linux-acpi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-hardening@xxxxxxxxxxxxxxx
Subject: [PATCH v8 0/7] Enable EINJv2 Support
Date: Wed, 4 Jun 2025 15:37:57 -0700
Message-ID: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: MW4PR03CA0308.namprd03.prod.outlook.com
(2603:10b6:303:dd::13) To SN7PR01MB7903.prod.exchangelabs.com
(2603:10b6:806:34f::17)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN7PR01MB7903:EE_|CH7PR01MB8810:EE_
X-MS-Office365-Filtering-Correlation-Id: e42980ae-4e1f-44c4-45e1-08dda3b87f90
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|52116014|1800799024|7416014|366016|376014|38350700014|921020;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?6I3qz6Woe73mk/h+23a1Tx6QyJjGw26S8PQEZgDQUx9ewYrFUXxwS4neY1Xl?=
=?us-ascii?Q?A3hqMfycrDKnAD7iJNGeT8Z2Ju2YrYjwX8uI/+JEc8kOIsjLN5EuFxi5GJ+2?=
=?us-ascii?Q?gIiMLKXp01DCHwWBnFqJsC99dHV47pS0F2w8xPKuDNgOeneFe/r9+AONMeSL?=
=?us-ascii?Q?A0QMVQn5U9XiusD7EkobyGX860MjMbpM6aFnOugl2jNo53e0eUhblJAFKgz8?=
=?us-ascii?Q?D/3VJja1bA8MfJdo5lL8GpMQaPPA9V3fU1jpglFH1bd5hJwNCGqO8h5bmXHu?=
=?us-ascii?Q?Zq9YMygmex9sXogaxOa/hKYynFsGDEJ2PMkQUe535usGm/M0iscyaqO81YT1?=
=?us-ascii?Q?ZK3Le5Hm696FM/mwhOB3ZyH/NJPy2NZczBhg9n6nRHzyz1uXEXROwNly3R2u?=
=?us-ascii?Q?ngGR0fV22hWhE7Rqb7KCngimdVHEM9RBsBTGbTI5Tg+bBmfyx5Kh6JAzQ3eu?=
=?us-ascii?Q?LrSyvRYZ6tH5ZjesKzLVAGz3OMwEwOdU7ll3RcAA+WtWRvdfcPcCAqBnj8KI?=
=?us-ascii?Q?zPNcc3p9iAYJGP7ONY0wHSxgu53mOTIvlLqQZvDn6hXTTfqj5OomXPghzwH4?=
=?us-ascii?Q?UzwOcdO56s8ZBiRvvmJSGnpWeNncPlTndMSv47MsbnYH/RLTYAioeyanZLxR?=
=?us-ascii?Q?A0lRx+dpaCqmnEekMTuzryFg4mmMYjaCu1H69j5fO7JcT3j6uERGWW6r6Apz?=
=?us-ascii?Q?VS7LH2jFTppIsNp2y9BIdRD6+4RVCaI4NGrgb2UkjJ7X5ao0J5v7rAxmKNHc?=
=?us-ascii?Q?1KfnuDpFUqSbW/S1z5GuCaBLdRQ/TQ5Cf6aOjv/vbQ92wpfENM/zbsAPMKol?=
=?us-ascii?Q?d1tvwuKMiuaAIammdriLsl/D9xmF0BCSM38To2LZ9JIELqEJi/ys3K9QGqhV?=
=?us-ascii?Q?LV+w7iUxhLk0T8oHy0crnqNFFglTKqXL3bPv+8ptjQMrLUxfZITgvwvQzgon?=
=?us-ascii?Q?t9CG052ZQgapxxS0QVGo8RcgjIWg0A8WNR5pFdSbZVV8wbAvk4h6xMoPEcNr?=
=?us-ascii?Q?PfoZoM7ME8VkXy7SaC6YG/GZbf2QRKB9iOfpxizVX30k4Y7taNqLdY1U47x3?=
=?us-ascii?Q?apbgYBFfgiGJwe7ru4/1025GtusD0WgtBxRJ08jMDQwApt2yX5Bln/50K1UT?=
=?us-ascii?Q?OdXugwgeO4EkxKW/0lIlL3oTdEQxIdMBgpv61pdBKuxSP2LKjtydkRQIGFYH?=
=?us-ascii?Q?VmR/a4G7btPxdtrxABPRj8em9zZ/iiS9lz9voc9pSlL0dS7W7YUNkW2gxxYv?=
=?us-ascii?Q?6wvABMgrTCUlhtwlJDPXrYyGIRelsqH4/AmTgU8Ivuwt0YuO0lX603R2s+pC?=
=?us-ascii?Q?BoGTj6IpV+CZXRN1foptPGxgc6K4CGrS3DazTtMHiuE2QGzqkzqC2c4i5pSG?=
=?us-ascii?Q?6zO2Fird08y7UGLXFXyuH6eM/txsJrD6tl6zesv/HYp9gZovhzDC4drsJWCY?=
=?us-ascii?Q?DvBuenSgSxV+6a5nnZ1fIoo8+ltg6jGt?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7903.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(7416014)(366016)(376014)(38350700014)(921020);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?q1Ddg+O8CEc/g5ZRgxFHFveK7kQhmsyhuFekEfj4ol6rq/AJoduIp3qtieC+?=
=?us-ascii?Q?tshqsZV6wmt8XxwNbShR/7Qknxex7n+pQOrbV8cSgCzYoSqYFauNIA3QLRRv?=
=?us-ascii?Q?jcT+etHHl1fU8mNaLpLu6nR2Ba3g7ynddEl4FbSWxgDgcRtONZFCcpLexcke?=
=?us-ascii?Q?35k9PvZDTYDdza6qoGxx1/UtaGFKSbaXTMAa0vm8R0v9rkQxTxqdVNmjQuKc?=
=?us-ascii?Q?agnKZaDjoqIhM5vJlT1pRl/TYr46Ymj8rZCSJR3M1iUsgVNAr24tpc91QmCv?=
=?us-ascii?Q?j9kWi5DZIxB0EvTUQ8oBMRz2ZU0O7L0NW8Ha5y8oSksF8eHsytPTnLQd13ue?=
=?us-ascii?Q?hnco6hz/ZdDgss/i8NxOaRTtWH6mwXNI1ZxdKwXsjVkx27s7ZV6OIn4PFFOm?=
=?us-ascii?Q?k+9jYG+P9INqUZzlgNm+PoGKfMn6SdFfhTKk+F0GjuWLGkbtwZmrVRmEhHna?=
=?us-ascii?Q?StNar/mKRv8o59J9tXoUzbOV6aLmJia6+M0EQc5JQq8tE6V3oFFKxTDlgmqx?=
=?us-ascii?Q?Jrn37v6JtCLJnnBZuotJU1fXNonC4YyDqYD9XpVkFuPdIzTxRNnxdM+OZ3IX?=
=?us-ascii?Q?LwfQWEsrL5rBM6Qf5sK04k+vqqqZKK3Q/MoqOfzuqT8z+ENZ/6E4R09DseX6?=
=?us-ascii?Q?4iMriUEIhcFMD6riyM/FNAAS5ais2pSXe3u6NSkI6Ci0B7tB2fMRKufE42Mk?=
=?us-ascii?Q?++c6Rs0VCCBmVUj89Ij4lZA+SjJvfPQPj5+s0r84DlEO7ocSh7t41o7ff+q4?=
=?us-ascii?Q?gokmSzoH4vS0DtY3tvS/5cfCsGzs/WJqR2Xlnq5DUKzCC7oRni0jR6poz964?=
=?us-ascii?Q?DG0wvJM0hlu7qtvlY4KU4IjjEf/zVuN7sbC+rwvaw9oWeH9E1q/iGoT0r0Us?=
=?us-ascii?Q?a+VOz+aKhiqMYloc1Bl61eapcjaIyVsOAZaDJnsEleLfWGi0i8x1qS7s4vtt?=
=?us-ascii?Q?SlBv1ExWH4BHo3vTZJv2G+wZ6IVxgvOlxrbJbODpKf82k2shSKFBe5cwSozs?=
=?us-ascii?Q?xh1e1e84fbWc3NEbWjJP/vpWO/uO4mkwrP6M9p/YzhJybIUTXdE6mbm4u9vH?=
=?us-ascii?Q?TP2kEJlubIGCo5cyWgMNyaejsMZkacjBTchr1h+EAvE7v1FnAvM2A/DYRnip?=
=?us-ascii?Q?OrgGTWH+vOxyYGMe3Wv/36MqVU+OO+ic34MzzGHfu2Uospx8/yjaNeQDNhzP?=
=?us-ascii?Q?HdVKd+siDJo2uejsMaoztLkeq+28ESHw4y/tZ6kLgfRgXXMsMgkdGzGFMjNx?=
=?us-ascii?Q?IFpnjv25vdcKWk0Go+xx04ofBcHMFBx7yqSc/fOH21HH6qapDeg6Zv7O6jYn?=
=?us-ascii?Q?t3+leuMI/pj1swS1953fRgRZW5VAx9qclzAN9g978ooAzXhqIKAE8u3Y8Egu?=
=?us-ascii?Q?T/s4M6+heqg4BnrF/EBGDfNIycUEex+J65n7d2B+NmyDD6ofaEYDz3eTx6T9?=
=?us-ascii?Q?0rZoxnfWgDDn5f5ybVLqH1GywhhBBq6Ud7NUfvikCcnfo8q/SBiGF28LzOW1?=
=?us-ascii?Q?//kNVVHGK+iA77ookYlTaYMccIQGWt7JTLsbv5kNRRSVwQWL0pnwHad1ex4d?=
=?us-ascii?Q?Ltiqu1isg7FuoDwAg+hew1NuPm1Qjbx4eVTsDlrAh9mEdZhN9oc5408S2ouV?=
=?us-ascii?Q?YXZ2OiSW9Uwm86bO3egiWbw=3D?=
X-OriginatorOrg: os.amperecomputing.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e42980ae-4e1f-44c4-45e1-08dda3b87f90
X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7903.prod.exchangelabs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:38:16.7311
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ihEvMdI5j0Ukv1mqgT//Hm4B5KrdwrQvtO0givSpiEPlKKgoDgI6vPLv1bTOVb3tvhfolMfsaOqCSL74egVuEY8ONIMvfTVu8X801JwmrkV1BWxrNuDBV8WpLFznmVEG
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR01MB8810
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The goal of this update is to allow the driver to simultaneously
support EINJ and EINJv2. The implementation follows ACPI 6.6
specs[1] that enables the driver to discover system capabilities
through GET_ERROR_TYPE.

Link: https://uefi.org/specs/ACPI/6.6/18_Platform_Error_Interfaces.html#error-injection [1]

V5:
*Users no longer input component array size, instead it
is counted by parsing the component array itself.
V6:
*Fix memory leak.
*If EINJv2 initialization failed, EINJv1 will still work, and
probe function will continue with disabled EINJv2.
V7:
*Update component array to take 128-bit values to match ACPI specs.
*Enable Vendor EINJv2 injections
*Moved component array parsing and validating to a separate
function to improve readability.
V8:
*Update UI to use single value files for component array.
*Update links to point to recent ACPI 6.6 spec release.
*Updated commit messages and documentation patch.
*Dropped the first two patches as they were merged via
ACPICA project.


Tony Luck (1):
ACPI: APEI: EINJ: Create debugfs files to enter device id and syndrome

Zaid Alali (6):
ACPI: APEI: EINJ: Fix kernel test sparse warnings
ACPI: APEI: EINJ: Enable the discovery of EINJv2 capabilities
ACPI: APEI: EINJ: Add einjv2 extension struct
ACPI: APEI: EINJ: Discover EINJv2 parameters
ACPI: APEI: EINJ: Enable EINJv2 error injections
ACPI: APEI: EINJ: Update the documentation for EINJv2 support

.../firmware-guide/acpi/apei/einj.rst | 33 ++
drivers/acpi/apei/apei-internal.h | 2 +-
drivers/acpi/apei/einj-core.c | 371 ++++++++++++++----
drivers/acpi/apei/einj-cxl.c | 2 +-
4 files changed, 339 insertions(+), 69 deletions(-)

--
2.43.0



Return-Path: <linux-kernel+bounces-673836-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E169B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:38:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 8AD4318995C5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:38:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9BA4B22FE0E;
Wed, 4 Jun 2025 22:38:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="Xp+sEbyn"
Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11023110.outbound.protection.outlook.com [40.93.201.110])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C85E213220;
Wed, 4 Jun 2025 22:38:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.110
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076703; cv=fail; b=cJdP2BR1739U4oObs0XtolYH0p8sa7XTYLX/rQsq0RHHDGh1DkXg6mzEiXvwBP6d5anr4WG226VXO7m7ZN0zxxvf9vrG3jIUABN9Md0809WRH5ynsG1LDRxaCLLKda96KYitFgeUojX5gI/FrGoeFuTMWNDRa3urtoFcOUMIL2c=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076703; c=relaxed/simple;
bh=q09/G6gujr2DP9gFYjlnU7Wiw8ziZ4QgoXCESk1J8Wg=;
h=From:To:Subject:Date:Message-ID:In-Reply-To:References:
Content-Type:MIME-Version; b=E+UWjxbrLBsgGJUlkH7KdosSeGX30FmJ6MTwjk1lDJPzc+K0UmFKNCxjuLRvkqOxwOWnWTvsDXD3frQgmVFwOQypZnf2UR92GhVznY/o3agIdGfGSN+rocvIQ3Hs1NY+b9u51JinHVyG0eqlnnH/R9rje3qBakaW1x1njGOx8HY=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=Xp+sEbyn; arc=fail smtp.client-ip=40.93.201.110
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=KMnsnmAVLOpe9WVALZ1sYnljdthboZ6HN6d0yKB+qDVwnF0l4yKJX+3WArhEMH6+KCd2L6IMwI24nojd29Y9GPp+HDard63oRUttOK6o6oOFuUX9BnLBgXBQ+Mwi6SzHuRYeUW6zjtUKsvmXARFLxCfWdbemgt+AlAkUrm5OHaNf8hDWbIRcyrKU1r3rM3sfOOytPtHuXxEErd6xtbJqgM3tBvbtrdHjvt6T23AGvZwfLigqAQzXex7VIhq7/i0RCzhNIuxMkJ6LJy41E1LcQixG8VFPu6UbWBHbToBv+p4LyccRvdmucfoe0oNtybZrHhbnCaGW5H2fUxUW91AKUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=lqQ2pH/ZH+5sUkOfH6ltcAJH94eurveAuVDsjoJAleI=;
b=mVFyJzEv7o4btA4T9eYpM4budoWXLNEFQAC31YS8bOMty6oCcZ2Wtl4oWrcHNCEgwbAK00dhM7TaVPJdq1E1oAn/foc8ys9z/Rjnio9G+Gvi1LdpLZ4l4j3UL8/p+16NvZpvHoPrxOFN7glBZebmhhplzP7He4tV5xN5d8HnQp8JcIYsh172WnB9oOKWlzfkh1aqdVzfYPEpT2Awrt5/2WgA99I/DmPPr7BF9iNwB1bGGjqt499nYk/Yhc5w9gnbdHp8FlZagYkS7bSXYKqGxxRe3K54L92iPBlu+G4H22M/rFn4/wLr8tH1bxWQTwgavcsv0j2AHNL7gUKELEZ7Yg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none
header.from=os.amperecomputing.com; dkim=pass
header.d=os.amperecomputing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=os.amperecomputing.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=lqQ2pH/ZH+5sUkOfH6ltcAJH94eurveAuVDsjoJAleI=;
b=Xp+sEbyn9vd/ngVPvIx1UmrgcFYihrIKSj75eUP2BiWebhpXA78i9M8C2xX3/+nuA+9coyC/fVQuqWrS4KkS6C4fni0KVKWwS1MKIazbB+MWerdiYmlnuzmxmR9A6QHotLDA2/iykMXMR042y6Zx9Nf/Y2aO+ZdmEBqtWTkCt8A=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=os.amperecomputing.com;
Received: from SN7PR01MB7903.prod.exchangelabs.com (2603:10b6:806:34f::17) by
CH7PR01MB8810.prod.exchangelabs.com (2603:10b6:610:24a::7) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8792.34; Wed, 4 Jun 2025 22:38:18 +0000
Received: from SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f]) by SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f%6]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:38:18 +0000
From: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
To: rafael@xxxxxxxxxx,
lenb@xxxxxxxxxx,
james.morse@xxxxxxx,
tony.luck@xxxxxxxxx,
bp@xxxxxxxxx,
kees@xxxxxxxxxx,
gustavoars@xxxxxxxxxx,
zaidal@xxxxxxxxxxxxxxxxxxxxxx,
Jonathan.Cameron@xxxxxxxxxx,
sudeep.holla@xxxxxxx,
u.kleine-koenig@xxxxxxxxxxxx,
jonathanh@xxxxxxxxxx,
viro@xxxxxxxxxxxxxxxxxx,
ira.weiny@xxxxxxxxx,
peterz@xxxxxxxxxxxxx,
sthanneeru.opensrc@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx,
Benjamin.Cheatham@xxxxxxx,
dave.jiang@xxxxxxxxx,
linux-acpi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-hardening@xxxxxxxxxxxxxxx
Subject: [PATCH v8 1/7] ACPI: APEI: EINJ: Fix kernel test sparse warnings
Date: Wed, 4 Jun 2025 15:37:58 -0700
Message-ID: <20250604223804.842501-2-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
References: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: MW4PR03CA0308.namprd03.prod.outlook.com
(2603:10b6:303:dd::13) To SN7PR01MB7903.prod.exchangelabs.com
(2603:10b6:806:34f::17)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN7PR01MB7903:EE_|CH7PR01MB8810:EE_
X-MS-Office365-Filtering-Correlation-Id: 32b35e6e-1309-4359-ec32-08dda3b880d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|52116014|1800799024|7416014|366016|376014|38350700014|921020;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?aKx8D9C+wIS5FLzqbCTOUrviU7kQoldxFaqEYDQ5e7f0oagshB6l9qmmUu5a?=
=?us-ascii?Q?feAYSqtgXdb7e9Gh1dOpYxaRMSSkFiTTGe1n+Msiq1OnzYe5KWCEfO+UN/1v?=
=?us-ascii?Q?fi9ZJl+U8BnKKmeV10I94liPnSDRBjRB3rGByax2HSikuTraAF2tt9d2uSIs?=
=?us-ascii?Q?DzaYMNc/ZKwb+Ix50xU05kgedBc3jVdtDSyDb4iTy3yoy7crZ3ZeWSurJcXq?=
=?us-ascii?Q?WU9m/dSfT24sP7ak1rn2uGf/n1DJs5pEVk2cuonECYgX+5hPi3yT2eJl1Kb8?=
=?us-ascii?Q?IUq5dKpfSGThae/cgYoRRr7215kCtBMfZSljM6/ngpHtNzgDrMf9KbAMo9Qt?=
=?us-ascii?Q?Z03PIkRVdoxDT9I3dfGbA9HBqlqtKQuAsnmUiuvnhNeszrs1Y+2lQDo8KFza?=
=?us-ascii?Q?Y6pcd3l3XHynpAljGgPFb0Hv63yFjMEVWFSVaVTGT93dXalAEqEYXgCM5vjU?=
=?us-ascii?Q?25d1PuNiQOPOYyBrCFis00ZHVfjhKwGJGB2Pp3V2Js/WtEOXmKlqTRx2gVsh?=
=?us-ascii?Q?cGeDPJBhF9awN/HJPiS0rtSgeY2cx6oPmFDUEA5pF+p/U9ucsl8jAwTZ69Zk?=
=?us-ascii?Q?P7Tn/9j04e50ysqCIDC+HALn0eiy3y/TKAovvL7jBf5C/VJ0mgOUnDIzq4dN?=
=?us-ascii?Q?zzpwATmiAtblPJPq/uVN08YvAn5mgIHIG+612WJrTprGLjqa4mKT95YM/G4f?=
=?us-ascii?Q?u/Hv+0+ZFucs9WIJ+atu6Has35autFPM4VCVZvcynuyqVkJeq18WvTgMYgXc?=
=?us-ascii?Q?iPbVv9uWZGbBun6Wc69CVpGH89xcvrNb0IRXg8kz18Sp7fOFgsHOEQn10RRP?=
=?us-ascii?Q?vx2XDf5+i5T4DO5vOqeRNTlLkNR1nMV4QOmH3UVYqwGQ+BLxywf5eQXmlh6o?=
=?us-ascii?Q?kmmnmYro+cGa1GrJI2hCKXM0uOAGwmbZp7r++zyC6mgoRAD00mg01D1jzXI3?=
=?us-ascii?Q?vM0v8d+WHny/lafzOK0bT+BfBt17+gvKpjfvJdxbbYoFbaKOk4ODWFbjipQa?=
=?us-ascii?Q?sqrfk5IxXCpF947mWvWA+Ukfoliu+5L0yVAPnXsHnP9+119qEijmLhtszzGY?=
=?us-ascii?Q?sB68JljD1l6tUMt8zyRlQYE/Kboz7NojHtpw4uAupipTEiCHeFC+2NvFK9XH?=
=?us-ascii?Q?sZWBPQK1JOotf+4HP3zV3DWVK5ZVa3C2bTr4ZbT1UqQpv5HjrmSc8ecHLRLi?=
=?us-ascii?Q?wCGoCsx8BnioQqplw5id/FObtA6cjG/+A/Pi2qDMBTo/ZoII8wfIf4mpjaFv?=
=?us-ascii?Q?LKdKeXwvIMmDx62J+E3GTgMdrO6anXsweuE2iRxA7SPEfMgTDLp7EC6SabSv?=
=?us-ascii?Q?RvlDNwe3oByDw9yxZ+kP1kPu2zgTOZl1gga4148nVsjz4Oui8Y33K9vO4WXe?=
=?us-ascii?Q?1A51mXQfNQDh/dnZWzyrEtKJuTz0FgtlcAo24wwItq5wl4s7ZSW2+Wk7V0AX?=
=?us-ascii?Q?WJp5+l+SCbDuEynI9S7hhTgmx7IRoyVD7SVVRy2FE8cq8A6sgU20KlNAr+QM?=
=?us-ascii?Q?7vqdcRJZYHItIG1CrqfVzvyxQ76XQFJrZkU7?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7903.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(7416014)(366016)(376014)(38350700014)(921020);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?iHL8b4+B8Y/tvO2xDAuE9lg1WQELoXe43ov6uhrC7gqWnLEc6xu4OSPzx/Kj?=
=?us-ascii?Q?T1htvuP9hKdDryC/G074LRf7kZI6p3h5kNwXC9hFnDwA+rJvizrz6s0zOiRE?=
=?us-ascii?Q?9S9f+coup0WVQLzVbSDctj/vIImG+1J8QsYhNjpgyITYXgwlp9IYBRBZs0AW?=
=?us-ascii?Q?3wxkzLna5c/Ja+CdHbMaE7bGNaXJ0pvZpVfr9Bg4v5ml3CGHzENsTso54Uuq?=
=?us-ascii?Q?iPjzRAETFZgCmfBGl4euvLHtLiobR/OhF4CyEYZiSV6V57tnjHkVJZT2Sl9q?=
=?us-ascii?Q?0pu14FqJnr8k+lg0241nXBIyB8qxNqbME/LDMNlsFsWQSgfoyIfhHPGZJ44W?=
=?us-ascii?Q?K1NVeLrxuXOHneqHISsO1z5jcymZYgsrPMwClDTd1j5TL6wX6P+IxlJFUnSV?=
=?us-ascii?Q?OEia/jD+Y81LSJ8ciZTDLwhwvPyD9pAbOS/CBdUeBE7jJdIw+gy2QK9BuF3T?=
=?us-ascii?Q?ynRxYPk3tXp5+0WzJAnTITbQKu/XuEzBW48Xe0iIV79vTZluWRomonPIXi1k?=
=?us-ascii?Q?TV/Aghe+9bcLoAcFj5sts5olrN/jCojNxFGatbJbF6xBRtYxkWaIGfkQSwlw?=
=?us-ascii?Q?4468iIbz/BKPC7O+ReVKqjllzoW/Wp9qU7GpaU6y48Pl/gbPvX70gwFh5Dw9?=
=?us-ascii?Q?cdvQ7+R5dcr+tWOJlfo77FYdwPWJPTLAzmeaMlq8ftCiTLQfabJ5E6OXKBAy?=
=?us-ascii?Q?czzzOwJoINFZ1jDU/t7uVxrcw/GekN0vOKzurq/QG52ouwR7u3lgU4Zc4ujv?=
=?us-ascii?Q?wSzfYF+nIl2wHsHRoMhgGax5VsILYzMZSUssDJ7JRTFuZRI2tllluS82SjB1?=
=?us-ascii?Q?9ifEsP0pWxOxcuDh+czfZco/H+jbYDUfqvy59icey7L1JxtkRWGrbQGA176e?=
=?us-ascii?Q?V/h45Skyg/9P3mkZeiiHY1n3khU8H+MLnu5s2LkNSb2KY05WJgSjs5wQwkDX?=
=?us-ascii?Q?ie5r+XGwR8ObEiN0cBwhKK5tlPvomQOMmWPWw9g2V4MN4uxUMj/EwBPjPBRy?=
=?us-ascii?Q?Y9esv8sDSC3dx2OiS1ihvJt9/t5+XLs59bpuoeu5iVPOvW+2LKlzJbPNSza6?=
=?us-ascii?Q?4+MytMQmWqaUQ7g2aJSIY2bPUM2iUNAjB/rzML+hQq6QOQAHBckiC7RG+BpW?=
=?us-ascii?Q?mZpgWttILnrs5CEh50BJWtK+uMPNOggP0j3ZgxhbdcNYw2rIWEM6LCI41Uys?=
=?us-ascii?Q?7qPViLi/thPGrkHhP8XD3wh+ilEEPosRC28AILEdZELpYZ8gZhKQRgt9gJmv?=
=?us-ascii?Q?+ZJeRuK85fRnHoCR1w5MxmgFlWKn8I0Wr5G5UCpImCJBx7Upsf9spvEakcEl?=
=?us-ascii?Q?XkYnJWKpfjs5NSGZo0EuM0sQkW7RadZi6RnZPExXkHYrE+THQqvURfI4PnG/?=
=?us-ascii?Q?iE4wdvrWkuMrkTgkClvxHQ7ccb8MNUi5ZUndG9pq3lM9woTarUja23SdmI9t?=
=?us-ascii?Q?OYZm1EBKj53KUOjYV4V8VgU5e0JnV9yiwzAsARpQlMPspY9IgM2LSHIZCmBW?=
=?us-ascii?Q?JR7WTbrlIwecnd+OK3GA8/I2KAc4qZjbcUaJ03Z5532GUgVlt0PjfXeWgzHr?=
=?us-ascii?Q?LlxU9KQLN+xQlD8j5Y73MmxPRVRTW3HytVqAqNJRhWFvXrnGx33b+tgiFe7f?=
=?us-ascii?Q?sHg5NqBKajsbLgoa3SmK7jY=3D?=
X-OriginatorOrg: os.amperecomputing.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 32b35e6e-1309-4359-ec32-08dda3b880d7
X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7903.prod.exchangelabs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:38:18.8686
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HmgH2y/S500qOTjNoRwrfqern9vXqR+jV9ljEPJljg9wBhnaJFdP/Lb3fXv19t90xWMwmi1EyNtUZo/0JvScZLDCozU0DoqPbBd4Ufreg++eFidPJXN+YCBbG5rk1KGM
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR01MB8810
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

This patch fixes the kernel test robot warning reported here:
Link: https://lore.kernel.org/all/202410241620.oApALow5-lkp@xxxxxxxxx/

Use pointers annotated with the __iomem marker for all iomem map calls,
and creates a local copy of the mapped IO memory for future access in
the code. memcpy_fromio() and memcpy_toio() are used to read/write data
from/to mapped IO memory.

Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
Signed-off-by: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
drivers/acpi/apei/einj-core.c | 106 +++++++++++++++++++---------------
1 file changed, 60 insertions(+), 46 deletions(-)

diff --git a/drivers/acpi/apei/einj-core.c b/drivers/acpi/apei/einj-core.c
index fea11a35eea3..b9cdd3e44855 100644
--- a/drivers/acpi/apei/einj-core.c
+++ b/drivers/acpi/apei/einj-core.c
@@ -151,7 +151,7 @@ static DEFINE_MUTEX(einj_mutex);
*/
bool einj_initialized __ro_after_init;

-static void *einj_param;
+static void __iomem *einj_param;

static void einj_exec_ctx_init(struct apei_exec_context *ctx)
{
@@ -216,24 +216,26 @@ static void check_vendor_extension(u64 paddr,
struct set_error_type_with_address *v5param)
{
int offset = v5param->vendor_extension;
- struct vendor_error_type_extension *v;
+ struct vendor_error_type_extension v;
+ struct vendor_error_type_extension __iomem *p;
u32 sbdf;

if (!offset)
return;
- v = acpi_os_map_iomem(paddr + offset, sizeof(*v));
- if (!v)
+ p = acpi_os_map_iomem(paddr + offset, sizeof(*p));
+ if (!p)
return;
- get_oem_vendor_struct(paddr, offset, v);
- sbdf = v->pcie_sbdf;
+ memcpy_fromio(&v, p, sizeof(v));
+ get_oem_vendor_struct(paddr, offset, &v);
+ sbdf = v.pcie_sbdf;
sprintf(vendor_dev, "%x:%x:%x.%x vendor_id=%x device_id=%x rev_id=%x\n",
sbdf >> 24, (sbdf >> 16) & 0xff,
(sbdf >> 11) & 0x1f, (sbdf >> 8) & 0x7,
- v->vendor_id, v->device_id, v->rev_id);
- acpi_os_unmap_iomem(v, sizeof(*v));
+ v.vendor_id, v.device_id, v.rev_id);
+ acpi_os_unmap_iomem(p, sizeof(v));
}

-static void *einj_get_parameter_address(void)
+static void __iomem *einj_get_parameter_address(void)
{
int i;
u64 pa_v4 = 0, pa_v5 = 0;
@@ -254,26 +256,30 @@ static void *einj_get_parameter_address(void)
entry++;
}
if (pa_v5) {
- struct set_error_type_with_address *v5param;
+ struct set_error_type_with_address v5param;
+ struct set_error_type_with_address __iomem *p;

- v5param = acpi_os_map_iomem(pa_v5, sizeof(*v5param));
- if (v5param) {
+ p = acpi_os_map_iomem(pa_v5, sizeof(*p));
+ if (p) {
+ memcpy_fromio(&v5param, p, sizeof(v5param));
acpi5 = 1;
- check_vendor_extension(pa_v5, v5param);
- return v5param;
+ check_vendor_extension(pa_v5, &v5param);
+ return p;
}
}
if (param_extension && pa_v4) {
- struct einj_parameter *v4param;
+ struct einj_parameter v4param;
+ struct einj_parameter __iomem *p;

- v4param = acpi_os_map_iomem(pa_v4, sizeof(*v4param));
- if (!v4param)
+ p = acpi_os_map_iomem(pa_v4, sizeof(*p));
+ if (!p)
return NULL;
- if (v4param->reserved1 || v4param->reserved2) {
- acpi_os_unmap_iomem(v4param, sizeof(*v4param));
+ memcpy_fromio(&v4param, p, sizeof(v4param));
+ if (v4param.reserved1 || v4param.reserved2) {
+ acpi_os_unmap_iomem(p, sizeof(v4param));
return NULL;
}
- return v4param;
+ return p;
}

return NULL;
@@ -319,7 +325,7 @@ static struct acpi_generic_address *einj_get_trigger_parameter_region(
static int __einj_error_trigger(u64 trigger_paddr, u32 type,
u64 param1, u64 param2)
{
- struct acpi_einj_trigger *trigger_tab = NULL;
+ struct acpi_einj_trigger trigger_tab;
struct apei_exec_context trigger_ctx;
struct apei_resources trigger_resources;
struct acpi_whea_header *trigger_entry;
@@ -327,54 +333,57 @@ static int __einj_error_trigger(u64 trigger_paddr, u32 type,
u32 table_size;
int rc = -EIO;
struct acpi_generic_address *trigger_param_region = NULL;
+ struct acpi_einj_trigger __iomem *p;

- r = request_mem_region(trigger_paddr, sizeof(*trigger_tab),
+ r = request_mem_region(trigger_paddr, sizeof(trigger_tab),
"APEI EINJ Trigger Table");
if (!r) {
pr_err("Can not request [mem %#010llx-%#010llx] for Trigger table\n",
(unsigned long long)trigger_paddr,
(unsigned long long)trigger_paddr +
- sizeof(*trigger_tab) - 1);
+ sizeof(trigger_tab) - 1);
goto out;
}
- trigger_tab = ioremap_cache(trigger_paddr, sizeof(*trigger_tab));
- if (!trigger_tab) {
+ p = ioremap_cache(trigger_paddr, sizeof(*p));
+ if (!p) {
pr_err("Failed to map trigger table!\n");
goto out_rel_header;
}
- rc = einj_check_trigger_header(trigger_tab);
+ memcpy_fromio(&trigger_tab, p, sizeof(trigger_tab));
+ rc = einj_check_trigger_header(&trigger_tab);
if (rc) {
pr_warn(FW_BUG "Invalid trigger error action table.\n");
goto out_rel_header;
}

/* No action structures in the TRIGGER_ERROR table, nothing to do */
- if (!trigger_tab->entry_count)
+ if (!trigger_tab.entry_count)
goto out_rel_header;

rc = -EIO;
- table_size = trigger_tab->table_size;
- r = request_mem_region(trigger_paddr + sizeof(*trigger_tab),
- table_size - sizeof(*trigger_tab),
+ table_size = trigger_tab.table_size;
+ r = request_mem_region(trigger_paddr + sizeof(trigger_tab),
+ table_size - sizeof(trigger_tab),
"APEI EINJ Trigger Table");
if (!r) {
pr_err("Can not request [mem %#010llx-%#010llx] for Trigger Table Entry\n",
- (unsigned long long)trigger_paddr + sizeof(*trigger_tab),
+ (unsigned long long)trigger_paddr + sizeof(trigger_tab),
(unsigned long long)trigger_paddr + table_size - 1);
goto out_rel_header;
}
- iounmap(trigger_tab);
- trigger_tab = ioremap_cache(trigger_paddr, table_size);
- if (!trigger_tab) {
+ iounmap(p);
+ p = ioremap_cache(trigger_paddr, table_size);
+ if (!p) {
pr_err("Failed to map trigger table!\n");
goto out_rel_entry;
}
+ memcpy_fromio(&trigger_tab, p, sizeof(trigger_tab));
trigger_entry = (struct acpi_whea_header *)
- ((char *)trigger_tab + sizeof(struct acpi_einj_trigger));
+ ((char *)&trigger_tab + sizeof(struct acpi_einj_trigger));
apei_resources_init(&trigger_resources);
apei_exec_ctx_init(&trigger_ctx, einj_ins_type,
ARRAY_SIZE(einj_ins_type),
- trigger_entry, trigger_tab->entry_count);
+ trigger_entry, trigger_tab.entry_count);
rc = apei_exec_collect_resources(&trigger_ctx, &trigger_resources);
if (rc)
goto out_fini;
@@ -392,7 +401,7 @@ static int __einj_error_trigger(u64 trigger_paddr, u32 type,

apei_resources_init(&addr_resources);
trigger_param_region = einj_get_trigger_parameter_region(
- trigger_tab, param1, param2);
+ &trigger_tab, param1, param2);
if (trigger_param_region) {
rc = apei_resources_add(&addr_resources,
trigger_param_region->address,
@@ -421,13 +430,13 @@ static int __einj_error_trigger(u64 trigger_paddr, u32 type,
out_fini:
apei_resources_fini(&trigger_resources);
out_rel_entry:
- release_mem_region(trigger_paddr + sizeof(*trigger_tab),
- table_size - sizeof(*trigger_tab));
+ release_mem_region(trigger_paddr + sizeof(trigger_tab),
+ table_size - sizeof(trigger_tab));
out_rel_header:
- release_mem_region(trigger_paddr, sizeof(*trigger_tab));
+ release_mem_region(trigger_paddr, sizeof(trigger_tab));
out:
- if (trigger_tab)
- iounmap(trigger_tab);
+ if (p)
+ iounmap(p);

return rc;
}
@@ -446,8 +455,10 @@ static int __einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
return rc;
apei_exec_ctx_set_input(&ctx, type);
if (acpi5) {
- struct set_error_type_with_address *v5param = einj_param;
+ struct set_error_type_with_address *v5param, v5_struct;

+ v5param = &v5_struct;
+ memcpy_fromio(v5param, einj_param, sizeof(*v5param));
v5param->type = type;
if (type & ACPI5_VENDOR_BIT) {
switch (vendor_flags) {
@@ -492,15 +503,18 @@ static int __einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
break;
}
}
+ memcpy_toio(einj_param, v5param, sizeof(*v5param));
} else {
rc = apei_exec_run(&ctx, ACPI_EINJ_SET_ERROR_TYPE);
if (rc)
return rc;
if (einj_param) {
- struct einj_parameter *v4param = einj_param;
+ struct einj_parameter v4param;

- v4param->param1 = param1;
- v4param->param2 = param2;
+ memcpy_fromio(&v4param, einj_param, sizeof(v4param));
+ v4param.param1 = param1;
+ v4param.param2 = param2;
+ memcpy_toio(einj_param, &v4param, sizeof(v4param));
}
}
rc = apei_exec_run(&ctx, ACPI_EINJ_EXECUTE_OPERATION);
--
2.43.0



Return-Path: <linux-kernel+bounces-673837-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5F2E041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:38:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 4FA913A834B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:38:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 673842327A1;
Wed, 4 Jun 2025 22:38:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="jAx59wBD"
Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11023110.outbound.protection.outlook.com [40.93.201.110])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7C75822E402;
Wed, 4 Jun 2025 22:38:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.110
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076705; cv=fail; b=KfwCKBj2XCn5KIkWiiLRHBF9SAoxcS/P/dkFNsDJM11VJsAn5GjvLhrbIMKIdzGxZ24tqn54GAsZ4Gg1zFJhrp3IqJ6E/GTduDsCAcj4rzU2AhAfYPKduPKupIMBFQX8UDp/Cr+0pWm5BjxlC7bH2NhieuWum2bU4W7RHoN7uTo=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076705; c=relaxed/simple;
bh=u/gHZ/oTKrn29Sm/I1DAL8Ho3MGqRSGOHLMGs82HCDc=;
h=From:To:Subject:Date:Message-ID:In-Reply-To:References:
Content-Type:MIME-Version; b=O/HMtoiLvgQXLk7/I5f907olHjmz8/Pvy0T2DYqmhxeDhNiRK6jnZRlYJnypReUFtOCZmBswhmFVJnlYSdrj0e6E5cDWOjhZOTS5c3UWXxQDU559PT3g+xRkepgbKDetosM81hcLuTXO1F0PJXrlaJBLaMrpHNMvbIPgqdDXLwI=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=jAx59wBD; arc=fail smtp.client-ip=40.93.201.110
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=gwm3UMu+NRQBWumS0MDZDI/rFK24mGWCWQsAqCsfYLmS15gX5ZCgWsJcVL89Go73zOZ/s6psE34NQ2l/xm0tkQE7tz95bEffvEwKJQHacqsHckEiXSiV8t15bimvfVdUFl+7Bh47qKWgAIuUnNlWoaqz0bkGIMS4j6vzRWS+Ahaoah6RlhOxQxVnJyaxIU9++EmhoEsrVForYwKHbJi5LBgp4PoBUjNtdIk6Z6dPcirCROPPNtpgTnGNKqrG/pfWGVY+XYOdrmHDXXQbS5OhysqA/U19/thW0M4gUze8OZNKDkia5etJKEgJ9rOrXtIUvVVfE1JhUCp8mvD5pA+tZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=xIoOjmjHCZUwbrQeji4v4hiCoy827hvx3i9UArmDi60=;
b=C+jP1AeOldcLtqDTuPZno7Djrlgwc4t4j2OFCw8/61wZu4DDmGMy011Ik/7fIz1tZony8UcqTwPjE8Pa/KZOSXo/HLsHCAGF0mJaKgFiDaoWBbJv+QwDViv21LOkAHmDh7vKftCmff/BRrdM+IgJOYS6ATlQZIbP7z4lyi2kvpd0pkQ3htzt/O3npOiyCj5M0Gpc3OBCY9dwGAjXpw5zXoA0lgk+aLE+pzAIEgb6wDHqdY6Xu4w464GCftDDQq+IlM4z7Lx9hxQmwKw8NJo8KRwjDOrkMttql5r5GYV/k503IhIk2eYty+7JALdBMvRJABrLoDeyxJTOMJkp416qaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none
header.from=os.amperecomputing.com; dkim=pass
header.d=os.amperecomputing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=os.amperecomputing.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=xIoOjmjHCZUwbrQeji4v4hiCoy827hvx3i9UArmDi60=;
b=jAx59wBDq8o9I7+lIqLZ2MOkfd0aZnv0aez/cy4JFh1M7GdpORWn7iLumUVGfiJChI7M9uBv97jZhqH2cUlMoGo3mlYdfKWrnxk9TiQm+agCw9UJNI5P8NNT2Yjh+tJKAdOiwlR+k12UGxur20UjxqC1M7+v2wX8qZQQ57csQkE=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=os.amperecomputing.com;
Received: from SN7PR01MB7903.prod.exchangelabs.com (2603:10b6:806:34f::17) by
CH7PR01MB8810.prod.exchangelabs.com (2603:10b6:610:24a::7) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8792.34; Wed, 4 Jun 2025 22:38:20 +0000
Received: from SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f]) by SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f%6]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:38:20 +0000
From: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
To: rafael@xxxxxxxxxx,
lenb@xxxxxxxxxx,
james.morse@xxxxxxx,
tony.luck@xxxxxxxxx,
bp@xxxxxxxxx,
kees@xxxxxxxxxx,
gustavoars@xxxxxxxxxx,
zaidal@xxxxxxxxxxxxxxxxxxxxxx,
Jonathan.Cameron@xxxxxxxxxx,
sudeep.holla@xxxxxxx,
u.kleine-koenig@xxxxxxxxxxxx,
jonathanh@xxxxxxxxxx,
viro@xxxxxxxxxxxxxxxxxx,
ira.weiny@xxxxxxxxx,
peterz@xxxxxxxxxxxxx,
sthanneeru.opensrc@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx,
Benjamin.Cheatham@xxxxxxx,
dave.jiang@xxxxxxxxx,
linux-acpi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-hardening@xxxxxxxxxxxxxxx
Subject: [PATCH v8 2/7] ACPI: APEI: EINJ: Enable the discovery of EINJv2 capabilities
Date: Wed, 4 Jun 2025 15:37:59 -0700
Message-ID: <20250604223804.842501-3-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
References: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: MW4PR03CA0308.namprd03.prod.outlook.com
(2603:10b6:303:dd::13) To SN7PR01MB7903.prod.exchangelabs.com
(2603:10b6:806:34f::17)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN7PR01MB7903:EE_|CH7PR01MB8810:EE_
X-MS-Office365-Filtering-Correlation-Id: bb5e0911-cafe-42d1-2044-08dda3b881fd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|52116014|1800799024|7416014|366016|376014|38350700014|921020;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?/KKweepRgk0Vwyq/gy0NVo6PJ2s2dsPmITTu0eW108ExClaV3+BV/i0fyzxG?=
=?us-ascii?Q?G1jPzVqvXq21nJGts7Pw4KIjzyaoY0Cf+NyVao/aUP2CJCxgl6GeXW3Vhlof?=
=?us-ascii?Q?GmEnHxoH0OvaWC2+vlAwaC1i0gofMndelIE7vYQ5tfCwDRDme4I0jaWC+nIj?=
=?us-ascii?Q?WAihfPO6Io70dIkU4FLGCLN9Oo1IrVFtxICjMw0WdHF8A4dcQkPuOWDQDeG/?=
=?us-ascii?Q?IvUplHQflZ6CWLtc+1XDhtytZe6He+bfC/+ZYD5bUYKKGQFznI/FuewDaC2X?=
=?us-ascii?Q?Rmzfli4gW1/72qbISvV1aNFIQlUU2PcPDMq1aiwg0uJWKRn7ZVCdMf3vcKe/?=
=?us-ascii?Q?8wHNXaQb6/B0z1dpP6g61fEBG/57n6OasifcNUEYgMOveM9I0VGetGQIIxWe?=
=?us-ascii?Q?zwV9+MxpNRXMi5Jsl6UDfa7uarSTsB1Z99NNlu37q1gznEPOZWA4972WGNAy?=
=?us-ascii?Q?JpHK22j9Joe8r6YiX60t+zrXHa/3v21rSc9sHfQD4B2GmyZGbeqbHqDu0pGH?=
=?us-ascii?Q?Tz7AvV3mu9mjxs8FY48sSoOkL3Z5hPh4+hZ/Xckwp2oEsVzCcp0Mc89eEshR?=
=?us-ascii?Q?vjGlIw2JdBMiR+G82Z9x9BWMzv8jrSKhB8keB+eT6SlnUVDrNHCy+Z3lRGgv?=
=?us-ascii?Q?E/f+WYi+OaHs+7qxXDKJswfgMNPKuMjuUhth2PMQxeROYJkuMOvxinJCRaqx?=
=?us-ascii?Q?9JriQoSyrmlECUQ9XUa6zB/Be88UznFvJtl7RkV403mXvJdXQEDkBCy5yaxz?=
=?us-ascii?Q?f0j5eAKxi7vE3kBz/PhP2fzBNRyoB9jQQ9S+IkKbN/S04jOQvt1/aJcz55Hx?=
=?us-ascii?Q?iaj0JS8uZLuTXFBCdjp4KrbUBAHgVSNGM+wVjOLg6wJ2Bz+/DHZxzJ38jbpQ?=
=?us-ascii?Q?s2O6De33YCB0qutuizd0cgwuTIopQJedVDllGPfhhQSvEIvFf1yP2H4s6jnn?=
=?us-ascii?Q?iZd89ZY7ObeBMJNTk/wxJH9ZCohSS0dedp3jS5LsWuBtcTJK7XUdxKnyUr6l?=
=?us-ascii?Q?Kcqu9aTcVKYP83gLStlVu0MkVaOozlvywqXAgtcEYb5gqXG+o16OdhD4rUr2?=
=?us-ascii?Q?cnwz2YQWYhg9VZMaB5jOwBAiO5qedU96JbdzI4ZQbZmKHnEI8H32g4AL4Zs1?=
=?us-ascii?Q?qtYjrxt6Y4QyGbD+U7TkjSXe5h/C+get+zT3iWKP2IS0aifuSFmipwjVbdQ+?=
=?us-ascii?Q?eXP9kfi42IZqHTYynAd7HaY+/Wb5tVwd6PD38Fbn6j68c/qBPmL12qkcmVVs?=
=?us-ascii?Q?fysvKnbf17QfFCpEGpU3PXZ69tCvW17sFnuD7RxEDN76W5jeOy9LRp8gPDb7?=
=?us-ascii?Q?PlguZjLBtIO+bNcKqGaNodLJuviSb8/Rw8W6bFdV2eKSaZxf/EbBl6QSN3Nc?=
=?us-ascii?Q?Gts0+OemxVLOxBABC5sSy5lCIUmwn2UKxCNmfy3ediNocCJmqW1/LGRSeyxc?=
=?us-ascii?Q?wKs1Y28ePrXBFb8lt/QQnVKRl6UeKEU+4dOTsJRbD1EAfVnLY0HKOSMOhbSo?=
=?us-ascii?Q?aosMHZeHY6i6E9A=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7903.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(7416014)(366016)(376014)(38350700014)(921020);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?GX4q62P0d2Cj96EsdK5Z6MyYWM8RLJyGp4T4rAVfNYokOwBl6Ommb2BKhBK8?=
=?us-ascii?Q?0KBeo2xlxn+hJ9FaL2CBJjEtXTJCJXUFzziSEntmRXiZVgFTYdhsS5CwxZKA?=
=?us-ascii?Q?oq3q53Tn6gYHT2OsfoFwIc5t4iEwjD2WNvSeEhaTK+I/z7GdKHxSE3QcdvZP?=
=?us-ascii?Q?wiA3DPQ6EPNE95maXtRjYTef7NrKguLLHApvhhLJ34Qfeih+j60awQaeDYAA?=
=?us-ascii?Q?IyCBJ2s05jcVlJaiM2/knh1FBU1/Feh2nTBGa9SoM6JF5iBj4VEmGdtZ4hou?=
=?us-ascii?Q?B8ByhZmOPVloZ5kHjSZ0INO9vQlBXZ8MCz8NHcDKHKsJ3NzNSVG0c4+B+dJd?=
=?us-ascii?Q?d3P5L2Lpn2JhkyFplN9qPrXXeStQcbJM4hj9jlTVSHsRWlf38xWGtIzcwYbY?=
=?us-ascii?Q?MYQ00XteJzW/eMgEiW/r88/yd89zzqcxa8kXgcxypXWr8hNw+wS5J4NcFnjv?=
=?us-ascii?Q?Vkm9rWKGrdfBLjFJEQFVYvNBvH1Eo3o251fjwMPO5422yxB15yTBtuFCz66K?=
=?us-ascii?Q?hB4OK8ZTVNMn02SW2UhT2TukUO9Czk9hFXWgnh4q1ACYsKXJVbYRwymYTyh4?=
=?us-ascii?Q?r8sK2bqSTTPGjMmgx0J9KNnwX0TBWn7HWtJIcqI0pnXedLdjKPrGq9oCBq2X?=
=?us-ascii?Q?kH45Qwh50rXCLEkU14FcATcJ/cuWjAkzxUfKDYVwyqk8HOIpSfOuZQmCmHRd?=
=?us-ascii?Q?2cuaYMa/OvW5/5umfw8Q4mLmJdUuSmOeizx6fWpONAipeS/sk7bGQneABlDd?=
=?us-ascii?Q?/7uFjF9rT/pjbkHIoXkIAVZmB4xLn7vpqbCdNq+EagZDKoWfX77he9JFbV9/?=
=?us-ascii?Q?rlq8LbQ0lzszjhzjB3n2gFJd5YZuKaVP0Kq9nu9N28vltlQkrB75aqPh8HBk?=
=?us-ascii?Q?aR8a4zeuHgt2jtIdymHSnF1MSCGJ5d/D2XgTMojicg4jTrssS4ypjAWmse5M?=
=?us-ascii?Q?6mjzMmpayVQ4Vy2SyJd/EBe6o11Mb23kKqGI79yHjMMZxESdWI5ZilHpEepu?=
=?us-ascii?Q?ll2gx+f9R2AgILMPlHUSo2cqjBPJ7fKkCEbQvXfL7M3lShPiVRKatgZ+Po6z?=
=?us-ascii?Q?r3hyPXQvSylYLf+TH7vHN4ZBxWNk1i0lGGqxSVa/ed2cD8tn75YYYKrnTTtY?=
=?us-ascii?Q?BOS+rrOz8fcSx7JX/z733iTg3HFBRoNpfH82GsmRW5FRKVDPrZJtRR7SxTZU?=
=?us-ascii?Q?vYgyn4O88vSRfyKgxnHEyUtJWhJDrtrOplJ5dWtf4KyWZJRH7Ad256dVw1ow?=
=?us-ascii?Q?kbtWPVm6v13OLK3gKDsExrIp2BHoQ0CiDavhKJiE+qqUe4mhJu4tX583a/Iz?=
=?us-ascii?Q?X0f83dAw6QjeumV4qvV6Zw/+vtAlCHFuiiUdcoi9uf0+fWnv3971WcjHfr2T?=
=?us-ascii?Q?Genh+4rfX73SPfik8ZiWjCzHuX2XeqVkvlQIoih5YbM6yFvea+m6lqArGn58?=
=?us-ascii?Q?EuPdu8Y4DwAZoHnXEUq+tGu1g5NzI5WHJb6ezkKG8P8QpHIr3pzJWZtRMkVd?=
=?us-ascii?Q?v62yJm+jSdYZ212PSAS+Woa91PhO0g60YsVAagjo3GsQPMqVN6OrtMx4O+qs?=
=?us-ascii?Q?bP5qdA/nk8nWjktmf2NB+XVEDaqpO6eVnUQQQCdN3WF2RHE/eOZ1z0BousvW?=
=?us-ascii?Q?i2fQiDH8otHQ/NXD89zvuRg=3D?=
X-OriginatorOrg: os.amperecomputing.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bb5e0911-cafe-42d1-2044-08dda3b881fd
X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7903.prod.exchangelabs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:38:20.7966
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1BuVxDb7PCnz93XzqVaVB4fqXxX3M/by+zKydp3sEGWUikvhm2xuZoMahxnW/038GbPJ7lS3h8JgO9m6mztKF7Z9rCBu4Ic2kIL7NRp3/11J+1tT5bWBNCIBBq+QtDcC
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR01MB8810
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Enable the driver to show all supported error injections for EINJ
and EINJv2 at the same time. EINJv2 capabilities can be discovered
by checking the return value of get_error_type, where bit 30 set
indicates EINJv2 support.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
Signed-off-by: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
drivers/acpi/apei/apei-internal.h | 2 +-
drivers/acpi/apei/einj-core.c | 75 +++++++++++++++++++++++++------
drivers/acpi/apei/einj-cxl.c | 2 +-
3 files changed, 63 insertions(+), 16 deletions(-)

diff --git a/drivers/acpi/apei/apei-internal.h b/drivers/acpi/apei/apei-internal.h
index cd2766c69d78..77c10a7a7a9f 100644
--- a/drivers/acpi/apei/apei-internal.h
+++ b/drivers/acpi/apei/apei-internal.h
@@ -131,7 +131,7 @@ static inline u32 cper_estatus_len(struct acpi_hest_generic_status *estatus)

int apei_osc_setup(void);

-int einj_get_available_error_type(u32 *type);
+int einj_get_available_error_type(u32 *type, int einj_action);
int einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2, u64 param3,
u64 param4);
int einj_cxl_rch_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
diff --git a/drivers/acpi/apei/einj-core.c b/drivers/acpi/apei/einj-core.c
index b9cdd3e44855..f018d3970de8 100644
--- a/drivers/acpi/apei/einj-core.c
+++ b/drivers/acpi/apei/einj-core.c
@@ -33,6 +33,7 @@
#define SLEEP_UNIT_MAX 5000 /* 5ms */
/* Firmware should respond within 1 seconds */
#define FIRMWARE_TIMEOUT (1 * USEC_PER_SEC)
+#define ACPI65_EINJV2_SUPP BIT(30)
#define ACPI5_VENDOR_BIT BIT(31)
#define MEM_ERROR_MASK (ACPI_EINJ_MEMORY_CORRECTABLE | \
ACPI_EINJ_MEMORY_UNCORRECTABLE | \
@@ -84,6 +85,7 @@ static struct debugfs_blob_wrapper vendor_errors;
static char vendor_dev[64];

static u32 available_error_type;
+static u32 available_error_type_v2;

/*
* Some BIOSes allow parameters to the SET_ERROR_TYPE entries in the
@@ -159,13 +161,13 @@ static void einj_exec_ctx_init(struct apei_exec_context *ctx)
EINJ_TAB_ENTRY(einj_tab), einj_tab->entries);
}

-static int __einj_get_available_error_type(u32 *type)
+static int __einj_get_available_error_type(u32 *type, int einj_action)
{
struct apei_exec_context ctx;
int rc;

einj_exec_ctx_init(&ctx);
- rc = apei_exec_run(&ctx, ACPI_EINJ_GET_ERROR_TYPE);
+ rc = apei_exec_run(&ctx, einj_action);
if (rc)
return rc;
*type = apei_exec_ctx_get_output(&ctx);
@@ -174,17 +176,34 @@ static int __einj_get_available_error_type(u32 *type)
}

/* Get error injection capabilities of the platform */
-int einj_get_available_error_type(u32 *type)
+int einj_get_available_error_type(u32 *type, int einj_action)
{
int rc;

mutex_lock(&einj_mutex);
- rc = __einj_get_available_error_type(type);
+ rc = __einj_get_available_error_type(type, einj_action);
mutex_unlock(&einj_mutex);

return rc;
}

+static int einj_get_available_error_types(u32 *type1, u32 *type2)
+{
+ int rc;
+
+ rc = einj_get_available_error_type(type1, ACPI_EINJ_GET_ERROR_TYPE);
+ if (rc)
+ return rc;
+ if (*type1 & ACPI65_EINJV2_SUPP) {
+ rc = einj_get_available_error_type(type2,
+ ACPI_EINJV2_GET_ERROR_TYPE);
+ if (rc)
+ return rc;
+ }
+
+ return 0;
+}
+
static int einj_timedout(u64 *t)
{
if ((s64)*t < SLEEP_UNIT_MIN) {
@@ -646,6 +665,7 @@ static u64 error_param2;
static u64 error_param3;
static u64 error_param4;
static struct dentry *einj_debug_dir;
+static char einj_buf[32];
static struct { u32 mask; const char *str; } const einj_error_type_string[] = {
{ BIT(0), "Processor Correctable" },
{ BIT(1), "Processor Uncorrectable non-fatal" },
@@ -662,6 +682,12 @@ static struct { u32 mask; const char *str; } const einj_error_type_string[] = {
{ BIT(31), "Vendor Defined Error Types" },
};

+static struct { u32 mask; const char *str; } const einjv2_error_type_string[] = {
+ { BIT(0), "EINJV2 Processor Error" },
+ { BIT(1), "EINJV2 Memory Error" },
+ { BIT(2), "EINJV2 PCI Express Error" },
+};
+
static int available_error_type_show(struct seq_file *m, void *v)
{

@@ -669,17 +695,22 @@ static int available_error_type_show(struct seq_file *m, void *v)
if (available_error_type & einj_error_type_string[pos].mask)
seq_printf(m, "0x%08x\t%s\n", einj_error_type_string[pos].mask,
einj_error_type_string[pos].str);
-
+ if (available_error_type & ACPI65_EINJV2_SUPP) {
+ for (int pos = 0; pos < ARRAY_SIZE(einjv2_error_type_string); pos++) {
+ if (available_error_type_v2 & einjv2_error_type_string[pos].mask)
+ seq_printf(m, "V2_0x%08x\t%s\n", einjv2_error_type_string[pos].mask,
+ einjv2_error_type_string[pos].str);
+ }
+ }
return 0;
}

DEFINE_SHOW_ATTRIBUTE(available_error_type);

-static int error_type_get(void *data, u64 *val)
+static ssize_t error_type_get(struct file *file, char __user *buf,
+ size_t count, loff_t *ppos)
{
- *val = error_type;
-
- return 0;
+ return simple_read_from_buffer(buf, count, ppos, einj_buf, strlen(einj_buf));
}

bool einj_is_cxl_error_type(u64 type)
@@ -712,9 +743,23 @@ int einj_validate_error_type(u64 type)
return 0;
}

-static int error_type_set(void *data, u64 val)
+static ssize_t error_type_set(struct file *file, const char __user *buf,
+ size_t count, loff_t *ppos)
{
int rc;
+ u64 val;
+
+ memset(einj_buf, 0, sizeof(einj_buf));
+ if (copy_from_user(einj_buf, buf, count))
+ return -EFAULT;
+
+ if (strncmp(einj_buf, "V2_", 3) == 0) {
+ if (!sscanf(einj_buf, "V2_%llx", &val))
+ return -EINVAL;
+ } else {
+ if (!sscanf(einj_buf, "%llx", &val))
+ return -EINVAL;
+ }

rc = einj_validate_error_type(val);
if (rc)
@@ -722,11 +767,13 @@ static int error_type_set(void *data, u64 val)

error_type = val;

- return 0;
+ return count;
}

-DEFINE_DEBUGFS_ATTRIBUTE(error_type_fops, error_type_get, error_type_set,
- "0x%llx\n");
+static const struct file_operations error_type_fops = {
+ .read = error_type_get,
+ .write = error_type_set,
+};

static int error_inject_set(void *data, u64 val)
{
@@ -778,7 +825,7 @@ static int __init einj_probe(struct faux_device *fdev)
goto err_put_table;
}

- rc = einj_get_available_error_type(&available_error_type);
+ rc = einj_get_available_error_types(&available_error_type, &available_error_type_v2);
if (rc)
goto err_put_table;

diff --git a/drivers/acpi/apei/einj-cxl.c b/drivers/acpi/apei/einj-cxl.c
index 78da9ae543a2..e70a416ec925 100644
--- a/drivers/acpi/apei/einj-cxl.c
+++ b/drivers/acpi/apei/einj-cxl.c
@@ -30,7 +30,7 @@ int einj_cxl_available_error_type_show(struct seq_file *m, void *v)
int cxl_err, rc;
u32 available_error_type = 0;

- rc = einj_get_available_error_type(&available_error_type);
+ rc = einj_get_available_error_type(&available_error_type, ACPI_EINJ_GET_ERROR_TYPE);
if (rc)
return rc;

--
2.43.0



Return-Path: <linux-kernel+bounces-673838-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B947B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:39:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 11399188A229
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:39:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 016DA22D4CE;
Wed, 4 Jun 2025 22:38:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="aAqcw5B7"
Received: from CY4PR02CU008.outbound.protection.outlook.com (mail-westcentralusazon11021134.outbound.protection.outlook.com [40.93.199.134])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5A017215075;
Wed, 4 Jun 2025 22:38:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.199.134
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076707; cv=fail; b=STOzBFdlxh1rnWA8n/JB2Pb1bU/Mh4lyU8V54bFUSgGDYsKXJhuil9q95HSHyISCODrGxoiZOKvsRNzCDq5N1A8Moa7QKiO8FGkva2CfDFCVyxLAc8hr/JKVq0lciT7cmoCtO6Gs4fUjxxV3UoRbBhYzS0rXTJjbL/vf8HPCwUE=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076707; c=relaxed/simple;
bh=MY7zhydBwQr5OVoF6PEWuCZ6Hb4iig1+gq0FON0GARg=;
h=From:To:Subject:Date:Message-ID:In-Reply-To:References:
Content-Type:MIME-Version; b=D2hs+PceLI5QZN1/OTi+MJGHT6CDmJ71eFPVVLmDit9GZhpvI5bEaV7j0PGczRmQGVLD5jg7D6z52BsokqKRS66yP6/ex9gufuJPAikCpuiGClbM1ukhklmecMgB1A8jMIo9KYdvAykNpsorLaZ1cv/hHbL3EQubFb89An1Puj8=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=aAqcw5B7; arc=fail smtp.client-ip=40.93.199.134
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=W5NmlJA4gA5Xfxt7nel8lFubPNzGlCt8I0DDDjYVCYa9LAOKI4OlpZPu1Xg+DalJ9P4aQ2qz/UrTQM7s5IDB96GxVSOTFvnIgmlGbwEAHxsXju4+ItVVxq4uYvarY/MxNyslTQUMAg9YFeJnP8KnLDW7eEqeq4SxE+uVNnzuuQmb7o6Ozku3N0u0aXdmWhBdlxhwGh0juCiEhSC0JDVGdQJ7YDeMO8MvIxA/rFQD1DS+avY+Z8vkviz2N/xJ5IT3TEZhifl+2EBE+YkAprcLW88n1csztCSQaIylZsu0NMOBr4n8pmi1SyFfhjTRDH72/sd8/SBEU2MJi2jjbxD0Bg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=OqzwdDBv/ypc4ImH4iMG1Y3qlSrvinZHmdtYUIt+6HE=;
b=sGqixeh7KTOKxLPTrz4i0jD3s9f+k43CEYB099NSZYdZGFoqgynvENxWCJSdMmBZGAD3YOfoHwa6UUHf9MdmRZLh/AJFhFrIXT9WYVC7VLOolZzZVkN6Ewzi9pwqhXCrWIZKoH7UkD19wjLUBYxMhajD8wpswpKZFGh3p/fuEJecT8xBuKQlhFag6KI2AMaaWdIf0uDIK+GaQ8/PnvB2Y85Q6cVxpwUN66r0pzFF3zfTx10Zd55zNgXSyEjm1aAVEDacceEuV8H2kVoktn2rkhXzJFfv6MKRQZ6eu6dDp0+8mmVChUsZWUz9tilKIUe4kDEIzUyot8/vRwoQ3A+rdw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none
header.from=os.amperecomputing.com; dkim=pass
header.d=os.amperecomputing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=os.amperecomputing.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=OqzwdDBv/ypc4ImH4iMG1Y3qlSrvinZHmdtYUIt+6HE=;
b=aAqcw5B7LDOZJuotiZuX6Tdace8fwsVJmr7LwgyoI9BjZFfrn8HASmlYGsEyb1NUUvlXNbd82TE2lAwFYiBYMWCy4E5dBAnRFj9Q8d1RMVNyJbXSZDnRenfVDIbS8adYiu04Ie607WW5lS6uivqIicr0cl1Aay/b11XUmGMtR30=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=os.amperecomputing.com;
Received: from SN7PR01MB7903.prod.exchangelabs.com (2603:10b6:806:34f::17) by
CH7PR01MB8810.prod.exchangelabs.com (2603:10b6:610:24a::7) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8792.34; Wed, 4 Jun 2025 22:38:23 +0000
Received: from SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f]) by SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f%6]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:38:22 +0000
From: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
To: rafael@xxxxxxxxxx,
lenb@xxxxxxxxxx,
james.morse@xxxxxxx,
tony.luck@xxxxxxxxx,
bp@xxxxxxxxx,
kees@xxxxxxxxxx,
gustavoars@xxxxxxxxxx,
zaidal@xxxxxxxxxxxxxxxxxxxxxx,
Jonathan.Cameron@xxxxxxxxxx,
sudeep.holla@xxxxxxx,
u.kleine-koenig@xxxxxxxxxxxx,
jonathanh@xxxxxxxxxx,
viro@xxxxxxxxxxxxxxxxxx,
ira.weiny@xxxxxxxxx,
peterz@xxxxxxxxxxxxx,
sthanneeru.opensrc@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx,
Benjamin.Cheatham@xxxxxxx,
dave.jiang@xxxxxxxxx,
linux-acpi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-hardening@xxxxxxxxxxxxxxx
Subject: [PATCH v8 3/7] ACPI: APEI: EINJ: Add einjv2 extension struct
Date: Wed, 4 Jun 2025 15:38:00 -0700
Message-ID: <20250604223804.842501-4-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
References: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: MW4PR03CA0308.namprd03.prod.outlook.com
(2603:10b6:303:dd::13) To SN7PR01MB7903.prod.exchangelabs.com
(2603:10b6:806:34f::17)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN7PR01MB7903:EE_|CH7PR01MB8810:EE_
X-MS-Office365-Filtering-Correlation-Id: 990efeba-1cb1-401b-6207-08dda3b88345
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|52116014|1800799024|7416014|366016|376014|38350700014|921020;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?oDfPlmXLJF4wYgnAxFfi28l9Hq5WCDt6MbMsiJ2mGlvHkJScWyKR37wkaH2L?=
=?us-ascii?Q?tYyGG+0pqr6nhXvM9Hg2Nl4JYEhdtdmewdTmHHr6JeRVx9V46AQn8U9P01yy?=
=?us-ascii?Q?qlN1P6qG+SPC1cJ1EJtpo7yYpN0x2VEAIS60MXO5A2eO7Uu0GLu8aqfn5nER?=
=?us-ascii?Q?RchqA7wrt8dOKN71+tGU6Z1SpiVn8YZuLAXeaCduXQ12QMPT0YAmZXgG/dqJ?=
=?us-ascii?Q?Dp71AJSTLw0HhRnRphfTIO+hRe7SvxxUwvfPK++ocCfnv8SlpY4H3LOQIl++?=
=?us-ascii?Q?C762bMtFajlLPknUbgk0GJ+A2fm8FUpQIwbxiHzPIai0e/KT4QG2M7oReDPa?=
=?us-ascii?Q?+H6ZdQgaiex+CqiwOU52cOBmHihFx5DlPZ4rXThUy5iBEfnwm2gmWi5JKHoF?=
=?us-ascii?Q?aqGW/hhpTLclCZpkGc/DBV+Zo074efbqB77o3P/vjNM5lo8v6lmHVuWVnWqr?=
=?us-ascii?Q?Qp9JCkeHL0vGi7j7QL/Csrcx4R1byJIH/xN8kORMbkSyPtmZc4ajSo0fSbcX?=
=?us-ascii?Q?7H9IwQCQpyRqqLh08IvjlgCf+qNE9Wp2o9KaQPY5u9gYjpK5KoFAz5yKDD58?=
=?us-ascii?Q?xeyD75yTAlozs942k3V/EjZS+y1xSrmQQcDf4GkwVPWab6k6Gd0lzSKJmuDi?=
=?us-ascii?Q?R1owPoCYEv2NjJiptJLXbYHstkQla5YayOnYVwG5cbgwoQy1Fr3AAgb5rDtn?=
=?us-ascii?Q?nqq2J9P+s9ybgyqc/sr0EZ2gShP8OhDepZog6cANVQ9F3ypaJmnOkQuAIO8x?=
=?us-ascii?Q?02+24PgaG0Ue8FPA84JZXKyHrUx1QndmnsE2yKMhZR5wdbrh8ntXEIc7sBPm?=
=?us-ascii?Q?/W2hFgMGesHj+4HOVNzb2CqHVGgvTAlbcL02kECgfWRAnlSBqRXsO1GNiG3v?=
=?us-ascii?Q?Y7aHfmFkci32dKySA85xe7pZpauoQ29XJ0BkCNKpDPSu4wpSB6kiQKwffAeE?=
=?us-ascii?Q?XyX/o/Vp/K9zoqqyk8Y6MRPTRjlWa6Ej7DZIzNr5DkV93wabCwPqpy5q5n/z?=
=?us-ascii?Q?YLdg9fz1n59Adjv9Y87QsuFTkZqOeQo0HxI8Ns4OcaYAMiIvYcXZS8SYjGB/?=
=?us-ascii?Q?5RKajYvyjQiS40+OsUmR5t18tyyqX0AZQOlGvIiJ4oVCb4qYOqss/ZPQfocT?=
=?us-ascii?Q?cgR5u0QHALm34nhMXKL5XcJlRYpUzJNfolSCz8a+B+iwgtF3fjqvLHshqN+O?=
=?us-ascii?Q?AEhHn/2EgOdwdNTs/Hw2iAHR0MebQACtRqCgq/TBXuDYsXRbi7X9ccjDF5Gc?=
=?us-ascii?Q?uS07flF07caode6mT5xzcQiCqSe/Dny7nNPulc25wxxYdBIzrHdCUlhNtoru?=
=?us-ascii?Q?9E5SXGjEuLfRFFJDyNwrls0UlVrZq2DUsJBRMl1WjUrxf3dPTrKdj6WDzBJB?=
=?us-ascii?Q?CDgz/4X8NYI6MVNImJuWzYNUgE7yjW8yEneeeL8tSZiy0Vc8BpZyH6V91Qmk?=
=?us-ascii?Q?9YOxZsohaN2dgPqiJVBV12YLfVT37Mvi?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7903.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(7416014)(366016)(376014)(38350700014)(921020);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?/CathWYdqWtqCeJsBO5qmv2257UGzEzSIS67OTp76L6zRBLEV+T/x/TKaL6j?=
=?us-ascii?Q?vBgkeFEF/XIh6iFDJQCkrp8aTRMRppeGn8N1bR9WSWxG0nXJF0BDCVLf4gOy?=
=?us-ascii?Q?ojmmWnJG4quUjRwuthd4s/2BG8TrIA9qEopcePs0MKy+gyZsyYglR6B1CP7C?=
=?us-ascii?Q?Cgosd8r+zwgKVCo48JVWqrmiUb//zroqrmn98XY3R3YQz8LDsUKtD6Onc0uG?=
=?us-ascii?Q?uN8HB9dJYyptVbi4rH3ehoeo1oIc2t6d7fGs1ZsQS/W2KNXKJPztENLwVOL4?=
=?us-ascii?Q?dIuq8UgaQNjmPgEIWYVoXNDRAq1FvOUJfNYmBSscj6T2/CFsmqJQY1vqpVWw?=
=?us-ascii?Q?jbub3DeunckEeyA4azfn/pxv0r4myVz9rY1o3qobRqdNb926KgI9rkKcLOs2?=
=?us-ascii?Q?NAgwzjKUofjaO/F5CTbtZwlWS2Jf1Jx5TZWZvdy2S8xpZIjYRfqSPASOHo3/?=
=?us-ascii?Q?cgzyZatusv+Whk8SAhxrZ7laa0Ovk5/93ssgEC2v44ntTAe4SGwVCmBsdbZC?=
=?us-ascii?Q?dSnPHgFRRNsfIKGCZBjERN3OXnm6Jkh9JHxtf2blOJ3pVwILE8e2FQs76N4A?=
=?us-ascii?Q?Ova1S4Ad71zGKQ/cqVKCak4BhPOIMO6c1NlVtzfDkG+sanyWFII35xxBziVe?=
=?us-ascii?Q?z2rF9NnNOn2tkL7+FyxlvrO9c/Aq1VzZ2gedvv+N1iGKVtHvCnFubFNn0sJt?=
=?us-ascii?Q?DoYyqKr2vhvsvyv43HJmVj5egV8f8xSLvhYLKVrDc0odRfpUjkyOcdYfah7Y?=
=?us-ascii?Q?a7u7b5UDjBmqaUg0OjYTT2mdVPM/dU/iseVgNHEzRQzJUfO+QwNL7VQWtS35?=
=?us-ascii?Q?EAK0GUBNM9mOZsNMRx/DfcMjuUj5as2G2flE0R/IMo77fyIsM9/Ln84rvvjY?=
=?us-ascii?Q?eYu92Lx0nUn3WiJ9GDSQjLFNyCLTajz6VNSJMZAlTvLVpgNSFSnbcd13EGE1?=
=?us-ascii?Q?UGoImEzbEcuXlfLf7CM/y9FYW14lhh1/Y/Fxmq3f+LFY6lMe701MJCzuPHkT?=
=?us-ascii?Q?PPeyXqZrIWkWU48+UbY5NGGWI3x6bjBmgyaE4QeBwlACOIE6cwkzDuuUy4xL?=
=?us-ascii?Q?422BqWyyYUND4a/8VMPsBa6Myq0lzQIlpaPIrGCG76t0JyUMPV1k8C+ohNPx?=
=?us-ascii?Q?cJvc+hCDPq36SPTL3nkbszZGznFWyI3thoLvdM6yNmbMRXcnYDYWWjlELgMo?=
=?us-ascii?Q?PzRyL1qHr84SonSTDbCI+yKTTTQ4PGgGPH1ieoCtt46/fhlO5gY0xwqpNeLe?=
=?us-ascii?Q?sBNvvCMChsIbJ0Uxs2TcLpHbl/dR0tUFfwXE31gXrtkV1LRN8QaCvFOz5rxy?=
=?us-ascii?Q?rRRSrQ3eB1F2W/XHpoLxZEHP29xD2rc0CGM7Fzvm8dtKHG84ss3+joobuwl6?=
=?us-ascii?Q?AvRjosmOf/x9htOVCsEx2zTwygEBaKJElGHFdwUi7Wp2YtZe8irIhG5wE+WF?=
=?us-ascii?Q?HNMVIKCxR7J1dU0GaVhbImqE2n5gMbMUl5TzqiizWHiZDtT4FO+PocZHfFfv?=
=?us-ascii?Q?+fSKaFYnNGPkyGeL1z5/tg+O54e2uqTUDpn+hUZixlEi6d6cW2AWc6JIV6Jo?=
=?us-ascii?Q?rfxA+UWdLJhE5k/gOFOnUx1ApaI5RuPq6zEyOkXRz7kJs/zVTHhKJ7DB0hBx?=
=?us-ascii?Q?6ldHDaVdWW0mVmDAXTPInao=3D?=
X-OriginatorOrg: os.amperecomputing.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 990efeba-1cb1-401b-6207-08dda3b88345
X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7903.prod.exchangelabs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:38:22.9441
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z+M/+xa4fLGsQbAeFubMxfd6TO7LbQHvI/vdgfK5kXrIea51PORitP00sHOQ9kjB6DB1VwldkK1iFaeyw9X5PP0Rtil8zK8Zxou3RrojBt9ukwJbf5lp1RvIH6bmku1S
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR01MB8810
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Add einjv2 extension struct and EINJv2 error types to prepare
the driver for EINJv2 support. ACPI specifications[1] enables
EINJv2 by extending set_error_type_with_address struct.

Link: https://uefi.org/specs/ACPI/6.6/18_Platform_Error_Interfaces.html#einjv2-extension-structure [1]

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
Signed-off-by: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
drivers/acpi/apei/einj-core.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

diff --git a/drivers/acpi/apei/einj-core.c b/drivers/acpi/apei/einj-core.c
index f018d3970de8..e74281f5044e 100644
--- a/drivers/acpi/apei/einj-core.c
+++ b/drivers/acpi/apei/einj-core.c
@@ -50,6 +50,28 @@
*/
static int acpi5;

+struct syndrome_array {
+ union {
+ u8 acpi_id[16];
+ u8 device_id[16];
+ u8 pcie_sbdf[16];
+ u8 vendor_id[16];
+ } comp_id;
+ union {
+ u8 proc_synd[16];
+ u8 mem_synd[16];
+ u8 pcie_synd[16];
+ u8 vendor_synd[16];
+ } comp_synd;
+};
+
+struct einjv2_extension_struct {
+ u32 length;
+ u16 revision;
+ u16 component_arr_count;
+ struct syndrome_array component_arr[] __counted_by(component_arr_count);
+};
+
struct set_error_type_with_address {
u32 type;
u32 vendor_extension;
@@ -58,6 +80,7 @@ struct set_error_type_with_address {
u64 memory_address;
u64 memory_address_range;
u32 pcie_sbdf;
+ struct einjv2_extension_struct einjv2_struct;
};
enum {
SETWA_FLAGS_APICID = 1,
--
2.43.0



Return-Path: <linux-kernel+bounces-673839-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 688C141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:39:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 929AC1887DD5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:39:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D57292356C9;
Wed, 4 Jun 2025 22:38:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="udLpOuKf"
Received: from CY4PR02CU008.outbound.protection.outlook.com (mail-westcentralusazon11021134.outbound.protection.outlook.com [40.93.199.134])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C80123315A;
Wed, 4 Jun 2025 22:38:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.199.134
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076709; cv=fail; b=knphDN8QV708q6gbfcsCbyb6AxlWX++Z/AY4iv2JTYfi5oQYXhI1Olu5X+VEmvo3PtkwMxIoqizWfwHYYyMrC+UnArWO28APs5J3o/gyLFg0OgbeHICB2qT9xLCHyx7UG+xwzIOH7ZEkG+AhbTB0DQNReztrHmS+KyKXTYJDsJ8=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076709; c=relaxed/simple;
bh=P7POluSR5lR1HcAphPdE4NxZm+3Jfy7S9jucuoannb4=;
h=From:To:Subject:Date:Message-ID:In-Reply-To:References:
Content-Type:MIME-Version; b=DbiWbZ3+Tj0p1HAoTSE6IeEifz2qB7mA7XwJ3zVsZGUw0cgS90czWbsml+0hETSV30nC92oa5Gj4uK+Xv7Z77uNLuRpUwC8J5nlEABao+QuHR5ZGNfTOcNeI1hBe0LIlW6puUw7/CxkFK3ndI0qQQw7IBhzLg57fKpHAnlzUgjM=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=udLpOuKf; arc=fail smtp.client-ip=40.93.199.134
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=gP6JdDc+5JGwuIvX4sIUC0ZdVKdFsyA1zyUndzFOkGWb69eU1THLP2lz1aaTBB5t3pgp/OrHNUT4mXEn8Qbhdl/GSCG8RERJRZ623fJ0nJeJpoWZP6OXbLRIMfVjlJ3WJ6Q8Zvj334HwuWG01J0jGW0dLnCQFj4r8WimOIuFATv3lxfzz/8IlBvo7XQSX427z1QkzPtifQJtMa8KtbCLX/8nNI6wznJvof1yixJKQz7lXaAWvnpCY8zZU9B4gfey3nidxFttQC6W3HaTgXVf9rwMX5vn0+JACI9YZiaH3w2Mbr/dhfOOfWgYbPVIEmXFL1aarubHjyPy8x4cHWHTFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=9cOwpzADnERGAtsVCwKSoGTzd4fWgQxgIRe3OokAwJI=;
b=CB8STu/TtrGmr89iAig2vMn4yYSYV9s1KYFbs10x7euhOUamVjiwdXM6U0PUUu40GqdL+YbDazgOKb1SV4V5+ZdbkjCaTJ+c14xy1aOwHUbdmWqWNXeJ86dqWYHXJUwuaxxC3wk9bCxLxkbRaX+DUyqlrtYl9FM70lhkSWnaH2XKYNCX+nte54WIWlYzjZgpoIOFfj1mlzE2PY0scz6AkHVkqyo8wgw2Mj4LNwnDY2HDYJvquTyjdjml2muSRAFawJg30L5wMhxbgSCmSwGhe56ZNxgxN5Xw0oAZuGMhVeBTpurnv1zkxLSWIaPvWVEPeHspJ1Zfril6jUAzK44HKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none
header.from=os.amperecomputing.com; dkim=pass
header.d=os.amperecomputing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=os.amperecomputing.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=9cOwpzADnERGAtsVCwKSoGTzd4fWgQxgIRe3OokAwJI=;
b=udLpOuKfsUCtttP5QqBjwhyU4QXTYDmHQr/enc6Oa/qkdpPW4QI+oTbEG2zAm4ohklKb6b8MxFWsqoFWkG4zGSo+FKNfVAIDLyi0NJaxDHKiQHmB2tNf7FCYvs7GuwHobxHsXehh0BVC16i7jq5QuVEIRa1VpRizKTfOlzlxxfo=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=os.amperecomputing.com;
Received: from SN7PR01MB7903.prod.exchangelabs.com (2603:10b6:806:34f::17) by
CH7PR01MB8810.prod.exchangelabs.com (2603:10b6:610:24a::7) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8792.34; Wed, 4 Jun 2025 22:38:24 +0000
Received: from SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f]) by SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f%6]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:38:24 +0000
From: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
To: rafael@xxxxxxxxxx,
lenb@xxxxxxxxxx,
james.morse@xxxxxxx,
tony.luck@xxxxxxxxx,
bp@xxxxxxxxx,
kees@xxxxxxxxxx,
gustavoars@xxxxxxxxxx,
zaidal@xxxxxxxxxxxxxxxxxxxxxx,
Jonathan.Cameron@xxxxxxxxxx,
sudeep.holla@xxxxxxx,
u.kleine-koenig@xxxxxxxxxxxx,
jonathanh@xxxxxxxxxx,
viro@xxxxxxxxxxxxxxxxxx,
ira.weiny@xxxxxxxxx,
peterz@xxxxxxxxxxxxx,
sthanneeru.opensrc@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx,
Benjamin.Cheatham@xxxxxxx,
dave.jiang@xxxxxxxxx,
linux-acpi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-hardening@xxxxxxxxxxxxxxx
Subject: [PATCH v8 4/7] ACPI: APEI: EINJ: Discover EINJv2 parameters
Date: Wed, 4 Jun 2025 15:38:01 -0700
Message-ID: <20250604223804.842501-5-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
References: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: MW4PR03CA0308.namprd03.prod.outlook.com
(2603:10b6:303:dd::13) To SN7PR01MB7903.prod.exchangelabs.com
(2603:10b6:806:34f::17)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN7PR01MB7903:EE_|CH7PR01MB8810:EE_
X-MS-Office365-Filtering-Correlation-Id: 5d939389-7aef-4f4b-2fc3-08dda3b88456
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|52116014|1800799024|7416014|366016|376014|38350700014|921020;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?tnCzrD/Ku6Wn/JkD72oVb5lQAmSYYmC/nMy6KAq0M6fnBDD3X7MrUslf3sMk?=
=?us-ascii?Q?IUIaRURjkR+3+gLQKSF+U6uSwNk+/YaBHKtaFLxuux4ATbshoRbmZBJFL6PG?=
=?us-ascii?Q?lKPi51lNmzdiET/KEktEymnS9Tas/Nlpcl0SMosIiAYUM01d2J1u4ctW6Uzy?=
=?us-ascii?Q?euTQZcLgBKMGG6JojhcGF8UjGnfuMa4lgptPiPsPaGjsjZr0ngO9+beW/yoA?=
=?us-ascii?Q?ARgYOGL4wi6WxMQiUmcvExI9jmpwx2tob5GwRcKSj+3FFEKRtBvO4qKEVvXD?=
=?us-ascii?Q?HGhhLOLGaE6Welpy3BAowYz2MKqKIdqfXD0BsbBUEU/1ZCgkukjxp128VCKt?=
=?us-ascii?Q?X0rY60viBdBL+EfPudYejjQD6OTiSDrOaR9Dhwv+rfgTeiKQcrnoG2VLa34s?=
=?us-ascii?Q?fYzZGxiYZR/edRY5RPJNlDQFk7AylOIV9EhUb10uiNa2EK2JLNuDeY99Hp0N?=
=?us-ascii?Q?yVhw2PzsJspjDQvWEnUE9+iVP1IG8h8Nq6+EqDIzVX1RJwLP+jJ1szh6G2YO?=
=?us-ascii?Q?WhaLofvoFJx4Bwq3KK8UlhyayIAMyc8FWIHMWZEpTzZi6hGI0+7sFc4KQ8+5?=
=?us-ascii?Q?8Sfd/qGAicIviYqlj8/s/tEjC0H3KgSg8BIVAUm1PpD1EaBdi8q7CiN3ZqnN?=
=?us-ascii?Q?jql81oOgIoIQTnoEnpIipYZHny0XuEEqyJRGVwwHR5XacLbUtVacBSu78Zeq?=
=?us-ascii?Q?yJQKR/CfSLWiqR0UQq/cgCSzP69HwWxLiZ032arwFoboGonuHnp499UoEqxV?=
=?us-ascii?Q?RrPyGGKvHXwpBsYmk/p0p4aEZ29zbtUPSCL4evkBCYLA6rqwgjl1rTtmpfZ7?=
=?us-ascii?Q?zJMMYXN0mvdP5XXW6aOFy3nwzIlPHEOV9ksHUWlsMcTQRQ5o8aiPgBIKbJSc?=
=?us-ascii?Q?n/dWI97uWb/wDZWXJaQaquuoEJQOZWstZfoKijelpb8hhJMzAknX+hzgi3iD?=
=?us-ascii?Q?BW4c5Go26wx5F946iiQGXUpRFvNqYI9dJsMsHcbEJ9n274XCSBpYoyyIYJx5?=
=?us-ascii?Q?QpYD+2TqcGm2/rK8V98oEleQQjl8xv2SEwghK251WFno0wJpGimRq5JqQyh/?=
=?us-ascii?Q?1zTt2JKUktCoyzgzWcTYC5VX2wnVWr2g1iFTPR3/UkdxXKwkHomrCkh5Pn11?=
=?us-ascii?Q?wuGXq/2G1TZCWF+S2uTiQlhp9lEXdxanKau5CRMhr878KJjsd/O2jF1Jx7Mq?=
=?us-ascii?Q?8WdCqPez68c8LBG0AsLMlFI3cOd15Dmf/7xZzExHVHlGXX0itqZjBHK2RBGU?=
=?us-ascii?Q?H/Bm+0O0rPW0lfFnutMATM2+6gjM9iTV1Nt5SGOFtKHz1bPN8YG+/r05Kxy9?=
=?us-ascii?Q?Y3FaMr9PKBy+xKEKTx75bb2U+uDb1yGe3vVeL89gEitpHpvpj5ZAle+g02WB?=
=?us-ascii?Q?BC/ptlV08N9e40ekm0YeG2gAdTRO8iBmHMRnSMoz8q82Kfjp6qtjVcAzULGY?=
=?us-ascii?Q?Rgjthq6ayPNH6zUO6IzAG2Xw+VS6oj/kQTGTYOWyIGL7ImHLNSc+4kaJ86SF?=
=?us-ascii?Q?s6WSkDrV/VyxCQA=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7903.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(7416014)(366016)(376014)(38350700014)(921020);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?3gIW4g5HPzLaSscCSId+QHcGxuLdYGcHEBtbyr29GQ7fJS0E42BvziVxaJq/?=
=?us-ascii?Q?2k7GhYCDtr50/gmrS4454HZbbxYWkX1p895J3cYGhFro66pCvawrdqf9t07v?=
=?us-ascii?Q?SxMXpCwQy7tKLUCWZqM7f3xPgs46pVkVhMa98yd1si/mnlUNndc0zZ1pAaRw?=
=?us-ascii?Q?ERPDcvZEY1PYWaUZTaOmF6wtF6YArw2MBZvUkVcRlNAxnHTxZ4isCUachTnB?=
=?us-ascii?Q?KJ3Z5ZaeYd72EYdqe4CiubY5BMoKhL2FoB9iIIaOk6/0pgLMAWCB0iSuCX9l?=
=?us-ascii?Q?/tywBaj9xqkAQPCeWVYw6OSzBual7VL8WScxM1LzvsqrHZJQE1JNj5eIdT79?=
=?us-ascii?Q?30GyK5l9L6uYCPUok1zSifSLxnfjopqsRnXFq0m3nVf2cfJPvhcHSPaIoPs7?=
=?us-ascii?Q?cKTZVJ3WpdDIOHBW/YWRqGn6vtbFoV3EwaMcstqwBFRhetWWrbpXCnkGsxoR?=
=?us-ascii?Q?nH+Vt/PlSFx5TlVlyxFxCpfoHaRe/b9afV0p2zvOtS+9bQxfB1HXQ/8sxFRI?=
=?us-ascii?Q?G5Wjl72L8SQOQxmvjJdmRZ4nESuScvZpELA2tpLTwhSrzaSgiUNGyNS2FM/w?=
=?us-ascii?Q?M8Z+qzSigu507qoAkF2buI7ggI8+0BcRZAwunxyfVEhPIB8f0LxuEnTAr6dY?=
=?us-ascii?Q?Juo3yYvDSbP1tKK3WgbxO61kcWtsGcy+NCrcl5+QRkdgXREZ2VvJ06WsRrP8?=
=?us-ascii?Q?zEhDRFJ8UcW4wOhBGMAJtidWg1MIxuRUKasFdT7Jl2XCfON6QfJQJTZEtLMy?=
=?us-ascii?Q?U4jSVGz7VsZzStmny0hl2ggeeR+/W12dwUdFZuEyD8wUAuDLCpbhxvh4BYr4?=
=?us-ascii?Q?qij6YuFLThyo143d4vmfv8D6Acyaio7ldaB/KSYt87oga91qpMzuMBoPOt11?=
=?us-ascii?Q?+oLCcEK5Pq1p1lVJlOBolLa3o5N6SUsKW18OEIGP0rxnMLc3CJEtABYqNmZA?=
=?us-ascii?Q?xopISm2KbHiM5k46xQn1uez71EHID/XF57Tq3tokyQWcRa4RT7Ggr/3x5g3l?=
=?us-ascii?Q?N6eNJnh0+Eud7LUx0LhzsO+dTeES4j0CYlyvrZWVsrJN2ugnu6LBr8k7bbSE?=
=?us-ascii?Q?zr0Ah+E67x9QpJzm165FW/MOEktQ6Q3UOMqaBLHYQyQz/R+iY29/NZA4W9C7?=
=?us-ascii?Q?dOK7T3QWOp0BGp2uMNgCDkqg3GXMWEAP5K7PBMlVDzq12Go2/8uVCw0BmpCl?=
=?us-ascii?Q?K+9bHRY3VIptXK7e/zhKkG1wEvpF19tCcojoV8Xn8mn+ztr4ogfZHB4vCnWn?=
=?us-ascii?Q?klyokzLJOVUPGXQor1ajD0V+resfpuFUKR8eNOQZBmydw1W/efwcZWyp6GXQ?=
=?us-ascii?Q?nyOSDrpCX0Svd5ENv+3OVymNuVTM7jSobYj4mh19rZOYy8EVhuoZRd31k8/5?=
=?us-ascii?Q?LA57Vg2GKgPt17F9G2HQFArDAhgRRcYd8bMFJuJkOZDQYTq47YEhdYDriNMr?=
=?us-ascii?Q?XZhBBpU6tgVlZyz0IeaTmhMS5/R3H0I2HM4OZJMNJB8DvwhfEGWpmv8Lqe5X?=
=?us-ascii?Q?pqy0L7LvjLikoSFnah3ma4Xm75glFwT3eC+iri3xoekErGEQFUaT/lhVAPna?=
=?us-ascii?Q?fksi6YXYMv4UzvuSyB5s/GmD9bUPKnthlDt6iklX1omV60dui2N1N/JeFI38?=
=?us-ascii?Q?GjWSjWlrBHHLTwg9wy4t6lo=3D?=
X-OriginatorOrg: os.amperecomputing.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d939389-7aef-4f4b-2fc3-08dda3b88456
X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7903.prod.exchangelabs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:38:24.6911
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OjQjQUUtXIqFKL1IrlAOEdQ+TvMc7rgiFtJIK0SMq5GWjB0xmACRRYT5EZsjB4/Q/PI0Th3sgdd5qr6ne5HHQ8R3usfoKq11szwG8c/WgJuxLWsppwVhRX2frUArpgzR
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR01MB8810
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The EINJv2 set_error_type_with_address structure has a flex array
to hold the component IDs and syndrome values used when injecting
multiple errors at once.

Discover the size of this array by taking the address from the
ACPI_EINJ_SET_ERROR_TYPE_WITH_ADDRESS entry in the EINJ table
and reading the BIOS copy of the structure.

Derive the maximum number of components from the length field
in the einjv2_extension_struct at the end of the BIOS copy.

Map the whole of the structure into kernel memory (and unmap
on module unload).

[Tony: Code unchanged from Zaid's original. New commit message]

Signed-off-by: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
drivers/acpi/apei/einj-core.c | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/apei/einj-core.c b/drivers/acpi/apei/einj-core.c
index e74281f5044e..08cac48293a2 100644
--- a/drivers/acpi/apei/einj-core.c
+++ b/drivers/acpi/apei/einj-core.c
@@ -107,6 +107,7 @@ static struct debugfs_blob_wrapper vendor_blob;
static struct debugfs_blob_wrapper vendor_errors;
static char vendor_dev[64];

+static u32 max_nr_components;
static u32 available_error_type;
static u32 available_error_type_v2;

@@ -177,6 +178,7 @@ static DEFINE_MUTEX(einj_mutex);
bool einj_initialized __ro_after_init;

static void __iomem *einj_param;
+static u32 v5param_size;

static void einj_exec_ctx_init(struct apei_exec_context *ctx)
{
@@ -301,11 +303,31 @@ static void __iomem *einj_get_parameter_address(void)
struct set_error_type_with_address v5param;
struct set_error_type_with_address __iomem *p;

+ v5param_size = sizeof(v5param);
p = acpi_os_map_iomem(pa_v5, sizeof(*p));
if (p) {
- memcpy_fromio(&v5param, p, sizeof(v5param));
+ int offset, len;
+
+ memcpy_fromio(&v5param, p, v5param_size);
acpi5 = 1;
check_vendor_extension(pa_v5, &v5param);
+ if (available_error_type & ACPI65_EINJV2_SUPP) {
+ len = v5param.einjv2_struct.length;
+ offset = offsetof(struct einjv2_extension_struct, component_arr);
+ max_nr_components = (len - offset) /
+ sizeof(v5param.einjv2_struct.component_arr[0]);
+ /*
+ * The first call to acpi_os_map_iomem above does not include the
+ * component array, instead it is used to read and calculate maximum
+ * number of components supported by the system. Below, the mapping
+ * is expanded to include the component array.
+ */
+ acpi_os_unmap_iomem(p, v5param_size);
+ offset = offsetof(struct set_error_type_with_address, einjv2_struct);
+ v5param_size = offset + struct_size(&v5param.einjv2_struct,
+ component_arr, max_nr_components);
+ p = acpi_os_map_iomem(pa_v5, v5param_size);
+ }
return p;
}
}
@@ -932,7 +954,7 @@ static void __exit einj_remove(struct faux_device *fdev)

if (einj_param) {
acpi_size size = (acpi5) ?
- sizeof(struct set_error_type_with_address) :
+ v5param_size :
sizeof(struct einj_parameter);

acpi_os_unmap_iomem(einj_param, size);
--
2.43.0



Return-Path: <linux-kernel+bounces-673840-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9924C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:39:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 865E61883382
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:39:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CC4AD2376E6;
Wed, 4 Jun 2025 22:38:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="j5VUyeJs"
Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2112.outbound.protection.outlook.com [40.107.95.112])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CEF75235063;
Wed, 4 Jun 2025 22:38:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.95.112
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076711; cv=fail; b=V+930RLDf1wcY1Mf7F65U9K6P9py5rdVd+2vYRzXNaUvaMfrQ62gwBfYhyVvUEjjiAqBQ3EG++Uoqvl0VHimUgj1jNTHleYrvTkyjiIiGUd6L3gQHXRbHIuPT94dNZ+L40FDC8wGFhMvqf9cvUZysIFCoMg3KM080gd10+XK2E8=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076711; c=relaxed/simple;
bh=V9U2ofPXcXl2bwBTBgsgiwGaUWDsU4OgBKDxIqiwoc0=;
h=From:To:Subject:Date:Message-ID:In-Reply-To:References:
Content-Type:MIME-Version; b=DGmyqCZ5GnkusOQj9N5W6eSdH3Lf4couPxVuRlaGq3pR2FM1jIb65u+BqLOiTyruJ+Pyu/haJ1eiqUBaXSNrHv94VB/4S0QCc/Dg6IOwiKN9Xq/UujzP3A9uaCiipuo/TIJomIx4yH52aABOFlu60WADccudyU2BIOgQMcrdJxo=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=j5VUyeJs; arc=fail smtp.client-ip=40.107.95.112
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=CLXcQZAU56vDWeDnFokGlz58h0iS5kawRO3jEs/jANz5GRVOzVgjTn+UjafbhZ6HmV5ihw4+1LeKSh1CkaGJ8vU3dUvjJ7+qaMnQ9iKqLdG+X1sNDMaZ4/ISgY2yh33IDabwe4H2oujN0fwaGZq4FnasK3sRYOZxzByPaH+NnUSPl1UZH7bvCs+mH5ecX6NYgrJ0vtIauVzuSazKT2BNqPOgX3vzOfBlkbapedC6ylC10z6q051U7beufDcuEQGb5nnWy8ByacVbi1A4/+1ScZc+gXYFAeFicH+h+4NVIEPobxGYUnM4FGA1QVC3fxXrbLbgD/tP5JjFZq9Psm3RRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=XauOU2c0mMuNL62IKtfOCX0kRc5J5kWcsCzvFYwB+mA=;
b=xo6PeE/MryvLfpOIBaB4gFXZhg+hismW6kuOoFKV8bqdoklbBWzlxyqlHNvq9rYJvcZD3rR9B+OkLbBACOsjfNcWxsXYgTP0xAq5Xmo/XckBW+0cEpu9IkCEeDYCOhjLe/vzj295hSA3HtELyJVtS5Uy41l1Q1x32+5ffbgk7c4ZEQ6KsjKbCTfudX+HRBICaRxUVTBWEvHaIM2K+C6r5iDYVB1vedXPa/08JFZRrfYa1WMib/0Kttdur+yT95JRz2rqIJd24YHGv2T08odaAQMCYkhsbjB6GgeTDLF2HyB63Oeis2bR1w+IvcWgbwMQcZ4kFmhX9ifoPQzwWS3L3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none
header.from=os.amperecomputing.com; dkim=pass
header.d=os.amperecomputing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=os.amperecomputing.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=XauOU2c0mMuNL62IKtfOCX0kRc5J5kWcsCzvFYwB+mA=;
b=j5VUyeJs2iiIiffu89RcrsCiUE+EX0fNXmXkJHeB3p/LV+xDS4S8q/3ANQLxuPadKETjo+Aj+y5Xjfutb2yL3NDifGXUAnEPckrpq9IX+/txkTtEsiGyDWkAbFgvGS2q7kNc996ZsKh9/4dczWRL483ziCEFuCmeKoeys4EHe00=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=os.amperecomputing.com;
Received: from SN7PR01MB7903.prod.exchangelabs.com (2603:10b6:806:34f::17) by
SA1PR01MB8159.prod.exchangelabs.com (2603:10b6:806:333::13) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8813.20; Wed, 4 Jun 2025 22:38:26 +0000
Received: from SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f]) by SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f%6]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:38:26 +0000
From: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
To: rafael@xxxxxxxxxx,
lenb@xxxxxxxxxx,
james.morse@xxxxxxx,
tony.luck@xxxxxxxxx,
bp@xxxxxxxxx,
kees@xxxxxxxxxx,
gustavoars@xxxxxxxxxx,
zaidal@xxxxxxxxxxxxxxxxxxxxxx,
Jonathan.Cameron@xxxxxxxxxx,
sudeep.holla@xxxxxxx,
u.kleine-koenig@xxxxxxxxxxxx,
jonathanh@xxxxxxxxxx,
viro@xxxxxxxxxxxxxxxxxx,
ira.weiny@xxxxxxxxx,
peterz@xxxxxxxxxxxxx,
sthanneeru.opensrc@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx,
Benjamin.Cheatham@xxxxxxx,
dave.jiang@xxxxxxxxx,
linux-acpi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-hardening@xxxxxxxxxxxxxxx
Subject: [PATCH v8 5/7] ACPI: APEI: EINJ: Create debugfs files to enter device id and syndrome
Date: Wed, 4 Jun 2025 15:38:02 -0700
Message-ID: <20250604223804.842501-6-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
References: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: MW4PR03CA0308.namprd03.prod.outlook.com
(2603:10b6:303:dd::13) To SN7PR01MB7903.prod.exchangelabs.com
(2603:10b6:806:34f::17)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN7PR01MB7903:EE_|SA1PR01MB8159:EE_
X-MS-Office365-Filtering-Correlation-Id: 86f93fce-0c2e-478e-86d5-08dda3b88578
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|376014|52116014|7416014|366016|921020|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?B3ZE1vUUwTB5CaTfrim8Ow5byv9Kxobb92LwqLb5E1H9zNsPtmaOmd4M1S1B?=
=?us-ascii?Q?p7OMa8N2iy+vnt/ZcQs1SNNn1Qo3mM6DuKOPW+O8Ssd+qQvbu2JzEKwzoJra?=
=?us-ascii?Q?Bvl2S14bzH9mKGlVjeIQ+0xiNz8tGO6TzRBzBq/uzGy06R4uQPpnkQCtcbFv?=
=?us-ascii?Q?zI2veNVRR12ZrPRbF2E79pKkMMnWwUDJSlrh9TmorteY4+KumZMz5vNNQFKt?=
=?us-ascii?Q?hmj7BcImIsOFCtE1LUttCHWpJPeRju6QSnL0T9GiJ0oi6t6rQauj45EhI8w4?=
=?us-ascii?Q?/6L4jV/p2XTqkgZ646CnYdQ0xc4/5/AoLUzjm45ryxJPPuyx8ElWmwvdVuNF?=
=?us-ascii?Q?qmy3c+GveZygss2nlKlh5VNnMGQdWZQHtXfah6A+Gc8AIxEAhzNqxyhGbUez?=
=?us-ascii?Q?B5/fshpPdvrtLQtHXiOjDa/GF1DZmB1i2kkSJZGh6l5LsvmxeWF3XUxkbwIg?=
=?us-ascii?Q?F2PEA4322g90dkZgrAOmU2bOaDmJbrYhSgN6awpfPvxlXDrEdxpkUuKrO/0C?=
=?us-ascii?Q?B9VC5lAN0hQAnzmS8AOzmZPzwp+NZ2d7cC7LoL4aaygPfLV25W63VeIhqcGj?=
=?us-ascii?Q?D5TDfC3BykuIhIpV6PXN+qYYGq03COQ+alrmTV7Fr7JKbQ9reST+d4BlOBvG?=
=?us-ascii?Q?/2PqJx4O/5B259+Q++DWbYNUXX47Y6lDDvk3+8+8ryNF7nkTOkYv15anSOxL?=
=?us-ascii?Q?EbI+WKeYxFfppFyNRbyEfPgqU5OY74F1UF3KLyjP1sY109pmdxsMDKpcnlCC?=
=?us-ascii?Q?Jbr31mxZtOjYLJlqZmb/LjDGWTlPjfTQ8xs3vRaf406v3AfrYxwhovnyDRj9?=
=?us-ascii?Q?GUdVvArcKSXkJR2+C4P6y+Zcv4qIfHewnlDIvZRKdqvDO1kcIsgKJ+W7XpV8?=
=?us-ascii?Q?xvLT8T56aGGzHeFnXpwoQOYlPrYo7KBj7y4aC46hi8HJQceZ+fIMuIp73m+X?=
=?us-ascii?Q?XwiyYaoVXMp/y3IrfXOaJDvRRcSLxQNjQrDLMgNi9DDobtVce84UZbA8pLfR?=
=?us-ascii?Q?xBVrT1HlJC1OvJIbmlUP/MgxSuQXv4ejHeXFYU8MUjdph+QQrgl/S21i22/2?=
=?us-ascii?Q?IbQ3XUCPSOWZ81s0ZFKUqz4NkwPYpgov3L6Jw2Wm/BY/mhmgFIinTKrsaZ2M?=
=?us-ascii?Q?D+E1YM1wtYmFF5a8frpRQr4VJ6RadXq3a9Wfa2Z0+AEcKTAHSdNU3Z/DFSRg?=
=?us-ascii?Q?z6drRbhJZ5mYacCc/9AzcRLiNVwoenkkWlCMOqdSxH6X+onTKt4/OEg/JGw6?=
=?us-ascii?Q?h+rJ1yZimpYtIa2B0zsFN+f9UNfo+TD2WMtfgXTKUv5/VH+M1PR84CVFfIs8?=
=?us-ascii?Q?ovAoEtSBq12iJyS01DIC+RsiZhXTHk+zSARYOljYUpzYokuBX0RYZ+mZWA3l?=
=?us-ascii?Q?sgliqeqYgXgm7GibfIaFBFoN2CFRsDNwsSfNO6V1NC9jRoZaSxOvsbM5nNnr?=
=?us-ascii?Q?OVdrGxpK3qSwxwEuSIhePuBRTrImlsOiC7v1R5BNGnda2UXnFe5lTX1BqJ1d?=
=?us-ascii?Q?d7r92jDeMFruL7w=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7903.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?yQGIrggTkfAXjqU+KFJhih1ULGZcTzzuNA5htSor8cF85qF+iNzokbQSJA29?=
=?us-ascii?Q?3i09RDv9U6Ntcx7avYfoIDD9WLyENDcTCxAD1FccZxUxzfibi+DEnvqtHwei?=
=?us-ascii?Q?7is4eur3FXflgOl2XwRQgOsoGZWeBoSFpK6kFTqQgtB2WiOVSo4tSvZPfmhf?=
=?us-ascii?Q?sUGoUUM3+mfl4TyRVShSQga6a70rARWihzTVtsJsx8E2rVcWDvZOlFLUIpv+?=
=?us-ascii?Q?/bEoyslnKO/jTYk2fGyx7lsR3oLrjINFb5mXc6Ho1SjNf1vkYNtR0sSIzn6w?=
=?us-ascii?Q?z6kQm9wAn+26yYWcTZXgRpHXboh7ug3xZvulsoIKzfkNo+RPkA5htqtyDNKH?=
=?us-ascii?Q?4THE00QsLRyzolsnsIK+OOz60SlQPhThdh9GdF34sQLGKtOh1Mh732R7v5UV?=
=?us-ascii?Q?hEnDqrobxToXm0rXokHYcAHPyaqAUASjldObWscrAEHqpqoXvKTnztOezbt3?=
=?us-ascii?Q?ETFGidMVh1qEupI0t8OIeobBNCpDxByJGAO9OX5BcanY6YVuMFEBA2lmeFTg?=
=?us-ascii?Q?HziIsfrMAhT3BoXdto8GhyxyfVw3lqEm51OwPCZID8kOSZ0BwRJsbvu/j6kD?=
=?us-ascii?Q?0P0+xSGo4RKQE1oti9/9RvfYiQMWiZI1wpKWmcL3aEqwviSopaPIVnRn2PfO?=
=?us-ascii?Q?9VxeHGKAEu5H07l61CGPF2Xj2xs86HEqkbfyKmUPjKjrrMTSOIcpZT5RUH5G?=
=?us-ascii?Q?P2C8jiGFM0zfAXfbdtnQVLpsJDekowREFglvVq4OsKuJDnZJxM0828dvaiC5?=
=?us-ascii?Q?Db9ZGALnz+a/CmJKoOcFo+OrIcWMRTuPzc9qBDG8NszjIYv0cAN7WI0RRCWn?=
=?us-ascii?Q?cdgSSHh12z5tEPGxeAsyXp4OGRFr5lK/J4CrkSrxYvL1QwbQ7YFw+1vf286V?=
=?us-ascii?Q?myogyObnPp1HUQQHH6V/jrct5NiNa/WLEHGTxCMdDmN1eObHTgyy3d2vqHf6?=
=?us-ascii?Q?s9jUQtzvtOrFd+4Ba0AwujpfdBNlxLse0bPMkoCxJGNXoSSCzCYRwVa9WUFE?=
=?us-ascii?Q?AaHl62zSFP6oq5XYbbbiazbJD2Zz0aROkteJpiPE3ApQzamT/qg8NlB0bSGa?=
=?us-ascii?Q?/DnZXcEQu0/PM4X9pm3aie3dJJtdqlE/zqrASx5uX9i3j0e5vVtj6sS5H4BL?=
=?us-ascii?Q?n9VsCmIUcfBEB3gdN/evzzsLCihEaRko6wK9Gez/Uv+B7zE22ri8VqPF8vCL?=
=?us-ascii?Q?MXZLtuq6uTkQPzFcVTJfDIu+glplb7ULSrhuqdlqnaOcUYAGbxRh89pQ3exc?=
=?us-ascii?Q?Zle71ZzkGyZyOfQ6835Ny7T3Tk/F54xhrbHeSlGd3PYTq2jzu7vEJQlovoPc?=
=?us-ascii?Q?+X3PA14bXQgZPZOzGVeDan2+y/DzDbln3YiT+0EBLRRsXk1TqEk/Mk6jUBVF?=
=?us-ascii?Q?fpDH1A6tHwiGNCNDOf8bP0AMuFSPfV5hqB571f08kRUy5so1y+qR6+TLrsdp?=
=?us-ascii?Q?cNvYY1YVFczjePYUGlJ4Yt/9+Ce0vyxuuopzpf2f5CevXrB1E8d28qiUf254?=
=?us-ascii?Q?+UTdWFLQd8HwyRRTAO1BDYT1TyJy2jTZJGlKei7av8N0v+zPSgQPTPqIJOBk?=
=?us-ascii?Q?TY3d6GGfPdMDFzUWqkhG8s9pncpEBsJ8ga7w9vc+5dSjD6fh1itfVAbcUdMa?=
=?us-ascii?Q?L3mA6lTZSaiVpTVeYPV5xNg=3D?=
X-OriginatorOrg: os.amperecomputing.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 86f93fce-0c2e-478e-86d5-08dda3b88578
X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7903.prod.exchangelabs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:38:26.5932
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PHia74M2Bhhb/gT6MVwnp50QbCrUXCLhjZPW3Z/00foMfNB1E0eHIXjJPlteymun60XKs93un44Sd0Q0FFfYBXEL9JQppZwMoC9NsvG3rQobs3aQWnj+/9eU+b49TZ/q
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR01MB8159
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Tony Luck <tony.luck@xxxxxxxxx>

EINJv2 allows users to inject multiple errors at the same time by
specifying the device id and syndrome bits for each error in a flex
array.

Create files in the einj debugfs directory to enter data for each
device id and syndrome value. Note that the specification says these
are 128-bit little-endian values. Linux doesn't have a handy helper
to manage objects of this type.

Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
drivers/acpi/apei/einj-core.c | 99 ++++++++++++++++++++++++++++++++++-
1 file changed, 98 insertions(+), 1 deletion(-)

diff --git a/drivers/acpi/apei/einj-core.c b/drivers/acpi/apei/einj-core.c
index 08cac48293a2..2f46f1ace67e 100644
--- a/drivers/acpi/apei/einj-core.c
+++ b/drivers/acpi/apei/einj-core.c
@@ -33,6 +33,7 @@
#define SLEEP_UNIT_MAX 5000 /* 5ms */
/* Firmware should respond within 1 seconds */
#define FIRMWARE_TIMEOUT (1 * USEC_PER_SEC)
+#define COMPONENT_LEN 16
#define ACPI65_EINJV2_SUPP BIT(30)
#define ACPI5_VENDOR_BIT BIT(31)
#define MEM_ERROR_MASK (ACPI_EINJ_MEMORY_CORRECTABLE | \
@@ -63,7 +64,7 @@ struct syndrome_array {
u8 pcie_synd[16];
u8 vendor_synd[16];
} comp_synd;
-};
+} *syndrome_data;

struct einjv2_extension_struct {
u32 length;
@@ -711,6 +712,7 @@ static u64 error_param3;
static u64 error_param4;
static struct dentry *einj_debug_dir;
static char einj_buf[32];
+static bool einj_v2_enabled;
static struct { u32 mask; const char *str; } const einj_error_type_string[] = {
{ BIT(0), "Processor Correctable" },
{ BIT(1), "Processor Uncorrectable non-fatal" },
@@ -847,6 +849,98 @@ static int einj_check_table(struct acpi_table_einj *einj_tab)
return 0;
}

+static ssize_t u128_read(struct file *f, char __user *buf, size_t count, loff_t *off)
+{
+ char output[2 * COMPONENT_LEN + 1];
+ u8 *data = f->f_inode->i_private;
+ int i;
+
+ if (*off >= sizeof(output))
+ return 0;
+
+ for (i = 0; i < COMPONENT_LEN; i++)
+ sprintf(output + 2 * i, "%.02x", data[COMPONENT_LEN - i - 1]);
+ output[2 * COMPONENT_LEN] = '\n';
+
+ return simple_read_from_buffer(buf, count, off, output, sizeof(output));
+}
+
+static ssize_t u128_write(struct file *f, const char __user *buf, size_t count, loff_t *off)
+{
+ char input[2 + 2 * COMPONENT_LEN + 2];
+ u8 *save = f->f_inode->i_private;
+ u8 tmp[COMPONENT_LEN];
+ char byte[3] = {};
+ char *s, *e;
+ size_t c;
+ long val;
+ int i;
+
+ /* Require that user supply whole input line in one write(2) syscall */
+ if (*off)
+ return -EINVAL;
+
+ c = simple_write_to_buffer(input, sizeof(input), off, buf, count);
+ if (c < 0)
+ return c;
+
+ if (c < 1 || input[c - 1] != '\n')
+ return -EINVAL;
+
+ /* Empty line means invalidate this entry */
+ if (c == 1) {
+ memset(save, 0xff, COMPONENT_LEN);
+ return c;
+ }
+
+ if (input[0] == '0' && (input[1] == 'x' || input[1] == 'X'))
+ s = input + 2;
+ else
+ s = input;
+ e = input + c - 1;
+
+ for (i = 0; i < COMPONENT_LEN; i++) {
+ byte[1] = *--e;
+ byte[0] = e > s ? *--e : '0';
+ if (kstrtol(byte, 16, &val))
+ return -EINVAL;
+ tmp[i] = val;
+ if (e <= s)
+ break;
+ }
+ while (++i < COMPONENT_LEN)
+ tmp[i] = 0;
+
+ memcpy(save, tmp, COMPONENT_LEN);
+
+ return c;
+}
+
+static const struct file_operations u128_fops = {
+ .read = u128_read,
+ .write = u128_write,
+};
+
+static bool setup_einjv2_component_files(void)
+{
+ char name[32];
+
+ syndrome_data = kcalloc(max_nr_components, sizeof(syndrome_data[0]), GFP_KERNEL);
+ if (!syndrome_data)
+ return false;
+
+ for (int i = 0; i < max_nr_components; i++) {
+ sprintf(name, "component_id%d", i);
+ debugfs_create_file(name, 0600, einj_debug_dir,
+ &syndrome_data[i].comp_id, &u128_fops);
+ sprintf(name, "component_syndrome%d", i);
+ debugfs_create_file(name, 0600, einj_debug_dir,
+ &syndrome_data[i].comp_synd, &u128_fops);
+ }
+
+ return true;
+}
+
static int __init einj_probe(struct faux_device *fdev)
{
int rc;
@@ -918,6 +1012,8 @@ static int __init einj_probe(struct faux_device *fdev)
&error_param4);
debugfs_create_x32("notrigger", S_IRUSR | S_IWUSR,
einj_debug_dir, &notrigger);
+ if (available_error_type & ACPI65_EINJV2_SUPP)
+ einj_v2_enabled = setup_einjv2_component_files();
}

if (vendor_dev[0]) {
@@ -966,6 +1062,7 @@ static void __exit einj_remove(struct faux_device *fdev)
apei_resources_release(&einj_resources);
apei_resources_fini(&einj_resources);
debugfs_remove_recursive(einj_debug_dir);
+ kfree(syndrome_data);
acpi_put_table((struct acpi_table_header *)einj_tab);
}

--
2.43.0



Return-Path: <linux-kernel+bounces-673841-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CE5D141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:39:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0B2CD3A9AFF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:39:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DC6B0238C34;
Wed, 4 Jun 2025 22:38:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="GHR6O0HF"
Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2112.outbound.protection.outlook.com [40.107.95.112])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA8D82367C2;
Wed, 4 Jun 2025 22:38:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.95.112
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076713; cv=fail; b=GvUMai2tzIEg2OYtC7n3GkXN2loeCtK4ACE7Njb1+QX7S6idyyx+v9vGG68WMcvs2GvMgE+Q5GZdu4MFka1hNR9IV2ZhErWQJgArAz+RRf84MQZuGJmN4FzNGObmH7s/doDJVaxVV/fJRElYP5ntioHYAcQ6aF+HKhxm+LxyEAI=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076713; c=relaxed/simple;
bh=yhE8kJsOAJoXTs3fz9nQOtD8mZSVr6QWnNaPEbagHts=;
h=From:To:Subject:Date:Message-ID:In-Reply-To:References:
Content-Type:MIME-Version; b=rcqg9eYh/qojrZQirpLFVzNAdKLiqEwcVR5xJkwfHfTPKqs7Wfv7P/Y4RI1PkAipdBDPZI6pqDyvNnecHZO474TRkfXBRhVpmoup4iGZcZiUe0/eOuCXcu5l1zSeKDAjGQIbbCkSZQejEJPpdpgX00bCmxgq9Y4Zjoq7dewHRm8=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=GHR6O0HF; arc=fail smtp.client-ip=40.107.95.112
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=p7p13DOLMPP0WFuAtXJNh0RDiSumSF6qHoWLWt25pd8ChTxFH2M1L8QDlT4zZX6R6XJEdM7E1I9+ijZLpZCRBW4mKtdH2hu2tzTktFrnCp5Xmg4auUtAkrJtJ4dI8rCzfgPbarUvt2MGg29ljYjCjue9/M6LChjkKbK5NcbQroIRWRa9UOKFQoks+Qc0nYxmjthAEKxflmP9H3b/KRlAsBCDKbsXM+YylhvTOImbFRHhPYESEepubBTda74oZnJWxo4ESNUzE2DR01BkPPYErNSBvKM1g7KJ+3eAhf+UyYo0MeX++MQTw6M3vTd2lMN5JhlTKJWKvRdYbF2R6dyETQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=dW5A92Rpo2eqgDJQ9O/tx4Ie39m5jazA5TCka31O43Q=;
b=Tjk4Ba37EG+/bx0OTeVkEAL39yUynMVQCmlzmvtQrufNOsOYLmcqADqeP8KEPLBlr24n66hGxZ9KqJhjKam4qayUSR/VN1DftuXHcF9YIE58EsMn1+yOlpy4+pvZ77ce+1QaRL5s/ZtiZXVxXAgiFQF74s/6JNlv6OY7m/6xOOLiAuE97kOYbpZWv9N76d+H4siCOKd8boRD0IHQeZ+AJwCl64gskotM0QeqCquCcijstQ0Q18l2cLWw+oB+I9JJfyPn8Pc0/997NkDtXLWhlpe2+KncMhnTO3svIcJ7AoaMGNsrUqOvtwXtlxhTJI3yPZZPtALiTvQ7NNgr/IeaaQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none
header.from=os.amperecomputing.com; dkim=pass
header.d=os.amperecomputing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=os.amperecomputing.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=dW5A92Rpo2eqgDJQ9O/tx4Ie39m5jazA5TCka31O43Q=;
b=GHR6O0HF4Q78yMxpm+9V/2z6+WP9F0C7TSlx+yhFOoTmPpHX2VQt2823btCRfUs22UyZJ1PpEpbKcIQ/hXj0yjxqRvaGXlwW01svCNyFb7Uv8+CMuD5ovmP6r+papF8WWPXTT/cEJTyBedH6CjUZUS/qya3KeRnA/oi5Q5Ubo/I=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=os.amperecomputing.com;
Received: from SN7PR01MB7903.prod.exchangelabs.com (2603:10b6:806:34f::17) by
SA1PR01MB8159.prod.exchangelabs.com (2603:10b6:806:333::13) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8813.20; Wed, 4 Jun 2025 22:38:28 +0000
Received: from SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f]) by SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f%6]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:38:28 +0000
From: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
To: rafael@xxxxxxxxxx,
lenb@xxxxxxxxxx,
james.morse@xxxxxxx,
tony.luck@xxxxxxxxx,
bp@xxxxxxxxx,
kees@xxxxxxxxxx,
gustavoars@xxxxxxxxxx,
zaidal@xxxxxxxxxxxxxxxxxxxxxx,
Jonathan.Cameron@xxxxxxxxxx,
sudeep.holla@xxxxxxx,
u.kleine-koenig@xxxxxxxxxxxx,
jonathanh@xxxxxxxxxx,
viro@xxxxxxxxxxxxxxxxxx,
ira.weiny@xxxxxxxxx,
peterz@xxxxxxxxxxxxx,
sthanneeru.opensrc@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx,
Benjamin.Cheatham@xxxxxxx,
dave.jiang@xxxxxxxxx,
linux-acpi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-hardening@xxxxxxxxxxxxxxx
Subject: [PATCH v8 6/7] ACPI: APEI: EINJ: Enable EINJv2 error injections
Date: Wed, 4 Jun 2025 15:38:03 -0700
Message-ID: <20250604223804.842501-7-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
References: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: MW4PR03CA0308.namprd03.prod.outlook.com
(2603:10b6:303:dd::13) To SN7PR01MB7903.prod.exchangelabs.com
(2603:10b6:806:34f::17)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN7PR01MB7903:EE_|SA1PR01MB8159:EE_
X-MS-Office365-Filtering-Correlation-Id: 1492a358-6a63-45e7-1755-08dda3b88688
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|376014|52116014|7416014|366016|921020|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?Tyrv27jucbH0IXIHys0zTlNOO03L+NmagXQ8wTwWPGCTXOTDc8y3TKH+pPez?=
=?us-ascii?Q?Njiy52u4rn92aM0k/uB1kpP8gg2bIRJZfKE/bChTpEDOaKNy8Dza52cs6JzC?=
=?us-ascii?Q?pYAMRpDpDStYCnOu81B79AuIpPqKc8jswOo7oCW5HT8bShIFGWCBr2lXfZq5?=
=?us-ascii?Q?ZcHZ+Bf79bpILUTE4MS6kia1nmOCvdcnjc6amztuN29REbe0uws2ez8k7gBE?=
=?us-ascii?Q?pHrJtR2Wt0T+7BDWbdU2z9/jH/lz6YKr+1Pr+jkxWeIhEfykW73fwjVnZMVy?=
=?us-ascii?Q?JChC5IeRalrlmmkD1xSCPgovBR0cJuFZ1xwh64FpbAKSkeEFw4VOp2x7SSRz?=
=?us-ascii?Q?RmJ/PkhYLhgJDj6qj6ivPnufY0RjwWFAndxFBjB8m9IOZit95d37x4ORGHVA?=
=?us-ascii?Q?mj3CIvQtaWqrtYExvBGFN8NmIQJPLl/1Lkl+SDf5vFux/zIjE49yAQR8rl2g?=
=?us-ascii?Q?i/c/NxKy3r4s2Dp1/j2JTyV4sbC1KV/piODkwwwUVMG/Hc6OCSyFzkjQ+mTb?=
=?us-ascii?Q?Vmw/eXaELlEyg+bLKcr57CTozjbwkyVBv76bCBcfPrsyZhqtrN7dxNwfpV7C?=
=?us-ascii?Q?QhgtTCWy/irAxBsB0nEn8svF6i+e3n+0S2QvvRz2sUvkDFjyuZLiQPweraii?=
=?us-ascii?Q?ECPbA/Hu0HsbbUy0qJ76gyZZkBKS7GtT3RXE8RHVLaWDA7kcegEgz5DZ+FtK?=
=?us-ascii?Q?2sG3vKaRP7jj9Tj5NrKJVGWei1HQcERF7hsXf2tPyxF4r3lMTJ9J4K1yVqPI?=
=?us-ascii?Q?Ot7zwHy+5mT9jnhYsh5fi45fA59P3I2JnuF2FQo1quk9Jg1Wd8p3U2FKc0Og?=
=?us-ascii?Q?QNvBMMeZs09gDLULvCAylcgWJALNyEjZjLAlgeHsKGZV40xBEFKZEvjitofS?=
=?us-ascii?Q?HPKg8cRT3lRfPscZJvSuItd6XEkbZJ257IpI+dUBMY5BCBFVFgByo1m9sVK0?=
=?us-ascii?Q?APEz5mrHyeQntn75M5DDTAo1u7b2RSrYGAqrlDe2+y0FoEbjU8HfcFHmVxJX?=
=?us-ascii?Q?KABpHZy1OnRy0qzPVbvsplHnt3Knf2TY+2S1P3y0hO56Nk7oDYY9XR8mPp1e?=
=?us-ascii?Q?wG4MSaE+8VtO+WcxpeDX3aF9du0wiWFmLkyXSZvSrQt2hZxyfFPYaErBUgnQ?=
=?us-ascii?Q?qctCICrVrshrP03yvLfaPtAyZh83SjlF++OSYFI07QbehzjnqYkTraIzO0YP?=
=?us-ascii?Q?xOe7ukt7muDGvkmUTAdIhriMizoFzp6nxqcC3yeSJ/Gb5ru94ggtm5MtiwNh?=
=?us-ascii?Q?UM3Ug9wGylMi7pHHAiUKVcM0dBW+Gu5Oy+BZg+R5vK3f0bMfB9QkAInH+AZI?=
=?us-ascii?Q?rOOnF4pmdz8HzXlEyq4i0FQwxfAHELYQv+UDxW2GqjDrDwrQEA5RjUDJ30a7?=
=?us-ascii?Q?UdWv7imHE9XQSF1BtKsU4VMy7P7RhJdXNnlu3P4iBnPo9OkvpdxDkiyjLn36?=
=?us-ascii?Q?DRtYMnuIRe9zvOVPHcTVQHHYG6UoVyia/reuPTo/i6CxpCuXthEZIPB7aMlL?=
=?us-ascii?Q?ZaaMCsssLYdeQ8k=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7903.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?GGN1BafmDoiYBL0xwZy2R9eBJWusEIBPiazdEwjDb15OkgM7CRHXt0wyHp53?=
=?us-ascii?Q?dY0bV/ynLyLaz6Z7Kp98kzAA1PK5xcwYqmUXhdaAY1LgVFyds5ayVJjSHXmT?=
=?us-ascii?Q?Q0eSP0ViSIOGtGd94CtQpgClmIPmOxnx5fa8OoiboS4vrNdgdYgzr+CjXqO8?=
=?us-ascii?Q?Bb8Yj2tvOUVeGA7S/c+TkdAWTmkx85nFfwEadfmv/dZLRSPJAoA/sUnkRSG1?=
=?us-ascii?Q?NrvX+nUstSaCY/Q8dqrYFGNAzJjFdRLs+d49Dozb2vQy8ycO5S+URI63OFcI?=
=?us-ascii?Q?uNfYE8VY9CuzzDGmYRbLZ7sBinDW11ekBUMqeglqOWhyUWuaxWPjFGRBMwiq?=
=?us-ascii?Q?BW9rty2L3e1xJjl/wmyna5WpF8B+tw+6KiZfu54nYu3B3lmlp2x0rnlfZHcq?=
=?us-ascii?Q?/d09dnsB6qUzvy7I5zT+BH+qhJ29/mfMIKn161fdT8eQThs1ovdH5cn505/U?=
=?us-ascii?Q?egMnZRCU1xONjMsvh9mbh2waiGmWNrTQjT8DOmAk95tWgbpJXWwSN/mLqFzR?=
=?us-ascii?Q?kNwkceUbCYQxAA6JYPEZdhlfVELkwuuCJripkx9/NC2i6qOw+dUxUk44XAH+?=
=?us-ascii?Q?87z3UN9s/YFqawwDxJTni8ddexFoVhDazqds98L+rxuG7Oq9MJKGg5OtYYS3?=
=?us-ascii?Q?tpWxP9jUHbNKfxBBd0oy21pv0Wgkeshd5gc6Hm0INGnHd5Q/+0/jT0vNQxFt?=
=?us-ascii?Q?CaIvudQr4tTbsb+xp6Vj64NLPk8SLC5kBVVGnG4RJmsTfM3+HvWzdeKSpYRb?=
=?us-ascii?Q?ugj3+fajRs0yZQCeW7KPuPt67zIqEMnED2bc71caGf//OnCkXPUD4xuLrLis?=
=?us-ascii?Q?aiVMbGlobSM5uQQ9szyXou0JGp0IJS+Mc44E50pKMizXxxDjvsswAjVklO0X?=
=?us-ascii?Q?/K2guFW/1Br1rc7sHdTAh38jimhUDZLMUhTlwR41V77l/So5ehCLXX5rBdDy?=
=?us-ascii?Q?fw+zVENx3HV04Das7sk6WKQGynjXIHgO200Q9GSPIFaUc2dixFfhVqEx7orL?=
=?us-ascii?Q?Fef4L2RTisZogjKSgLhs1rLeoaTy1hGk9VsOlxUW6Xh+rr00+psNwYXB34uo?=
=?us-ascii?Q?rUZWR2NIGhD/5tnLy5a+8t7CkEn9ex9PEOlaFlbA1dnDgf6bYtyeoj2Mscgk?=
=?us-ascii?Q?qEIJdbmbxUosX+4ujjUxNWWJHgQPFlpstbwPU0QkrdZtHXmEyobyBRj5ZJdZ?=
=?us-ascii?Q?M55LuCFIkIP4yXqjIHCFrC5FYLwb6/mtLbr2hOpYFeWSzNEBdPkl1vsataBl?=
=?us-ascii?Q?Ft4IOcqU20iZm7PqCBsQKtA2PSlzJQDiUU+LcLrHpf2HV9l/HopCify2ljVS?=
=?us-ascii?Q?DsXKtstRB71X6/+9V2Rl3zVFQMoilgVaFiihI/gqBGpdwrno0Af+GLCnNKBV?=
=?us-ascii?Q?NuxPkVYZapJATyKZehSiw2VEHCdyW0HAMCEk3H8AIdDZXnnHGHh/+zBii2i3?=
=?us-ascii?Q?VHFYenC11v5H4SuJgvssrxZ9yCF1cC1pJeaNoWwi2cqkvR32yb7KYe/LpXre?=
=?us-ascii?Q?CgGfbbcIsHXZxx5wHMwyN9XPbjZFyPwJTnBjAzs2u3aalf7FDLl37vvfhIGs?=
=?us-ascii?Q?CgDKXPmAirdlA/lUCROzTn+zqSSMAW1ogZqw9wVnsxQiWsWkkd5jFOe8QADl?=
=?us-ascii?Q?8HBx4thaRkaHbSDaiIvG38g=3D?=
X-OriginatorOrg: os.amperecomputing.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1492a358-6a63-45e7-1755-08dda3b88688
X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7903.prod.exchangelabs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:38:28.4124
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mJTf0FgsXyRRLniYo94iak8eV7WCSpUnO1jyTmpKvI73lML2iKnySOfm+g3i9wLozLNUW6NcmISIycAGm9BsahupsI3jfmVWp46FkgVpWVpRH2ALGHb8+SHUY3lEtMA6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR01MB8159
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Enable injection using EINJv2 mode of operation.

[Tony: Mostly Zaid's original code. I just changed how the error ID
and syndrome bits are implemented. Also swapped out some camelcase
variable names]

Signed-off-by: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Co-developed-by: Tony Luck <tony.luck@xxxxxxxxx>
Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
drivers/acpi/apei/einj-core.c | 56 ++++++++++++++++++++++++++++-------
1 file changed, 45 insertions(+), 11 deletions(-)

diff --git a/drivers/acpi/apei/einj-core.c b/drivers/acpi/apei/einj-core.c
index 2f46f1ace67e..3b62dce5acb5 100644
--- a/drivers/acpi/apei/einj-core.c
+++ b/drivers/acpi/apei/einj-core.c
@@ -87,6 +87,7 @@ enum {
SETWA_FLAGS_APICID = 1,
SETWA_FLAGS_MEM = 2,
SETWA_FLAGS_PCIE_SBDF = 4,
+ SETWA_FLAGS_EINJV2 = 8,
};

/*
@@ -180,6 +181,7 @@ bool einj_initialized __ro_after_init;

static void __iomem *einj_param;
static u32 v5param_size;
+static bool is_v2;

static void einj_exec_ctx_init(struct apei_exec_context *ctx)
{
@@ -506,12 +508,20 @@ static int __einj_error_trigger(u64 trigger_paddr, u32 type,
return rc;
}

+static bool is_end_of_list(u8 *val)
+{
+ for (int i = 0; i < COMPONENT_LEN; ++i) {
+ if (val[i] != 0xFF)
+ return false;
+ }
+ return true;
+}
static int __einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
u64 param3, u64 param4)
{
struct apei_exec_context ctx;
u64 val, trigger_paddr, timeout = FIRMWARE_TIMEOUT;
- int rc;
+ int i, rc;

einj_exec_ctx_init(&ctx);

@@ -520,10 +530,10 @@ static int __einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
return rc;
apei_exec_ctx_set_input(&ctx, type);
if (acpi5) {
- struct set_error_type_with_address *v5param, v5_struct;
+ struct set_error_type_with_address *v5param;

- v5param = &v5_struct;
- memcpy_fromio(v5param, einj_param, sizeof(*v5param));
+ v5param = kmalloc(v5param_size, GFP_KERNEL);
+ memcpy_fromio(v5param, einj_param, v5param_size);
v5param->type = type;
if (type & ACPI5_VENDOR_BIT) {
switch (vendor_flags) {
@@ -543,8 +553,21 @@ static int __einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
v5param->flags = flags;
v5param->memory_address = param1;
v5param->memory_address_range = param2;
- v5param->apicid = param3;
- v5param->pcie_sbdf = param4;
+
+ if (is_v2) {
+ for (i = 0; i < max_nr_components; i++) {
+ if (is_end_of_list(syndrome_data[i].comp_id.acpi_id))
+ break;
+ v5param->einjv2_struct.component_arr[i].comp_id =
+ syndrome_data[i].comp_id;
+ v5param->einjv2_struct.component_arr[i].comp_synd =
+ syndrome_data[i].comp_synd;
+ }
+ v5param->einjv2_struct.component_arr_count = i;
+ } else {
+ v5param->apicid = param3;
+ v5param->pcie_sbdf = param4;
+ }
} else {
switch (type) {
case ACPI_EINJ_PROCESSOR_CORRECTABLE:
@@ -568,7 +591,8 @@ static int __einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
break;
}
}
- memcpy_toio(einj_param, v5param, sizeof(*v5param));
+ memcpy_toio(einj_param, v5param, v5param_size);
+ kfree(v5param);
} else {
rc = apei_exec_run(&ctx, ACPI_EINJ_SET_ERROR_TYPE);
if (rc)
@@ -630,10 +654,15 @@ int einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2, u64 param3,
u64 base_addr, size;

/* If user manually set "flags", make sure it is legal */
- if (flags && (flags &
- ~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF)))
+ if (flags && (flags & ~(SETWA_FLAGS_APICID | SETWA_FLAGS_MEM |
+ SETWA_FLAGS_PCIE_SBDF | SETWA_FLAGS_EINJV2)))
return -EINVAL;

+ /* check if type is a valid EINJv2 error type */
+ if (is_v2) {
+ if (!(type & available_error_type_v2))
+ return -EINVAL;
+ }
/*
* We need extra sanity checks for memory errors.
* Other types leap directly to injection.
@@ -742,7 +771,7 @@ static int available_error_type_show(struct seq_file *m, void *v)
if (available_error_type & einj_error_type_string[pos].mask)
seq_printf(m, "0x%08x\t%s\n", einj_error_type_string[pos].mask,
einj_error_type_string[pos].str);
- if (available_error_type & ACPI65_EINJV2_SUPP) {
+ if ((available_error_type & ACPI65_EINJV2_SUPP) && einj_v2_enabled) {
for (int pos = 0; pos < ARRAY_SIZE(einjv2_error_type_string); pos++) {
if (available_error_type_v2 & einjv2_error_type_string[pos].mask)
seq_printf(m, "V2_0x%08x\t%s\n", einjv2_error_type_string[pos].mask,
@@ -784,7 +813,7 @@ int einj_validate_error_type(u64 type)
if (tval & (tval - 1))
return -EINVAL;
if (!vendor)
- if (!(type & available_error_type))
+ if (!(type & (available_error_type | available_error_type_v2)))
return -EINVAL;

return 0;
@@ -803,9 +832,11 @@ static ssize_t error_type_set(struct file *file, const char __user *buf,
if (strncmp(einj_buf, "V2_", 3) == 0) {
if (!sscanf(einj_buf, "V2_%llx", &val))
return -EINVAL;
+ is_v2 = true;
} else {
if (!sscanf(einj_buf, "%llx", &val))
return -EINVAL;
+ is_v2 = false;
}

rc = einj_validate_error_type(val);
@@ -827,6 +858,9 @@ static int error_inject_set(void *data, u64 val)
if (!error_type)
return -EINVAL;

+ if (is_v2)
+ error_flags |= SETWA_FLAGS_EINJV2;
+
return einj_error_inject(error_type, error_flags, error_param1, error_param2,
error_param3, error_param4);
}
--
2.43.0



Return-Path: <linux-kernel+bounces-673842-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 96B7A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:39:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 83F223A9C4A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:39:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AC8DA23A993;
Wed, 4 Jun 2025 22:38:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="JT2GeHhW"
Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2112.outbound.protection.outlook.com [40.107.95.112])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D3A8B238145;
Wed, 4 Jun 2025 22:38:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.95.112
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076715; cv=fail; b=WycXIACnq1abAvcNbtoFUVByiqq9BzbtxVdy/Aqp1E8O6i9KrNmUc5Md/vgBsd4kXZIHhyplQfbBP1wyo2Fl+xJPOHpdDpLgJSEibko84T+AincpJf3GlTnDAkJzBB5Hi4tvGajT6fhcgstPSZwzI/qFSJYcG1fk2Rv9CjWr9JA=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076715; c=relaxed/simple;
bh=S5MFl7qJyrXjMKV1Pg6ZvP++H+Ve5SE/bKzN3YvBnRI=;
h=From:To:Subject:Date:Message-ID:In-Reply-To:References:
Content-Type:MIME-Version; b=gXZepYJt1E0BDMwJ5onkmUZawB0L1tBK8VLXEwYZeUNl2cQ5kH464hAcoJPSVwduXupF8wexA3OyRThyfBlESLDCCDO2pTZqS2SZ65TCPA2AhwOOckWpAXdAQ7rAE+bvOgdOK1qQ4eFklo4GNmItMoxAQCXi9fxjD0kUSWaE+UE=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=JT2GeHhW; arc=fail smtp.client-ip=40.107.95.112
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Bi8v0l3isYb1OltnMFMsfpRxAm1W5qjM1vto1WM00a6hCQ7Ljs4JbcXxwSRfjj2vVR5rDWEMCza5OnCqqjoqW7LtUvJY6aDgYUKpTspYvBnkhfc0sunILkUEI4rfOWve61T6cGwbbctaaS0jcXroOHHRsiCCbI6mY43zsbhb2NJjJLq9HurrWBTJM7U2xe7vibebCiS3OVeLPKMeTBgjrN+YTjMZ1ZkC9lSRsuN0SDi/J1C5PvpXZyCcl+UkqirBfx5R4xR9XkPuulQRSIKnrYRnUrciLtLNBZlyqaea89728B6JhhxXRc0xJaYe0upRH9Lc0pmTlppLhxMnxPY/yg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=UMJ5KZlCGZbDXeG5C9rHhhJNGgxquCB/8omiaqsyoBY=;
b=X36YV/WgbBKc6PTU39Bg4eaDBgCLdMiuwabHhNaItSLW3+asuBX/iFVC776Fhu3w7ujZFCG+zRWfaSkLZLL6uX/cezwhtDHGzqLwc+RBDsCYMTdF9RFkAxpAdzfoMQg92fwqEGbMfM8/1NtGs+/tGqcrOZDbUIA5OAHc4ygbYjbyYB3ym+Mjw/1RU3i7nF4VUmWTMARQc681PHMSRJV+wga9mWyiojBDp/tSibkTqiHw9Ahe5P9fZvnHIA8rbkSpCbXwzJB1Ay/1iQdQb2crrH5+1TSVAIS/JhGZHDXSNn6pwsh4JAswT+SbjIWYg6EQv62iRw/O5jkS7ciLO6hS+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none
header.from=os.amperecomputing.com; dkim=pass
header.d=os.amperecomputing.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=os.amperecomputing.com; s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=UMJ5KZlCGZbDXeG5C9rHhhJNGgxquCB/8omiaqsyoBY=;
b=JT2GeHhWwSi+J5rgnVf66X+kRTc3ZUoxnPUcMbsu0MyGMo/gLstDhL84MnJ/bj1/epInAiB+kaXmNgweWkpE9AC4BSX2pFrbVsj2g/dit6wlxTWJ+gPYNpyPUda8AQ3VvsKhJ3U1oHBN/sEMapF1fEf+xvx6beuGbQnO2+8ADXE=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=os.amperecomputing.com;
Received: from SN7PR01MB7903.prod.exchangelabs.com (2603:10b6:806:34f::17) by
SA1PR01MB8159.prod.exchangelabs.com (2603:10b6:806:333::13) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8813.20; Wed, 4 Jun 2025 22:38:30 +0000
Received: from SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f]) by SN7PR01MB7903.prod.exchangelabs.com
([fe80::cf45:9855:a64e:382f%6]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:38:30 +0000
From: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
To: rafael@xxxxxxxxxx,
lenb@xxxxxxxxxx,
james.morse@xxxxxxx,
tony.luck@xxxxxxxxx,
bp@xxxxxxxxx,
kees@xxxxxxxxxx,
gustavoars@xxxxxxxxxx,
zaidal@xxxxxxxxxxxxxxxxxxxxxx,
Jonathan.Cameron@xxxxxxxxxx,
sudeep.holla@xxxxxxx,
u.kleine-koenig@xxxxxxxxxxxx,
jonathanh@xxxxxxxxxx,
viro@xxxxxxxxxxxxxxxxxx,
ira.weiny@xxxxxxxxx,
peterz@xxxxxxxxxxxxx,
sthanneeru.opensrc@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx,
Benjamin.Cheatham@xxxxxxx,
dave.jiang@xxxxxxxxx,
linux-acpi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-hardening@xxxxxxxxxxxxxxx
Subject: [PATCH v8 7/7] ACPI: APEI: EINJ: Update the documentation for EINJv2 support
Date: Wed, 4 Jun 2025 15:38:04 -0700
Message-ID: <20250604223804.842501-8-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
References: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: MW4PR03CA0308.namprd03.prod.outlook.com
(2603:10b6:303:dd::13) To SN7PR01MB7903.prod.exchangelabs.com
(2603:10b6:806:34f::17)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN7PR01MB7903:EE_|SA1PR01MB8159:EE_
X-MS-Office365-Filtering-Correlation-Id: aa1e1b00-e243-405e-5758-08dda3b88796
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|376014|52116014|7416014|366016|921020|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?UI7obmK3SCnMXylYD0RKmrqQHcQSkOOb/7yYaEYvcRb1njl+3pOcValyQnox?=
=?us-ascii?Q?YL6xKTP7AKljfBZMPFDyn2mt0ky09xim0HgpdvoHp7opahCNP+8EuAnhfc/y?=
=?us-ascii?Q?g7ptrWWVQTBZvJfHgjrTtTDId9FS7JpBkUZhadpwwy4HLQwxwXnAhpaePpvl?=
=?us-ascii?Q?UYxL+Mc4SDHQ03NB6T+GHATucKuEjaS96knwJi46asjRgE36gnIODt9KPf3b?=
=?us-ascii?Q?aq+Zo6JbfvI15Lkf4nchWYG4Oock8RBEPlEc3f0vdFwLBxEbvvReAqtvYt5f?=
=?us-ascii?Q?T23ZyzatawlPI49xCfA1x0X2Q+8J4PrwzhSySjjMXRM9puygA98c6+NXotjA?=
=?us-ascii?Q?XkzSRam1ywh7JihOvMKTlXoFRRnYx7JRoDWl7tpb0uHPMAzbD3TGVEZBoqwS?=
=?us-ascii?Q?+RNan5EG0tj1oUqLuEfFGhmTVaY8rAWBDua+d0CkPeHOLm1jaIBlkLx4rTuh?=
=?us-ascii?Q?/y5W25kamIddmXyZk/T+12ynGWEad1eyxcalcqHPjKa22mUBiWrh6s54dZr1?=
=?us-ascii?Q?9n9zUEF5ZbvP00c3WmfXnrlJt3w+oF61u+7rXCE3UpxWiw6e+yTTej3uPYeM?=
=?us-ascii?Q?+HsHEhAy24CQEJ3iYdPPoDpia7OPotjqczoFYXrEQXZDiif5No/UgQ0+fm5H?=
=?us-ascii?Q?k2bPDHhtdTigAE1crXolh0m1Z2/9V/4Zx6ktlOdpV7XdVUYL+1ha1OAZ2eJP?=
=?us-ascii?Q?UHKZdP9mZMbE7y7qudDovmOyF+kpI1GzLSDWk0aOuvIw/x66CV+Pr48UCQRe?=
=?us-ascii?Q?j+A3TBxXhFImiObxfdAZKiXH0RmQ9Ly5tUX9EGmV3Tg5+6Z/0VVioJjKYzEn?=
=?us-ascii?Q?JERJ+bkGli/RfL5rBALoX7oWBQovZ1hyOo+ytEBC3peUVuC5mDWu3D7pDNjT?=
=?us-ascii?Q?kwMZhhSSXjmY+jIgr4obyK5rH+JDsy+JJ5N8ibRbKIX3fNotduYtDpC5uWJ5?=
=?us-ascii?Q?bHOozWODxymR/i5bGmpnUdlMGt54b7dypwwpa87COOQtWa24ejhrQJknkUKq?=
=?us-ascii?Q?mhyXZTGCNNc5MaESQ31wHfOHqqz5NzU/S+SMnEpEdR8OHBPrIP/iwkWyVAcP?=
=?us-ascii?Q?EUHsAQ4kTfXfGNjj0S3nWpa41cMVtxbHXaghDDTz9el1QNr02TqdR+BudD56?=
=?us-ascii?Q?xhDZvIfAKDojwu4d3f/nJ10XBAfgM0G2f9JJvsFmcR0z91YDd1LRylfpG5S5?=
=?us-ascii?Q?KQSr/wWBVafjm1y9CRjiM7js4saifknJc1asKXA0LAsMYnlYeBkGv0bMSWiS?=
=?us-ascii?Q?t4B9h9dRAD7nfrMcIqno/2W7ipG/BBVXU4z3olyDoUDREtDXliwColkaGo9t?=
=?us-ascii?Q?X5b8rE3hf4p//UYjzk9CBo1uSeQ9iZZU77/JuMV0SkcJ+ngHrHm15y+oo6pN?=
=?us-ascii?Q?q9oa1cgED7LNOaMI70HXmsb6AU6EauOKHdztEwMh9dJPqEo2/VIUPrLGPldI?=
=?us-ascii?Q?MQHZHzviBmOYokSbWgFQTxyTjr2tiFR8?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7903.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?z3L86e4Nzy7GZO6J4yR2IWchNvFwr1rCXN7H7cPnIB2eKFI0MxlViuhceCuW?=
=?us-ascii?Q?lvfPiLORn9Lc19ZdVGY0bosPz86fKXy4YmS5cyqclSL7hx3lDVsjpv/bV035?=
=?us-ascii?Q?T75x2CsaFcJpbOamyxPO3QrTLLDkw4BcOmQTIYSr3s8tegh4v03y2iCjYE15?=
=?us-ascii?Q?AuzJiih4qkR+ZaCdnailOwXY9MuejVqRqTbux5z5g/H76xfocnJfp9vCZ4L0?=
=?us-ascii?Q?742+bs6W3dbRHQ9Wnkp4PLDe97A1o/IdlO5lLaTrmvDZNmtJi3v5ypljqPyw?=
=?us-ascii?Q?ratvOg+Qg7AEYTKaP6Hu3DVF5h2BSvuP7TsI5F/SjL8lHudVJC/X2Phy5nMG?=
=?us-ascii?Q?luzf7izGJ2euG3U900qCPjxk9+DVgpL6aXxKMarM75A+wQgR2ph0W/TLvOxU?=
=?us-ascii?Q?ufZzhaq/nFLzSyJZF1crYADm6LARcDZsEWllxbEN+UiTpw1BFdk7zAbcfh6z?=
=?us-ascii?Q?HZTdJIDtKAsIIFLj0+vvfpk35I8sC+KdMPKfJ284PeoQkL3prWmqjSy0hCDc?=
=?us-ascii?Q?WaoSlUjMHCpVLpo736uTSrFdWp2aWTmxLDXHT/4WFeJyLDnF927jNuF7TEEI?=
=?us-ascii?Q?ZekMULhr3JSUHr4jrNQdYC9FVOTqqFMu8CseE+O9iaVaIBHkWW1aSr+UcVT1?=
=?us-ascii?Q?LFGIYHnqI7FyPpEkzgch09mI3xlt3AecqLJ1hvhpTIkGEi6mjZ+ZJRoKLUi0?=
=?us-ascii?Q?f8NII7LB4Bby2yWBXMQJw06Fx7LlOzaSqsM+ZI4O2yeRH8C6CJmPwznSJYzK?=
=?us-ascii?Q?1gQQLjPdV1S9pN1YnAWCGzvxXlAFt77ADK+BxIKx53tqS1zojxVxYv6M6KPD?=
=?us-ascii?Q?JBnFC/Vz/a3t+XU/5jle8Q8ia914A1YEWZ3hYjD9pS7J6iE9F43rtxWcYp52?=
=?us-ascii?Q?kePVevOu29d7mpHne3r7ZA7aUiNGpxZobw0Kxc29nFVzPx5dsE3xkbWqEctH?=
=?us-ascii?Q?GwHsTjYywUWlHZGqdoOE0Q7d1Ix8/3Rf5uiOsIQ9Ovw85EdQObSLX8enpxZy?=
=?us-ascii?Q?dtcd1xcTIjRgwXA9qf05WCy6sjptw7VPv3dNESopLlJbtCVqewiEoWLHQPS8?=
=?us-ascii?Q?iOYF4/wpFmFAMHonGypb9CrubpwIgMXbGSu+njIUfN3P0F6a0lrLJ6Y5gqVt?=
=?us-ascii?Q?JuvxBF0pYfiHjx16tsorOwwcRstqGhvm5wz55lOCXXDbrFyvb2z3r9FKLYbw?=
=?us-ascii?Q?9dVzxkyYlkGr1Y0bSjckjBMNwsBbjrqOOFm87O5q5veLVfYg/RH4SMq2X/Q2?=
=?us-ascii?Q?84PM3wQnFo4H5t6+ts94Gzhfq0ZzBHmSOylfDPrYf5lMmZozZo5maB7ip16E?=
=?us-ascii?Q?fgzU09uAwkEbcGOZA4WPWls3kzZvGEj1woYmcqoPaWVHVrcPxOu8GAIZXC6V?=
=?us-ascii?Q?iZbn2tK3oR9HlF7VLplTU/N8BFFG2CQJb8ZEkkvZjCRQn3Lxo86dzrTR7Tqw?=
=?us-ascii?Q?LTEcYAydAckaqSVxz0Y2ZMhf94NxBBeyZGDWD3tbG1Zf2mivwA/YSGMDN1+i?=
=?us-ascii?Q?P5otyDYwyIqI5hJw9goYt91n0p+hUFwGS5XmbEi3A+cVzJZJumhBURMI2t9q?=
=?us-ascii?Q?3ho0eVkhszUfHdZ7ylKG8l4y0pzH01ouER47yDtHVMyrrlyoPXUINm1fjeCX?=
=?us-ascii?Q?ybLNIwtQUuokO/WVRzoEGCQ=3D?=
X-OriginatorOrg: os.amperecomputing.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa1e1b00-e243-405e-5758-08dda3b88796
X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7903.prod.exchangelabs.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:38:30.1369
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YMnuX7ljNbAC2bU1pJBRAHbGp93Yam7+QpS1TWvjSgGoNqSs6jwq1Krf1Jx2/sywyILSeuOqy1DAr3PvHh8JvZKZDB8DOcVtAne3UabbRjlDu1F4t7JnBC5m37iQGKm7
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR01MB8159
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Add documentation based on implemenation of EINJv2 as described in ACPI
6.5.A specification.

Link: https://uefi.org/specs/ACPI/6.5_A/18_Platform_Error_Interfaces.html#error-injection

[Tony: New user interface for device id and syndrome]

Signed-off-by: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Co-developed-by: Tony Luck <tony.luck@xxxxxxxxx>
Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
---
.../firmware-guide/acpi/apei/einj.rst | 33 +++++++++++++++++++
1 file changed, 33 insertions(+)

diff --git a/Documentation/firmware-guide/acpi/apei/einj.rst b/Documentation/firmware-guide/acpi/apei/einj.rst
index c52b9da08fa9..7d8435d35a18 100644
--- a/Documentation/firmware-guide/acpi/apei/einj.rst
+++ b/Documentation/firmware-guide/acpi/apei/einj.rst
@@ -59,6 +59,9 @@ The following files belong to it:
0x00000200 Platform Correctable
0x00000400 Platform Uncorrectable non-fatal
0x00000800 Platform Uncorrectable fatal
+ V2_0x00000001 EINJV2 Processor Error
+ V2_0x00000002 EINJV2 Memory Error
+ V2_0x00000004 EINJV2 PCI Express Error
================ ===================================

The format of the file contents are as above, except present are only
@@ -88,6 +91,8 @@ The following files belong to it:
Memory address and mask valid (param1 and param2).
Bit 2
PCIe (seg,bus,dev,fn) valid (see param4 below).
+ Bit 3
+ EINJv2 extension structure is valid

If set to zero, legacy behavior is mimicked where the type of
injection specifies just one bit set, and param1 is multiplexed.
@@ -122,6 +127,13 @@ The following files belong to it:
this actually works depends on what operations the BIOS actually
includes in the trigger phase.

+- component_id0 .. component_idN, component_syndrome0 .. component_syndromeN
+
+ These files are used to set the "Component Array" field
+ of the EINJv2 Extension Structure. Each holds a 128-bit
+ hex value. Writing just a newline to any of these files
+ sets an invalid (all-ones) value.
+
CXL error types are supported from ACPI 6.5 onwards (given a CXL port
is present). The EINJ user interface for CXL error types is at
<debugfs mount point>/cxl. The following files belong to it:
@@ -194,6 +206,27 @@ An error injection example::
# echo 0x8 > error_type # Choose correctable memory error
# echo 1 > error_inject # Inject now

+An EINJv2 error injection example::
+
+ # cd /sys/kernel/debug/apei/einj
+ # cat available_error_type # See which errors can be injected
+ 0x00000002 Processor Uncorrectable non-fatal
+ 0x00000008 Memory Correctable
+ 0x00000010 Memory Uncorrectable non-fatal
+ V2_0x00000001 EINJV2 Processor Error
+ V2_0x00000002 EINJV2 Memory Error
+
+ # echo 0x12345000 > param1 # Set memory address for injection
+ # echo 0xfffffffffffff000 > param2 # Range - anywhere in this page
+ # echo 0x1 > component_id0 # First device ID
+ # echo 0x4 > component_syndrome0 # First error syndrome
+ # echo 0x2 > component_id1 # Second device ID
+ # echo 0x4 > component_syndrome1 # Second error syndrome
+ # echo '' > component_id2 # Mark id2 invalid to terminate list
+ # echo V2_0x2 > error_type # Choose EINJv2 memory error
+ # echo 0xa > flags # set flags to indicate EINJv2
+ # echo 1 > error_inject # Inject now
+
You should see something like this in dmesg::

[22715.830801] EDAC sbridge MC3: HANDLING MCE MEMORY ERROR
--
2.43.0



Return-Path: <linux-kernel+bounces-673843-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F3F4241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:40:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 9722F1883128
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:40:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 126DB22D780;
Wed, 4 Jun 2025 22:40:26 +0000 (UTC)
Received: from mail-il1-f207.google.com (mail-il1-f207.google.com [209.85.166.207])
(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 5F8E01F4168
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:40:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.207
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076825; cv=none; b=eYUP3RQejzO5W9Io4WAC3zfkk+9zW4BYyYNQosNLpx3qdTKPq391fE1sHwPPpCcQfkpFwaZlYAJKfPfG8dbXzp+oiF7/mNOXNs2OP7TlKHHWZwyGhLlq7JgDrell+iEWjvaZ9p2lZmMdR4hR25t8JUQCnKkEyGi/PBGFDQYcvxk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076825; c=relaxed/simple;
bh=yJKEo6PKKsFEaoY+Wb+NuTVHnNoK8lm+1WZEK3Oda0s=;
h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type; b=uXUgUcoCavyC5oD7sj7ejLNEkuJo2aDel3a0S1DXgXGJ42p7eUBH6GSXRb+4tfPI4odG2S5/Z5u4U/8dpppPwIf66lY0OfTXblW/MKFcxBTW6GcAFsM2UjLjC7yFxFffjavtGFK4Fe7Fd7RR6D0v73GnGP8h8feaGfjRwyvSirM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.207
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-il1-f207.google.com with SMTP id e9e14a558f8ab-3ddbfe1fc8fso7813775ab.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 15:40:23 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749076822; x=1749681622;
h=to:from:subject:message-id:date:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=U3CVkFYSih42dMa4crK8+2r1dGR38THO+9uTUAByLCA=;
b=iJYjGcGSJ04CEfVrn611K0WHffPnDzpd/Itgr+ieL4OO1Jiz+jtTFt2WEAUus4l8cR
EgybDt4oDfGSeeHN9lhInUxbB7A1QyR5/GCOjfH1r2sWwwsmiIonM8XLy9fTTM9sKD6S
kD0o6LiZ8HX+/tr0xwtjVnwFsnEnPDz1puPSxhubGaUX8SO4BHaili8/P+R1jmO+VHcs
TvamVv+jusOA/x4wWSklee3kuidvnZXyGPiFW1WXYYQj4XAfmXbMDy9MRBXqntv0vJqs
bgl9pdlwlT8W1x+Ri2dJ+hEk18JnM5H2gfMwpfltcNBameYqGzx5mkJ+flfRor4cBTvr
nMiw==
X-Forwarded-Encrypted: i=1; AJvYcCXD5RrD3LjQZbNfiy5HWJDZeX2dT9YIDYZaXGZMRfXIzu08eUhdQrvtykoB/sy56rMS5ATsCLV0iVkVrqA=@vger.kernel.org
X-Gm-Message-State: AOJu0YxWv9cNTvDbCbO2WvX5kWZBRzmcgVKeG7T/qUtuHQRJI1z6T76y
JUtK/pVRQevGq9GlVToNO/Wp8my2PYsM74Bws2GU2Pzuz95xkAk0qBzR1C/LVHelbZGfkUKp+w4
mx5DQ3qn42cHgh88n9rcvT3M71B7p4+6oD3P/yXu9BYQV2XRvuPhOw/tYgQQ=
X-Google-Smtp-Source: AGHT+IFKEm94hei2X92UPF3Njhb1nrH8QDmc/JVW364mYXZ44FCQBlnszvgmqeD1KinChAldYeR4HW+NW5Cz2fvi7aow2w4Axee9
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6e02:398d:b0:3db:877a:dff4 with SMTP id
e9e14a558f8ab-3ddbed62af1mr53474965ab.14.1749076822447; Wed, 04 Jun 2025
15:40:22 -0700 (PDT)
Date: Wed, 04 Jun 2025 15:40:22 -0700
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6840cb56.a00a0220.d4325.000f.GAE@xxxxxxxxxx>
Subject: [syzbot] [v9fs?] [ext4?] INFO: task hung in __iterate_supers
From: syzbot <syzbot+b10aefdd9ef275e9368d@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: asmadeus@xxxxxxxxxxxxx, ericvh@xxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux_oss@xxxxxxxxxxxxx, lucho@xxxxxxxxxx,
syzkaller-bugs@xxxxxxxxxxxxxxxx, v9fs@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-0.5 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SORTED_RECIPS,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no
version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello,

syzbot found the following issue on:

HEAD commit: 3a83b350b5be Add linux-next specific files for 20250530
git tree: linux-next
console+strace: https://syzkaller.appspot.com/x/log.txt?x=127da00c580000
kernel config: https://syzkaller.appspot.com/x/.config?x=28859360c84ac63d
dashboard link: https://syzkaller.appspot.com/bug?extid=b10aefdd9ef275e9368d
compiler: Debian clang version 20.1.6 (++20250514063057+1e4d39e07757-1~exp1~20250514183223.118), Debian LLD 20.1.6
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=13765970580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=12f4b00c580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/e18e458d13c9/disk-3a83b350.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/a1c40854811c/vmlinux-3a83b350.xz
kernel image: https://storage.googleapis.com/syzbot-assets/571f670b130a/bzImage-3a83b350.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/f51e108aa24a/mount_0.gz
fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=15765970580000)

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b10aefdd9ef275e9368d@xxxxxxxxxxxxxxxxxxxxxxxxx

INFO: task syz-executor419:5916 blocked for more than 143 seconds.
Not tainted 6.15.0-next-20250530-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor419 state:D stack:29576 pid:5916 tgid:5890 ppid:5883 task_flags:0x400040 flags:0x00004006
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5396 [inline]
__schedule+0x16f5/0x4d00 kernel/sched/core.c:6785
__schedule_loop kernel/sched/core.c:6863 [inline]
schedule+0x165/0x360 kernel/sched/core.c:6878
super_lock+0x1c8/0x3b0 fs/super.c:115
__iterate_supers+0x126/0x250 fs/super.c:923
ksys_sync+0x94/0x150 fs/sync.c:102
__ia32_sys_sync+0xe/0x20 fs/sync.c:113
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f90546eea09
RSP: 002b:00007f9054678218 EFLAGS: 00000246 ORIG_RAX: 00000000000000a2
RAX: ffffffffffffffda RBX: 00007f90547706f8 RCX: 00007f90546eea09
RDX: 00007f90546c5526 RSI: 0000000000000000 RDI: 00007f9054678fb0
RBP: 00007f90547706f0 R08: 00007ffc16b879e7 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f905473ca1c
R13: 000000000000006e R14: 0000200000000040 R15: 00007ffc16b879e8
</TASK>
INFO: task syz-executor419:5913 blocked for more than 144 seconds.
Not tainted 6.15.0-next-20250530-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor419 state:D stack:28584 pid:5913 tgid:5891 ppid:5881 task_flags:0x400040 flags:0x00004006
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5396 [inline]
__schedule+0x16f5/0x4d00 kernel/sched/core.c:6785
__schedule_loop kernel/sched/core.c:6863 [inline]
schedule+0x165/0x360 kernel/sched/core.c:6878
super_lock+0x1c8/0x3b0 fs/super.c:115
__iterate_supers+0x126/0x250 fs/super.c:923
ksys_sync+0x94/0x150 fs/sync.c:102
__ia32_sys_sync+0xe/0x20 fs/sync.c:113
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f90546eea09
RSP: 002b:00007f9054678218 EFLAGS: 00000246 ORIG_RAX: 00000000000000a2
RAX: ffffffffffffffda RBX: 00007f90547706f8 RCX: 00007f90546eea09
RDX: 00007f90546c5526 RSI: 0000000000000000 RDI: 00007f9054678fb0
RBP: 00007f90547706f0 R08: 00007ffc16b879e7 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f905473ca1c
R13: 000000000000006e R14: 0000200000000040 R15: 00007ffc16b879e8
</TASK>
INFO: task syz-executor419:5914 blocked for more than 144 seconds.
Not tainted 6.15.0-next-20250530-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor419 state:D stack:29544 pid:5914 tgid:5892 ppid:5882 task_flags:0x400040 flags:0x00004006
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5396 [inline]
__schedule+0x16f5/0x4d00 kernel/sched/core.c:6785
__schedule_loop kernel/sched/core.c:6863 [inline]
schedule+0x165/0x360 kernel/sched/core.c:6878
super_lock+0x1c8/0x3b0 fs/super.c:115
__iterate_supers+0x126/0x250 fs/super.c:923
ksys_sync+0x94/0x150 fs/sync.c:102
__ia32_sys_sync+0xe/0x20 fs/sync.c:113
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f90546eea09
RSP: 002b:00007f9054678218 EFLAGS: 00000246 ORIG_RAX: 00000000000000a2
RAX: ffffffffffffffda RBX: 00007f90547706f8 RCX: 00007f90546eea09
RDX: 00007f90546c5526 RSI: 0000000000000000 RDI: 00007f9054678fb0
RBP: 00007f90547706f0 R08: 00007ffc16b879e7 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f905473ca1c
R13: 000000000000006e R14: 0000200000000040 R15: 00007ffc16b879e8
</TASK>
INFO: task syz-executor419:5915 blocked for more than 145 seconds.
Not tainted 6.15.0-next-20250530-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor419 state:D stack:29576 pid:5915 tgid:5893 ppid:5880 task_flags:0x400040 flags:0x00004006
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5396 [inline]
__schedule+0x16f5/0x4d00 kernel/sched/core.c:6785
__schedule_loop kernel/sched/core.c:6863 [inline]
schedule+0x165/0x360 kernel/sched/core.c:6878
super_lock+0x1c8/0x3b0 fs/super.c:115
__iterate_supers+0x126/0x250 fs/super.c:923
ksys_sync+0x94/0x150 fs/sync.c:102
__ia32_sys_sync+0xe/0x20 fs/sync.c:113
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f90546eea09
RSP: 002b:00007f9054678218 EFLAGS: 00000246 ORIG_RAX: 00000000000000a2
RAX: ffffffffffffffda RBX: 00007f90547706f8 RCX: 00007f90546eea09
RDX: 00007f90546c5526 RSI: 0000000000000000 RDI: 00007f9054678fb0
RBP: 00007f90547706f0 R08: 00007ffc16b879e7 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f905473ca1c
R13: 000000000000006e R14: 0000200000000040 R15: 00007ffc16b879e8
</TASK>
INFO: task syz-executor419:5917 blocked for more than 145 seconds.
Not tainted 6.15.0-next-20250530-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor419 state:D stack:29576 pid:5917 tgid:5895 ppid:5879 task_flags:0x400040 flags:0x00004006
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5396 [inline]
__schedule+0x16f5/0x4d00 kernel/sched/core.c:6785
__schedule_loop kernel/sched/core.c:6863 [inline]
schedule+0x165/0x360 kernel/sched/core.c:6878
super_lock+0x1c8/0x3b0 fs/super.c:115
__iterate_supers+0x126/0x250 fs/super.c:923
ksys_sync+0x94/0x150 fs/sync.c:102
__ia32_sys_sync+0xe/0x20 fs/sync.c:113
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f90546eea09
RSP: 002b:00007f9054678218 EFLAGS: 00000246 ORIG_RAX: 00000000000000a2
RAX: ffffffffffffffda RBX: 00007f90547706f8 RCX: 00007f90546eea09
RDX: 00007f90546eea09 RSI: 0000000000000000 RDI: 0000000000000080
RBP: 00007f90547706f0 R08: 0000000000000000 R09: 0000000000000000
R10: 00007ffc16b879e7 R11: 0000000000000246 R12: 00007f905473ca1c
R13: 000000000000006e R14: 0000200000000040 R15: 00007ffc16b879e8
</TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/31:
#0: ffffffff8e13f140 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
#0: ffffffff8e13f140 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline]
#0: ffffffff8e13f140 (rcu_read_lock){....}-{1:3}, at: debug_show_all_locks+0x2e/0x180 kernel/locking/lockdep.c:6770
2 locks held by getty/5595:
#0: ffff888034dd90a0 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x25/0x70 drivers/tty/tty_ldisc.c:243
#1: ffffc9000332b2f0 (&ldata->atomic_read_lock){+.+.}-{4:4}, at: n_tty_read+0x43e/0x1400 drivers/tty/n_tty.c:2222
1 lock held by syz-executor419/5894:
1 lock held by syz-executor419/5897:
1 lock held by syz-executor419/5896:
1 lock held by syz-executor419/5898:
1 lock held by syz-executor419/5900:

=============================================

NMI backtrace for cpu 0
CPU: 0 UID: 0 PID: 31 Comm: khungtaskd Not tainted 6.15.0-next-20250530-syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Call Trace:
<TASK>
dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
nmi_cpu_backtrace+0x39e/0x3d0 lib/nmi_backtrace.c:113
nmi_trigger_cpumask_backtrace+0x17a/0x300 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:158 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:307 [inline]
watchdog+0xfee/0x1030 kernel/hung_task.c:470
kthread+0x70e/0x8a0 kernel/kthread.c:464
ret_from_fork+0x3fc/0x770 arch/x86/kernel/process.c:148
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 UID: 0 PID: 5900 Comm: syz-executor419 Not tainted 6.15.0-next-20250530-syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:its_return_thunk+0x0/0x10 arch/x86/lib/retpoline.S:412
Code: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc <c3> cc 90 90 90 90 90 90 90 90 90 90 90 90 90 90 e9 8b 84 ca f5 cc
RSP: 0018:ffffc9000469fa38 EFLAGS: 00000293
RAX: ffffffff81ad3201 RBX: ffffc9000469fb20 RCX: ffff88807fc99e00
RDX: 0000000000000000 RSI: 746e756f6d65723d RDI: 000000003b9ac9ff
RBP: ffffc9000469faf0 R08: ffffffff8fa127f7 R09: 1ffffffff1f424fe
R10: dffffc0000000000 R11: fffffbfff1f424ff R12: ffffc9000469fa80
R13: ffffffffc4653600 R14: 195d9dfa908f7e3d R15: 73726f73f98510d7
FS: 00007f90546996c0(0000) GS:ffff888125d53000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005606f52b3168 CR3: 0000000077c1a000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
set_normalized_timespec64+0xc1/0x1a0 kernel/time/time.c:497
inode_set_ctime_to_ts+0x126/0x2f0 fs/inode.c:2666
inode_set_ctime include/linux/fs.h:1773 [inline]
v9fs_stat2inode_dotl+0x4f6/0xad0 fs/9p/vfs_inode_dotl.c:656
v9fs_qid_iget_dotl fs/9p/vfs_inode_dotl.c:128 [inline]
v9fs_inode_from_fid_dotl+0x206/0x2b0 fs/9p/vfs_inode_dotl.c:154
v9fs_get_new_inode_from_fid fs/9p/v9fs.h:251 [inline]
v9fs_mount+0x6cb/0xa10 fs/9p/vfs_super.c:142
legacy_get_tree+0xfa/0x1a0 fs/fs_context.c:666
vfs_get_tree+0x8f/0x2b0 fs/super.c:1802
do_new_mount+0x24a/0xa40 fs/namespace.c:3856
do_mount fs/namespace.c:4193 [inline]
__do_sys_mount fs/namespace.c:4404 [inline]
__se_sys_mount+0x317/0x410 fs/namespace.c:4381
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f90546eea09
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 1f 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f9054699218 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f90547706e8 RCX: 00007f90546eea09
RDX: 0000200000000b80 RSI: 0000200000000040 RDI: 0000000000000000
RBP: 00007f90547706e0 R08: 0000200000000580 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f905473ca1c
R13: 0000200000000580 R14: 0000200000000040 R15: 00007f905473c04d
</TASK>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup


Return-Path: <linux-kernel+bounces-673844-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 20A4541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:40:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 80B9116A981
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:40:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BBDD122A4EB;
Wed, 4 Jun 2025 22:40:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="kRK75Lp9"
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2075.outbound.protection.outlook.com [40.107.92.75])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 346DD223710
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:40:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.75
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076845; cv=fail; b=sHyVBIUcN4a6M/WISkHeE478doz5MZ96Lo0sAu+2VnZnyz1sXrRFPzaiEDF3Dz0VjBFg53yXrPsUY7OSa84kyK5odYfvWOEcBuuxGxI5LqVi5je6CfUx+krRijnDdFakuHtlCPfReUPCYLbpQn2wViv/R6ZjXTZ/XXobyX8Kya4=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076845; c=relaxed/simple;
bh=5sAP0MUbnauqEPopFoItaJBqWIYNuVsP2bvyJ47RYEg=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=bNZiQQ2f5Lc1akKzShxsrt1s2KqB0XAj+153w1WJVA/mE2icPz3k6kTNCXtlDc5XtxJmTds3KPq8w/lYcdSt4XASNmY6n3/S/bAEHvJCTYDkCLl3pyOBBT0OsLSj86L9sidPT7NypwYTmeXrKwQuFtuZd90G7SvsYmI0P+UySh8=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=kRK75Lp9; arc=fail smtp.client-ip=40.107.92.75
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=eqpcIdSwz9GhjvXJRpNkq2w97sw9bVqY4nDhxWTEbEx68ITuBdm6PTHJjDFCSk0rTbVzqZRL74U0aROtFGGy+CTxFoCB8y/87tMn+yKhQQ+aJDiXkJ7LLy1fN0qmQV5qO7WbadT743u/WiPF1ffjc5TVU+vvzQRW8saUYTOlOHmw6Z18kZmpppPEV5JtQYIZt+Uk0jmOTey865Djbhodo5amO0y1GzMi0kQ5ykZT73P2Sxf6VM2bzAVr1TrM1Fc8vPFFof48/9NFerJIjavHm7IxQypyVWfUL4maOxXKEA+0jluLPwTdvn04SqnhuCD3EA7A4uDAcwEHt0X6Z/xIgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=5sAP0MUbnauqEPopFoItaJBqWIYNuVsP2bvyJ47RYEg=;
b=nYyvMTzgYEEBhe/xLkg9iZW3WQS/qxb4CAADOBPH0kIH3AbLWtYPa9SLuDdQs7+hfh+Ybu/hkIJ4udAUG66Og2AGE6ixRNc8HBSXDO/IWkBIsxkaanLMBPgJr9zpQBt6e16nBXqBFeZ9Bk+DB9zvpWM+6qqLee/tpb67RaV93HhK+f8rgw7AHXv41vfNZjnNMLfRl6vD+fi7B1xgHWqDZuQf/T8unPZBHWZpSb6h22biUvhnUb3E9iEp2VRIwMUoYG3cOKuICUrxQ8f/YedIXrMw5gbYaG/SK8t93zeLVU+dcAd7aZmsSUkdb8fEik6pTuVTZ2tMcrnBwalFbXbkJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=5sAP0MUbnauqEPopFoItaJBqWIYNuVsP2bvyJ47RYEg=;
b=kRK75Lp90E3lWoTgPaMIcdqhQTM99AFsuCOE+BLdVnt3VAujz1sRwuHmQk//bgC4M0u2pU+RR2G+T/pRObfQ0N6T4oPXul8CE4dIHkgAL8ujiKczCwiKGmw9hgunGq4GaVpQIUv92/Y75xFbqEXaX4CgIFxC+brSc1/sTphgBiIWn/aYYDn0jEhOu7gBaNcn6dLUr8tzSoaqAgx+VbWBF0A9TqjoSdsJ6fN8eMrMuhAcEVTVHhZzpZDrLgZUAfoQ6cpzJhHkQOwdjgciGriREaiXukEoHukX9vbFQx6vIqDmBkov3P0CSZBto328qBuBwOrupoVjUSGd6OECP8cO8Q==
Received: from CY5PR12MB6526.namprd12.prod.outlook.com (2603:10b6:930:31::20)
by LV3PR12MB9410.namprd12.prod.outlook.com (2603:10b6:408:212::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Wed, 4 Jun
2025 22:40:39 +0000
Received: from CY5PR12MB6526.namprd12.prod.outlook.com
([fe80::e420:4e37:166:9c56]) by CY5PR12MB6526.namprd12.prod.outlook.com
([fe80::e420:4e37:166:9c56%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:40:39 +0000
From: Timur Tabi <ttabi@xxxxxxxxxx>
To: "christophe.jaillet@xxxxxxxxxx" <christophe.jaillet@xxxxxxxxxx>,
"philip.li@xxxxxxxxx" <philip.li@xxxxxxxxx>, "simona@xxxxxxxx"
<simona@xxxxxxxx>, "lyude@xxxxxxxxxx" <lyude@xxxxxxxxxx>,
"pierre.morrow@xxxxxxx" <pierre.morrow@xxxxxxx>, "airlied@xxxxxxxxx"
<airlied@xxxxxxxxx>, "jacob.e.keller@xxxxxxxxx" <jacob.e.keller@xxxxxxxxx>,
"dakr@xxxxxxxxxx" <dakr@xxxxxxxxxx>, Ben Skeggs <bskeggs@xxxxxxxxxx>
CC: "dri-devel@xxxxxxxxxxxxxxxxxxxxx" <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
"nouveau@xxxxxxxxxxxxxxxxxxxxx" <nouveau@xxxxxxxxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH] drm/nouveau/bl: Use kasprintf for interface name
Thread-Topic: [PATCH] drm/nouveau/bl: Use kasprintf for interface name
Thread-Index: AQHb1ZQiNSaKGMGvIUubP3nhiam5ArPzjVAAgAAEOACAAAayAA==
Date: Wed, 4 Jun 2025 22:40:39 +0000
Message-ID: <751f786a3ceee08eff698633c39bb3a6b4b2f6d1.camel@xxxxxxxxxx>
References:
<20250604-jk-nouveua-drm-bl-snprintf-fix-v1-1-79b1593ad664@xxxxxxxxx>
<704b69a6af32e0d89a6d88051c12f29fdadfa638.camel@xxxxxxxxxx>
<24f7d99d-3249-4fcf-a9e4-af610cc9436b@xxxxxxxxx>
In-Reply-To: <24f7d99d-3249-4fcf-a9e4-af610cc9436b@xxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Evolution 3.52.3-0ubuntu1
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CY5PR12MB6526:EE_|LV3PR12MB9410:EE_
x-ms-office365-filtering-correlation-id: cc1ecda1-f8ed-47bf-89a1-08dda3b8d4d2
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
BCL:0;ARA:13230040|1800799024|7416014|376014|366016|38070700018|41080700001;
x-microsoft-antispam-message-info:
=?utf-8?B?aUJvQXh6a3NORVBKOG1rQXJyQmF2NEtPK1M3ZVd5OUhyL2d1ZHRmZWdSc2pJ?=
=?utf-8?B?OE92NCtCdGtPbk90Q2o3d1J5KzhqMk02bGxQSW5KQ3RKYld2WFlMNVpaZ0V4?=
=?utf-8?B?U2V2NmtSaE10RHcva1oxRnpUSUdQcEZmVW82ZzZLbm94Qit6ZWd6dnl1MzFV?=
=?utf-8?B?MFF4Q09leVB6elQrK3hVYjQrV0F1M2JvVk9oL2Q0c2llZDJGYUFrb3pTdGUr?=
=?utf-8?B?NHJLWTUyVTN4T0RJWWNZL3hSUURFWUthVFByb01pV09qYkN0NzhMTk5oUyta?=
=?utf-8?B?ZUpFRGFQNldsT2h2SWdLWm5zaHljbG9DYXZURVNORlpPdDlUNjVlNlhEOG41?=
=?utf-8?B?ZUZNbTErdnYwSG0wMDgvaEthVkRVRkZEb0prZHZSRmJRRU9lajJVZXBLRHNY?=
=?utf-8?B?M0RLbkhpVUt3L1pQaDJPeGthQXNtM1Z2OXRNbW5Nb1VjU1BYWHlFeTdVd1Rx?=
=?utf-8?B?dDFvSHc2a3RCby9La09ZNUZteDNjMkdmSnAwVmM0aDJqT2hDN2FNc0s1ZktF?=
=?utf-8?B?TCthcS8xeXcwZHFMRHFIN3F2MCtvOVo2bVFqQXVnTmtJdGY5SEJNOUF2ZEVv?=
=?utf-8?B?VXJsYmhCTUpnYThNSyszY04zY1BVZUdEeVRJVG9mSjE1cTIvRE5PYWMwQlhL?=
=?utf-8?B?bDg0UEsvSGdhZ2x2cFJHS21OWnFRUzFIWWVxVmh3a2tPQU9LRUFQcmFLRzl2?=
=?utf-8?B?SWI1V0xLcVdIbnRBOS9Qc3o0WDVDTjRNTEFlU3ZGcE9nSzlZcDRyZDVpYXlS?=
=?utf-8?B?VmttRi9Xbll0SG1YcDI3bzcrZWpHNzVuYzkwTVp5Slp3TW9ZN0UyYVBvUlZ5?=
=?utf-8?B?MW8rSUh2Vnl0L1NVV1I3VG5Pa0VqeGZUa1dZR2pMVkZ6SFR0SXg3Y0hvQzQy?=
=?utf-8?B?VHA5MHp4bjNmc1orZHh1MkhyYjBmUDRvbGtLSWRZbjMyL2JYWUpaWmpQSnNU?=
=?utf-8?B?b3lORThueUVJOURxTHgwblRneHdJRjlNZWpieG5ZQ3QxVzcwdW1sZkszMHFD?=
=?utf-8?B?OGVYSlJyeVQ1L1V2QWhhSDQvUWs2c3ZUSjNoV3ZkZXF4QjdiOFpDd2R4RlN0?=
=?utf-8?B?YWFhNVhLUjBmd0dpaUp5ZHN3Mk5BQ2IyZEc4RkNQOHg4RlVPU0hnNmdDK3Bw?=
=?utf-8?B?NXdWcnlQdFZxRUF4bkxPUzdYMDZEMFhYbm04L1RZYm8xSzZVVklXcHlrYmI2?=
=?utf-8?B?dHZwL2N4Y21MRzNWVHY1bXRwNnBUOTZjU2VIZnF4YWk5d0RLWkNvRGdZVlU2?=
=?utf-8?B?M0lyS2FGN0I4SGdqNWx2L01wcTJVVnNOc3djSmZDZWc4S29UTUNXK0pIR3Nk?=
=?utf-8?B?QzU0bXNrUlpwSm5Pd2hTMnM3cUJadzV3YkFvSXJTWW1MQ2pzbEtITHZzQldT?=
=?utf-8?B?RU9jQXhGeE9pQmVhYWcwZkM3WTg2NnpNMVkzQzdXbWdFVGw1aFVQL2NGcldl?=
=?utf-8?B?Uno3SGFQZEovc1lVN3d2czIvemFwODhaVFFINGVqb2RoeEZmeU1Bd3l6SWRO?=
=?utf-8?B?bHBEVW1zSWZtdWhzdFVkV1ZidXFacVpsR29YQk1CNEJ6RnBWYThQeTNhanBV?=
=?utf-8?B?SStjWnJ4bTFkL2FKOTJHTWFFaklxaExGWHZoOTQwYzJscTlOc1hQSGROdXFq?=
=?utf-8?B?aXBJM3pMbHdPUnlmdnBYNjdCOHJiRXNyQ1NYaTh1cDlyOTBseFpmbkRabXB5?=
=?utf-8?B?aG03bUJGWVdUWXp1Uk9XdzVIT20xK0dSZHMzTGFTd3R5dFZ3Rlp6M0NrNTI1?=
=?utf-8?B?T0ZscmVKR2RjRnpzN2pDNUVtWGtaZEhZMnZydVZxaUxSeGZ0L0JrOTAveXI4?=
=?utf-8?B?WWYwdm5tcjFndlBDVUhHWmF3aEh3c2s4cDVYODBweFVucEY1aDc5YTNYTkpM?=
=?utf-8?B?UGhnb0hzK1BRTTdteXh3azhLN1ZCblpCSHRoL2hjb1psMXJLNUV6WTU3MWg1?=
=?utf-8?B?MFN0MnN1cldNUDVvSjF6b1NINHg3bTZSVWVlTXZyNHFTS3A5SWNBbWtRVUZp?=
=?utf-8?B?dWtEMTVucE9jUnMyZDZXV3hiVnBRKzhBY2xOQWRnQVdMYlVqSlN2djdpSlJr?=
=?utf-8?Q?5zHQd9?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY5PR12MB6526.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(38070700018)(41080700001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?dmhGbERHTHZPYUNjZ252cGZYdkx5T2hCK0NnYS9CZ2VtRXE4MDJzdnVCRnFZ?=
=?utf-8?B?MU9acHdtT0xFeW9aa2IyZmRBczJkSkpzdiswRWFWYklZc0dhdEdXVk9PSFJL?=
=?utf-8?B?QVNvaUhRVC9zTGN1RDFrSFdlakpHbHkwejQzTWxxR1NjS2FSeEdOSU1Fb1o5?=
=?utf-8?B?cnpVOEFzdHNicXh3SFc4NDRNbmZ0Mi8vUjhMUTNuUzNzUWk4dnc4bGJKeHVx?=
=?utf-8?B?QkVySFZxV0cvbXgvOUdrRlkvSzB1ckZGQkVGTGJaRU01bFRwaDQzckdGL1ly?=
=?utf-8?B?WlpReW5OcHpyUVBXY1FNakk1ZjhHVktubi8zNHhTNmxWNFlkTTcwYSs4QWRX?=
=?utf-8?B?V1BPVWpUY0R0ZHdLbEFyM213N2hMVWZlT3I2RFQ5MnY0dmsxd2c5VFRYSFY5?=
=?utf-8?B?bHg2ZHR4b0MzMEtpYjBSNXhUZWcxckpLSlNTVzJJSGV2eTljT0Z1anNSSHRP?=
=?utf-8?B?aHBYTlpaVmNCRW1HSzdkT1ZRRjdSY2ZDRWJqZFdxUUNlclltU3JrRnpQcWR5?=
=?utf-8?B?WmRXYWlETExiNGJ5d0w2eW9JeDcxTDF6V0lCbmRxSFI0WUR4Y0syRHJQcDMz?=
=?utf-8?B?MWFSV28rV1UzVU5GWUU0ZVJESERCODdEdS9PRW1aa2FWMGxnVkkrOW5CTVRj?=
=?utf-8?B?R0FsTGZaS2tWalAxaVZwLzdWRUo1TUw2VFpqRVV6ZVE4dzdsWVFIc0NwN1Z4?=
=?utf-8?B?K0dnTTNDbXlCblcydHYxbjRpUDVEMys2L3kwMmxBUjlDMHhCUE1zOGI5RlhY?=
=?utf-8?B?a3lwWElGem9XLzNQTys5eDAxUS9Xc2wzdG0vQUkvKzM5Rnp3Y3ZZYm1iTkw5?=
=?utf-8?B?enlMcmtGaHcxai9MREpDNDVZZlFMZnB6QlJqcGg3RDFCaHp1aThOb3JaYnpU?=
=?utf-8?B?Q3NLSjhrWElTMUgvczN2WDJZYjRYZEZ1WGgrWUdIZEZOazhHMENiVTJ5dG40?=
=?utf-8?B?SW9zbDVlWVVDMWgzTzlxYVV3WGFEWExGczErSDNTMHo5YmdIcUJnL1RSWDRo?=
=?utf-8?B?cVYyU0JYUWFPemRVTnpqU0w1UGNYd05iZTZuTHU1R3hIQUNZajJ2eENld1Vp?=
=?utf-8?B?U01lbjltQ2V6ZzNZbisxSDMvMlQxQzN4enh3Mkl2THB0T3kyVEd5azlzME5y?=
=?utf-8?B?N1F2WWNZaVpRdzQrUDEwZVdXN205RWZobWhrck1sbSsrc3M0ekpBUUNDOUoy?=
=?utf-8?B?NTExVlZHYThkeGo1MW8rQVpncmJsckU5ZkpuZUFqeE5wSS94bTNaa01PUmt1?=
=?utf-8?B?L0ZnWGdOdzBsenkxYlhpdkhGUmV2Vm1CRUNNNnM0TUpYQzN0dE1DVmk4dGMz?=
=?utf-8?B?TTBkNlFXV0VucmtxVnR1aXh0RzJtQXpNYlBmcGNUZWdiM2poaXVqdnZYdTNT?=
=?utf-8?B?RzlDZVE4QWNrWVdUNStobzNGbFdySGo1aFVJWno5MWF2bXBVSExVLzZRb2lF?=
=?utf-8?B?TGdXY0xTSTJid0NRUFRxZnNDME5XbERkWE1TZGtwTXMvTE5yRjNDckpGZ3lX?=
=?utf-8?B?QTJydXlYTmNWKy96eDU0Nncrb2hvdUNuYjBkUW1USjA5ZnNSV04yeGJpVVhJ?=
=?utf-8?B?dnVKSU9Bc0hYSjAzMERhYmREcHJ0djNnb0FLc005cDVydE5McldHOTRnSjRu?=
=?utf-8?B?bWkweTVCb1JidkxBNFZjSHZOdFdMazZFR2p2R3pCcWl3dDVML0x6TGxJK1I4?=
=?utf-8?B?NTZaTkV4dHlwelNBL29JVTErcEtjTVowOFM5SkxqRVM5NXdTeHFhdXhOQ2dV?=
=?utf-8?B?dDlOVGNJYThyWjJwMmMrSU80UytXNUx6RkZrb1lrMU1VSFU3OGx6ZTBzLzhm?=
=?utf-8?B?OThHbVR4OFRiQWpSTDVlcUJPQ2p3TXNmZHoxMjVTRGdwMGo3QnNiMGYwWXJl?=
=?utf-8?B?dm9nL3NRcmcxTThxaFZPeVpGM21aQWlOZzl6aGp5S3piMTQxcFZuVktpNGVm?=
=?utf-8?B?d0J2S3Y2dGtEdVVqR1ZGcm81STdKMzRoMTBLdWo1M3VxSkY1Z2M0bVVjbUI0?=
=?utf-8?B?Wk9Dc2x1SjN1NndzL0lnbkp0QW1abFZxNkRYdkFISHliT0RCQXNPRHNFeVdX?=
=?utf-8?B?NXRmNUJJQnpVT3oyQnFZWTU4bTcrS0ROTm5PcTdvdUl1SE4vQW5BUmU2a1p6?=
=?utf-8?Q?CEzU9DX9moKzK3if5ueSMWsmF?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <23C8703E64CC504CAF643CB14160BC6F@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CY5PR12MB6526.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc1ecda1-f8ed-47bf-89a1-08dda3b8d4d2
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 22:40:39.6223
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: LD+xNNtdKJK3Lhhoesuhm+hFu/j5IzbmreDqWCZ7QDdp4SD1cBT7o9EKC611iFJewQfJ+nfwrl/o6EgjmKszNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9410
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCAyMDI1LTA2LTA0IGF0IDE1OjE2IC0wNzAwLCBKYWNvYiBLZWxsZXIgd3JvdGU6DQo+
IEZhaXIgZW5vdWdoLiBBbm90aGVyIGFsdGVybmF0aXZlIHdoaWNoIHNhdmVzIHRoZSBzdGFjayBh
bmQgbWFjcm8gd291bGQNCj4gYmUgdG8gYWRkIGEgbmV3IHZlcnNpb24gb2YgYmFja2xpZ2h0X3Jl
Z2lzdGVyX2RldmljZSB3aGljaCBjYW4gcGFzcyB0aGUNCj4gaW50ZWdlciBudW1iZXIgaXRzZWxm
IGludG8gZGV2X3NldF9uYW1lLCBidXQgdGhhdHMgcHJvYmFibHkgbm90IHdvcnRoDQo+IHRoZSBj
aHVybiBlaXRoZXIuIChDdXJyZW50bHkgd2Ugc25wcmludGYgaW50byBhIGJ1ZmZlciBhbmQgdGhl
biBhZ2Fpbg0KPiBjb3B5IHRoYXQgYWdhaW4gaW50byB0aGUgZGV2aWNlIG5hbWUuLi4pDQoNCklm
IHlvdSByZWFsbHkgd2FudGVkIHRvIGF2b2lkIHN0YWNrIHNwYWNlLCB5b3UgY291bGQgYWRkIGJh
Y2tsaXN0X25hbWVbMjRdIHRvICdzdHJ1Y3QNCm5vdXZlYXVfYmFja2xpZ2h0Jy4gIA0KDQo=


Return-Path: <linux-kernel+bounces-673845-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 900BC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:41:25 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8DC7A3A95B0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:41:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D4FC2226D0F;
Wed, 4 Jun 2025 22:41:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="UlSZAMAN"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B53F81F4168
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:41:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.19
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076879; cv=fail; b=TIeyou7Q9xw1jOO7tictukkJ0jM34fIqiTHyiWarCppqs2C+1ZxLrFvhxnpZ8ncFMoFt0sl+Zwq5zYX/g8/fG5jL9XXwU/1IoK9nKVr4y95vIqHdBTgqRFJKUNxROFvElkIqV16t8MisQGa2tFYOCrdP2jwHmphBFSualPqUdFQ=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076879; c=relaxed/simple;
bh=GAAi+0/qGXlzcWIdob+ILTydq/d0ViDyiTfCGGYmLZY=;
h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To:
Content-Type:MIME-Version; b=kXUlS0pj1vhwx4CRHqjLd6Vi/GgAY5JtdNc4mdgVLF7ZBgv6DkbDuG67LdEht44lhNIv0jy4qa4NMOPpkfGaisYDkUUXZ2lbDxQDvJ+Z2hB1JFSs7P22lqesaKax2lYWS3zOC4m86HM2k8hQJcW/iGPD14hrCek3YLevvax/hDo=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=UlSZAMAN; arc=fail smtp.client-ip=192.198.163.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749076877; x=1780612877;
h=message-id:date:subject:to:cc:references:from:
in-reply-to:content-transfer-encoding:mime-version;
bh=GAAi+0/qGXlzcWIdob+ILTydq/d0ViDyiTfCGGYmLZY=;
b=UlSZAMANA1XwWlJGygqExP6SpStuCf0U8RkkT3ohPpXb3eofH1L4RfDw
Wg+iTyxS9lVJwZAkJoCuZYDpPcRNLRif4NzgtKyEN2ILG47y9iTEo0gBz
ux65FIqU5mJFcBaPElegqxUU9WTYfte+uPJmxR1g6IYiLr8CFKkjge8Ey
E62iBneEGXQ7OhMK+OFH8J/4MDSof3boaC8E82mCnKTQttwtA9722z+46
Prgt4OuoBVQ2gRIr1XmYgPR4dUK53GnONF6S8oVdf2KSRBbsYu/d88nsJ
haTsm280ZVnyRZFilQgJD22UcwT0aDVOmhNZAVr6p57kmPmtolOkShjEC
g==;
X-CSE-ConnectionGUID: /+Q6tUNPSta/4I1Kt9aV+w==
X-CSE-MsgGUID: l9JCMHH4SxqCPpI92+5APA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="50294109"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="50294109"
Received: from fmviesa005.fm.intel.com ([10.60.135.145])
by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:41:14 -0700
X-CSE-ConnectionGUID: 4uLMUe0kRW6gTIT4BDj4tg==
X-CSE-MsgGUID: awRxfRgLTayFt0mCEYWKAA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150196063"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by fmviesa005.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:41:12 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 15:41:11 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 15:41:11 -0700
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (40.107.92.72) by
edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 15:41:11 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=W3vlEfpfa+x3a8YuPH79o9+T+GzFdLVdoBxSAEAqpX8vZely2ajq2yJRmfRXYJUhu+q/HJH5qMEfozQhtWHZGAVeTQR9GZkNJUsGLkZ1H+qkqT2lN5yrSPBffjm1MQTlYAGbdehxa3Qggj0sJrF0is3UphSNV6sPySJNtXwEDxQ3mOZCav9ocoZCaC3NfZbvcY789w5G1wRQbDcHBbZ0s+RPd1kYffasQbr3cknri/NGFOMGoiwU2t53qBNJQwpPjiDyxMkKU7GdSL1uxHWrQwxp6q9/tD/Uhk+pqL/9XVBHCgcKMktjsdweLR1wldDLTjwOsPOp3N1yRdfVdecSJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=UfWBaPHEHKGFC4PfVNWLltR30ofeEX2GcdO269FTtIY=;
b=LYhMPEmASaWpsP4HHsvCdCxOvi5/dF7BbozIIvljhBTJsJvY9zDkUm15QKzh6huwXvQwOrILte6ppt0mM8Mu81I4X1hO0pMX1I3F0KkDzJGrGvrrAsEoQ2RVjId6xL9Xq70m5Vse5T2eb5CECzV6R7ShiuD/0uwS2LwDwhiwCjOAtOkqamx6NzgJTmD2ToHPGlNUyDJZhc5nhmgGdsCEEtWM6wdM7LjSGOy8UCsQ+zIEpM8P2Z4pwWkDIGwCqgICqFIJDbJ14ZX4OCWqpinSZLfmKltpk8JcW/LiWeI7uOtqL69STkPPjpjEOIZ+SbCCtd40s2ab2T/4uLZblOm2fA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from CY8PR11MB6818.namprd11.prod.outlook.com (2603:10b6:930:62::19)
by IA1PR11MB6146.namprd11.prod.outlook.com (2603:10b6:208:3ee::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Wed, 4 Jun
2025 22:41:08 +0000
Received: from CY8PR11MB6818.namprd11.prod.outlook.com
([fe80::48a1:723f:54ed:a6d6]) by CY8PR11MB6818.namprd11.prod.outlook.com
([fe80::48a1:723f:54ed:a6d6%7]) with mapi id 15.20.8813.018; Wed, 4 Jun 2025
22:41:08 +0000
Message-ID: <2953c1ec-cd92-490e-9b7a-04b10fb98e14@xxxxxxxxx>
Date: Wed, 4 Jun 2025 15:41:07 -0700
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/4 UPDATED] x86,fs/resctrl: Consolidate monitor event
descriptions
To: Reinette Chatre <reinette.chatre@xxxxxxxxx>, Tony Luck
<tony.luck@xxxxxxxxx>, Babu Moger <babu.moger@xxxxxxx>
CC: Fenghua Yu <fenghuay@xxxxxxxxxx>, Maciej Wieczor-Retman
<maciej.wieczor-retman@xxxxxxxxx>, Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>, Drew Fustini <dfustini@xxxxxxxxxxxx>,
"Dave Martin" <Dave.Martin@xxxxxxx>, Chen Yu <yu.c.chen@xxxxxxxxx>,
<x86@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <patches@xxxxxxxxxxxxxxx>
References: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
<20250604212208.49080-2-tony.luck@xxxxxxxxx>
<bb7badd8-dddf-41f3-b509-42cdd4539fbd@xxxxxxxxx>
<9e8c9810-1b5c-4e30-8b10-c3702810b529@xxxxxxxxx>
Content-Language: en-US
From: "Keshavamurthy, Anil S" <anil.s.keshavamurthy@xxxxxxxxx>
In-Reply-To: <9e8c9810-1b5c-4e30-8b10-c3702810b529@xxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BY5PR04CA0021.namprd04.prod.outlook.com
(2603:10b6:a03:1d0::31) To CY8PR11MB6818.namprd11.prod.outlook.com
(2603:10b6:930:62::19)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY8PR11MB6818:EE_|IA1PR11MB6146:EE_
X-MS-Office365-Filtering-Correlation-Id: b676a237-db44-4003-7a50-08dda3b8e5f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?UVcxK2NXeDNTQ3dBWmVyU09BTWdla3BHQnJqNHJkcVMwRlI0L2ZhR25BdkE0?=
=?utf-8?B?S0MwazZUWGQwbGh2bXpkYWE5bUhhSzZJN3ovMmZDVzVIbFVsVXFrc0hKWW4r?=
=?utf-8?B?d2dxS1U1SzdTS1pXQys0MGtTRVBkOXZnWWE5SjB2QWR4bHZIci83bjNROGRR?=
=?utf-8?B?MHY1aVF2akRiYldZeUF6U2pTMGVzWklkcXJvNmxBYUFCZmVXaTZYVE80NmpZ?=
=?utf-8?B?TnpoUHdDMzl2RW9mS0JtSCtsOGVRQm9mSERQamQ0bU5Jb3hMcjNmaG9PU1lP?=
=?utf-8?B?NXRmUy9xZG9XQTBVSHdkNlZBRE9SNmwrRFUvcXAwa1N0V1l5enEwWnJITjND?=
=?utf-8?B?ZnllWXUwWWFUSnJpTmRpVStYOGIzdlVxSGdKOHV4eFdwSEpSZmx3cEdFaG5N?=
=?utf-8?B?cWorNFBRdTh5WG1rcGQrbFlzcFB2L2NZNTBjNFlGMVZ6WnlaZHJBdzJJMTFS?=
=?utf-8?B?MUNGb2lQdTRIanhyRFB5SjZiK3pialFZZGUxWmFtTDY0bndCbkhTd0l0Ty9R?=
=?utf-8?B?d2FoSFRPUUVXWG5FN3VRdHYrRitLeWtXSUZjdWhoWGZZR1FvWGtnNVNDS0hp?=
=?utf-8?B?eGUzUzM0bmRQeS82N1BKWkFDdFAxMHZSMGlGc2cwZmFLQ08zZG0wZTlkeWx0?=
=?utf-8?B?SWhBdkJtOXJycUJqTjlsM05ha0sxajAyMXMzakRyamFxeWgvd0xMb1F2MFJj?=
=?utf-8?B?REpsdDZRUlgrMXBIWWwzc1FxNHh5ODMwMU9oMTh3SDFvT1E1bC9LUnFldmlK?=
=?utf-8?B?WUd5eWJRMEtwOHl6cHpWTTJBLzFqcU5mWXdWaUEydzB1U2REeUNqdTBCN2R6?=
=?utf-8?B?T09ZWnVBS2NjWjBqUHh6Mlk4d3lWZCthWWthcmxST1VvbmErRGpVb3prTEdv?=
=?utf-8?B?NTI1c3JJZFQ5WjVrNUg2c1BRejNtb3RvK0s2ZStxb0pTeTVhWk9pOFA3U0M4?=
=?utf-8?B?YmRWd2FLMCtsdnErUTRTTExZT20wQU45MHNuRjlQYlB3Qjc5dHErOE9OWStC?=
=?utf-8?B?R3hoUmVIbjRmMkp6S3lkTVF5ODZYVUNzRmY1UDB4TU9HMkNRdm5iazVsYWd2?=
=?utf-8?B?OHBlLy9oUG56Ulp0OU4wQ3Rjb213SjFPK1hLK2RMaHp2ZVRUcE1Ga1Jlc0h1?=
=?utf-8?B?QmxXYVYxOURoSWc0eTNiUUhUR0NMb05Nbi93TDAvY1FacW9qamxiRWlLUFpJ?=
=?utf-8?B?OG9lVUJSeVN0ZXd5ZXQ2QVhtaElVbXJSSnJWL2lGN1RIaHBsNEIvSTN3Z0VS?=
=?utf-8?B?N05mTHhna2Z5cVlNaXRoQzA4NkVSaVY0dDEzZ1ZyMnNDbmFweVdLb0NWaTRw?=
=?utf-8?B?TWNkTjMrWmgwVmdtbjlXZ0szQ2IxNHdEV09oOTJ0dG1uZFY3WitNOXFJeHJP?=
=?utf-8?B?TFd6Q1luZ0NyenJlaVNtQys1S3JoS1VHM3ovcTh1UzRBak9jR0tHbHE4cytF?=
=?utf-8?B?RWZuZm1KTUhjQTgxcS9SdVYyY0NueHovU0J1TmNyOTAvcWVoN3R4RkZjQ2tw?=
=?utf-8?B?bmEweDA5OFRlWjJNYVk4amd5WENtYjQrUXJOSnRGU0FwNUEzeWNqOVVseFRI?=
=?utf-8?B?ZjVLdnlzSGFHbzNVZjRSUzdoLzFUbmZGREFGR1pHOXdaa2kwZ1hDNys3OW16?=
=?utf-8?B?bCs5OVIvMk5UemRRVFAxUlhVd1ZXUkZyaVE0aUdQcTdWeXk5Z2t1QkRQRVVy?=
=?utf-8?B?NHJMZVQ4YVBRSmg0NFVQQitXVmhqd1h0elpuLzYxeDNVTmtiTUhQbXE5d2ow?=
=?utf-8?B?bm93TDBaTWJsYWg4NXlUbXdqTjg0Smx0em1ybkRnT3JXb0xuV1hxckhtdXBl?=
=?utf-8?B?Y2xUd3pFeWlsK3NCM3RSbzE4Qi9rMFNUcXAvWDJ3b1FOMlZOMjRwR0RlL3ZR?=
=?utf-8?B?Y2hwSVNTMXI0blNweXZXTmF3dVpyTzQyZEF1UEdaUXNLZHVqWG1Pc1lwR2hu?=
=?utf-8?Q?hfhpZX72l50=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR11MB6818.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ajBKUEdaMVRiblRFSER2dXJCM1V6RVo1OUJCK1A0anM4RUZXZk1VVXZBUTRK?=
=?utf-8?B?QXc2TnVEeDd4aWc3ZFVuelUzYTJqcnBnbk9ZbDNFWlZISlpia0dVYXpDWENz?=
=?utf-8?B?bFg5YUZERy94aXI3UVpMS0t3WCtmckFjVk1INmlRN3BQb0diYjNiWWZieGtZ?=
=?utf-8?B?VzI1ODMyQnl5bGVKbCt3WVBlT2czSXR2b283NUFqT0IwQ0EvSjkzczlCRmZK?=
=?utf-8?B?K013QTQ3czZQQ2paTEhsR1ZreGdJRW9uUm9kQU9XbEFOeUFJOUphdTA1YlZF?=
=?utf-8?B?T1BQNjBHMFJRdkxXdWduTU5keWRpUjUvZVNMSENFYURIdjdZU3ZndHMzbm14?=
=?utf-8?B?VCt2djMwMEcwQkVjTVUzNThLVE1pcEZCYnFQclQyQVdXNFpyS1pabWhZa3dO?=
=?utf-8?B?dkRuR0Y2bVExSEp0ODNWcS83cjJ0OUVQOXVJSUZBZ0lKdUphVDRWKzhVTGZO?=
=?utf-8?B?QlFCZEZtdFRQWS96REYxM1BrZExVaHZaSzh0UU1kZXJiZFNVelRPcFlFMlhO?=
=?utf-8?B?Q0Y5dmRob0JVaThWVWZnRDZHbTRpT2hGSDZVL0cvb1lTaWNYYklXQXI4Qm5B?=
=?utf-8?B?N29RaWFGSHA0YVNFNE1panZITmlZU2dsZ0g5SzhGU3U2VGZyS1JJVVhhaUFp?=
=?utf-8?B?Z25FRG81MVJCQkFNMm8zNjdpOXlCc3ZKMGNHajNZS3o5dVAzcXN2WUZlZGtz?=
=?utf-8?B?V3R4RzNHeFNLVCtlekxpbHpvVEcyV0pTbER6bE84UUI0R1l0c3J1Nk1pOUhi?=
=?utf-8?B?SWxScDdQNDJ5Q1ZqbmQ0OWRsVVR6dGwxNWpOelV3MC9mUW4wcXZYQXhRZ3lp?=
=?utf-8?B?UFA3SjJBY2JLQjF4dmJPR2QxVE9kVk1yVzMxR2Q5US9VL3lyVWpPUUo3eW54?=
=?utf-8?B?bDlvMWkya1BrTTgwS240eWhoYjFuSjlHVDlxMGh2cDlCbmdPYTltWmxWOXpP?=
=?utf-8?B?N2h6dHlDVWhYek9Ldktzck9McnZHL3RxeUZOODdpZHh6VmJxNFhNY3hxYk00?=
=?utf-8?B?bnc1N3VvZjEwKy9XUGppaHFBNDBBSDN0SDh6VENlSUpicXhhSTMrZkgybkNY?=
=?utf-8?B?US9ManNXNjZDT2JuS3lrdmFEZzZjTjU3VEw0aUpGWGNkT0lxQU1WQXU2UmlZ?=
=?utf-8?B?Yi85d05wSHdJYnRuRnFTTnBhOUxmaFZkVVo1K2hjOTZ5T29CNU9yeDVwYStD?=
=?utf-8?B?RWxBUGFDMmxuaHJQK3FBS0hlUWE5dkE1a1dFS04xKzhrejNrQ3FZU1JxaVZi?=
=?utf-8?B?aWFBV2tQY0ZXMVNPRlQyQmZwcWJoQ1dlbm43azFNV3lNdWRuQ21vMlJpSWZv?=
=?utf-8?B?VGszUCtOQmQ2SlpiNG0zaW0vSXpycGNsZ29rcG5meUhVZFlFQnJqN204WlAw?=
=?utf-8?B?d0p1QjduQ20yazlYWlFiZHorWkJFOGNkenIwa2lBYkRkbXYxNndXTHVXVGcw?=
=?utf-8?B?SFlKYVNjNkxXT2dnSk1JN0F1S0tnbUM1RnlBMnRNUnc2ZzZ3djF1dmlzTnlI?=
=?utf-8?B?VW0zbkZWR29EZTlFV2RoMUJFWkJCVFZLRjlUK3l3MFR5MG9lUnZldXY3dGxM?=
=?utf-8?B?OUUybXZ2WmI2UHp5bHd3bm1aaVhJU1hjQitLSWduVTZZdGpSNkRRUFpDbDNj?=
=?utf-8?B?TlNKbWh5ZzQ2RnJzWVNZcmpoUXVnUzdxM3pucUI4TE9rNFhWck1kb2M1cXl0?=
=?utf-8?B?WS9Fb0pudm9ZK01LejdhWDU2TWRqekw5bmRpNllyOG1MWWRhV0RmTzJMZGIr?=
=?utf-8?B?STQ0R2tBL1NtTUxTU2ZmKzlMRGhQdzFDWTRNUzV6eURDZnZsNUN5UnFWZGxi?=
=?utf-8?B?dVNYdEFUV3RPSjdXMThMSDM3OHBmQkxSSm1SVG52c2gzTlNkajFDUGFydHJa?=
=?utf-8?B?RVp0Z0kxeVpkTm5mdWVISnRSQnozZEJXUExWTENrM1BTbC9KWFFHMG9MNUo0?=
=?utf-8?B?eDhRSlRwQmtuSTN4L2I0VUtCVHY0VEVieHVDcy9tOEhjMUx3aFE2OHBYR0pV?=
=?utf-8?B?MVZnZWhlUTdzK1JKRU5rL09GYlhVZW9aZzJ0dFl1NmgzaXI5Wm5yOTZ0dUZF?=
=?utf-8?B?V2VxSDF6MEJwSU9ET2NUb29nVUVnU2h6SDVXYmcyVWUzR3RRVEMzVnVkL1p6?=
=?utf-8?B?c3p2bWU1MkVSMUIxQi9YY2Z0NS9SbkEwQmMvazMzMTFhUU5xTzc0c3A5UHdy?=
=?utf-8?Q?UoKj1dXP9ONEcpS3daecPUo=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: b676a237-db44-4003-7a50-08dda3b8e5f6
X-MS-Exchange-CrossTenant-AuthSource: CY8PR11MB6818.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:41:08.6438
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Y3h4J/X6Rt6Tn7s9SnlkJLFZ81GkClJDvv/y81XquRvLHqeBdSvLabZprPiw02MZ1/aiWELhd3uxw9yZv7vDfusv+Bqt1OJCvUy1149pFo0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB6146
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


On 6/4/2025 3:30 PM, Reinette Chatre wrote:
> Hi Anil,
>
> On 6/4/25 3:21 PM, Keshavamurthy, Anil S wrote:
>> On 6/4/2025 2:22 PM, Tony Luck wrote:
> ...
>
>>> diff --git a/fs/resctrl/internal.h b/fs/resctrl/internal.h
>>> index 9a8cf6f11151..71963255ad36 100644
>>> --- a/fs/resctrl/internal.h
>>> +++ b/fs/resctrl/internal.h
>>> @@ -52,19 +52,26 @@ static inline struct rdt_fs_context *rdt_fc2context(struct fs_context *fc)
>>>   }
>>>     /**
>>> - * struct mon_evt - Entry in the event list of a resource
>>> + * struct mon_evt - Description of a monitor event
>>>    * @evtid:        event id
>>> + * @rid:        index of the resource for this event
>>>    * @name:        name of the event
>>>    * @configurable:    true if the event is configurable
>>> - * @list:        entry in &rdt_resource->evt_list
>>> + * @enabled:        true if the event is enabled
>>>    */
>>>   struct mon_evt {
>>>       enum resctrl_event_id    evtid;
>>> +    enum resctrl_res_level    rid;
>>>       char            *name;
>>>       bool            configurable;
>>> -    struct list_head    list;
>>> +    bool            enabled;
>>>   };
>>>   +extern struct mon_evt mon_event_all[QOS_NUM_EVENTS];
>>> +
>>> +#define for_each_mon_event(mevt) for (mevt = &mon_event_all[QOS_FIRST_EVENT];    \
>>> +                      mevt < &mon_event_all[QOS_NUM_EVENTS]; mevt++)
>>> +
>>>   /**
>>>    * struct mon_data - Monitoring details for each event file.
>>>    * @list:            Member of the global @mon_data_kn_priv_list list.
> ...
>
>>> diff --git a/fs/resctrl/monitor.c b/fs/resctrl/monitor.c
>>> index bde2801289d3..90093e54a279 100644
>>> --- a/fs/resctrl/monitor.c
>>> +++ b/fs/resctrl/monitor.c
>>> @@ -842,38 +842,39 @@ static void dom_data_exit(struct rdt_resource *r)
>>>       mutex_unlock(&rdtgroup_mutex);
>>>   }
>>>   -static struct mon_evt llc_occupancy_event = {
>>> -    .name        = "llc_occupancy",
>>> -    .evtid        = QOS_L3_OCCUP_EVENT_ID,
>>> -};
>>> -
>>> -static struct mon_evt mbm_total_event = {
>>> -    .name        = "mbm_total_bytes",
>>> -    .evtid        = QOS_L3_MBM_TOTAL_EVENT_ID,
>>> -};
>>> -
>>> -static struct mon_evt mbm_local_event = {
>>> -    .name        = "mbm_local_bytes",
>>> -    .evtid        = QOS_L3_MBM_LOCAL_EVENT_ID,
>>> -};
>>> -
>>>   /*
>>> - * Initialize the event list for the resource.
>>> - *
>>> - * Note that MBM events are also part of RDT_RESOURCE_L3 resource
>>> - * because as per the SDM the total and local memory bandwidth
>>> - * are enumerated as part of L3 monitoring.
>>> + * All available events. Architecture code marks the ones that
>>> + * are supported by a system using resctrl_enable_mon_event()
>>> + * to set .enabled.
>>>    */
>>> -static void l3_mon_evt_init(struct rdt_resource *r)
>>> +struct mon_evt mon_event_all[QOS_NUM_EVENTS] = {
>>> +    [QOS_L3_OCCUP_EVENT_ID] = {
>>> +        .name    = "llc_occupancy",
>>> +        .evtid    = QOS_L3_OCCUP_EVENT_ID,
>>> +        .rid    = RDT_RESOURCE_L3,
>>> +    },
>>> +    [QOS_L3_MBM_TOTAL_EVENT_ID] = {
>>> +        .name    = "mbm_total_bytes",
>>> +        .evtid    = QOS_L3_MBM_TOTAL_EVENT_ID,
>>> +        .rid    = RDT_RESOURCE_L3,
>>> +    },
>>> +    [QOS_L3_MBM_LOCAL_EVENT_ID] = {
>>> +        .name    = "mbm_local_bytes",
>>> +        .evtid    = QOS_L3_MBM_LOCAL_EVENT_ID,
>>> +        .rid    = RDT_RESOURCE_L3,
>>> +    },
>>> +};
>> As we start adding many more events to this struct(including region aware specific events), this this becomes too stressful on the eyes to read.....can you consider simplifying this with #define something like below in your next version? NOTE: For the feature that I am adding along with Chen Yu, we started to define a macro as shown below.
>>
>> #define MON_EVENT(_id, _name, _res) \
>>     [_id] = {                      \
>>         .name  = _name,           \
>>         .evtid = _id,             \
>>         .rid   = _res,            \
>>     }
>>
>> Above #define can to into include/linux/resctrl_types.h file and the above code reduces to using MON_EVENT as shown below.
> Any reason why the events need to leak outside resctrl fs? At the moment it is kept
> inside resctrl fs with helpers for only those properties (not descriptions!) that
> can/should be set by archs. Enabling arch full control of the event is not ideal
> since many of the properties are required to be the same across all archs and
> dictate the user interface that is ABI.
>
> Reinette

Sorry, I just picked a random header file there....ignore that part but
my real suggestion was to reduce the lines when declaring "struct
mon_evt mon_event_all[]" with above #define so more events can fit in
one screen when viewing the code.



Return-Path: <linux-kernel+bounces-673846-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CAE9C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:43:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 701361899D81
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:43:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8BF9E225A34;
Wed, 4 Jun 2025 22:42:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=zytor.com header.i=@zytor.com header.b="l8OmQlrs"
Received: from mail.zytor.com (terminus.zytor.com [198.137.202.136])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 631611F4168
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:42:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.136
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749076978; cv=none; b=s2jjOGkPKEpOo/aeK3MVe/VoGTd6z4KY4+um9Oon265RJrTIChrQVsfmrBWDIYOeL8LUKYY+pPGOs5AdBm1kio5dM9JHCzEZGziwiGUwATw/axUSNek4+65Q+cZu8xdnIUIPIbSNAy39Mm8//ixeJdY9tdhETd1zJ//HAoZd26M=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749076978; c=relaxed/simple;
bh=rMVLIYUJTZMmmv1LowNwLpFsZ0PErqcNHIAoZznFWH0=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=m+0BxNTo02zuwHLIgPG5wEV8MRlimPMbWvkW4z91CmA3Xcv4Ccp9wv1dhTXXLYnY9KBovQcoz33RU4C3dnpIaWXHG++YrvLSRAaI6FD4ACKi2+2hEGPX8N5rCrRujpQBNooor0fjjWHRvCX8CExmpQ5e6SuVnKlBYFQS3ItMcYs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zytor.com; spf=pass smtp.mailfrom=zytor.com; dkim=pass (2048-bit key) header.d=zytor.com header.i=@zytor.com header.b=l8OmQlrs; arc=none smtp.client-ip=198.137.202.136
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zytor.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zytor.com
Received: from [IPV6:2601:646:8081:9482:7a24:4997:8aee:1bc9] ([IPv6:2601:646:8081:9482:7a24:4997:8aee:1bc9])
(authenticated bits=0)
by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 554MgVF0207604
(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
Wed, 4 Jun 2025 15:42:31 -0700
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 554MgVF0207604
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
s=2025052101; t=1749076952;
bh=Pmweby9BKnrTj3+/yRYtoyGaSnJqLt75ZCHvxakfouI=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=l8OmQlrsjgIV/bVT21nEmNTN3wUm76mz2yS6qPMflK/GhAPu3R3iAzf+fcC5Z7od6
/XxchwvgQ0u016entEOXR2bTesvQ/HokONubuQKhexwfH8sJPal0YGu11Iw+IoYqrq
kQLXcBwW1OanWAhfKLWH3h1+FwKhYrL2qQZOF9M6lpmG+6qrm12EBWaEAgW3DQTlZS
Q9QhAD7U1deCHQjbPJGQF+qvb/ifNS83h3Ux6mqzJ6xik5BofFpRk8HKTkrwNIjyi/
kuupr95B5ok4kOGYKpx2O71bvhVULroIm3ey+HzILxSrp0NrGeLPBRmj39/y57TtyK
yEnHprm19RgxQ==
Message-ID: <69118db9-4394-4c65-b53a-084dca917f14@xxxxxxxxx>
Date: Wed, 4 Jun 2025 15:42:26 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/kerrnel/FPU: clear MP bit of cr0
To: Khalid Ali <khaliidcaliy@xxxxxxxxx>, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx,
bp@xxxxxxxxx, dave.hansen@xxxxxxxxxxxxxxx
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250526082414.689-1-khaliidcaliy@xxxxxxxxx>
Content-Language: en-US
From: "H. Peter Anvin" <hpa@xxxxxxxxx>
In-Reply-To: <20250526082414.689-1-khaliidcaliy@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 2025-05-26 01:22, Khalid Ali wrote:
> From: Khalid Ali <khaliidcaliy@xxxxxxxxx>
>
> Clear MP bit when initializing x87 FPU, since what it does
> is making WAIT/FWAIT instructions to react to setting of TS flag.
> Right now TS bit is cleared so MP should be cleared, as it is not
> needed. This should set the bit in defined state.
>
> Signed-off-by: Khalid Ali <khaliidcaliy@xxxxxxxxx>

Note also that we DO initialize all bits of CR0 elsewhere in the code
(head_32.S and head_64.S) to:

#define CR0_STATE (X86_CR0_PE | X86_CR0_MP | X86_CR0_ET | \
X86_CR0_NE | X86_CR0_WP | X86_CR0_AM | \
X86_CR0_PG)

So it is currently defined; this patch would actually *introduce* a bug.

It is a bit confusing to have the bits initialized in different places,
so I would agree with setting it explicitly, even if it is redundant.

-hpa



Return-Path: <linux-kernel+bounces-673847-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 234DA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:46:37 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 2F8CB1899FA3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:46:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5774816F8E9;
Wed, 4 Jun 2025 22:46:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="EXlSsN8i"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A6CAD2C3272
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:46:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.19
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077189; cv=fail; b=HsCscuoNAwLaAL+pORrxokt3FkBpNBZieBmVqbHmcY7v5wFHXw8bUMyRyOAEFGhu4IP2vaw0PiaBWAXs96C+fHWwHhdYyVxeP2ODmFVPTEHQRqIZc0sKddJeN/GkXGULhrVd3MGDlN4ZuNCu/86dofJlgXJqfOhbFI6NkP+8p5E=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077189; c=relaxed/simple;
bh=P9h9eaP+boa20ehXlIG7vMhrQNq3+LgIVIiyzN3bnt8=;
h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To:
Content-Type:MIME-Version; b=RPuADvapA+q7h6m9YYktedjLmaGgdH5s+noKtNnti8/32uhVOUo6Fsy/a+Q1pZYHsTRFHOyNnz/HHziAs3cFNtcH3plbtefT6pzjtrQEeq4o9hW6CrkXOXuBwZpdg49GKJGfmFGm3qEl/GVVJZI8KZ5SjxKjjDdsjrUKJAV9FcM=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=EXlSsN8i; arc=fail smtp.client-ip=192.198.163.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749077188; x=1780613188;
h=message-id:date:subject:to:cc:references:from:
in-reply-to:content-transfer-encoding:mime-version;
bh=P9h9eaP+boa20ehXlIG7vMhrQNq3+LgIVIiyzN3bnt8=;
b=EXlSsN8ibDklGv2nrGwO19T/s9lo9fLB0LhDiOsQzjXyGbjrR48VPprD
wqYwirRhRqRo9Mg/uDAYUOoT2zKbAZYPZbuWSTlKM+zReXILrvo2/DiEf
7vH60Ytk3k7bHJ7KLKj86viarFOZLDWtxW2T4QUXG5zVKiSkPMZRMI5VV
b4DNzn4RTRTsfXoBX5zEb8oh2f1pmZvLSiCKArrnGOuruiQLZ82nq/FCF
Y1I9NMhJEssX7xTkEof0Z2uv6m8/P8BJ6Y5/bYA1ZkR9LRUVMZOWRNsWm
5QKAY0oTLg0gll19Z9rOlWZE/VZ7zndqZau3H9d9cGNU38PAg7MZibx1s
g==;
X-CSE-ConnectionGUID: xbVLNfo4SfiYh11T9J4skQ==
X-CSE-MsgGUID: oQlMV+4kR/inHjqjL9wWHw==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="50294773"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="50294773"
Received: from fmviesa005.fm.intel.com ([10.60.135.145])
by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:46:27 -0700
X-CSE-ConnectionGUID: zH/3HMDdSfm2giZ8onDfcA==
X-CSE-MsgGUID: a4S2TN/6Tw2XFve+6kkHmA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150197957"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by fmviesa005.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:46:26 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 15:46:26 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 15:46:26 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (40.107.94.63) by
edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 15:46:25 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=u2qKsyYwoJvtdZSGjvn+AhWN9llxp2hfSEfym6peBatzSzKkiiL8IIgcfqsNPdXvy1H4qsabnga7M5ZI/GgGbnfuyVYIIyq4IGkfIDIER6hwr4Mtn1lQqu0hVS0Q9TfCMqarDMc698O+mh8UQIqnFVJFKCJV8GR/gJp9nwfikijO+3NwdVvmlMaiwWh65gfqztwbPn4X+rDFmsCS2eHzPopphscxdWPAAGSKJc/W+S/pQogv3In6vRrmDH9OadbaWJSqxbK3YeQD3sKHwj78MDJouWEMvH2b1f8/rJMKNu9upxKXqcOCfESCmc7n1Ouw85pfw7UUNanOkh51KgA+2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=K/MudfHu3eR10s/clfEhPQvllUNYSj2WurhTjWCc7Vo=;
b=Dv55Ef4p5BquRDyVeCHqQoKfsxlENBvA/EH3g2tINc7vl24scH0EhFH8vKRIgfrqnYVD/i6ck1gyLQL5uIvaGL43x+gdaAOQzUpooHPwpJt7RWjb7ObVfCBrAimK56MkBJ7rqRd5p8693qG4InNaT3pFiTYmpN3le1iOif0CThhvPPPhzUadTOuRFcTaLBMAkhJj863eCiM/GWwXTyrteMj2dQlVd+YgOLfMGmeCFaTPNQyKTr9XnGrhwO4VK5ccEN8n7mstGepIJxBsBE8k7IxCy5a9hYjfiHchHjFck0NZRoYwpfUYpFrsivxLGDpjXwZMfXCoZhaW6uxDd0+wzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from CO1PR11MB5089.namprd11.prod.outlook.com (2603:10b6:303:9b::16)
by PH7PR11MB5887.namprd11.prod.outlook.com (2603:10b6:510:136::20) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Wed, 4 Jun
2025 22:46:03 +0000
Received: from CO1PR11MB5089.namprd11.prod.outlook.com
([fe80::7de8:e1b1:a3b:b8a8]) by CO1PR11MB5089.namprd11.prod.outlook.com
([fe80::7de8:e1b1:a3b:b8a8%6]) with mapi id 15.20.8813.020; Wed, 4 Jun 2025
22:46:03 +0000
Message-ID: <18e168a1-8c9e-4cee-9d26-b8969d3072fd@xxxxxxxxx>
Date: Wed, 4 Jun 2025 15:46:01 -0700
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] drm/nouveau/bl: Use kasprintf for interface name
To: Timur Tabi <ttabi@xxxxxxxxxx>, "christophe.jaillet@xxxxxxxxxx"
<christophe.jaillet@xxxxxxxxxx>, "philip.li@xxxxxxxxx" <philip.li@xxxxxxxxx>,
"simona@xxxxxxxx" <simona@xxxxxxxx>, "lyude@xxxxxxxxxx" <lyude@xxxxxxxxxx>,
"pierre.morrow@xxxxxxx" <pierre.morrow@xxxxxxx>, "airlied@xxxxxxxxx"
<airlied@xxxxxxxxx>, "dakr@xxxxxxxxxx" <dakr@xxxxxxxxxx>, Ben Skeggs
<bskeggs@xxxxxxxxxx>
CC: "dri-devel@xxxxxxxxxxxxxxxxxxxxx" <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
"nouveau@xxxxxxxxxxxxxxxxxxxxx" <nouveau@xxxxxxxxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
References: <20250604-jk-nouveua-drm-bl-snprintf-fix-v1-1-79b1593ad664@xxxxxxxxx>
<704b69a6af32e0d89a6d88051c12f29fdadfa638.camel@xxxxxxxxxx>
<24f7d99d-3249-4fcf-a9e4-af610cc9436b@xxxxxxxxx>
<751f786a3ceee08eff698633c39bb3a6b4b2f6d1.camel@xxxxxxxxxx>
Content-Language: en-US
From: Jacob Keller <jacob.e.keller@xxxxxxxxx>
In-Reply-To: <751f786a3ceee08eff698633c39bb3a6b4b2f6d1.camel@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: MW4PR03CA0002.namprd03.prod.outlook.com
(2603:10b6:303:8f::7) To CO1PR11MB5089.namprd11.prod.outlook.com
(2603:10b6:303:9b::16)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PR11MB5089:EE_|PH7PR11MB5887:EE_
X-MS-Office365-Filtering-Correlation-Id: c3d892f5-0f1e-48f1-ed22-08dda3b99597
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|376014|41080700001;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?dGZuSzN2TzQ3QW9TM1Zta3N6dVhVSXRic0RRSVpSZ2tYSzdlNXcxTjYvd09p?=
=?utf-8?B?Lzd6M3M1K3hhUHhPZy8zQ0o0enV5L1hzS2FrTGpnQ2Yrb0NER1EvTnF1ZlJ0?=
=?utf-8?B?bG9lTi9lZzZBQ2RFOTlOT1hyL0pxVHRtSm4xaFBESURvV3VCOWJuaFNVRWdK?=
=?utf-8?B?MlJEYytPZEJXeTRsZXczbStzTlZLTW1YcWNSbGVWcFBZeWZqTHY4MXRnOTVx?=
=?utf-8?B?dm9wRmI2cm93YllybGtRYmtuMUFtMnBuVkkwQmlQTUY3Y3V5emR4UWp2YzhU?=
=?utf-8?B?QnVvbENod0JDb24vZi9wekVLT2RDUzA0RS9YYkk3Q0E1OUdtdWIzRUZhbitE?=
=?utf-8?B?UWN2dU5welpTeGh1TWtHZFBleVIxOFJoVFFBOVpGcHp2L2xBT1lsc3hlVjI5?=
=?utf-8?B?aUl2UWx3VXkzVmxiUERwQlA2VDZNcGxDNVVhVlVWbmROL2hDTm5ESHNHUlN6?=
=?utf-8?B?SzVneGpQSncyN1liQmJzRUhCV3M2VHF0MEpLYXFwbE1BSFZ6NkFFZXJ5M05V?=
=?utf-8?B?T3Y0VlovSzVNSENpSmJPZFJZQzJWcnQrVUhWcDZOcGFYWU93Qm53dTExRlBx?=
=?utf-8?B?ZEw2THV0eVpQQ0lLVGQ5Mjl5WHYwWE9KVGlHR1l6YlIxeCtNbG9HekQxUFBm?=
=?utf-8?B?aVVSd3MxeEowZm9XekEyZ29YMlkweHhwVThCUU9SZUoybCtTUzQ4b1hTT2JV?=
=?utf-8?B?cnNoTVVuS1orY2lWY2piSmhVR1BuYXluYnBBS1pzWndvVUZhYzN4QXFuM3d2?=
=?utf-8?B?bmJTdjBrR1Njc3k3enZINjNOSzc4Vnh4K0lCdk1Gc1FwN29uTUZzc1VnK2FV?=
=?utf-8?B?OU5XRDFENk8rWXVHTmJOMHUwZDZ6VmVQcDRBVGQ4bTQ1OWZ6Y2twUVhwUk1C?=
=?utf-8?B?UTlyeVRzaHl4ZzNLVWpWSENwSngwVFZ4a0tZcm0yK3F4K1VNczZBUGQwckh4?=
=?utf-8?B?TUhaOU9kNTdHYWk5a21XNFBRWTZTOHJPeGtEZlYxTkRmQ1hxbnRab1c4S1o1?=
=?utf-8?B?VlNzMHNFVUJZcUhvRlhqc1M1QUg0MnIzL3hzUmttMGR2UGdrT3BJRlZHUmVK?=
=?utf-8?B?a1paVDBSdHZnWDRKeVVpdk1DK1U3RmRRdW5PckgrbXFkN3ZSMjB1UmIxbDB3?=
=?utf-8?B?V0xHcWZRVWpwVWVuTUlUWVJZR3BnYkEycVFMYTVGSXhYOGFlWnI5bndnOWt0?=
=?utf-8?B?bzJvLzJ1WE1OUGJmQkVkR0t0eEJRb1hGYW5VMDJwL1B6ZzkzdTNPZ0tuRzdh?=
=?utf-8?B?UFJTRFVTb1h6MDIrREdmTnF0SDFPTU1lc0xzd2RSNUdMaXJGQ0Nab2ZhN2w0?=
=?utf-8?B?Y0xHZ0hTWE15bmc5VHFIRnRySUpVTTRnYmdXOTNXK3BRRzl5QWRQZDh2Sy9x?=
=?utf-8?B?MmVEdWE4UC9rbE4xaVI1RjdJaEtucjBqZHRpcWovdnMyaGhpWW9GUlo3ZTly?=
=?utf-8?B?MXJHZUVDTmdpMXo2cVg2b3hZYnpvUDE5S2JBZ25iQkd6UHBqb2VqeS9LY0w3?=
=?utf-8?B?YTZhNk1jaUtUSURmdW1FMEdBcUFzL1loNHZKdWthWUtyWnRnWCs2ZTJhc3U5?=
=?utf-8?B?VTUxTGtITWZEMzNTTS9RM1d2MDd0SE9SRFU4dXl4cVpERkNicmJ4R3pNVUJt?=
=?utf-8?B?b3IzVU9WaEFKa0pad1psWVdwaHd3Zlo3RnJNeXFRMVhuQ0ZnM25yMHB5MmEw?=
=?utf-8?B?T1J1ODh1ZXU2NDh3MXRoekVLblNHUmQvZ0V1Q3JLVkp5NUEzclZzSzlYTjZx?=
=?utf-8?B?U1FVR0tXUW11d2lhSjhTOXRoaWlyblQ5SldUODVZK1hsY01WZ2tDbmlaZitJ?=
=?utf-8?B?NElWYXcybGFqd1JKU3NMQ1hBRThsa2xuUXJldzNLMjNpTnhPa2paSUViTU55?=
=?utf-8?B?M1FuUUt4M1c3OUVLZ2t5WHpCNVVhbGxUN2M1T3JNNFFJclJGVU5FNm9PSkZl?=
=?utf-8?B?UVB5RDNzVnJBb1ZsMUdFb3pob0hNOXo3NlFTeGZBYmVmMW5ka0E4YW11a056?=
=?utf-8?B?dU9TNzI5SmFRPT0=?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB5089.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(376014)(41080700001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VDZMS3RUSlM2UmVuSnVlQnhMRnNmK0ttSlFhVVk4RWg2MUVrWkw2S2hsdUh4?=
=?utf-8?B?VWVaQlBybFIrRG5rdnFJZGpVY0dFdVJ3Y0wwNXY5TmsvSGZHekoxYzJCWkp3?=
=?utf-8?B?anlHREdQWTJQc0hnREhvcGxwWnFHY25vRkF0NERmNXF1NTVRVURFYnNneGNL?=
=?utf-8?B?TTFHNTNlZ2JPTEU3b1p4TXhLSzczclJhbm5kOGZHd01DRzZTS3NHYmZCVUtG?=
=?utf-8?B?emp1Z0R5UnN1Yk9IaHZjK2tEUWQ5bGZLV2Exb1RXTlhyU0ZYU1JJRGU4emd0?=
=?utf-8?B?L3UwL0NaeFdvSzhCVVd2VzhqclYvMnFqcm9HcGVVdzk0K3pGNVpXUUNyaWEw?=
=?utf-8?B?L2VsWUY0bEdkbnVlQnFMSlVWR0xWM0xpVjdDOWtCVjRSZTRBOTUxUlRzNmFi?=
=?utf-8?B?aHdINDFSMHBSMkdqRTBXNCtZdVhPenJVd2l4bnNoY041UDJXYkJjSkhiTnVu?=
=?utf-8?B?K0N0OUI1MlhYZUoxOWd0VU1obitDRm9NWmIyZGZFalF5S05xb3Q5dVVnK2Zj?=
=?utf-8?B?TmQ3Wi9PUnpYQzNFblFoSVdOdmxZSEtqR0kyWUFvN01xOTZmRVBXRmRVeXpS?=
=?utf-8?B?Q0FHZWdwMEFoSmhyYU1tejEvSnJzUUdmTDM5NEZFY2krMjhlMkl1eWdVZW1S?=
=?utf-8?B?NlMwSks2eWxvZ0UxRGQ0M0JGSDlWdWJCUUwzSDIvTWhOQWIxb2F5Ny9wQzc5?=
=?utf-8?B?RVowN1VjbmFnYVVuaE1uUkJVckIzYnBNSkNwWG0zVGFtTzhyNHlMdXl5aVVJ?=
=?utf-8?B?dmFkaS9sRWVGK1J1cExjNnhmYmwwaDlFVkxLdFRMU2NyYVdVUWQzUU9LamxW?=
=?utf-8?B?YzhjUHVrOFNJbUVxdzd3MkdaUjh3VTVWQWl3T1IyMTNDUE5OL1B2K25wS2k3?=
=?utf-8?B?Y3R4TDE1blJDRmNtVjRlUVU2UGx4V21mU1pkL0FWaGY5M3E3V2ZJY2E0SmdK?=
=?utf-8?B?WkZLQTVnSDBPcVR6SnptSVE0cnZza1VPY0NiRm1wVHJqMmVNUnQ4UFdmcDJF?=
=?utf-8?B?ZGg5cVo1ZE94WWZEWE5yQ3FQVng1aCt1N0V1ZjVobTdvcWEwMFBRS0Z4aVJi?=
=?utf-8?B?cGxFdGNyRjhXMkgrQzkzS25vR0JVTThwdHpVZFVWWEpLaUNwZEd2d0kvT1Qr?=
=?utf-8?B?S1ptaTF2VlZHUnpVVW5BNDl5Y1BYcTQzcDl5SW5zN2tCS1ZBZXMwbDRhc3I5?=
=?utf-8?B?Z2kreDJTYmJWazlnQmlCSndkWkdzWUppRnVBZkp1M3AzT3U1eW5ValBqT2lz?=
=?utf-8?B?bnl5cFVYZUwvMzJHZUhUMGtpUjN2cnNxN1VvbmVNR01iRkdCVUZLbjNGY25R?=
=?utf-8?B?NTlyd2tzQllzYndKSm1zTkh1bm5jN0FqYjBNcFg2aFZuZjNHMllNT21leWx1?=
=?utf-8?B?bnJ6V3gzTUN5QVZGUnFWeUp5dk53cmZJNGtidm04V0FmVmlJdnY1bHhmWGRl?=
=?utf-8?B?N000ZHpkYkRjV1RnWE9NWnBsa0JScVJnZXlVYS9HbEJheFJReE4ydkFsT3g2?=
=?utf-8?B?UU5wb0w0aGRnMnJRSDNhRlNZTnV2QmQ1QUY0dGRxN3hnaGlPYm1xZGlVNTJy?=
=?utf-8?B?UVpPb1k1VjB1UkY4clRsU1hNSFBlNmNHbEt1Y0g0UTUzNHJ0MnpUQy9Zc3JS?=
=?utf-8?B?Y1Z6NXFFbno1TEJuNDB6WHc0Zi9nV1VvR3BER0Zxcm9kRG4wd0ZJL1p5NS9F?=
=?utf-8?B?WlRhUVIvbHRjaHdZUGdJZ21iZ2w0RE1rd2JkOGZjc1RPQ09IZXRoR1pFa1BZ?=
=?utf-8?B?Y3ZHK1ZtT0NSc0hTQVBFSTZiR0VSbWI4UE1OZGk0MVhtb21EZXdrdGl0RnlI?=
=?utf-8?B?ZkRJWEkyTjhqTXF1bzFPb1c0NTN6endiS3p6Vno5cmNMdTkzM29oeW95WVpp?=
=?utf-8?B?Tm9FS2JUYWYrTjB1eHNOY1YxTlZ2VFlyaFpKMC9HaWk2cXBGV2k5RzlELzVv?=
=?utf-8?B?Si9uREdWMkdmNnRqSUtBdHdENDZFQ3Z6N0FndVE1MVVFT3Fja2pxTmlmTC9Z?=
=?utf-8?B?Ym0xUzRSd0FUTVVjTWpZa3orUjBZM3o5UytYcnBFWG1oNGpUNGduanBsdXcy?=
=?utf-8?B?RDYxa01kY0JXTFlnU1dZR3hKZEdNdVM5aHVDTFdYUGwvTWZRWnpYK1JGZExi?=
=?utf-8?B?dEZjSEV6RGErWnNaZDJlRmZCZ0g1YWdxU1k1OUFSSVV0Mk11R3FxYmdSWE5C?=
=?utf-8?B?TVE9PQ==?=
X-MS-Exchange-CrossTenant-Network-Message-Id: c3d892f5-0f1e-48f1-ed22-08dda3b99597
X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB5089.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:46:03.2443
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c9jYwDokdPFvwpj3DIRVl+0gVgdIB6u6DpJ885K3DPxy6o2EEX7bEY9NSSCqZwRuGX5znPRaUv4XYpVLH7SGo/oDFVFerz9gZHHOt+c3XDk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB5887
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/4/2025 3:40 PM, Timur Tabi wrote:
> On Wed, 2025-06-04 at 15:16 -0700, Jacob Keller wrote:
>> Fair enough. Another alternative which saves the stack and macro would
>> be to add a new version of backlight_register_device which can pass the
>> integer number itself into dev_set_name, but thats probably not worth
>> the churn either. (Currently we snprintf into a buffer and then again
>> copy that again into the device name...)
>
> If you really wanted to avoid stack space, you could add backlist_name[24] to 'struct
> nouveau_backlight'.
>

I'm not too worried about it. I'll wait a bit for anyone else to comment
and then send a v2 with blacklist_name set to 24 bytes.

Thanks,
Jake


Return-Path: <linux-kernel+bounces-673848-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 87CE541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:47:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 598AF3A6A69
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:46:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6755E16FF37;
Wed, 4 Jun 2025 22:47:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ByYk6xKk"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 10A2A2C3272
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:47:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.7
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077232; cv=fail; b=QDssLtp31rV28AD/iKZ/O+oJb2qTnMl3P1K2+v/SY/BzGVerocqhj+dB41Ea6ymtLcOIsadvnibPdI5UWbCf0QAd9gJvohuHUmUpQnNwb8twcFZEQJ6SIGs0YvlEnQ6Ih9UtDSh+//eXOMXRZoD4NOO4RoCIaUIdkKNli78TjpQ=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077232; c=relaxed/simple;
bh=vGb4ozV/enoHvdY/HZKPOV1PpbXyQOwBhrBEisVblRg=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=FMwQqFRa79BWPv8+mXCzEv1NVu0IS3it1xwvTdeMSAV0QtnQXzbdqANyZT+qgj+DOkahl3K+MJ6AErWrj9SCiYzsJVZ+6inyGgOlookUzQnKSXXYM2zUqclOK2aAeNbXJgDlpOZxixm6c5QEz5NANdUr48UxxerjsmxK9jPhZ8k=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ByYk6xKk; arc=fail smtp.client-ip=192.198.163.7
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749077231; x=1780613231;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-transfer-encoding:mime-version;
bh=vGb4ozV/enoHvdY/HZKPOV1PpbXyQOwBhrBEisVblRg=;
b=ByYk6xKk2w9zivPzhcKT9FV+z2MpailUIKhWG+IlBR5ToFUksCjCn0o1
eiqsHV0keTb6JnNhazWUb8KPAvoCziGzttkUP4e2DD2CpAPBH59TCgtDj
Nxr0zD2SnrjJicBJHwwMj4fG6IIGYmfZsMvzNaVx6usRfr/HY/qFE7aJk
wTLzYtTxKrC9CA8dNOGWAlKQNMhE5mNM6CPR/cSJwKgrJ+kr2PcdranBm
kgttmfs6GHS9/Z3lptQNwFApxyw4KCRm1qkmE9QVnqkTRHt0DN55LVcI/
EwGA8XDjkShjNENs5KbG+FEfSwt3t/KkA8dzeqJgRWcQQFaysV8CgDZWe
g==;
X-CSE-ConnectionGUID: aDnnWDGUTIOzqamaOJt0IA==
X-CSE-MsgGUID: tkBm0NZ2T7+FOg3vV29QSQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="76579004"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="76579004"
Received: from orviesa003.jf.intel.com ([10.64.159.143])
by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:47:10 -0700
X-CSE-ConnectionGUID: g7efuzOYQf+88R5108sOHg==
X-CSE-MsgGUID: BQBaslmvTx+JTVkQFJniUg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150114354"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by orviesa003.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:47:11 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 15:47:09 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 15:47:09 -0700
Received: from NAM02-DM3-obe.outbound.protection.outlook.com (40.107.95.65) by
edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 15:47:09 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=WwGbkoZVW/AUxr2p4iCE+Va5tPmklzN0a9/xeIdjZOAk8GunxsKBwMGPycqtvaVBHX6c95YucDATBqf67AJBCyOumIa1vCvUMa72XrQ0OYqzKg5ehXYsrxCFGi09UjuPrLMHNUWRmtY+orjBBIydkDVY5xsRB3kNSvYdqK8lVAYBmUUiYFU8NfgqEP8d7N88uDb3JGFluQsouKW1b8CKXnLD1r7GsC9B9LhmkAnxpOg7DOuoW1DKTWUV96wH57WoWFHUnWcuIr47nPMhC1RBeKyJ3SCpoyzdk5ZrOna3cTdQdP0ydONA1aVll/HVbYJgXE/9hKiGmIGhHb8ldxVShg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=vGb4ozV/enoHvdY/HZKPOV1PpbXyQOwBhrBEisVblRg=;
b=cWko2BM6tF/QEmH70tC7o/SEm5MCH0quHWkHGRQvmGn7YPiiEHyBhMTBTld/kwvEyuPEtmtJdyYadFNI3143OL2+o/ioESFCD01stvBIkX89ER/7+DM0KVOedejVSabNJPCH8UcP6kYjMpPoewLUPUVtGHc/j9qIHwOx57Rz9tB7wBe32wdjO+3Wisa/j2bgfi51AzJxmuSRHKFBF90sCjyfgVxq/u1Ii1LttFTKU91hnlo7QiZ/yA5sPD2kFhkn+0xozR7X4LGWV3vTOiGrE3up8UgBwTNVVS5ouk6H83bRw4BKnSuvyf80viZ3miMSM3yU66DyrK4xMj+lVAuG6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Received: from SJ1PR11MB6083.namprd11.prod.outlook.com (2603:10b6:a03:48a::9)
by DS0PR11MB7507.namprd11.prod.outlook.com (2603:10b6:8:150::10) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Wed, 4 Jun
2025 22:47:04 +0000
Received: from SJ1PR11MB6083.namprd11.prod.outlook.com
([fe80::acfd:b7e:b73b:9361]) by SJ1PR11MB6083.namprd11.prod.outlook.com
([fe80::acfd:b7e:b73b:9361%5]) with mapi id 15.20.8769.037; Wed, 4 Jun 2025
22:47:03 +0000
From: "Luck, Tony" <tony.luck@xxxxxxxxx>
To: "Keshavamurthy, Anil S" <anil.s.keshavamurthy@xxxxxxxxx>, "Chatre,
Reinette" <reinette.chatre@xxxxxxxxx>, Babu Moger <babu.moger@xxxxxxx>
CC: Fenghua Yu <fenghuay@xxxxxxxxxx>, "Wieczor-Retman, Maciej"
<maciej.wieczor-retman@xxxxxxxxx>, Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>, Drew Fustini <dfustini@xxxxxxxxxxxx>, Dave
Martin <Dave.Martin@xxxxxxx>, "Chen, Yu C" <yu.c.chen@xxxxxxxxx>,
"x86@xxxxxxxxxx" <x86@xxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "patches@xxxxxxxxxxxxxxx"
<patches@xxxxxxxxxxxxxxx>
Subject: RE: [PATCH v5 1/4 UPDATED] x86,fs/resctrl: Consolidate monitor event
descriptions
Thread-Topic: [PATCH v5 1/4 UPDATED] x86,fs/resctrl: Consolidate monitor event
descriptions
Thread-Index: AQHb1ZbBYimCtT1AgUS6fjhJqNBRdbPzkusAgAACZwCAAAMFgIAAASwQ
Date: Wed, 4 Jun 2025 22:47:03 +0000
Message-ID: <SJ1PR11MB6083B072C126CEBD6C2D52BAFC6CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250604212208.49080-1-tony.luck@xxxxxxxxx>
<20250604212208.49080-2-tony.luck@xxxxxxxxx>
<bb7badd8-dddf-41f3-b509-42cdd4539fbd@xxxxxxxxx>
<9e8c9810-1b5c-4e30-8b10-c3702810b529@xxxxxxxxx>
<2953c1ec-cd92-490e-9b7a-04b10fb98e14@xxxxxxxxx>
In-Reply-To: <2953c1ec-cd92-490e-9b7a-04b10fb98e14@xxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ1PR11MB6083:EE_|DS0PR11MB7507:EE_
x-ms-office365-filtering-correlation-id: ee85a212-135e-4b22-4ca8-08dda3b9b9d3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?MVd4L1NITnVJZXpTeVhUdW1MaGJnSVhCMGRKbm1WRFd6U1JGaG03MXJTMjZU?=
=?utf-8?B?VnRIbFBPYWI0Wk9xM3ZrUkUzZDFHdHpteU1HN3N0VkVzYm5MU0Vlck1NODdp?=
=?utf-8?B?Q21zb0F1QTlvUVVKblI0VTdLWXQ0akp2U3loYm5IYWI2NUFGZGlEbC9oUHhP?=
=?utf-8?B?SWxyL2JLYmJjYWJBM2RTWHlLL210ZVJPNjBQa0o3aXBOYmpHRFR2ekowQnpO?=
=?utf-8?B?c3cwMlFLQWxPdDRxY0hvTXlMTnprMWRWTFo4d3k2K0U3enY1TlEzQ1Q4OVlz?=
=?utf-8?B?VjcxcFl5NHRFeHNZSlNIcjZOc2hOK2t5NUMvNk5SbmtjZkdaMU15bGIydEhp?=
=?utf-8?B?djNVWU1DOXF1RzJ4QVZlL1dyU3Q2WEUwRXMxd0R5MlArNTN6WnJhc0drTk9x?=
=?utf-8?B?ZlhsUENzZ2QzQ3Flbm9IcE9lVGREN0cyYmloOWRRVDd2Q3ZpN1FiTG55bkJy?=
=?utf-8?B?WmhBRE5QR3d6N3ZFWUlDclByd0hBQmdIRER4ZGlIVTFpMXJCenZ2Nk5BcHVD?=
=?utf-8?B?Z0c3MStyZkVGNnNmNjBMMHh0OTNVc2FMR3M2Ujd5bjlMT0VKYkVBU2laMUNR?=
=?utf-8?B?L2Fjc3NCY0Zpek1CYk5IcmlGMkVqTXhvTVNsS2xHek9Qd0ZqZjdrNTQrbW40?=
=?utf-8?B?QVRQdUJZRG5VcWRqWjhMQTh6YS9sem45NUthR2hTMmRTYmZzaldaVERjSVd3?=
=?utf-8?B?KzZyOVhQKzdKS2tTdkxtSWdtQ2lMVGFQR1p3ZHVRNkZqL21yVURLTnpwZ1Rk?=
=?utf-8?B?YTJMbDJxd1lXWFQvd3pvKzhGUFRBQTBpZDlNcnhJemFJMzQ4d1owRU1xN1gw?=
=?utf-8?B?d1B0aFZSSkJZNVJDL2ZBMHRDYS9DdGRRUm1EWDBVb3AwV082NXpBZFRyNmVx?=
=?utf-8?B?b2w4WGZCYmtaVHhSc1VaaU9kMnMzMlIxTmRTVnYwckx2bmM5bWJ6RENlUDVQ?=
=?utf-8?B?UzNhV0Y1Z29ZZkpJNkFpSHBLTmYrYXVlM2VjRSsxVVNYc0Q5akt0THFyak5N?=
=?utf-8?B?Q2JHR3ZPRFJYdmZCZzZtMi9XUHhSeG1zZENVY3F1cFhTd1RuampZdCtpTjF4?=
=?utf-8?B?cVV5YmdLcjVDTVcwNngzZGMyV3VnMVFUS1R3NUk1Umh5TnJhY3hCT3lBMjRL?=
=?utf-8?B?L0VsTEZtL1Q4a0dibEdiNzVWajFHTmgyTi9mMENHbnVHZXU4cEhuWEI4TUFv?=
=?utf-8?B?dFFIYlYrWGRQRlBkRkFCMU04WGczTFZqM1F0bnlhMGU1bGFyVVgxU0NnQ1lQ?=
=?utf-8?B?QnBVb0VlNVc4RTZNVzR4cmx1ZHFBZ0RjTEFSUnR1MGNXOTJvNFM3Y3l3anJr?=
=?utf-8?B?L3hHSDJDT2VlWDRkQmRSZE94R1RQZzRnWkRaSEVWdkFYL0U4WC9mV1h3bHVi?=
=?utf-8?B?bnNlK1JLQzBWSTNoM3NGekdqb1NIMkJCMVZ1ZE94ckh6R3NFbDE3SnNLSmE0?=
=?utf-8?B?bnM3L1BObUcrNVhxbEVueWJsQm0zWVE2RXFnZ0MyM3g0VlBNTVBpQmpvdGhZ?=
=?utf-8?B?Mkl5WlFyRXNHa0dKV2lSN3huaDM3UnhyaEJUQ3ZqWFR0WVJlcE9YRTJaN3JY?=
=?utf-8?B?czlINFp6NVM3S0RQU2xHc0EvRFcyWWRPejlHTFpDL2VkRHlwUGlUM2tsTkdk?=
=?utf-8?B?Y2k2OFVHdDY0NmVDTGNPQnJwT1l3RHhUVnY3UGpMZ1NmZE1JaTdJRG8wNFVR?=
=?utf-8?B?aVhRUEd4TTNaMldsOEMyR0VKU3V2Vjl5VEMraUFiZy9udmlWZDl3SjNWQWtt?=
=?utf-8?B?OURUeFJkRGFkaUJjSG1aRnBaZjgrODVBTzl4Qm5KM1FPTmEvMS80TlhWZFho?=
=?utf-8?B?ZzZKVjNQc3VjS25aaTdOYi9SV2J4T2NUTGxOMjFkUTc4KzhXbDZiZGR5aUho?=
=?utf-8?B?NUN3UXIxSGRjdGk1Q1Bvc0pQMjgzc1d3bk1pbHIrb2NORHJJck82VU80NG9M?=
=?utf-8?B?K0J0ZGNsYVJKekZRQTJ5SWF3TUZWcmVsNysxSGdyUHh4b2hmZFI4b3FYU3U4?=
=?utf-8?Q?gxlMThvAbtFFLWBU3syGUPxwNFKTCI=3D?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ1PR11MB6083.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WE82eFlwU0ljaDNIQ1FQQmxpMFhiUURoNmZWNCtBeS9tT25xWXEzaUkzdDRv?=
=?utf-8?B?dzlwS2VWQ1FRQko0c09aSUtZa3l2UGk0WTdBSUFHQk4rYjdNKzFnTlFBdFhu?=
=?utf-8?B?Nmx2RENiZWFLT3lvcWZiVHkxNDhMMlN0NUkya0xSVi9ndjJnenhteWZlc1ZS?=
=?utf-8?B?dlBVMDhVbUlTL01NZ1lINTRRVXpKdjVtQkhXK0VVTTA3b2FxWGtrSmlGVWt4?=
=?utf-8?B?dUg4OE1SaEc1djlmcm9KdEZ0QnhXTkFCaTdGNFh0YlF1UFZNOGhJKzkwdW02?=
=?utf-8?B?R1NUOW5QcC9sajg2UVdkL2JPUkVEVHR4RGFXRWJ4QmJRSkhyUlBldHdCVld4?=
=?utf-8?B?QTRUWkdMeDhKQ285SEFuVEFaNFBCaTBRNWhSVU9IZ1k0M3hSS3VUMzE1TzM5?=
=?utf-8?B?bmdYZUxOTlFRcU9FZjJlM1NrRHFVZEZEZzhVZ3NwdnBvK2xwaG1PTXNNOHpM?=
=?utf-8?B?ODA5cTZjNXVhRWdkdG9tMzExUytiWTVQUFNFRThhNHp6TllFNFhVKzUrM25T?=
=?utf-8?B?Znk3azFBd2RUVFFwdmp3bXJXOG9veXp3WjlFN1BFS2ZXSHg2WkNaeXdTUml2?=
=?utf-8?B?ZmZvNmczMG1jell6Vk1oTEduZkpmbWM3VkZLUkUxc0w3TkREMHhjMUlFL3V4?=
=?utf-8?B?d1ErZHpRRG1xRUl5WDU0LzdHT1hqL09yZS9BelZBVDUvYjRDVlM0Z1hmTWEx?=
=?utf-8?B?TitVQzBYd0Y0alFtZ1VXeXRFeTBxNUR2eWFRalJaZDlvRzRRZXlnSi9Kbm9q?=
=?utf-8?B?cVVYSmV1SkN1aHJ3WVVNQ1FabXlPMnJwS3hkZS9MalY5NGVSQUQyc3ZpbFNn?=
=?utf-8?B?RkJKL1JYNU96Z085Y1orbXVoTTgvUU9IdGNmelVqU3RxOXJQOHdCSCtjeHJa?=
=?utf-8?B?VEhKWEtDSTBzOVVEeG5wVUdLaTRFYzFvNEpPbXFQTEt4WHFJRlRDaGpRLzM3?=
=?utf-8?B?WmIyUlZ4Mkt4M2tQWHFjUmozazJBMXBMSExrK1hoREVLd0lxQ1V4RFRKTEdJ?=
=?utf-8?B?dTVHOW13SDNUUVQweDRaVjIvOWNLWExmZUk4dm0wS1IxME9yMkViVStPb2R1?=
=?utf-8?B?WWNrYURJUUphS1VUZGRRT0FuNWc2RVBxTjVNNklHOFV1bDBjVUdmZEpIM3Zp?=
=?utf-8?B?L0ppZjZ2VTBvd2JBNk9YL3pURkV1VkM3NDNJNWJHQysyRGFRMytIY3Q1dG11?=
=?utf-8?B?bU9Kc1YxQmxWdElhMVpUaGlWS2o0em9vajNuL0Y0RS9rdG9UTW9wVi8xOWt3?=
=?utf-8?B?RHdkdm5UUmFDNndHZjlySy8wR3BURlZTK2F1ajVtUjlhN3NzTFRxTEplRyt3?=
=?utf-8?B?WFRLQUMzUWROWnJvWmxyUEdWYTFsY1pxWnhGYjBFRTdSK3lUQnVtbGp5Nkto?=
=?utf-8?B?Rk93eWhiYkZvU1ZUem9samljTlRLb1QweU9xZ1ZTMHdtRmRLN1pyczFsMDIw?=
=?utf-8?B?U2xRaWlPRmY1TnNidXRGc3RNNUZkdnMvZldGU0dZdUNSaU82cmFoSWU1UkVh?=
=?utf-8?B?V3FYTjd2SFA1ZFpGcUwzZGVQb0R4OWgyNVhQcnliM21HczlJTzNhV284cTJs?=
=?utf-8?B?dEJFOWxrRkVxOGF4NXVIaThVSUV3cGR2bHJJMm1oenNjMFQ5aDFXaVZtMXE0?=
=?utf-8?B?cExpMEpURjBCUlFzSjhBR3pLRDR4L001ZkJWS284LzhmbzlyYXY4TGtLNmQv?=
=?utf-8?B?TjNyelk1TE9QcmpZU0lyS0JzMDgxKzZNMTJwNytJTkswQjB0T1VIZDZyL2xR?=
=?utf-8?B?SmkvaXBzRE05MDBSbTRZYXliNkg2cWh1Vm11dklYOWZLMFRFa3d2TSt4RnBo?=
=?utf-8?B?MGsycXFLNWIxR2pORVdyMVJ1K3I0OWkyRXBoUURwR25uUkZNWnFhb0pFamVl?=
=?utf-8?B?ODNjUWhLK25lSkZ4RFFGUm8rREhyOWlSTTN0UUJaQlRHSU43WjJLYmJQeHor?=
=?utf-8?B?NjdIY2F3eGo1Znhnb0RyOW94S0pnSzJUNmF4Tk5rd0tWK2s1SE5aQi9xQXV1?=
=?utf-8?B?MWpwR0dMbmxLTE1kZDRta05ES2ZxRDRLUTRIWDdUWkEwZitDZnc2TVJVaE5q?=
=?utf-8?B?T2RRWFp6OFd5NGF6QS9HNGRYYTVzUmYwRXdsS0RiNlQ0aGcvNTh3b2VwR2d3?=
=?utf-8?Q?184o6P/nGyD1syHUPO56EcHKc?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ1PR11MB6083.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee85a212-135e-4b22-4ca8-08dda3b9b9d3
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 22:47:03.8312
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sivQ8sWVWwYVsIxQ89cN18CilI6fLffiieFtACPGl2gEls0N6z0KfYyUeCKlpuyJsZ7AaBRmokQGVEsm7OFyww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7507
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

PiBTb3JyeSwgSSBqdXN0IHBpY2tlZCBhIHJhbmRvbSBoZWFkZXIgZmlsZSB0aGVyZS4uLi5pZ25v
cmUgdGhhdCBwYXJ0IGJ1dCANCj4gbXkgcmVhbCBzdWdnZXN0aW9uIHdhcyB0byByZWR1Y2UgdGhl
IGxpbmVzIHdoZW4gZGVjbGFyaW5nICJzdHJ1Y3QgDQo+IG1vbl9ldnQgbW9uX2V2ZW50X2FsbFtd
IiB3aXRoIGFib3ZlICNkZWZpbmUgc28gbW9yZSBldmVudHMgY2FuIGZpdCBpbiANCj4gb25lIHNj
cmVlbiB3aGVuIHZpZXdpbmcgdGhlIGNvZGUuDQoNClRoZSBtYWNybyBjYW4gZ28gaW50byBmcy9y
ZXNjdHJsL21vbml0b3IuYyAuLi4gaXQgaXNu4oCZdCBuZWVkZWQgaW4gYW55DQpvdGhlciBmaWxl
Lg0KDQpTb3VuZHMgbGlrZSBhIGdvb2QgaWRlYS4NCg0KLVRvbnkNCg0K


Return-Path: <linux-kernel+bounces-673849-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 627FC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:47:36 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E88F33A9C5B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:47:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C6F00187332;
Wed, 4 Jun 2025 22:47:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ayzB/0nY"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 10D6917B50F;
Wed, 4 Jun 2025 22:47:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077248; cv=none; b=DY1URyr9FR7K/a6mesA6xkW6UxM82VGjRGsh6pFo5J80523sk7LVFpgH+o1697eK3rTNkQCWnl4gbWCarXjgqZqIrLTeHOT8etyq2vAFYKaTN8h4ZHBgQxHrlEmz0Oy1HXzPLTwsxATZYuw9SN7QkzVmEDyy0+H5L+S91GbSZ94=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077248; c=relaxed/simple;
bh=MS9MhLppLKcfcpEmcrATxZ8g/tCqKaCDKhcnaCJwas4=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=cG/D0kGIb1dK5NYwWnSZIj7Gyi8E8KcmZTunlvVPkFPjFySkzSp61gVSjoWEYC4EhPghSw5uj9+cDWYE+NuTprHz1BaG2APUyICFyIIyEPCvO4f+inCW6ogmCmRWOTc9vaeWrvHbVvtgXCjoAgUflBfUT0tNLKVkMsdF3SaBHKY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ayzB/0nY; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 503B9C4CEE4;
Wed, 4 Jun 2025 22:47:27 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749077247;
bh=MS9MhLppLKcfcpEmcrATxZ8g/tCqKaCDKhcnaCJwas4=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=ayzB/0nYz4HKTTJN3/MwNxbFV57n8BOybrpAAbBTgRtUO0oL0kr4bI09lTp0nzdOe
HvQRrsQou8e+hilGbo2NjLkavgPDDC9Ik8NzUz7kTuG6V8/3+g5u2uCx/pgRKLTuXS
GvjvnyTEc2+N7n9U2WipHn6SGqxAwIPh5e5z4a/1xbRwh3A4labv+dA35x7gYftHbC
7vBDmZhLoR7qZ4bx5wM1cH2eDoPOZSHbAR5+NnP57dEFR3mwxgbl0vsG4VTP856bhT
nJ+Hb13yat+NWj8YQ7mxuTCMa4eCW4k9CHQRWeaLwHk1sYagQq/sULV+IwzOpCII4T
TFothl8KGzq2Q==
Date: Wed, 4 Jun 2025 12:47:26 -1000
From: Tejun Heo <tj@xxxxxxxxxx>
To: Tiffany Yang <ynaffit@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, cgroups@xxxxxxxxxxxxxxx,
kernel-team@xxxxxxxxxxx, John Stultz <jstultz@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>,
Anna-Maria Behnsen <anna-maria@xxxxxxxxxxxxx>,
Frederic Weisbecker <frederic@xxxxxxxxxx>,
Johannes Weiner <hannes@xxxxxxxxxxx>,
Michal =?iso-8859-1?Q?Koutn=FD?= <mkoutny@xxxxxxxx>,
"Rafael J. Wysocki" <rafael@xxxxxxxxxx>,
Pavel Machek <pavel@xxxxxxxxxx>,
Roman Gushchin <roman.gushchin@xxxxxxxxx>,
Chen Ridong <chenridong@xxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Ben Segall <bsegall@xxxxxxxxxx>, Mel Gorman <mgorman@xxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>
Subject: Re: [RFC PATCH] cgroup: Track time in cgroup v2 freezer
Message-ID: <aEDM_s7y8xMKJHph@xxxxxxxxxxxxxxx>
References: <20250603224304.3198729-3-ynaffit@xxxxxxxxxx>
<aD9_V1rSqqESFekK@xxxxxxxxxxxxxxx>
<dbx8y0u7i9e6.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <dbx8y0u7i9e6.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello, Tiffany.

On Wed, Jun 04, 2025 at 07:39:29PM +0000, Tiffany Yang wrote:
...
> Thanks for taking a look! In this case, I would argue that the value we
> are accounting for (time that a task has not been able to run because it
> is in the cgroup v2 frozen state) is task-specific and distinct from the
> time that the cgroup it belongs to has been frozen.
>
> A cgroup is not considered frozen until all of its members are frozen,
> and if one task then leaves the frozen state, the entire cgroup is
> considered no longer frozen, even if its other members stay in the
> frozen state. Similarly, even if a task is migrated from one frozen
> cgroup (A) to another frozen cgroup (B), the time cgroup B has been
> frozen would not be representative of that task even though it is a
> member.
>
> There is also latency between when each task in a cgroup is marked as
> to-be-frozen/unfrozen and when it actually enters the frozen state, so
> each descendant task has a different frozen time. For watchdogs that
> elapse on a per-task basis, a per-cgroup time-in-frozen value would
> underreport the actual time each task spent unable to run. Tasks that
> miss a deadline might incorrectly be considered misbehaving when the
> time they spent suspended was not correctly accounted for.
>
> Please let me know if that answers your question or if there's something
> I'm missing. I agree that it would be cleaner/preferable to keep this
> accounting under a cgroup-specific umbrella, so I hope there is some way
> to get around these issues, but it doesn't look like cgroup fs has a
> good way to keep task-specific stats at the moment.

I'm not sure freezing/frozen distinction is that meaningful. If each cgroup
tracks total durations for both states, most threads should be able to rely
on freezing duration delta, right? There shouldn't be significant time gap
between freezing starting and most threads being frozen although the cgroup
may not reach full frozen state due to e.g. NFS and what not.

As long as threads are not migrated across cgroups, it should be able to do
something like:

1. Read /proc/self/cgroup to determine the current cgroup.
2. Read and remember freezing duration $CGRP/cgroup.stat.
3. Do time taking operation.
4. Read $CGRP/cgrp.stat and calculate delta and deduct that from time taken.

Would that work?

Thanks.

--
tejun


Return-Path: <linux-kernel+bounces-673850-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 676A541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:48:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 208D1189A13D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:48:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7CB0B1B424D;
Wed, 4 Jun 2025 22:47:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="zsYONRVJ"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AF3FB1547C9
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:47:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077275; cv=none; b=DrERTMRAIoA93pBJq8oY9VmLSZnOqjcVtJRdtroprwV31/HHPjIn+Ut492/p35Id9EoSR2nXc4sPCDZa1S4WQOY8CdPCXfzAm9IkG0nYc1N/H053TwPONTJrZMjDMUyIGT2h5jVbi0buaBsBZldv7R3CTI1VQQhijiodBHF/X4E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077275; c=relaxed/simple;
bh=lTyIl3tFEZAFEhIjI5VOgHghdPUqVQ2X+80AE0ergFE=;
h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References:
Mime-Version:Content-Type; b=P/Q2bfrxjVPWngYUGiJyBwZ3uu5xDOldidqLuUKhtiUATbxtftJMrfqtX08y/iKnEDmjwI2w/IKT8UcKVlcAFwDa/l716J2msW6xpyAYKlpxIsCTUIBcpOMQw1WREpyRJQ0K0Hw+BSaGzOW89bxwg/7AEWJNVwbeYpa/6QXxMxc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=zsYONRVJ; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D2E8AC4CEE4;
Wed, 4 Jun 2025 22:47:54 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org;
s=korg; t=1749077275;
bh=lTyIl3tFEZAFEhIjI5VOgHghdPUqVQ2X+80AE0ergFE=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=zsYONRVJWIbFLTEWTOey1C+KZduSzpXfe9px2qj9Z47nLJjO9uITUTfcOFg7N0CSc
Y0osN/dCiKZR954vBcc5lcKwNXCgKbZkyOQ/TdInhViPXF9s/ANuyNLs9zFEB8X0WO
wUWOSJgOfEVR1Ujh18EPzbc7USrYQGIGts1qYk4o=
Date: Wed, 4 Jun 2025 15:47:54 -0700
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: yangge1116@xxxxxxx
Cc: linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, 21cnbao@xxxxxxxxx,
david@xxxxxxxxxx, baolin.wang@xxxxxxxxxxxxxxxxx, muchun.song@xxxxxxxxx,
osalvador@xxxxxxx, liuzixing@xxxxxxxx
Subject: Re: [PATCH V2] mm/hugetlb: remove unnecessary holding of
hugetlb_lock
Message-Id: <20250604154754.a30e327c3f1640173c8b9cb8@xxxxxxxxxxxxxxxxxxxx>
In-Reply-To: <1748317010-16272-1-git-send-email-yangge1116@xxxxxxx>
References: <1748317010-16272-1-git-send-email-yangge1116@xxxxxxx>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Tue, 27 May 2025 11:36:50 +0800 yangge1116@xxxxxxx wrote:

> From: Ge Yang <yangge1116@xxxxxxx>
>
> In the isolate_or_dissolve_huge_folio() function, after acquiring the
> hugetlb_lock, it is only for the purpose of obtaining the correct hstate,
> which is then passed to the alloc_and_dissolve_hugetlb_folio() function.
>
> The alloc_and_dissolve_hugetlb_folio() function itself also acquires the
> hugetlb_lock. We can have the alloc_and_dissolve_hugetlb_folio() function
> obtain the hstate by itself, so that the isolate_or_dissolve_huge_folio()
> function no longer needs to acquire the hugetlb_lock. In addition, we keep
> the folio_test_hugetlb() check within the isolate_or_dissolve_huge_folio()
> function. By doing so, we can avoid disrupting the normal path by vainly
> holding the hugetlb_lock.
>
> The replace_free_hugepage_folios() function has the same issue, and we
> should address it as well.
>

This change addresses a possible performance issue which was introduced
by 113ed54ad276 ("mm/hugetlb: fix kernel NULL pointer dereference when
replacing free hugetlb folios"). 113ed54ad276 was added recently and
was cc:stable.

David said:
https://lkml.kernel.org/r/87521d93-cc03-480d-a2ef-3ef8c84481c9@xxxxxxxxxx


Question is, will that bugfix's performance impact be sufficiently
serious for us to also backport this new patch?


Return-Path: <linux-kernel+bounces-673851-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 868E141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:50:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 8B312170932
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:50:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EF3231E1DEC;
Wed, 4 Jun 2025 22:50:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="FVKAeQn8"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FE3C10E9;
Wed, 4 Jun 2025 22:50:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.18
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077446; cv=none; b=UPo51aPpYb+ZrV4ohMYWqeaqNSwg3mf8I5cjz2HwbE7Nn+oHLkmnqW2qWQ2WOiC/2SfCqMnSsQEyI2LfS4OzdP6XN6MbAYiuZCrswdbFdKClVgx7lnqLMBSyQwZKOWbM0xlDn+HQD3IB02GYRh6eZTfZs+JabBWg/eK/tQWUonQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077446; c=relaxed/simple;
bh=cDKbpDO6ELDPkn3uTBJ/ray2Qg/fiDewMZ5l5xpsDC4=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=qBEdSAroadFyYV1biTBKC7Dvr/n3i/VrKtlf5+KPuI0Rr05LfuXMnXhTBsU01nMWlcIaodp/eh5r1klUIr/NAZ8/2j1SaWTYTap1uz+j4tRyU3Llf2vjeLr3RjRW+A5fGu7/3zUNDhhS6DD9WxbeWOeog/49WJIYjIB7JxqzJEY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=FVKAeQn8; arc=none smtp.client-ip=198.175.65.18
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749077444; x=1780613444;
h=message-id:date:mime-version:subject:to:references:from:
in-reply-to:content-transfer-encoding;
bh=cDKbpDO6ELDPkn3uTBJ/ray2Qg/fiDewMZ5l5xpsDC4=;
b=FVKAeQn84FW4VouV1AUUCyWgPECrPcXTT1h8Kgss+woU7M9oWsYg1kpu
N/U4KKuVj4hjsuQFgeMtZQUG5A2tQwOVBD8/ypjGc4x+c3tYxIf7u38Z+
3veZkQhLenF/YZxVdQR8DieSOAyd9SqX71LjRgRJ8T8W/fjBD2hyeV/hG
vRwuA+lHPd0X0KCqx63LWKcrXib19rI8pMJZdFlcJsEGi0NVin5/K+4cT
SegpIuvjlu8sVxfUxP7AuB/PGvlo/LzIfo7nsN7W/bsfltTkv+oMHQOIe
UNpAgpBsuYVj4iyY8WukLwSERd/ggw/u418+RI8AUsNfS3Sjvrl1LEuGV
A==;
X-CSE-ConnectionGUID: 5z38i6nmS7CMyduuyF2cdw==
X-CSE-MsgGUID: DaXlSEDkR3qQzDbzWTgUWQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51327485"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51327485"
Received: from orviesa002.jf.intel.com ([10.64.159.142])
by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:50:43 -0700
X-CSE-ConnectionGUID: +S59pNhnSiCxHCRVYBvz8w==
X-CSE-MsgGUID: +p0lU/F8RfieZAf/YnmBdQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="176279356"
Received: from linux.intel.com ([10.54.29.200])
by orviesa002.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:50:44 -0700
Received: from [10.124.221.247] (unknown [10.124.221.247])
by linux.intel.com (Postfix) with ESMTP id 5AE8320B5736;
Wed, 4 Jun 2025 15:50:42 -0700 (PDT)
Message-ID: <52dfc3f1-b7e1-44f2-8f99-f3f37f44f00d@xxxxxxxxxxxxxxx>
Date: Wed, 4 Jun 2025 15:50:42 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 03/16] CXL/AER: Introduce kfifo for forwarding CXL
errors
To: Terry Bowman <terry.bowman@xxxxxxx>, PradeepVineshReddy.Kodamati@xxxxxxx,
dave@xxxxxxxxxxxx, jonathan.cameron@xxxxxxxxxx, dave.jiang@xxxxxxxxx,
alison.schofield@xxxxxxxxx, vishal.l.verma@xxxxxxxxx, ira.weiny@xxxxxxxxx,
dan.j.williams@xxxxxxxxx, bhelgaas@xxxxxxxxxx, bp@xxxxxxxxx,
ming.li@xxxxxxxxxxxx, shiju.jose@xxxxxxxxxx, dan.carpenter@xxxxxxxxxx,
Smita.KoralahalliChannabasappa@xxxxxxx, kobayashi.da-06@xxxxxxxxxxx,
yanfei.xu@xxxxxxxxx, rrichter@xxxxxxx, peterz@xxxxxxxxxxxxx, colyli@xxxxxxx,
uaisheng.ye@xxxxxxxxx, fabio.m.de.francesco@xxxxxxxxxxxxxxx,
ilpo.jarvinen@xxxxxxxxxxxxxxx, yazen.ghannam@xxxxxxx,
linux-cxl@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-pci@xxxxxxxxxxxxxxx
References: <20250603172239.159260-1-terry.bowman@xxxxxxx>
<20250603172239.159260-4-terry.bowman@xxxxxxx>
Content-Language: en-US
From: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>
In-Reply-To: <20250603172239.159260-4-terry.bowman@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


On 6/3/25 10:22 AM, Terry Bowman wrote:
> CXL error handling will soon be moved from the AER driver into the CXL
> driver. This requires a notification mechanism for the AER driver to share
> the AER interrupt with the CXL driver. The notification will be used
> as an indication for the CXL drivers to handle and log the CXL RAS errors.
>
> Add a kfifo work queue to be used by the AER driver and CXL driver. The AER
> driver will be the sole kfifo producer adding work and the cxl_core will be
> the sole kfifo consumer removing work. Add the boilerplate kfifo support.
>
> Add CXL work queue handler registration functions in the AER driver. Export
> the functions allowing CXL driver to access. Implement registration
> functions for the CXL driver to assign or clear the work handler function.
>
> Introduce function cxl_create_prot_err_info() and 'struct cxl_prot_err_info'.
> Implement cxl_create_prot_err_info() to populate a 'struct cxl_prot_err_info'
> instance with the AER severity and the erring device's PCI SBDF. The SBDF
> details will be used to rediscover the erring device after the CXL driver
> dequeues the kfifo work. The device rediscovery will be introduced along
> with the CXL handling in future patches.
>
> Signed-off-by: Terry Bowman <terry.bowman@xxxxxxx>
> ---
> drivers/cxl/core/ras.c | 31 +++++++++-
> drivers/cxl/cxlpci.h | 1 +
> drivers/pci/pcie/aer.c | 132 ++++++++++++++++++++++++++++-------------
> include/linux/aer.h | 36 +++++++++++
> 4 files changed, 157 insertions(+), 43 deletions(-)
>
> diff --git a/drivers/cxl/core/ras.c b/drivers/cxl/core/ras.c
> index 485a831695c7..d35525e79e04 100644
> --- a/drivers/cxl/core/ras.c
> +++ b/drivers/cxl/core/ras.c
> @@ -5,6 +5,7 @@
> #include <linux/aer.h>
> #include <cxl/event.h>
> #include <cxlmem.h>
> +#include <cxlpci.h>
> #include "trace.h"
>
> static void cxl_cper_trace_corr_port_prot_err(struct pci_dev *pdev,
> @@ -107,13 +108,41 @@ static void cxl_cper_prot_err_work_fn(struct work_struct *work)
> }
> static DECLARE_WORK(cxl_cper_prot_err_work, cxl_cper_prot_err_work_fn);
>
> +#ifdef CONFIG_PCIEAER_CXL
> +
> +static void cxl_prot_err_work_fn(struct work_struct *work)
> +{
> +}
> +
> +#else
> +static void cxl_prot_err_work_fn(struct work_struct *work) { }
> +#endif /* CONFIG_PCIEAER_CXL */
> +
> +static struct work_struct cxl_prot_err_work;
> +static DECLARE_WORK(cxl_prot_err_work, cxl_prot_err_work_fn);
> +
> int cxl_ras_init(void)
> {
> - return cxl_cper_register_prot_err_work(&cxl_cper_prot_err_work);
> + int rc;
> +
> + rc = cxl_cper_register_prot_err_work(&cxl_cper_prot_err_work);
> + if (rc)
> + pr_err("Failed to register CPER AER kfifo (%x)", rc);
> +
> + rc = cxl_register_prot_err_work(&cxl_prot_err_work);
> + if (rc) {
> + pr_err("Failed to register native AER kfifo (%x)", rc);
> + return rc;
> + }
> +
> + return 0;
> }
>
> void cxl_ras_exit(void)
> {
> cxl_cper_unregister_prot_err_work(&cxl_cper_prot_err_work);
> cancel_work_sync(&cxl_cper_prot_err_work);
> +
> + cxl_unregister_prot_err_work();
> + cancel_work_sync(&cxl_prot_err_work);
> }
> diff --git a/drivers/cxl/cxlpci.h b/drivers/cxl/cxlpci.h
> index 54e219b0049e..6f1396ef7b77 100644
> --- a/drivers/cxl/cxlpci.h
> +++ b/drivers/cxl/cxlpci.h
> @@ -4,6 +4,7 @@
> #define __CXL_PCI_H__
> #include <linux/pci.h>
> #include "cxl.h"
> +#include "linux/aer.h"
>
> #define CXL_MEMORY_PROGIF 0x10
>
> diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
> index adb4b1123b9b..5350fa5be784 100644
> --- a/drivers/pci/pcie/aer.c
> +++ b/drivers/pci/pcie/aer.c
> @@ -114,6 +114,14 @@ struct aer_stats {
> static int pcie_aer_disable;
> static pci_ers_result_t aer_root_reset(struct pci_dev *dev);
>
> +#if defined(CONFIG_PCIEAER_CXL)
> +#define CXL_ERROR_SOURCES_MAX 128
> +static DEFINE_KFIFO(cxl_prot_err_fifo, struct cxl_prot_err_work_data,
> + CXL_ERROR_SOURCES_MAX);
> +static DEFINE_SPINLOCK(cxl_prot_err_fifo_lock);
> +struct work_struct *cxl_prot_err_work;
> +#endif
> +
> void pci_no_aer(void)
> {
> pcie_aer_disable = 1;
> @@ -1004,45 +1012,17 @@ static bool is_internal_error(struct aer_err_info *info)
> return info->status & PCI_ERR_UNC_INTN;
> }
>
> -static int cxl_rch_handle_error_iter(struct pci_dev *dev, void *data)
> +static bool is_cxl_error(struct pci_dev *pdev, struct aer_err_info *info)
> {
> - struct aer_err_info *info = (struct aer_err_info *)data;
> - const struct pci_error_handlers *err_handler;
> + if (!info || !info->is_cxl)
> + return false;
>
> - if (!is_cxl_mem_dev(dev) || !cxl_error_is_native(dev))
> - return 0;
> + /* Only CXL Endpoints are currently supported */
> + if ((pci_pcie_type(pdev) != PCI_EXP_TYPE_ENDPOINT) &&
> + (pci_pcie_type(pdev) != PCI_EXP_TYPE_RC_EC))
> + return false;
>
> - /* Protect dev->driver */
> - device_lock(&dev->dev);
> -
> - err_handler = dev->driver ? dev->driver->err_handler : NULL;
> - if (!err_handler)
> - goto out;
> -
> - if (info->severity == AER_CORRECTABLE) {
> - if (err_handler->cor_error_detected)
> - err_handler->cor_error_detected(dev);
> - } else if (err_handler->error_detected) {
> - if (info->severity == AER_NONFATAL)
> - err_handler->error_detected(dev, pci_channel_io_normal);
> - else if (info->severity == AER_FATAL)
> - err_handler->error_detected(dev, pci_channel_io_frozen);
> - }
> -out:
> - device_unlock(&dev->dev);
> - return 0;
> -}
> -
> -static void cxl_rch_handle_error(struct pci_dev *dev, struct aer_err_info *info)
> -{
> - /*
> - * Internal errors of an RCEC indicate an AER error in an
> - * RCH's downstream port. Check and handle them in the CXL.mem
> - * device driver.
> - */
> - if (pci_pcie_type(dev) == PCI_EXP_TYPE_RC_EC &&
> - is_internal_error(info))
> - pcie_walk_rcec(dev, cxl_rch_handle_error_iter, info);
> + return is_internal_error(info);
> }
>
> static int handles_cxl_error_iter(struct pci_dev *dev, void *data)
> @@ -1056,13 +1036,17 @@ static int handles_cxl_error_iter(struct pci_dev *dev, void *data)
> return *handles_cxl;
> }
>
> -static bool handles_cxl_errors(struct pci_dev *rcec)
> +static bool handles_cxl_errors(struct pci_dev *dev)
> {
> bool handles_cxl = false;
>
> - if (pci_pcie_type(rcec) == PCI_EXP_TYPE_RC_EC &&
> - pcie_aer_is_native(rcec))
> - pcie_walk_rcec(rcec, handles_cxl_error_iter, &handles_cxl);
> + if (!pcie_aer_is_native(dev))
> + return false;
> +
> + if (pci_pcie_type(dev) == PCI_EXP_TYPE_RC_EC)
> + pcie_walk_rcec(dev, handles_cxl_error_iter, &handles_cxl);
> + else
> + handles_cxl = pcie_is_cxl(dev);
>
> return handles_cxl;
> }
> @@ -1076,10 +1060,46 @@ static void cxl_rch_enable_rcec(struct pci_dev *rcec)
> pci_info(rcec, "CXL: Internal errors unmasked");
> }
>
> +static int cxl_create_prot_error_info(struct pci_dev *pdev,
> + struct aer_err_info *aer_err_info,
> + struct cxl_prot_error_info *cxl_err_info)
> +{
> + cxl_err_info->severity = aer_err_info->severity;
> +
> + cxl_err_info->function = PCI_FUNC(pdev->devfn);
> + cxl_err_info->device = PCI_SLOT(pdev->devfn);
> + cxl_err_info->bus = pdev->bus->number;
> + cxl_err_info->segment = pci_domain_nr(pdev->bus);
> +
> + return 0;
> +}
> +
> +static void forward_cxl_error(struct pci_dev *pdev, struct aer_err_info *aer_err_info)
> +{
> + struct cxl_prot_err_work_data wd;
> + struct cxl_prot_error_info *cxl_err_info = &wd.err_info;
> +
> + cxl_create_prot_error_info(pdev, aer_err_info, cxl_err_info);
> +
> + if (!kfifo_put(&cxl_prot_err_fifo, wd)) {
> + dev_err_ratelimited(&pdev->dev, "CXL kfifo overflow\n");
> + return;
> + }
> +
> + schedule_work(cxl_prot_err_work);
> +}
> +
> #else
> static inline void cxl_rch_enable_rcec(struct pci_dev *dev) { }
> static inline void cxl_rch_handle_error(struct pci_dev *dev,
> struct aer_err_info *info) { }
> +static inline void forward_cxl_error(struct pci_dev *dev,
> + struct aer_err_info *info) { }
> +static inline bool handles_cxl_errors(struct pci_dev *dev)
> +{
> + return false;
> +}
> +static bool is_cxl_error(struct pci_dev *pdev, struct aer_err_info *info) { return 0; };
> #endif
>
> /**
> @@ -1117,8 +1137,11 @@ static void pci_aer_handle_error(struct pci_dev *dev, struct aer_err_info *info)
>
> static void handle_error_source(struct pci_dev *dev, struct aer_err_info *info)
> {
> - cxl_rch_handle_error(dev, info);
> - pci_aer_handle_error(dev, info);
> + if (is_cxl_error(dev, info))
> + forward_cxl_error(dev, info);
> + else
> + pci_aer_handle_error(dev, info);
> +
> pci_dev_put(dev);
> }
>
> @@ -1582,6 +1605,31 @@ static pci_ers_result_t aer_root_reset(struct pci_dev *dev)
> return rc ? PCI_ERS_RESULT_DISCONNECT : PCI_ERS_RESULT_RECOVERED;
> }
>
> +#if defined(CONFIG_PCIEAER_CXL)
> +
> +int cxl_register_prot_err_work(struct work_struct *work)
> +{
> + guard(spinlock)(&cxl_prot_err_fifo_lock);
> + cxl_prot_err_work = work;
> + return 0;
> +}
> +EXPORT_SYMBOL_NS_GPL(cxl_register_prot_err_work, "CXL");
> +
> +int cxl_unregister_prot_err_work(void)
> +{
> + guard(spinlock)(&cxl_prot_err_fifo_lock);
> + cxl_prot_err_work = NULL;
> + return 0;
> +}
> +EXPORT_SYMBOL_NS_GPL(cxl_unregister_prot_err_work, "CXL");
> +

Above two functions can never fail, right? What not make them return void?

> +int cxl_prot_err_kfifo_get(struct cxl_prot_err_work_data *wd)
> +{
> + return kfifo_get(&cxl_prot_err_fifo, wd);
> +}
> +EXPORT_SYMBOL_NS_GPL(cxl_prot_err_kfifo_get, "CXL");
> +#endif
> +
> static struct pcie_port_service_driver aerdriver = {
> .name = "aer",
> .port_type = PCIE_ANY_PORT,
> diff --git a/include/linux/aer.h b/include/linux/aer.h
> index 02940be66324..550407240ab5 100644
> --- a/include/linux/aer.h
> +++ b/include/linux/aer.h
> @@ -10,6 +10,7 @@
>
> #include <linux/errno.h>
> #include <linux/types.h>
> +#include <linux/workqueue_types.h>
>
> #define AER_NONFATAL 0
> #define AER_FATAL 1
> @@ -53,6 +54,27 @@ struct aer_capability_regs {
> u16 uncor_err_source;
> };
>
> +/**
> + * struct cxl_prot_err_info - Error information used in CXL error handling
> + * @severity: AER severity
> + * @function: Device's PCI function
> + * @device: Device's PCI device
> + * @bus: Device's PCI bus
> + * @segment: Device's PCI segment
> + */
> +struct cxl_prot_error_info {
> + int severity;
> +
> + u8 function;
> + u8 device;
> + u8 bus;
> + u16 segment;
> +};
> +
> +struct cxl_prot_err_work_data {
> + struct cxl_prot_error_info err_info;
> +};
> +
> #if defined(CONFIG_PCIEAER)
> int pci_aer_clear_nonfatal_status(struct pci_dev *dev);
> int pcie_aer_is_native(struct pci_dev *dev);
> @@ -64,6 +86,20 @@ static inline int pci_aer_clear_nonfatal_status(struct pci_dev *dev)
> static inline int pcie_aer_is_native(struct pci_dev *dev) { return 0; }
> #endif
>
> +#if defined(CONFIG_PCIEAER_CXL)
> +int cxl_register_prot_err_work(struct work_struct *work);
> +int cxl_unregister_prot_err_work(void);
> +int cxl_prot_err_kfifo_get(struct cxl_prot_err_work_data *wd);
> +#else
> +static inline int
> +cxl_register_prot_err_work(struct work_struct *work)
> +{
> + return 0;
> +}
> +static inline int cxl_unregister_prot_err_work(void) { return 0; }
> +static inline int cxl_prot_err_kfifo_get(struct cxl_prot_err_work_data *wd) { return 0; }
> +#endif
> +
> void pci_print_aer(struct pci_dev *dev, int aer_severity,
> struct aer_capability_regs *aer);
> int cper_severity_to_aer(int cper_severity);

--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer



Return-Path: <linux-kernel+bounces-673852-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4D03941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:51:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 54DA23A9E10
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:51:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6B3151DD9AD;
Wed, 4 Jun 2025 22:51:18 +0000 (UTC)
Received: from finn.localdomain (finn.gateworks.com [108.161.129.64])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5F1D016F8E9;
Wed, 4 Jun 2025 22:51:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=108.161.129.64
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077478; cv=none; b=eRY/LdaXnrIuyNgllIkH40lz4XPmcT3t9TqkcnsIXqGOcCFY62nfgGNlK/FmYuejPYy6QtMlcbVIMj29EDyfyEPC4bx0+HX7w2D+o/MmECN/YjdcYIoSILyw/sxv1tMPyml4DnUuwamnXSvCt1siW+2pNQHOJxlbfJr263Fotcc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077478; c=relaxed/simple;
bh=pM8CmrLz/FFL/2U/C4cXcKjLVMqnJpnjvoUhceHqFmM=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=cDBqGM/jPOToM/bzY0GNO8cxDtw8d0lqHQiejjlDO7JfRDIiGlorS8//Nswx2C9eCHas1dvIFgwh1NJXqq2s1uG/t9movVEAA764i5oBYep690En3rD1Fk6rumTi1kZn2X84JKHmEa8VXY1TA1xUtf2T/WokuGvjkJnnYr85r9A=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com; spf=pass smtp.mailfrom=gateworks.com; arc=none smtp.client-ip=108.161.129.64
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gateworks.com
Received: from syn-068-189-091-139.biz.spectrum.com ([68.189.91.139] helo=tharvey.pdc.gateworks.com)
by finn.localdomain with esmtp (Exim 4.95)
(envelope-from <tharvey@xxxxxxxxxxxxx>)
id 1uMwwt-007Xnl-MV;
Wed, 04 Jun 2025 22:51:07 +0000
From: Tim Harvey <tharvey@xxxxxxxxxxxxx>
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
Cc: imx@xxxxxxxxxxxxxxx,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>,
Tim Harvey <tharvey@xxxxxxxxxxxxx>
Subject: [PATCH v2] arm64: dts: imx8mp-venice-gw74xx: update name of M2SKT_WDIS2# gpio
Date: Wed, 4 Jun 2025 15:51:04 -0700
Message-Id: <20250604225104.1429156-1-tharvey@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The GW74xx D revision has added a M2SKT_WDIS2# GPIO which routes to the
W_DISABLE2# pin of the M.2 socket. Update the gpio name for consistency.

Fixes: 6a5d95b06d93 ("arm64: dts: imx8mp-venice-gw74xx: add M2SKT_GPIO10 gpio configuration")
Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx>
---
v2: update commit log to clarify we are just renaming a gpio
---
arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
index 6daa2313f879..f00099f0cd4e 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
@@ -301,7 +301,7 @@ &gpio2 {
&gpio3 {
gpio-line-names =
"", "", "", "", "", "", "m2_rst", "",
- "", "", "", "", "", "", "m2_gpio10", "",
+ "", "", "", "", "", "", "m2_wdis2#", "",
"", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "";
};
@@ -310,7 +310,7 @@ &gpio4 {
gpio-line-names =
"", "", "m2_off#", "", "", "", "", "",
"", "", "", "", "", "", "", "",
- "", "", "m2_wdis#", "", "", "", "", "",
+ "", "", "m2_wdis1#", "", "", "", "", "",
"", "", "", "", "", "", "", "rs485_en";
};

@@ -811,14 +811,14 @@ pinctrl_hog: hoggrp {
MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x40000040 /* DIO0 */
MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11 0x40000040 /* DIO1 */
MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x40000040 /* M2SKT_OFF# */
- MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x40000150 /* M2SKT_WDIS# */
+ MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x40000150 /* M2SKT_WDIS1# */
MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x40000040 /* M2SKT_PIN20 */
MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x40000040 /* M2SKT_PIN22 */
MX8MP_IOMUXC_SD2_CLK__GPIO2_IO13 0x40000150 /* PCIE1_WDIS# */
MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14 0x40000150 /* PCIE3_WDIS# */
MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18 0x40000150 /* PCIE2_WDIS# */
MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06 0x40000040 /* M2SKT_RST# */
- MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x40000040 /* M2SKT_GPIO10 */
+ MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x40000150 /* M2KST_WDIS2# */
MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01 0x40000104 /* UART_TERM */
MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31 0x40000104 /* UART_RS485 */
MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00 0x40000104 /* UART_HALF */
--
2.25.1



Return-Path: <linux-kernel+bounces-673853-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4E88D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:52:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 457503A975F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:52:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E0E421F4608;
Wed, 4 Jun 2025 22:52:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="uCxKOeQQ"
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2078.outbound.protection.outlook.com [40.107.96.78])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9EAC16F8E9;
Wed, 4 Jun 2025 22:52:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.96.78
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077540; cv=fail; b=HDlXaidOMIBpJ/U1sS2xiYOZjVP0g36+nWaY1qJaE68XR6e2NlHTc4mfk+YB3oYr95/V0RNI0O1aVl7cnyq9/ReBGpCW7BF3CKXLlTu88nL6EPGkg3+gUgH8IO2pCrsWRBQAz/yJbguDbDcVFP8Y6jizDs6pCOirE00EEOrQbyc=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077540; c=relaxed/simple;
bh=HvWsJWNLe6T+yx1XCxO6wDyU5Y/mpz22IttelTVpgBU=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=JUs9MijqoQ+wtJY+2nFnUUebudQ3nKOVvXJkbTrlkgLdzfqT6me0zIokzU7lDlr1LtZ0cUW4it7rYyodp/yUBrj1EZpjAtj727OPuK939su4GkmBrqD88y6ykpG2eG04sI1UztSNZ1wBxckvmZL9pnyTU0LaVxT/4WLPaV1UXSU=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=uCxKOeQQ; arc=fail smtp.client-ip=40.107.96.78
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Qq+0op1durp9OqOQ+sY2b6oWH4DKxtpl7VzKtsl9Z3hkN4eh9orEfuscl7g0nORy+NddyIy1smZGJ88+8LmRHTAyChGePJ4bcLS7g0ns1U966KoMR47DlclJRSKh9dIot9GtdWoqwcP4QlujNiiKC7+q2VKe0KTnRq27wxLuzshagSA5scDNnBWWn9G8Qhk/bkh5Au6i+OQNzMevZPbjsQ0s/ZhV9hOt0lEQ1DMlKTsCeDUIu7wGFAVcXDOFqnJcRL4DAQR9iTlaTQEUJWYWKuMFV6sOpu+hO4QjiRn0u6OnohI79GQ7eq3d/+hf9TWwYUQvZ5vLF4ql8WWkqNBWtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=jB1M24go/uFZITp6mgEy7JJ2wgqE7b73QuVKrc7puSU=;
b=YFsck2mZiwB4l6F+EaLeabDwF3/me3WMLIfeL0w3x1/8J+PY6bXdPS5wpV6BWrB3Be9c0DjldASDpvNvh5QRl6M50nL2BB8FFwCS83Mx4hBTcP63y+JCFiTMFsk5/ao3iocbgO0T+W4USQgu22bx69Lyp7SOo8CusZlBDTc42c8+NHUYR1/NBjaRUWoK3Pd92XcooENeZvKaTSxgYlmj8vKs3+8uHyKN9smsemVOAbNne+u0YW+JRliuoWijjWc+udk77xasNsETHypP0fWw7kaXwpfVatDIUL/U/xs4mEWD9MN8CeKFAGKimbOKmawb2dXQEbnB91+Oe2nzhfMGGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=jB1M24go/uFZITp6mgEy7JJ2wgqE7b73QuVKrc7puSU=;
b=uCxKOeQQGI2yA/DSEFuUY1/UcTFbP3hUaY5VQxTzA/attWrqPT13FQG5hQk9yr2UjcfToIVtEzaWXBPkTnPC/g8c5WeTsW0u8iHlFrXcjfMM72+z1bRbp4/QNumcBLJsoFAfkQ1nVJ8EDVni/TLhj0UFKKbt8qbcOyPMUowPtVc=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from BL3PR12MB9049.namprd12.prod.outlook.com (2603:10b6:208:3b8::21)
by BL1PR12MB5876.namprd12.prod.outlook.com (2603:10b6:208:398::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.34; Wed, 4 Jun
2025 22:52:15 +0000
Received: from BL3PR12MB9049.namprd12.prod.outlook.com
([fe80::c170:6906:9ef3:ecef]) by BL3PR12MB9049.namprd12.prod.outlook.com
([fe80::c170:6906:9ef3:ecef%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:52:15 +0000
Message-ID: <9af40b3b-91d5-4758-abee-070fbf3ff52f@xxxxxxx>
Date: Wed, 4 Jun 2025 17:52:12 -0500
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/5] crypto: ccp: Add support for SNP_FEATURE_INFO
command
To: Tom Lendacky <thomas.lendacky@xxxxxxx>, seanjc@xxxxxxxxxx,
pbonzini@xxxxxxxxxx, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, bp@xxxxxxxxx,
dave.hansen@xxxxxxxxxxxxxxx, hpa@xxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx
Cc: x86@xxxxxxxxxx, john.allen@xxxxxxx, davem@xxxxxxxxxxxxx,
michael.roth@xxxxxxx, kvm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-crypto@xxxxxxxxxxxxxxx
References: <cover.1747696092.git.ashish.kalra@xxxxxxx>
<61fb0b9d9cae7d02476b8973cc72c8f2fe7a499a.1747696092.git.ashish.kalra@xxxxxxx>
<295dd551-522e-1990-4313-03543d22635e@xxxxxxx>
Content-Language: en-US
From: "Kalra, Ashish" <ashish.kalra@xxxxxxx>
In-Reply-To: <295dd551-522e-1990-4313-03543d22635e@xxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SA1P222CA0172.NAMP222.PROD.OUTLOOK.COM
(2603:10b6:806:3c3::28) To BL3PR12MB9049.namprd12.prod.outlook.com
(2603:10b6:208:3b8::21)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL3PR12MB9049:EE_|BL1PR12MB5876:EE_
X-MS-Office365-Filtering-Correlation-Id: 84ae81e8-8845-42ef-3a0b-08dda3ba7371
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?RWl2cUVtU3hWNGdvall4cEQ2aG5vdkRBNFhQQUpxblhXOXNnbFNOdWR1VEI5?=
=?utf-8?B?UzVncytUUGd3UW5zUjFadVY3b3l2anlzamVZcUw3SWdteGdNUG5RWmRKc0pE?=
=?utf-8?B?RXVyc1ljWS9mdXFDdW4wQUQ1OENJU1dQeW1FbUF0NTk1akw1WU9IdEk5SUs4?=
=?utf-8?B?N3dSUGVQd1Bna3BnNDdwUmJrYVB2Q2pENHo3QkdiQUljdzdlYTlFYlU3b3NB?=
=?utf-8?B?WDVaMlpTSXB3UFJFR3lSVU5ZU3ZvbE1aNHA5NWxyZUJoNEtuUXl4eURIeEJP?=
=?utf-8?B?bUlJUU1zaksrT1U4RW1LWGlCVEVDd3ZZNm11MVhDelFnTFh6VDFxNGFBYkY2?=
=?utf-8?B?ZFhXR1RWRy9weWt4L2FSa1hzY29uQnVXd1FkeGViWGtmVmhBWHQ1aWVtenlC?=
=?utf-8?B?aEdjbTZWUGM1Qkh1eFZldStRM1BXYm9XNVBDV3ovSVdJOUlLOSs4R3lsQ1Ay?=
=?utf-8?B?QTl2L3VKUXhsS1lWV3JhTVZmQzR3YmVESTRpbWVtL0lmZm8yQk5zWElaSWZP?=
=?utf-8?B?cm5aNXdiZGpwK3BSRnREV3IwNm1ZeTVhVlBDMXdxQmdCY2tpT1ZpTmpRNm42?=
=?utf-8?B?ampQNVNiQXpMamFkMVVqK1AwamV1dnUvRkNpMnhrSTJFQjV5NHBmUFBpS0Zx?=
=?utf-8?B?UEkyRVVWeTNqSklWcXRJVHkrLzRvYnpJZExRT3BLZ1pORjF1TU53My9VcHJJ?=
=?utf-8?B?T1N3SlVoZjdGSDVHbmZ6bXVJZFFhVVkxTUtOUldMQkRZekJMY0o3SG0xZFZG?=
=?utf-8?B?bUNQbCs4Z0xhTy9XSlprUnRBMzdWMXJmejVlMTV6YzliS3JIcXF1YTVEbXNN?=
=?utf-8?B?NnhYVHpZWGRzZHd1cHpJYjArdTlublRWeFN4Rys1VjlVdGpQblRBV3NrdXB3?=
=?utf-8?B?bXh0NVB3NDFqN1BId1pJenQ2L0xCWFJaYkZuTFhPOUxuM2ZvTlVNVkduUzl4?=
=?utf-8?B?NmwyTER5bUpHMktXcURNdTcyMGlYTE9TMklzU1hLZ3RhL0h1MFNPR0VhaERK?=
=?utf-8?B?ZnRtb0w4NE5mdjNJQS9hd0xFbHF5RGFvdjJzTGZUdUlyd0FCK1M4Ym4vUGxK?=
=?utf-8?B?L2lQVy84WVdqbGFvWEcwMnp3eFVhUUtyVGp4V20rZHlpWjRoMzJQSDRjUzFT?=
=?utf-8?B?blcwNEdJU285dlpLZVVpeWNHVlVCa3plbW1QNDNwb3BRNmdFVldCRjh1czFG?=
=?utf-8?B?OTFoVkxWS1NBdWd3NC90ZkN5T3FwejFVTGFlbTV2RWZ5ZWFSdVpXUnV6L3VH?=
=?utf-8?B?L3dqc3lGbG5WcTNCUGhmU0J4UzVEZ2N0OFVpRUlrcmlQWDVXdGQ1ZXIvVTNI?=
=?utf-8?B?L2pNcUp6cU0xZDl6ZHZscnBkODFjaWJ4Si9abVkycnhlRnFBU3JZTWp6SFRx?=
=?utf-8?B?c25Sd0NsRWs2a08xWDhJNXFoK1dzZDRkQWRaZ3llVkJWa1NXYys0Yk1odDN4?=
=?utf-8?B?MUVOUVMwTE5nb29kYlRyVng5MGs2d2JXb1lGSVdDZ0NWL0d4ZUxnM3RMdDNM?=
=?utf-8?B?OUxIZGpKVW9VYXNVN1BLSXBXeWRPQ1l3YWdCNFpxZUVFeDU4cWhua2xNTzVl?=
=?utf-8?B?YzlPdnRtcTlEYTgzRnFjZXdqbko5K281U2x2OWFnYzh3RWw0MHFiYnRqN0c5?=
=?utf-8?B?dnVQMGYycXpaaG9zNEFPeFA1ZXc5N2I2QkxSYmlyZ015ZEgramVONitKc1ZU?=
=?utf-8?B?MGtDQ2JrMW1TSW1IZW9KbFB5TFRCQW5FLzdMYWxEQ1dCSjBFa005akhiK0Vr?=
=?utf-8?B?a1kzVlhQYWtuN1hVZ0NiUFR4NVYzZFduMDJsUlRRR21kcXRBblB1NDkxN2pF?=
=?utf-8?B?RS9ZblU4Z1hjL2d4UGRRSEZQOGJSVUczMTA4K01DcEh2Slc0dHNMSUt0RUUv?=
=?utf-8?B?VVZLeXZUU2FFTXVxN2U0eGFqNjRIdEphQzB6RURnWjJMWENkRmE4MVdHMzAv?=
=?utf-8?Q?Zt6c7KXu0Yw=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL3PR12MB9049.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?amg2cVo2UGZhK3J4bnlOSFFIbzJ2ZTA1K0I3TXVTeWhKSElWVW9IbGl3bERQ?=
=?utf-8?B?UC9DTHNKQitlcFVlamtiRnpTdTJBa1VhazhGanE1ZkltNlFRcDZ4OHJmblNp?=
=?utf-8?B?ZFM1UzlMajhEZGVuaGtkQlVlc1dmZ0V0ejd3KytOUk05MHN1ekJFMkxJY05i?=
=?utf-8?B?WkI5bUltK0M4b3p5bmwwenMvdDd1TllIdVpYZE5lNXVPV05NSDNFL0JYOWUz?=
=?utf-8?B?aUNOaFcyUjNtYnRTaW5kMmNiTjRJTVZ1dGxJYzhJKzB1azQrcERVS2VqaDZB?=
=?utf-8?B?VERTazdjSjMxOVhtVm9mY055YmFUMjYvZ0V2M3pmV3grNFJiTWhOWTVMRVZz?=
=?utf-8?B?ZTN6RW40UURzYjJURDY3NmZGTHJ6aHUyalZpbzBad0NzYWkxdHJpT09ERXBm?=
=?utf-8?B?VTNnSlVrejRXVGNUZnM2VDY1aXBRNXBzMEZGL3RQQi81ZGpscXVFVWxtbklz?=
=?utf-8?B?NGt1cFEyUUJ5VEdrYkpjV0R6SXRlRmUreUNVbW1GU2FiVkVwYWZzaythcVJx?=
=?utf-8?B?L3dTM3JKM1NJRVhLQithY1JCMWwvRFM3TjVMVmxrbTkvK3RFcUQ4Y0hZMjZ4?=
=?utf-8?B?SzVhSTJ0ekIwRXFGRHh1aTEwNW9jM3lmbkI0T1F0alYyck55bE9TbXQ0eVU1?=
=?utf-8?B?YWV2QnNtd2haMGx4ZE1wMndMUFJ6S0srWndva2JJUnJQZUorRHFuM3FCOUlz?=
=?utf-8?B?azZveW1UVjF5UXMxVXFDd2RlTDdURWl6d2F6ZWZYWnFPMmZQSnlCOXRtWFpu?=
=?utf-8?B?M1NYaXFOdSsvNk1INlZYZzdEZlprMUpZQXY0clhBb2tuVkRrS3NubjlGTWc3?=
=?utf-8?B?d21raGRZNXI1QzJQL0FKSTZVSk1pQ1l3WGdCMC9CU3M0V21sUXhOeUZKRjls?=
=?utf-8?B?aFEwL3RNTG5td2ZmYkJkNllGQUdibEtjT1VlOFdnQUhtTnFqZXNUUEVVQnlw?=
=?utf-8?B?TzVGQUF6TjlNV0krdlA1eTRXZjlZeEwxK1N5UGNHRGhBczJ1SCtEbnhyYklw?=
=?utf-8?B?LzBsNmpEK090Q3ZpTWFNMzVUSUU3ZWJBVGEvVktzRnh6YWRhbVhaVGpGMUNE?=
=?utf-8?B?OVRyT3RrK2JaTnkrWWIvRUVVMGFyUjkyN2R5b1l6L3NyKzVzOW4rTmRvdDNv?=
=?utf-8?B?dXJyWnNrNENGNXNFY05DNG9Gdkt3OEdpTG5kTUVCRzZVdW92eEREbnA4MDVz?=
=?utf-8?B?dmxkT2trMkp3STZxQy94Wjk3YzFzR1dUQkVmS2tUcFJRVURtTWduYlBpN2lV?=
=?utf-8?B?T0JEdC9KcFJkcGsxdHE5M2pKeStnZjEwRmxNenBOUHZOYjZHMWZEbVl3cXN3?=
=?utf-8?B?UloxV3lyRUZ5MFVUMlFUa0RzMGN1c1FFVUwyYVQrYmNueUFnSXk1Q3VkMjZ1?=
=?utf-8?B?RWgwcEV4aWk0OURPL2w1VDNCQUpkOTFweThOejMrc2ljTGc2OE80RnZtc0ds?=
=?utf-8?B?a3BYdlE5ZGRZQ3BvOU5yUXROUkRXVkZKcjNFVUtuYzB0NnNlWUhMUm1hRHd0?=
=?utf-8?B?WnBGQkVmN2ZwR0lOK0EvSkxwTC9GOHVKWHhlZXNRVUQrdGdGeVZuZUVUdnRq?=
=?utf-8?B?TnZDeHJDQll4cnQ4bXJHb1h6TU9MWkowKzFNOVFCNEllNWd2MTY5RFhSTXZC?=
=?utf-8?B?YjZKVWdsMnEvNlErUXE2OWRMdTVWUWF6MmFrN00vZDZVL2RIYXdjWTJCKzY4?=
=?utf-8?B?Ym0wekFYOHNkRUpBTkwwQU81SThuV1FaQVVidE8yOEpINjhwMDlwYU05bEtI?=
=?utf-8?B?ditDTVVaNmtxS3NGWE5yUmU0ZVpPVTZ6VGhXT3Zzdmd4V2dKK05BaVRxZ1Ra?=
=?utf-8?B?Z1pFTWZTdGMxMTNKbnBObW1PRVp2TTIvbThpU1JVdE5ISmhyaG8zbDhnYi9q?=
=?utf-8?B?NUc2TVorcEJ2aEZVdVdVOXRRSXpUSzMvWERmbjdzQXkyT2dJbzVhWkpzdmpP?=
=?utf-8?B?ZmdqMlNjaWRQZWxkYmNlRktNRHhyaSsvcTZoWFVOUVNldFZTb3hvMVdYVFh0?=
=?utf-8?B?TEdiYkYyRTZHV2o4Ry9PYVMzMHBYaVdvVmYxZHRaOXg4L2N4ZlJpOTNrRWRN?=
=?utf-8?B?UDdFZ2NtVDFmTjJYbWZoVURGWFlFZ3lLSnptS3dWVXp4N1h5bmwwejQ0aS9R?=
=?utf-8?Q?ZNBTAXikFUyQW+dm24DXZ0ipW?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84ae81e8-8845-42ef-3a0b-08dda3ba7371
X-MS-Exchange-CrossTenant-AuthSource: BL3PR12MB9049.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:52:15.4455
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QCAqXXjvbTgWNaFr4bVmFttQtLr9dVNLf8XT5Kj+G7HgWM8INr7E4UYjM+pZqGAy4iERbKw5+uVBgVRdT6X4Hw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5876
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello Tom,

On 6/3/2025 10:21 AM, Tom Lendacky wrote:
> On 5/19/25 18:56, Ashish Kalra wrote:
>> From: Ashish Kalra <ashish.kalra@xxxxxxx>
>>
>> The FEATURE_INFO command provides host and guests a programmatic means
>
> s/provides host and guests/provides hypervisors/
>
>> to learn about the supported features of the currently loaded firmware.
>> FEATURE_INFO command leverages the same mechanism as the CPUID instruction.
>> Instead of using the CPUID instruction to retrieve Fn8000_0024,
>> software can use FEATURE_INFO.
>>
>> The hypervisor may provide Fn8000_0024 values to the guest via the CPUID
>> page in SNP_LAUNCH_UPDATE. As with all CPUID output recorded in that page,
>> the hypervisor can filter Fn8000_0024. The firmware will examine
>> Fn8000_0024 and apply its CPUID policy.
>
> This paragraph has nothing to do with this patch, please remove it.

Ok.

>
>>
>> Switch to using SNP platform status instead of SEV platform status if
>> SNP is enabled and cache SNP platform status and feature information
>> from CPUID 0x8000_0024, sub-function 0, in the sev_device structure.
>
> Since the SEV platform status and SNP platform status differ, I think this
> patch should be split into two separate patches.
>
> The first first patch would cache the current SEV platform status return
> structure and eliminate the separate state field (as state is unique
> between SEV and SNP).

Eliminate the state field ?

But isn't the sev_device->state field used also as driver's internal state information
and not directly mapped to platform status, except the initial state is the platform state
on module load, so why to remove the field altogether ?

> The api_major/api_minor/build can probably remain,
> since the same value *should* be reported for both SNP and SEV platform
> status command.
>

Ok.

> The second patch would cache the SNP platform status and feature info
> data, with this status data being used for the api_major/api_minor/build.
>

Ok.

>>
>> Signed-off-by: Ashish Kalra <ashish.kalra@xxxxxxx>
>> ---
>> drivers/crypto/ccp/sev-dev.c | 81 ++++++++++++++++++++++++++++++++++++
>> drivers/crypto/ccp/sev-dev.h | 3 ++
>> include/linux/psp-sev.h | 29 +++++++++++++
>> 3 files changed, 113 insertions(+)
>>
>> diff --git a/drivers/crypto/ccp/sev-dev.c b/drivers/crypto/ccp/sev-dev.c
>> index 3451bada884e..b642f1183b8b 100644
>> --- a/drivers/crypto/ccp/sev-dev.c
>> +++ b/drivers/crypto/ccp/sev-dev.c
>> @@ -233,6 +233,7 @@ static int sev_cmd_buffer_len(int cmd)
>> case SEV_CMD_SNP_GUEST_REQUEST: return sizeof(struct sev_data_snp_guest_request);
>> case SEV_CMD_SNP_CONFIG: return sizeof(struct sev_user_data_snp_config);
>> case SEV_CMD_SNP_COMMIT: return sizeof(struct sev_data_snp_commit);
>> + case SEV_CMD_SNP_FEATURE_INFO: return sizeof(struct sev_data_snp_feature_info);
>> default: return 0;
>> }
>>
>> @@ -1073,6 +1074,69 @@ static void snp_set_hsave_pa(void *arg)
>> wrmsrq(MSR_VM_HSAVE_PA, 0);
>> }
>>
>> +static int snp_get_platform_data(struct sev_user_data_status *status, int *error)
>> +{
>> + struct sev_data_snp_feature_info snp_feat_info;
>> + struct sev_device *sev = psp_master->sev_data;
>> + struct snp_feature_info *feat_info;
>> + struct sev_data_snp_addr buf;
>> + struct page *page;
>> + int rc;
>> +
>> + /*
>> + * The output buffer must be firmware page if SEV-SNP is
>> + * initialized.
>> + */
>
> This comment should be expanded and say that this function is intended to
> be called when SNP is not initialized or you make this work for both
> situations.
>

Ok, i believe i will simply make it work for the case when SNP is not initialized, as that
is the way it is being called.

>> + if (sev->snp_initialized)
>> + return -EINVAL;
>> +
>> + buf.address = __psp_pa(&sev->snp_plat_status);
>> + rc = __sev_do_cmd_locked(SEV_CMD_SNP_PLATFORM_STATUS, &buf, error);
>> +
>
> Remove blank line.
>
>> + if (rc) {
>> + dev_err(sev->dev, "SNP PLATFORM_STATUS command failed, ret = %d, error = %#x\n",
>> + rc, *error);
>> + return rc;
>> + }
>> +
>> + status->api_major = sev->snp_plat_status.api_major;
>> + status->api_minor = sev->snp_plat_status.api_minor;
>> + status->build = sev->snp_plat_status.build_id;
>> + status->state = sev->snp_plat_status.state;
>
> This may need to be moved based on how the patches lay out.
>
>> +
>> + /*
>> + * Do feature discovery of the currently loaded firmware,
>> + * and cache feature information from CPUID 0x8000_0024,
>> + * sub-function 0.
>> + */
>> + if (sev->snp_plat_status.feature_info) {
>> + /*
>> + * Use dynamically allocated structure for the SNP_FEATURE_INFO
>> + * command to handle any alignment and page boundary check
>> + * requirements.
>> + */
>> + page = alloc_page(GFP_KERNEL);
>> + if (!page)
>> + return -ENOMEM;
>
> Add a blank line.
>
>> + feat_info = page_address(page);
>> + snp_feat_info.length = sizeof(snp_feat_info);
>> + snp_feat_info.ecx_in = 0;
>> + snp_feat_info.feature_info_paddr = __psp_pa(feat_info);
>> +
>> + rc = __sev_do_cmd_locked(SEV_CMD_SNP_FEATURE_INFO, &snp_feat_info, error);
>> +
>
> Remove blank line.
>
>> + if (!rc)
>> + sev->feat_info = *feat_info;
>> + else
>> + dev_err(sev->dev, "SNP FEATURE_INFO command failed, ret = %d, error = %#x\n",
>> + rc, *error);
>> +
>> + __free_page(page);
>> + }
>> +
>> + return rc;
>> +}
>> +
>> static int snp_filter_reserved_mem_regions(struct resource *rs, void *arg)
>> {
>> struct sev_data_range_list *range_list = arg;
>> @@ -1597,6 +1661,23 @@ static int sev_get_api_version(void)
>> struct sev_user_data_status status;
>> int error = 0, ret;
>>
>> + /*
>> + * Use SNP platform status if SNP is enabled and cache
>> + * SNP platform status and SNP feature information.
>> + */
>> + if (cc_platform_has(CC_ATTR_HOST_SEV_SNP)) {
>> + ret = snp_get_platform_data(&status, &error);
>> + if (ret) {
>> + dev_err(sev->dev,
>> + "SEV-SNP: failed to get status. Error: %#x\n", error);
>> + return 1;
>> + }
>> + }
>> +
>> + /*
>> + * Fallback to SEV platform status if SNP is not enabled
>> + * or SNP platform status fails.
>> + */
>
> I think this comment is incorrect, aren't you calling this on success of
> snp_get_platform_data() and returning on error?

Yes.

>
> You want both platform status outputs cached. So the above behavior is
> correct, I believe, that we error out on SNP platform status failure.
>

Why do we want to cache *both* SEV and SNP platform status, as of now only api_major & minor, build and state
fields are used from SEV platform status --- is this just for future use cases ?

Thanks,
Ashish

> Thanks,
> Tom
>
>> ret = sev_platform_status(&status, &error);
>> if (ret) {
>> dev_err(sev->dev,
>> diff --git a/drivers/crypto/ccp/sev-dev.h b/drivers/crypto/ccp/sev-dev.h
>> index 3e4e5574e88a..1c1a51e52d2b 100644
>> --- a/drivers/crypto/ccp/sev-dev.h
>> +++ b/drivers/crypto/ccp/sev-dev.h
>> @@ -57,6 +57,9 @@ struct sev_device {
>> bool cmd_buf_backup_active;
>>
>> bool snp_initialized;
>> +
>> + struct sev_user_data_snp_status snp_plat_status;
>> + struct snp_feature_info feat_info;
>> };
>>
>> int sev_dev_init(struct psp_device *psp);
>> diff --git a/include/linux/psp-sev.h b/include/linux/psp-sev.h
>> index 0b3a36bdaa90..0149d4a6aceb 100644
>> --- a/include/linux/psp-sev.h
>> +++ b/include/linux/psp-sev.h
>> @@ -107,6 +107,7 @@ enum sev_cmd {
>> SEV_CMD_SNP_DOWNLOAD_FIRMWARE_EX = 0x0CA,
>> SEV_CMD_SNP_COMMIT = 0x0CB,
>> SEV_CMD_SNP_VLEK_LOAD = 0x0CD,
>> + SEV_CMD_SNP_FEATURE_INFO = 0x0CE,
>>
>> SEV_CMD_MAX,
>> };
>> @@ -812,6 +813,34 @@ struct sev_data_snp_commit {
>> u32 len;
>> } __packed;
>>
>> +/**
>> + * struct sev_data_snp_feature_info - SEV_SNP_FEATURE_INFO structure
>> + *
>> + * @length: len of the command buffer read by the PSP
>> + * @ecx_in: subfunction index
>> + * @feature_info_paddr : SPA of the FEATURE_INFO structure
>> + */
>> +struct sev_data_snp_feature_info {
>> + u32 length;
>> + u32 ecx_in;
>> + u64 feature_info_paddr;
>> +} __packed;
>> +
>> +/**
>> + * struct feature_info - FEATURE_INFO structure
>> + *
>> + * @eax: output of SNP_FEATURE_INFO command
>> + * @ebx: output of SNP_FEATURE_INFO command
>> + * @ecx: output of SNP_FEATURE_INFO command
>> + * #edx: output of SNP_FEATURE_INFO command
>> + */
>> +struct snp_feature_info {
>> + u32 eax;
>> + u32 ebx;
>> + u32 ecx;
>> + u32 edx;
>> +} __packed;
>> +
>> #ifdef CONFIG_CRYPTO_DEV_SP_PSP
>>
>> /**



Return-Path: <linux-kernel+bounces-673854-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3819741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:54:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 7633E170CF7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:54:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B17CA1F418F;
Wed, 4 Jun 2025 22:53:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmx.com header.i=quwenruo.btrfs@xxxxxxx header.b="sRlcpays"
Received: from mout.gmx.net (mout.gmx.net [212.227.17.20])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 859CE1B4145;
Wed, 4 Jun 2025 22:53:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.20
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077632; cv=none; b=sx3TPzsxzR0lBqrItM+xu5ni3CaB7rSDcK2K8GAiXsfczsn81NwAlDZ6cTj2MQMPt0J+AarNszy4GDj3TmfwLhM+vszpWmK/2JlMs/DP9sY85JmM+GXTZ5RuUI3zAgw8oGfXhg1oKQ7U+jheYWk7CxShUP5xSwM9Kcr6roDXZzw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077632; c=relaxed/simple;
bh=v7sGuBc0u5XZMp8KHHODHm/vC3BCSm2pohi9WU+V6y8=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=ji4iP+ikqlS041NvlJnsZUz437ABMZLtPpSanH/B0f16ZDflqeDClQIEhRRwQ+wSJtiXc9gF03IMlX3tp1NYE3dGQh0VGLhxfeYSgtM+QT2xt7H5w8hjCGtQK2/iZU4ZqJvcGD6UwCuCi6Pd9XuWe+11gw00HA4DKhjvleEMUKM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.com; spf=pass smtp.mailfrom=gmx.com; dkim=pass (2048-bit key) header.d=gmx.com header.i=quwenruo.btrfs@xxxxxxx header.b=sRlcpays; arc=none smtp.client-ip=212.227.17.20
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.com;
s=s31663417; t=1749077620; x=1749682420; i=quwenruo.btrfs@xxxxxxx;
bh=+kDA7NAJkW+p8vIYFTmsWVXRqVvxNLhV0K2T7UJrcGk=;
h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc:
References:From:In-Reply-To:Content-Type:
Content-Transfer-Encoding:cc:content-transfer-encoding:
content-type:date:from:message-id:mime-version:reply-to:subject:
to;
b=sRlcpaysHGvt+ScqlPPAlXJQ7vb3btwK0kOl65g3y+OgNLYsIpbK1E8xZvk7Ruxp
atB9Uptfjg77x+DSOJ0b9bLjv0lgh7du8qadqL9QUvcShX5EcUPD70SvUzJmsJv+T
Al/A34OhkRah5BPoTKPRkodAjBDzA8JCkiecn/8hzUylMysqIXZKKov5fy6vkDQtZ
EZ9v+RcwJs+hJ9VBGckfowl8ivgKiXHLnessTSKRAAlk6qtT72mmnnU6+ZmePb9NC
DXtMb5aN8Rgnvdfn10oYHJLVZKroz9/e2+TU2XwZvxuMio1gBWEXJnYWgPcoHr4IT
d2qzSvwycbKg91PQIw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from [172.16.0.229] ([159.196.52.54]) by mail.gmx.net (mrgmx105
[212.227.17.174]) with ESMTPSA (Nemesis) id 1MiJZO-1v24Un29pe-00qMA3; Thu, 05
Jun 2025 00:53:40 +0200
Message-ID: <d188b1ef-5e84-438c-863b-807e534fb67d@xxxxxxx>
Date: Thu, 5 Jun 2025 08:23:34 +0930
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [linus:master] [btrfs] 8af94e772e: xfstests.btrfs.220.fail
To: kernel test robot <oliver.sang@xxxxxxxxx>, Qu Wenruo <wqu@xxxxxxxx>
Cc: oe-lkp@xxxxxxxxxxxxxxx, lkp@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
David Sterba <dsterba@xxxxxxxx>, linux-btrfs@xxxxxxxxxxxxxxx
References: <202506042235.7e3a37da-lkp@xxxxxxxxx>
Content-Language: en-US
From: Qu Wenruo <quwenruo.btrfs@xxxxxxx>
Autocrypt: addr=quwenruo.btrfs@xxxxxxx; keydata=
xsBNBFnVga8BCACyhFP3ExcTIuB73jDIBA/vSoYcTyysFQzPvez64TUSCv1SgXEByR7fju3o
8RfaWuHCnkkea5luuTZMqfgTXrun2dqNVYDNOV6RIVrc4YuG20yhC1epnV55fJCThqij0MRL
1NxPKXIlEdHvN0Kov3CtWA+R1iNN0RCeVun7rmOrrjBK573aWC5sgP7YsBOLK79H3tmUtz6b
9Imuj0ZyEsa76Xg9PX9Hn2myKj1hfWGS+5og9Va4hrwQC8ipjXik6NKR5GDV+hOZkktU81G5
gkQtGB9jOAYRs86QG/b7PtIlbd3+pppT0gaS+wvwMs8cuNG+Pu6KO1oC4jgdseFLu7NpABEB
AAHNIlF1IFdlbnJ1byA8cXV3ZW5ydW8uYnRyZnNAZ214LmNvbT7CwJQEEwEIAD4CGwMFCwkI
BwIGFQgJCgsCBBYCAwECHgECF4AWIQQt33LlpaVbqJ2qQuHCPZHzoSX+qAUCZxF1YAUJEP5a
sQAKCRDCPZHzoSX+qF+mB/9gXu9C3BV0omDZBDWevJHxpWpOwQ8DxZEbk9b9LcrQlWdhFhyn
xi+l5lRziV9ZGyYXp7N35a9t7GQJndMCFUWYoEa+1NCuxDs6bslfrCaGEGG/+wd6oIPb85xo
naxnQ+SQtYLUFbU77WkUPaaIU8hH2BAfn9ZSDX9lIxheQE8ZYGGmo4wYpnN7/hSXALD7+oun
tZljjGNT1o+/B8WVZtw/YZuCuHgZeaFdhcV2jsz7+iGb+LsqzHuznrXqbyUQgQT9kn8ZYFNW
7tf+LNxXuwedzRag4fxtR+5GVvJ41Oh/eygp8VqiMAtnFYaSlb9sjia1Mh+m+OBFeuXjgGlG
VvQFzsBNBFnVga8BCACqU+th4Esy/c8BnvliFAjAfpzhI1wH76FD1MJPmAhA3DnX5JDORcga
CbPEwhLj1xlwTgpeT+QfDmGJ5B5BlrrQFZVE1fChEjiJvyiSAO4yQPkrPVYTI7Xj34FnscPj
/IrRUUka68MlHxPtFnAHr25VIuOS41lmYKYNwPNLRz9Ik6DmeTG3WJO2BQRNvXA0pXrJH1fN
GSsRb+pKEKHKtL1803x71zQxCwLh+zLP1iXHVM5j8gX9zqupigQR/Cel2XPS44zWcDW8r7B0
q1eW4Jrv0x19p4P923voqn+joIAostyNTUjCeSrUdKth9jcdlam9X2DziA/DHDFfS5eq4fEv
ABEBAAHCwHwEGAEIACYCGwwWIQQt33LlpaVbqJ2qQuHCPZHzoSX+qAUCZxF1gQUJEP5a0gAK
CRDCPZHzoSX+qHGpB/kB8A7M7KGL5qzat+jBRoLwB0Y3Zax0QWuANVdZM3eJDlKJKJ4HKzjo
B2Pcn4JXL2apSan2uJftaMbNQbwotvabLXkE7cPpnppnBq7iovmBw++/d8zQjLQLWInQ5kNq
Vmi36kmq8o5c0f97QVjMryHlmSlEZ2Wwc1kURAe4lsRG2dNeAd4CAqmTw0cMIrR6R/Dpt3ma
+8oGXJOmwWuDFKNV4G2XLKcghqrtcRf2zAGNogg3KulCykHHripG3kPKsb7fYVcSQtlt5R6v
HZStaZBzw4PcDiaAF3pPDBd+0fIKS6BlpeNRSFG94RYrt84Qw77JWDOAZsyNfEIEE0J6LSR/
In-Reply-To: <202506042235.7e3a37da-lkp@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:TxDBeL26Xax1jDircGl5E+qo6JjRzAFuHZAo+aUnVOTeNCOX7kH
t5u/oSAmJu2kdmgqv7HTXJZcguen7QPThvxsR6HRllb8qSeWUYoEHuqW6VXKJUxL81IdLfT
5WunUMsmj52CYIQOdsRguvERUqnHEMgaCLkENLY0WpGf4Hrho581XwNHgIhh7XkCeCBy2CD
wEaUOcEs/p4fIJmJ4Ynww==
UI-OutboundReport: notjunk:1;M01:P0:NkefiVpwn+U=;SRrJq1IUkdumoKCxKIfRIAGDuGc
RakEONIO+nzr2KLOfT+VhljW2gdFbiqAvwpUxxZk1vP/FkQW6vthxchY2uHWp2c27AdsTBZss
IwmLnuPkxd+4c8PaBIS/mMCYBOv8FYdZPKDDiB6+U6EgnHRjWKfopffhuDmkKEsaqx1+uaqix
Liv4PcOHjFlbj0G/jKU09QoVSOX3TZ/jRNFqBYkT9WMXqQ/PZ4p3z8jBtKoClxE1nATMw645k
jLP3WY+KC24E5LtqrWD7+5RSBoMWrggxjXmpRcuPItyK87YGCWgmLbBgDDVgL/vxHKN81A7tb
5Rkje2QpFRwvBJTeTUNu6VTYH9SDBMsJGK9ho4TRF5VKWBx5wnLno8TvzmdWOnF1P+uyAaWfF
t214P5Y3oYeFIZ6Nq4e3z+/6LGtBSrvGyRvumm+WRRY4pL/VmgUW5H65axnoRk2pyfQm9gS/6
7M2Hp0ySu978QoBn4VwwBSV7Z9VU0LF9HiuCVCJYuFYqh2TBo5LuQC0Mks1Ty6HwqwLWajqSv
uTC/udqYvD0JfA/qojKbOYGWkJFSNofiuseK2bbg3ZNCThEB+unZO10S6hvUss9bpYG1d8606
YhlFmIMlNNhGOjH68QttNYV9uJEekor48hq8oNLrW/MaQGGooM5Lsa1A42ntvmv6j08AC5uqD
qlX9nsky0iONJhzuNWgMi4lLXOHwL8if380J1dL6xY96GgIM/YvhawJ0z+JooDZvuFYo5lxZQ
Q09QbidH2ierZ/I9QQ7wQcGcPVd1oXeBk9yIO4TWEPZqDIbyEC5cJEvT0rInXH51LVeCuzO69
U4+A4wZNGaPyjq0Hvs49FxrcWVIr8ekVY7cLztsvgPXtAcqN6sUYjV0jtZmsWS2UKWP0eR6kG
bnE/M0+ePNSqmgULjG42Tqvx9rZJD3ZQVrf+FtWA67GyzTlDjPXIO2xT3xqq2pJyKeNa/d0YK
77iSwvQrXFE1gTzuGN0GC06WHvUi+sOWOJgjJjntj+in5Cjn1RDEAjrDEJsz+R1raCy6ZuvNm
gQH+5sF6aPVqeTMY40Ks4bGElXuWrs807uhO2vQiNqxwy+rGzG8Sy4w8/DbbP7rScUSzPklje
kueOhL4yTPLki7TqgOF0tXq1ufc1gxDMrBLMy07de7Nm20lU7aR92r2BR+kWFaJYmlIvt+YMZ
0X/TtuLBa7ynvvjPgJCryCSL4X8LZPG4xGD7UTbsc+XRJczqvJ66PLh+wlzxhcQjgramlHBOr
Al9VNy/cSJ+R/Z70wF0UJSGBbMRUW6K9d97C9fLYWSTxRwW1LE6jDpJO7lJCtsdOTrAvwbs5V
brd4u7k07BgLFV83SNOoe7Mp/kWbt5wqDSKmarsuAd3D+ciEQH/lkwwvCNKQyg6KZRVBx5nLO
v9K3GVTSUxpdAQ4Q3ZzYLaHU6xDAMPSXfB2EB0mZYcEegXSwdbEiD9C6EKrB1bHePaZt7cNXw
fnhBXnuqsk/isOLM8YFu4ZaPNnGSe0fY/Cv7YVCKdQxeatGlNWpFvuUBXHL4um5sVuLm0MEhk
s76H7yUIFH/C5LyyPLMiTwRHkNrLqYiYIeax2LDVRyo1fACNYultICD4alhslnhN3XED9JApi
eWlmX+BaSLPe3OSgbubEUP+aXSWjAap7wjzsD4LTnL7JN88lQ/4j/MsBK31zJE90HCwP6sPDt
fb7kRTJ3vdBcvU0rN/LOa4z02T4SCu/e2vmM32JfDiqQwtO35RdnFzO+hMHEHvSaBqjo0SjHW
uSTDJEc2sfSHecS8MeIdFQ4+ZT5XLMYx8zccP8fGb/d96yBt/fYVFTB7NsHnMFGVce07xkI3+
7WCKwVdgrZusdZtaDmqqZs2gYSIHNb+Jh2z27A3x440nbawdl032fXm4ydIg3THwz/lIu7dKW
wB/vviquYFxrRiDHOd/uPMlydmM0Z+Lc44qt1RuCAUVkdu53uqIMmZCGBoVprP/d8AInJp4wO
DXpHEuIh1pUJqpBysCw+YasCO/7JkSqUufSm4vixZQd2ukMCM8rb84yAz2RfpwyYJbjC32ZR8
sN+FcOwvoC8E3HLbje6lHU7uM2joWGEPBqWPdwmGOqYj0OLvbB+H2EbeGJra8pv9q5mPnjDwL
y7397D43nzeByRcj0upOTr8LB4qKQlZSWFOFy8sracD5OO1W7ltSykB9sjZiYe8lQHgHVgTRB
3P/zwDsjbN0GqJ7Q+plb1kkMZykkW5GJ4zICSvXjQQs7bfpWxoKRwefRCp+yZ10gdM9G2Zj/Z
AKzy1956ZvM9mvZMvOMRYitWnzrde9zQ0JJdNv/u0uiNNK0u1WF3W3AXOwhAHdrTKzIziHJuM
ha+KE/Xh6CTmoP8vEDubwadmW0iJajvkdVDEnhQl6B28LiSu/b4e+b92w0RG+cp1Uvmqykzp+
gqgF3cXxif4DqDPBiiABO1kPsucL7w5lIp9LIKBivMSFCDsSALR/WlHl9KotfeXnlRFFt6lIp
4OY9SxA27+xm3juHrdE54wvdLRWkOeKFfNazNXiqMZ5NBnZ21xOlbOJDSzjy4yXJQ4MeTNmru
Bu4xMONCITwGPxOs1548ZTjHaWJoGipzISORk4ufvRWdPWBeFzaaUh7XZ3hO+BExaoJPllo2V
KoGisuyViKcCMwPQg6AU/8/Hk50qf5TAcMRhtsCzeIAE7PXJkd97fPqa3H5J6rrWwVe2cCVqg
M/SDjfmD/R3SVcgdEmrOFRvVuTAqsmxACZaBQiafUAoN4nUUqUCG4HGHmX6zbdl+u5OUOOUVq
zZv436jvwhHreG4zl5uy54c9meRXxe8IkCaf0G3hIvk3q9B4VwgawG7DhcEbfg8i1V1QtDAAg
fjGdUSFDu1iW5oZS3Ws02jbUDKdY4Cndu+WFgrJoLYF4yb5ElcEt+u/7JhzdxwJQGzZLl9Bwi
yCRawvieIK68bnqef4YdhDKsDz82fZeu7LgdPgoB3Rhk/xGtxE+U3/ERTZRX5UnWnrOWuTaqs
AIU8nc8he0N+DFpXN8DcpGCNeBM+GT0zRf/ODVPhOcpzS+/V1LefoWgIPTFDmayeAuefQTLxR
Qp9ln4+CqMfFYK/8S7jti9Ut8ybMP7ulhZvU9Kxhq/DOdfeRbUoW7lTaPRR7hLW+11Cdy8Tn8
uZkvNNnW+UW4G8NGc93QNmvJoIigi4VpL/hzd9IbmEpQQVFeqsyZjNcSk2ExoXAGWF1LbLk8t
+iKi6DpeRUThmSJ0HqDiViZyzrs7yGuvZCulm2WleJJx5s/dI6j4XDtQsDCW3dH+1NE0=
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



=E5=9C=A8 2025/6/5 00:21, kernel test robot =E5=86=99=E9=81=93:
>=20
>=20
> Hello,
>=20
> kernel test robot noticed "xfstests.btrfs.220.fail" on:
>=20
> commit: 8af94e772ef7bede90895318a3fda6c68a652774 ("btrfs: remove standal=
one "nologreplay" mount option")

That is fixed by fstests commit: 49170253afef ("fstests: btrfs/220: do=20
not use nologreplay when possible"), which is in patches-in-queue branch=
=20
already.

Thanks,
Qu

> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
>=20
> [test failed on linus/master 7d4e49a77d9930c69751b9192448fda6ff9100=
f1]
> [test failed on linux-next/master 3a83b350b5be4b4f6bd895eecf9a92080200ee=
5d]
>=20
> in testcase: xfstests
> version: xfstests-x86_64-e161fc34-1_20250526
> with following parameters:
>=20
> disk: 6HDD
> fs: btrfs
> test: btrfs-220
>=20
>=20
>=20
> config: x86_64-rhel-9.4-func
> compiler: gcc-12
> test machine: 8 threads 1 sockets Intel(R) Core(TM) i7-4770 CPU @ 3.40GH=
z (Haswell) with 8G memory
>=20
> (please refer to attached dmesg/kmsg for entire log/backtrace)
>=20
>=20
>=20
>=20
> If you fix the issue in a separate patch/commit (i.e. not just a new ver=
sion of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-lkp/202506042235.7e3a37da-lkp@intel=
.com
>=20
> 2025-06-01 10:11:00 export TEST_DIR=3D/fs/sdb1
> 2025-06-01 10:11:00 export TEST_DEV=3D/dev/sdb1
> 2025-06-01 10:11:00 export FSTYP=3Dbtrfs
> 2025-06-01 10:11:00 export SCRATCH_MNT=3D/fs/scratch
> 2025-06-01 10:11:00 mkdir /fs/scratch -p
> 2025-06-01 10:11:00 export SCRATCH_DEV_POOL=3D"/dev/sdb2 /dev/sdb3 /dev/=
sdb4 /dev/sdb5 /dev/sdb6"
> 2025-06-01 10:11:01 echo btrfs/220
> 2025-06-01 10:11:01 ./check btrfs/220
> FSTYP -- btrfs
> PLATFORM -- Linux/x86_64 lkp-hsw-d01 6.15.0-rc6-00302-g8af94e772ef7=
#1 SMP PREEMPT_DYNAMIC Sun May 18 15:54:12 CST 2025
> MKFS_OPTIONS -- /dev/sdb2
> MOUNT_OPTIONS -- /dev/sdb2 /fs/scratch
>=20
> btrfs/220 [failed, exit status 1]- output mismatch (see /lkp/bench=
marks/xfstests/results//btrfs/220.out.bad)
> --- tests/btrfs/220.out 2025-05-26 16:25:04.000000000 +0000
> +++ /lkp/benchmarks/xfstests/results//btrfs/220.out.bad 2025-06-01 =
10:11:04.131877139 +0000
> @@ -1,2 +1,5 @@
> QA output created by 220
> -Silence is golden
> +mount: /fs/scratch: wrong fs type, bad option, bad superblock on /=
dev/sdb2, missing codepage or helper program, or other error.
> + dmesg(1) may have more information after failed mount syste=
m call.
> +mount -o nologreplay,ro /dev/sdb2 /fs/scratch failed
> +(see /lkp/benchmarks/xfstests/results//btrfs/220.full for details)
> ...
> (Run 'diff -u /lkp/benchmarks/xfstests/tests/btrfs/220.out /lkp/ben=
chmarks/xfstests/results//btrfs/220.out.bad' to see the entire diff)
> Ran: btrfs/220
> Failures: btrfs/220
> Failed 1 of 1 tests
>=20
>=20
>=20
>=20
> The kernel config and materials to reproduce are available at:
> https://download.01.org/0day-ci/archive/20250604/202506042235.7e3a37da-l=
kp@xxxxxxxxx
>=20
>=20
>=20



Return-Path: <linux-kernel+bounces-673855-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8C00041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:55:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B63023A9DDF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:55:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 379D71F4C9F;
Wed, 4 Jun 2025 22:55:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="QTajhQDm"
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2066.outbound.protection.outlook.com [40.107.92.66])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C7BF1B4145;
Wed, 4 Jun 2025 22:55:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.66
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077738; cv=fail; b=j69eAvs3/7IzajwPIQTpiZi6QMs8QVv8wBlqkBF6FhzVl6EhxAMZrT4if/piFyMQAVUcUncfAW4x50Ta5ZvxCtveP57y0mdzNHOEus8RpTdb9NQtdnHe7edKVn60pupJUJsNsqyvGYfHKusmmDTSOgUzJ0Ez539/SPPD1VpGqqo=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077738; c=relaxed/simple;
bh=Wb3zwbZb+zwYgsbFvyEEEuHf4fE7ZnXv1wNZeadVOig=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=s/uQx/nLjPrWiqJpWXQzedaY8PjkA01aoSjNMPaW0mLKHrznv3MvJsUSXqvVZxXA6TUMdghDm/kRXHf7cws2ie/H/7JZ96hky674A50sThH3JmhKeWnmAwpECSca5C2HQALAFF/cLXGcGa+YdcAJkXc/cDBIE3oYU7vDECf1EeY=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=QTajhQDm; arc=fail smtp.client-ip=40.107.92.66
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=BFwWy8eMNqNVoejSt3MsuYX6+mAR8fPuxVs83qGJvkzJlz4ZVbIyyOTHk9BEnSjJqbBtrouYy/jLc3yLmDD7QRDqUEfy07twNUNIHRlNgKePWT6vB4asn7Goxr9GZ4wAP6EAC6kN8CaKshH7MdeezdQ9fZa1SUCYtcITJVE+0sWcmzrvKLrdcw1S023smTsIgGlFEQdDW2OHwlu2DzhgQkclobqg+SPxF0SeCSUPbxePv0LUyMn+fFSDRUImPLyAkYxvzHNXquHmB45R1sQWAc+GkiTx0nGj8w+aBwA3qNjI8Avjo+cu2frK8uX/eDMI8dsypDWcu0aMnoWTSs4fzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=uESHO2/61DBGPsLOHM0sKDRy44PdBx/Ge3pIhkYCfcY=;
b=vFzgLtU5SYp58S0tnBzIDF5xwf/vpaPkrty7QXiCT27pj6fFzM4O/H4xIkQlqXc2VfwTJYBTT+ixI34p+OUchi00QD+k6rfM96v9aCp4OALaEks2D13XehWLF8D+GNN5jBSGWsEThnfQWxKJVyzMW/SwFkjknNCbAajN7/WfryWWTVSN85D/Mp9XhgbbB+E9z+kCchBB1N9T/TfPRypWaTgjcUjjp7T0HFE+KWHceAxr09keE7zfrMavSwP2sxt3TYVvdFq4B1BJLIPon+RFEgkEK/LUE27A+1bgRRLxUfnd7N+J9VG/drT8mLyHij9E6H2SHe2EoouKzZctMDo98w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=uESHO2/61DBGPsLOHM0sKDRy44PdBx/Ge3pIhkYCfcY=;
b=QTajhQDmOwNtT+spTT5c8pwodDTfcm1YdhVREOXMta4dS84V1UHQIWf69OBVUmAY3W4yp/JjJDgV4nysr3H8pj0x9L2XPDznd5BQvSgS+y1+wJqDCscaHyBTOqVaXX2D+Wwtb3oIA9MzvzNUctkrAOsCL6ZwZJgi035qfDScNrg=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from BL3PR12MB9049.namprd12.prod.outlook.com (2603:10b6:208:3b8::21)
by SA0PR12MB4464.namprd12.prod.outlook.com (2603:10b6:806:9f::11) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Wed, 4 Jun
2025 22:55:31 +0000
Received: from BL3PR12MB9049.namprd12.prod.outlook.com
([fe80::c170:6906:9ef3:ecef]) by BL3PR12MB9049.namprd12.prod.outlook.com
([fe80::c170:6906:9ef3:ecef%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
22:55:31 +0000
Message-ID: <484de126-872a-4b61-a30d-6baa73c9449c@xxxxxxx>
Date: Wed, 4 Jun 2025 17:55:28 -0500
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/5] crypto: ccp: Add support to enable
CipherTextHiding on SNP_INIT_EX
To: Tom Lendacky <thomas.lendacky@xxxxxxx>, seanjc@xxxxxxxxxx,
pbonzini@xxxxxxxxxx, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, bp@xxxxxxxxx,
dave.hansen@xxxxxxxxxxxxxxx, hpa@xxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx
Cc: x86@xxxxxxxxxx, john.allen@xxxxxxx, davem@xxxxxxxxxxxxx,
michael.roth@xxxxxxx, kvm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-crypto@xxxxxxxxxxxxxxx
References: <cover.1747696092.git.ashish.kalra@xxxxxxx>
<0952165821cbf2d8fb69c85f2ccbf7f4290518e5.1747696092.git.ashish.kalra@xxxxxxx>
<77350d09-1d51-2ae5-39f9-a62ec29675f5@xxxxxxx>
Content-Language: en-US
From: "Kalra, Ashish" <ashish.kalra@xxxxxxx>
In-Reply-To: <77350d09-1d51-2ae5-39f9-a62ec29675f5@xxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DM6PR01CA0028.prod.exchangelabs.com (2603:10b6:5:296::33)
To BL3PR12MB9049.namprd12.prod.outlook.com (2603:10b6:208:3b8::21)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL3PR12MB9049:EE_|SA0PR12MB4464:EE_
X-MS-Office365-Filtering-Correlation-Id: a4f7c1d9-34df-4621-9bb7-08dda3bae801
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?MnlQTFZiZ1Iyc3Z2YlhpU3lVT25QN3lML09NNlZVWHVuc3dBNEtzaVowLzla?=
=?utf-8?B?dzZ3dFBvc2YvbWxiTW93K2VnM3V5TWgwbjNjYUphaHFrT2tNUXVFZG5EaDRu?=
=?utf-8?B?UmkxeDZlRHBINjNMbnVMNkVBWXc2N3VXTU4yZnowb0hQanBGeUZLbWNrUmNK?=
=?utf-8?B?NzZ1TjhPbXMrblhmZUdSbVhuaVpodWUxUmd0MEYxVlROV0t1VUx4dGZtL2lL?=
=?utf-8?B?SzBPOURKR3VzK1dRcmVoekJ4RWdaWTJhQzlTSjVrZnhzS1VlUlVhZkNUMmZM?=
=?utf-8?B?cTVhMkg5Qno4dGFmWlFqbDB0TlFTd25ia2lxc1NiTDA2WFNHcDhITlIyc014?=
=?utf-8?B?ZDdPS2twK0JHTzBCSyt2NHNpbW82R0F5bTRncVk3cUQ3ancxajQyUUZlTUVj?=
=?utf-8?B?dzN6Z0x2cWhqZFpGMmg3N3NNQVJxQ2pEaFRhT0VPbkZxSkk2VS9KK000WWln?=
=?utf-8?B?bzBDQVlBa1ZxRHFxSjQ0ZHNHam1YTnhvVm92YWtaTlRxVUxwK1AxdXluQUU0?=
=?utf-8?B?ZEFvZWxBSzFrb3NSR2JVMmFodWdBSHlrMEtLbzA0bURMYTdZZnlobm9sTXZE?=
=?utf-8?B?eDdnUEFUcWV2cEVJOUxpOWMvVVFEOGtjOElkczJ5T050cStaU3NTMUhvUE1M?=
=?utf-8?B?RmVubW5ZUWFoOFk5SGwxdWtyTVNHUjNzV2VBSzZXZ2kwZUlBaEY5bzdzVmZB?=
=?utf-8?B?ckE5TlZ0TFNDVDJBN1hkUnExQlZrODZtUm5BT2ovZ1R2Z3JLcmtiNzJqTXdS?=
=?utf-8?B?MVd1bGwwRU9sQ0tpdVdGbXNiVnN2aUlJSVA0S2pKQmN4WTZPT2tkK2V1dGZH?=
=?utf-8?B?Q0VKQTl1cnhJOUhXanlCT09ZSkVtazhnRnl4ZHdVL1g0Wk5EZXhwNk5xb1dX?=
=?utf-8?B?UzVDVzh4UXI2czNpaFZlSmZvYlp4MXFSYkV0dEVPbW5jcjFCUnFsU3hlSk5Q?=
=?utf-8?B?RUd6eS9PVm95N3NuM2FMb0VGMzhaM3VzdEtRRkd0KzY4aHBuZDNlbzJnREk3?=
=?utf-8?B?RHcxMSszcTNPNENMUVJJMmJoenU4OTFYR1RxajBwU2dQRFFlcWE0M2RMR25H?=
=?utf-8?B?NEpWQldSM0t3STBNMnlXdTZLcEtYQTdqSXFFalZPYlFmaWx1SDVpNnJsM0tK?=
=?utf-8?B?WkxqRllZZ0o2SXRPdEZOTjhXMlhXNXdLNk9TYXRmcTFyTUdQbThCK1ZBd2tl?=
=?utf-8?B?U2NZUFdIZGFkU2F4SndVVEx4QVYrMFd1ekhqNnRjNWk0WWZ0QnE4SUNYVlAw?=
=?utf-8?B?bFIvZTAxYjBKUWxTdGhqVGcydDB2ZmV0U2lyZmJjRGN5OEFtamNQSmUwSitI?=
=?utf-8?B?SkpZa1VVWnhGOU5NQWN4anAyNnZycjI2MXcyZmoraG00TE1odFNRaWZsdVJx?=
=?utf-8?B?cGRIbW4zSHRQYW5kSTBvWVlhVkJoYzlwMnpINXRyVzJrTTg1K0VVRnpkajA2?=
=?utf-8?B?U09nM2JqVm14Q1dRYWQwRjFwSlpXL0xzd0o1RXozc05nMnF4RVQrUUd0Y29h?=
=?utf-8?B?NitjcnFOeWdBZTgxTTFoSVFON0EzbnVyaWpISnc0YTFteDkzc25GSC83SXBG?=
=?utf-8?B?aHd2S0k2NE04YnZ6RDFsNVEzV2E3Qldja0s3anJxTkhBbll3Z1c1RlY5a09V?=
=?utf-8?B?bHlVeEhVZ0N0OVhMTnYydExQK2RzNzNaTVRpN01lMkRMVUNISUxLdmdzazlZ?=
=?utf-8?B?YWdQamNlWGlpYjM0U0dZc3E2U242Y3k5QVo0VnJNT1FHcmFyUGhHaE0yc2FB?=
=?utf-8?B?Tk9DcjQ4cmhaa3BRRGs5Rm12RGRJcHVvM1JrQVlWanFYOUR3d1JlOFpmaHJj?=
=?utf-8?B?azc4QVU0Q0R6UFR5RXFPMGJ2N0d4ZXZGa2tyYmlRRzcxQi9yazAvSko4VnlW?=
=?utf-8?B?K21STkdsMDB0WHhJaGhmM2xNQndlU0ZQNWJ1Vmg4YU9pUWYrVHFpdlRmNDJs?=
=?utf-8?Q?s5/EU1IE6iE=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL3PR12MB9049.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?UDVkN2RYV1BROXprVHA3bE9WSDNHWVRFUTJ6V2liT3l1dEx0ejNIemhXMTVp?=
=?utf-8?B?WWNrNVhucTYrbUt0bUJYSFV1U1lkTnRpQ0ppVS82dXVlN1pUMEhyTUsyQ1lh?=
=?utf-8?B?eldwTjNtN0xtUGtWUi9EaDJJQVdpTEl2K3RodmZPeDlVbnorT0pzT1RvVGpl?=
=?utf-8?B?V21CTWYzN0g2TW5UL3ZHNGFJK1lKSng3djd0eDJ3RnJYWHpETFFNVUovVWds?=
=?utf-8?B?WTBuR2N3dVlTMzJXTmFxQ053Qm9XdEhNYXV4RkdCT0twMGdUSXQxUVJ3ZWVG?=
=?utf-8?B?cTNCdTBPM0E4ZHRpYlRzWks2QWdNUWx4cDV3bUdnd24yUjdPSURTMWs4OVpw?=
=?utf-8?B?M3hoSzY1dkpVMmNDVEFuZFlBR3VUYnlveDZ4MG5Sa1VySnhjUVNSYmRVdWdX?=
=?utf-8?B?T0hHU1MvSTN6SzU3SFJXR01kc2s2czRhL0I5dnVyUkNiT1FTb0VYY1RhWlRv?=
=?utf-8?B?ZmkyT1l2Qit1NEhvUzNCOW1WMXBNUUpxQ0tXaFRYWWNyQ3FneGVrVSs3WUhC?=
=?utf-8?B?QzBLQzV0TXdkQUVBUWsrdDBBblg5K25XQWFWWFRQRHQ0K2ppaXVnbHVUWjVJ?=
=?utf-8?B?UFB0MXFtdFdob3g0anAxM3dCOGIrbXBteHEzK0dCQy9LamhnbVN3MUp5OWtr?=
=?utf-8?B?aEh4ZU91eDdjaDczUWNuN0FHK0huK283aUVJMTRiUDhSOTY5TGRPTVN6c3l1?=
=?utf-8?B?UmRKOWdKN25keVVBMWJsQUR6ZU9haEVydHBjOFUwUzc4azZUeUUxbWlGYktX?=
=?utf-8?B?VnYwTmsxT1owQWhUVXV0VHd6S25lRGFia0JVYStVY21MZXNocVNBVXpSUVlT?=
=?utf-8?B?cTM4RHZtNGZVMVE3TWJtc24rT2NWMzFodjZrQmMyL3ZRZ2wxZlp6bHdKVmg3?=
=?utf-8?B?Yi83c1c5ckNIRHN0Nysxb2RhcXJuaGRFbEFUMjNkREVpd2ZHZUwrVW5TRnVJ?=
=?utf-8?B?akEraEZyTE0rbjdIY1ByRXVlS29mUFVxUGNKWHpmNkprQ0xmcDNkL2FsQ2VM?=
=?utf-8?B?cXZ2eHJJOVpZZmJ1UlpZQVRtU1RsL2d5L1I5UDRtSG5ESWtSc2w1M3dCb0po?=
=?utf-8?B?Rk5YTmUrSUVhWnRJSUV3U1Y5d001RHlrc1dQbzdtYjRSaUc5ZUJaNnIrTWFY?=
=?utf-8?B?Wmo5RDhjVmdwMXJLNTd0Q3hwREJ2ejkvNTdsM3dVUTBUWmNGVU9RQWdMVHRH?=
=?utf-8?B?SkRTeXdSUHl4cEswR3l5c2o0bE92cEhkT1FxMGNkL1hoRzQ0amE4RThIT3pE?=
=?utf-8?B?bEtCWmNtejJTNitLM0RnVG80ZlhlY0F0Z0JHYzFlaW1yalJwaVdHZzVIYzlp?=
=?utf-8?B?aEFqOXphMjdNRUpOb2FmMzJlQTdJTmFSNXJXQnhKajJwNHd6NStFNytJTmlo?=
=?utf-8?B?SWVmaXFZSGtzeFZWYnZiN2ZiUG1aQ3krMHR6aVdYdTkxc1NiYncwcVVobTJT?=
=?utf-8?B?YWJNaXRqUnNXZ2pOd3pJZkVFeTRpTFZkM20zUW12THhVWWpnWUhNczEyQVh1?=
=?utf-8?B?Ky9YL21LQko1ZGVUYklJTThCOXhFV2hoMGNlRk9uZVVpSnRQNG82OE1xZE1k?=
=?utf-8?B?ZUNsVC9xeXBpVDVHeHpER0tiZXdMNDVXUlgvWE92WFdoRWRQVHBlZlV6eHp4?=
=?utf-8?B?dktsazljeUJmSTl5VEZoYlczaGhCbXJrNGtUOU8zcGI4cXdoWGRZckVMODBl?=
=?utf-8?B?UEkxWDJUcTI4TjdoYnl1ME9zaUZSdVZhZ1EyODVLamhXaEJ2bkZ3MnAyNmpm?=
=?utf-8?B?Slgrek8zNGhqNU15Mk1mWHFvZnpQR3I3MnUweXFPN0RwY1NSR0VRUzA4VzRH?=
=?utf-8?B?S2FuajR5dXlrZnF5a05hdU9pTVZKRUJvUnRIMEltTEhzc1NxTncwcjBzZVh2?=
=?utf-8?B?L0NlYnlYY0hpYW9JNEZScFVIdzN0bFl5Qkx2VWtjcHh4ZDY3a2w0RWFON21B?=
=?utf-8?B?QVE0aWY1ZndFZVoxN2EvSXhSL3ppaHVTc1lvQmw4VDBOV0ZEcWlEdjk0cmVk?=
=?utf-8?B?b0lwYTg5ZHhBTVhyOVZWZjIrMHo4UU1NaTV5anBGUTdHNHl5Zkk2YW51N0Fk?=
=?utf-8?B?MGFnbmRmNHBVMTBLWnN6RWtTMm1UU2FqeHV4MUJYaEJhTG9sclM1NkdWYmU3?=
=?utf-8?Q?6I38VnpvB5lPR2Dayr4BSHVgt?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a4f7c1d9-34df-4621-9bb7-08dda3bae801
X-MS-Exchange-CrossTenant-AuthSource: BL3PR12MB9049.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 22:55:31.0547
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ybXg4JwRFEJxRbR/s6Yu3UXge5wdgfllliNNVCiuuygo4VIL1cf9IW3ycMXbIq9sGv5d7hTAKEnP1Y3I5if3Kg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4464
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


On 6/3/2025 10:41 AM, Tom Lendacky wrote:
> On 5/19/25 18:57, Ashish Kalra wrote:
>> From: Ashish Kalra <ashish.kalra@xxxxxxx>
>>
>> Ciphertext hiding needs to be enabled on SNP_INIT_EX.
>>
>> Add new argument to sev_platform_init_args to allow KVM module to
>> specify during SNP initialization if CipherTextHiding feature is
>> to be enabled and the maximum ASID usable for an SEV-SNP guest
>> when CipherTextHiding feature is enabled.
>>
>> Add new API interface to indicate if SEV-SNP CipherTextHiding
>> feature is supported by SEV firmware and additionally if
>> CipherTextHiding feature is enabled in the Platform BIOS.
>>
>> Signed-off-by: Ashish Kalra <ashish.kalra@xxxxxxx>
>> ---
>> drivers/crypto/ccp/sev-dev.c | 30 +++++++++++++++++++++++++++---
>> include/linux/psp-sev.h | 15 +++++++++++++--
>> 2 files changed, 40 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/crypto/ccp/sev-dev.c b/drivers/crypto/ccp/sev-dev.c
>> index b642f1183b8b..185668477182 100644
>> --- a/drivers/crypto/ccp/sev-dev.c
>> +++ b/drivers/crypto/ccp/sev-dev.c
>> @@ -1074,6 +1074,24 @@ static void snp_set_hsave_pa(void *arg)
>> wrmsrq(MSR_VM_HSAVE_PA, 0);
>> }
>>
>> +bool sev_is_snp_ciphertext_hiding_supported(void)
>> +{
>> + struct psp_device *psp = psp_master;
>> + struct sev_device *sev;
>> +
>> + sev = psp->sev_data;
>
> This needs a check for !psp and !psp->sev_data before de-referencing them.
>

Yes.

>> +
>> + /*
>> + * Feature information indicates if CipherTextHiding feature is
>> + * supported by the SEV firmware and additionally platform status
>> + * indicates if CipherTextHiding feature is enabled in the
>> + * Platform BIOS.
>> + */
>> + return ((sev->feat_info.ecx & SNP_CIPHER_TEXT_HIDING_SUPPORTED) &&
>> + sev->snp_plat_status.ciphertext_hiding_cap);
>
> Alignment.
>

Ok.

>> +}
>> +EXPORT_SYMBOL_GPL(sev_is_snp_ciphertext_hiding_supported);
>> +
>> static int snp_get_platform_data(struct sev_user_data_status *status, int *error)
>> {
>> struct sev_data_snp_feature_info snp_feat_info;
>> @@ -1167,7 +1185,7 @@ static int snp_filter_reserved_mem_regions(struct resource *rs, void *arg)
>> return 0;
>> }
>>
>> -static int __sev_snp_init_locked(int *error)
>> +static int __sev_snp_init_locked(int *error, unsigned int snp_max_snp_asid)
>
> s/snp_max_snp_asid/max_snp_asid/
>

Ok.



>> {
>> struct psp_device *psp = psp_master;
>> struct sev_data_snp_init_ex data;
>> @@ -1228,6 +1246,12 @@ static int __sev_snp_init_locked(int *error)
>> }
>>
>> memset(&data, 0, sizeof(data));
>> +
>> + if (snp_max_snp_asid) {
>> + data.ciphertext_hiding_en = 1;
>> + data.max_snp_asid = snp_max_snp_asid;
>> + }
>> +
>> data.init_rmp = 1;
>> data.list_paddr_en = 1;
>> data.list_paddr = __psp_pa(snp_range_list);
>> @@ -1412,7 +1436,7 @@ static int _sev_platform_init_locked(struct sev_platform_init_args *args)
>> if (sev->state == SEV_STATE_INIT)
>> return 0;
>>
>> - rc = __sev_snp_init_locked(&args->error);
>> + rc = __sev_snp_init_locked(&args->error, args->snp_max_snp_asid);
>> if (rc && rc != -ENODEV)
>> return rc;
>>
>> @@ -1495,7 +1519,7 @@ static int snp_move_to_init_state(struct sev_issue_cmd *argp, bool *shutdown_req
>> {
>> int error, rc;
>>
>> - rc = __sev_snp_init_locked(&error);
>> + rc = __sev_snp_init_locked(&error, 0);
>> if (rc) {
>> argp->error = SEV_RET_INVALID_PLATFORM_STATE;
>> return rc;
>> diff --git a/include/linux/psp-sev.h b/include/linux/psp-sev.h
>> index 0149d4a6aceb..66fecd0c0f88 100644
>> --- a/include/linux/psp-sev.h
>> +++ b/include/linux/psp-sev.h
>> @@ -746,10 +746,13 @@ struct sev_data_snp_guest_request {
>> struct sev_data_snp_init_ex {
>> u32 init_rmp:1;
>> u32 list_paddr_en:1;
>> - u32 rsvd:30;
>> + u32 rapl_dis:1;
>> + u32 ciphertext_hiding_en:1;
>> + u32 rsvd:28;
>> u32 rsvd1;
>> u64 list_paddr;
>> - u8 rsvd2[48];
>> + u16 max_snp_asid;
>> + u8 rsvd2[46];
>> } __packed;
>>
>> /**
>> @@ -798,10 +801,13 @@ struct sev_data_snp_shutdown_ex {
>> * @probe: True if this is being called as part of CCP module probe, which
>> * will defer SEV_INIT/SEV_INIT_EX firmware initialization until needed
>> * unless psp_init_on_probe module param is set
>> + * @snp_max_snp_asid: maximum ASID usable for SEV-SNP guest if
>
> Only a single space between the "*" and the "@"
>
> s/snp_max_snp_asid/max_snp_asid/
>

Ok.

Thanks,
Ashish


>> + * CipherTextHiding feature is to be enabled
>> */
>> struct sev_platform_init_args {
>> int error;
>> bool probe;
>> + unsigned int snp_max_snp_asid;
>
> s/snp_max_snp_asid/max_snp_asid/
>
> Thanks,
> Tom
>
>> };
>>
>> /**
>> @@ -841,6 +847,8 @@ struct snp_feature_info {
>> u32 edx;
>> } __packed;
>>
>> +#define SNP_CIPHER_TEXT_HIDING_SUPPORTED BIT(3)
>> +
>> #ifdef CONFIG_CRYPTO_DEV_SP_PSP
>>
>> /**
>> @@ -984,6 +992,7 @@ void *psp_copy_user_blob(u64 uaddr, u32 len);
>> void *snp_alloc_firmware_page(gfp_t mask);
>> void snp_free_firmware_page(void *addr);
>> void sev_platform_shutdown(void);
>> +bool sev_is_snp_ciphertext_hiding_supported(void);
>>
>> #else /* !CONFIG_CRYPTO_DEV_SP_PSP */
>>
>> @@ -1020,6 +1029,8 @@ static inline void snp_free_firmware_page(void *addr) { }
>>
>> static inline void sev_platform_shutdown(void) { }
>>
>> +static inline bool sev_is_snp_ciphertext_hiding_supported(void) { return false; }
>> +
>> #endif /* CONFIG_CRYPTO_DEV_SP_PSP */
>>
>> #endif /* __PSP_SEV_H__ */



Return-Path: <linux-kernel+bounces-673856-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DCBBF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:56:46 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 468AC1895F1E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:57:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 773B51F4C8B;
Wed, 4 Jun 2025 22:56:37 +0000 (UTC)
Received: from finn.localdomain (finn.gateworks.com [108.161.129.64])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AD6C01B4145;
Wed, 4 Jun 2025 22:56:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=108.161.129.64
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077797; cv=none; b=LoQPMS6jyEvfWaftdEBfG8QchoftB+1NmZE73tPOK6f2YY9xHYsWcFpNqAHQ87VcpFCB7msD2DD+vuvLMjXf8wqJjGFMszOFbSSajtC37K9meWAq71hBKte8ORRxO4GDSFNKcob9vDajtrVJh3tb2MQ47WuIXv5PouhY8yvLvso=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077797; c=relaxed/simple;
bh=DMK92S8OYVguEtSstXbKqhi3NiblCE6Ufxy5Sk5MZeE=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=eaPPcyDp5PuqJMYGpa0wVrogSFFd1RIDdWMmZ7Nc3Tbq4qcKFG91OMIno7w6PFX8e3RwqMVD44qfQE89E0Z80Ddz2y2xm0RW6LoTFFi2wzly0UOXGKDuhB42Jzur7if5G4OuE4kvt/e/KbkFh6m2x0p9s1qamdVsE5DqlsoLMmo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com; spf=pass smtp.mailfrom=gateworks.com; arc=none smtp.client-ip=108.161.129.64
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gateworks.com
Received: from syn-068-189-091-139.biz.spectrum.com ([68.189.91.139] helo=tharvey.pdc.gateworks.com)
by finn.localdomain with esmtp (Exim 4.95)
(envelope-from <tharvey@xxxxxxxxxxxxx>)
id 1uMx28-007Xnu-DG;
Wed, 04 Jun 2025 22:56:32 +0000
From: Tim Harvey <tharvey@xxxxxxxxxxxxx>
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
Cc: imx@xxxxxxxxxxxxxxx,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>,
stable@xxxxxxxxxxxxxxx,
Tim Harvey <tharvey@xxxxxxxxxxxxx>
Subject: [PATCH v2 1/4] arm64: dts: imx8mp-venice-gw71xx: fix TPM SPI frequency
Date: Wed, 4 Jun 2025 15:56:27 -0700
Message-Id: <20250604225630.1430502-1-tharvey@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The IMX8MPDS Table 37 [1] shows that the max SPI master read frequency
depends on the pins the interface is muxed behind with ECSPI2
muxed behind ECSPI2 supporting up to 25MHz.

Adjust the spi-max-frequency based on these findings.

[1] https://www.nxp.com/webapp/Download?colCode=IMX8MPIEC

Fixes: 1a8f6ff6a291 ("arm64: dts: imx8mp-venice-gw71xx: add TPM device")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx>
---
v2: add cc to stable
---
arch/arm64/boot/dts/freescale/imx8mp-venice-gw71xx.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw71xx.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw71xx.dtsi
index 2f740d74707b..4bf818873fe3 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw71xx.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw71xx.dtsi
@@ -70,7 +70,7 @@ &ecspi2 {
tpm@1 {
compatible = "atmel,attpm20p", "tcg,tpm_tis-spi";
reg = <0x1>;
- spi-max-frequency = <36000000>;
+ spi-max-frequency = <25000000>;
};
};

--
2.25.1



Return-Path: <linux-kernel+bounces-673857-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 63E8A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:56:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9933E173C4B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:56:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 030DE2153EA;
Wed, 4 Jun 2025 22:56:38 +0000 (UTC)
Received: from finn.localdomain (finn.gateworks.com [108.161.129.64])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AD7121B4F08;
Wed, 4 Jun 2025 22:56:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=108.161.129.64
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077797; cv=none; b=Si2mlmASHwbcTQtKMbJKS/SY2piLLovFQ+0eL3fptZChCbYG088VF7NxEI8YZi2cfO/PhIfmRn0Lya7i1sRyN6uHBIhVGfvLDYep7XIwKmhg0uY55zH5JMOxHrBbVmft7yudPOiw9lvgwmzl7QBcZMQHTmZ+wRi+8G9poZbOCF0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077797; c=relaxed/simple;
bh=36dabjXYjXKAAET7o8+9wHeh4wY4APOli9JiOjHK63M=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=B3LpGADfrYp8XP3yQ6FfkuwD7JcJK89vMO92utL+n6KYhoK2Gt/w/GGFa0/8nt2cvCkPBk9YlvEes26++iagiduvgZPgM4HQSYQjlXw1xGjaU4Stx9RVK7nIT33+xHCuMKj6+DlBXupYRGPOFZpX4JT8l7Qjw5mb2iSZN32xtaw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com; spf=pass smtp.mailfrom=gateworks.com; arc=none smtp.client-ip=108.161.129.64
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gateworks.com
Received: from syn-068-189-091-139.biz.spectrum.com ([68.189.91.139] helo=tharvey.pdc.gateworks.com)
by finn.localdomain with esmtp (Exim 4.95)
(envelope-from <tharvey@xxxxxxxxxxxxx>)
id 1uMx29-007Xnu-D2;
Wed, 04 Jun 2025 22:56:33 +0000
From: Tim Harvey <tharvey@xxxxxxxxxxxxx>
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
Cc: imx@xxxxxxxxxxxxxxx,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>,
stable@xxxxxxxxxxxxxxx,
Tim Harvey <tharvey@xxxxxxxxxxxxx>
Subject: [PATCH v2 2/4] arm64: dts: imx8mp-venice-gw72xx: fix TPM SPI frequency
Date: Wed, 4 Jun 2025 15:56:28 -0700
Message-Id: <20250604225630.1430502-2-tharvey@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250604225630.1430502-1-tharvey@xxxxxxxxxxxxx>
References: <20250604225630.1430502-1-tharvey@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The IMX8MPDS Table 37 [1] shows that the max SPI master read frequency
depends on the pins the interface is muxed behind with ECSPI2
muxed behind ECSPI2 supporting up to 25MHz.

Adjust the spi-max-frequency based on these findings.

[1] https://www.nxp.com/webapp/Download?colCode=IMX8MPIEC

Fixes: 5016f22028e4 ("arm64: dts: imx8mp-venice-gw72xx: add TPM device")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx>
---
v2: add cc to stable
---
arch/arm64/boot/dts/freescale/imx8mp-venice-gw72xx.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw72xx.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw72xx.dtsi
index 5ab3ffe9931d..cf747ec6fa16 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw72xx.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw72xx.dtsi
@@ -110,7 +110,7 @@ &ecspi2 {
tpm@1 {
compatible = "atmel,attpm20p", "tcg,tpm_tis-spi";
reg = <0x1>;
- spi-max-frequency = <36000000>;
+ spi-max-frequency = <25000000>;
};
};

--
2.25.1



Return-Path: <linux-kernel+bounces-673858-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 794F741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:57:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 26D047A3A7A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:55:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CEDC722F75B;
Wed, 4 Jun 2025 22:56:38 +0000 (UTC)
Received: from finn.localdomain (finn.gateworks.com [108.161.129.64])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 153991E1DEC;
Wed, 4 Jun 2025 22:56:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=108.161.129.64
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077798; cv=none; b=VLQwrIlSaTwR6N+9FusHg8R+0MZ+/fhkxo8Q7lx/LlsRXP4+zEh31QPbQvfR8QcUUENwiXtQVH+97T8J6HVTBEtUYaGTUeBpVqdx7QnDm0qTbW/RuOdCupwyR7WhlhSovOK+CGD0OxoZ9N/vdlgl5KNARn9AVTp/reOTOScH/Ck=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077798; c=relaxed/simple;
bh=dvxz4ApKIXj+PRCSRR0Dhm/aThflAi0SL2f3734TWgY=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=d4cDouFwgkpPdDHIjE94XpHDvryBY2MnU2cMly5qY3jEOtj30L4BV2zFM7g0/wBC+dSJawH0BLVbyeEes0whtBPnRYXbagegYIolPGFPy8WyymuaIkb6pcY1LCmBuXBdLcWXURoEvIhpOPGxFRzHD7EEILTcHosdTeJqTUFCaKg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com; spf=pass smtp.mailfrom=gateworks.com; arc=none smtp.client-ip=108.161.129.64
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gateworks.com
Received: from syn-068-189-091-139.biz.spectrum.com ([68.189.91.139] helo=tharvey.pdc.gateworks.com)
by finn.localdomain with esmtp (Exim 4.95)
(envelope-from <tharvey@xxxxxxxxxxxxx>)
id 1uMx2B-007Xnu-CM;
Wed, 04 Jun 2025 22:56:35 +0000
From: Tim Harvey <tharvey@xxxxxxxxxxxxx>
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
Cc: imx@xxxxxxxxxxxxxxx,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>,
stable@xxxxxxxxxxxxxxx,
Tim Harvey <tharvey@xxxxxxxxxxxxx>
Subject: [PATCH v2 4/4] arm64: dts: imx8mp-venice-gw74xx: fix TPM SPI frequency
Date: Wed, 4 Jun 2025 15:56:30 -0700
Message-Id: <20250604225630.1430502-4-tharvey@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250604225630.1430502-1-tharvey@xxxxxxxxxxxxx>
References: <20250604225630.1430502-1-tharvey@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The IMX8MPDS Table 37 [1] shows that the max SPI master read frequency
depends on the pins the interface is muxed behind with ECSPI2
muxed behind ECSPI2 supporting up to 25MHz.

Adjust the spi-max-frequency based on these findings.

[1] https://www.nxp.com/webapp/Download?colCode=IMX8MPIEC

Fixes: 531936b218d8 ("arm64: dts: imx8mp-venice-gw74xx: update to revB PCB")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx>
---
v2:
- add cc to stable
- add missing reference
---
arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
index f00099f0cd4e..12de7cf1e853 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
@@ -201,7 +201,7 @@ &ecspi1 {
tpm@0 {
compatible = "atmel,attpm20p", "tcg,tpm_tis-spi";
reg = <0x0>;
- spi-max-frequency = <36000000>;
+ spi-max-frequency = <25000000>;
};
};

--
2.25.1



Return-Path: <linux-kernel+bounces-673859-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1F15541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:57:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 6C6C41735E5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:57:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D8D1D233727;
Wed, 4 Jun 2025 22:56:40 +0000 (UTC)
Received: from finn.localdomain (finn.gateworks.com [108.161.129.64])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 153471DD9AD;
Wed, 4 Jun 2025 22:56:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=108.161.129.64
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077800; cv=none; b=rZ6A1ywb43KdErlNunups5H5n1asE3txMT5TDIQj/wcz5WdLpgD83Ls0RhG5JxzoD/wNY1vVfQO4PXTrhT9Gq3wmYZ1aK8sdIeKkJBSgoph1N1xdDCSvjnLYqGA3sm+JzcdRjfY36cBCjVu9mRuZilhfFzZejJDk3fZzR+YDYN4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077800; c=relaxed/simple;
bh=ZHlgGgUqVKbA1IEcDNtc3T5KZlXhrj4WQoznUCuYpig=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=hrXh6AV+WUCp7zkxQqwJKcIb96M+7Y6xW1rFcGqHLH847c3J+FoifVX0D15EaTHCrljgvF7cmlvPBdCK0L7OiT58NLwESpd/NssAMcXrmFuZtodPk0Bqt43DP0F7T4Q1d3Dcb97gqoit++yYyROPUe3QP/9csCA3i7AyeIg7dQk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com; spf=pass smtp.mailfrom=gateworks.com; arc=none smtp.client-ip=108.161.129.64
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gateworks.com
Received: from syn-068-189-091-139.biz.spectrum.com ([68.189.91.139] helo=tharvey.pdc.gateworks.com)
by finn.localdomain with esmtp (Exim 4.95)
(envelope-from <tharvey@xxxxxxxxxxxxx>)
id 1uMx2A-007Xnu-Cx;
Wed, 04 Jun 2025 22:56:34 +0000
From: Tim Harvey <tharvey@xxxxxxxxxxxxx>
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
Cc: imx@xxxxxxxxxxxxxxx,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>,
stable@xxxxxxxxxxxxxxx,
Tim Harvey <tharvey@xxxxxxxxxxxxx>
Subject: [PATCH v2 3/4] arm64: dts: imx8mp-venice-gw73xx: fix TPM SPI frequency
Date: Wed, 4 Jun 2025 15:56:29 -0700
Message-Id: <20250604225630.1430502-3-tharvey@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250604225630.1430502-1-tharvey@xxxxxxxxxxxxx>
References: <20250604225630.1430502-1-tharvey@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The IMX8MPDS Table 37 [1] shows that the max SPI master read frequency
depends on the pins the interface is muxed behind with ECSPI2
muxed behind ECSPI2 supporting up to 25MHz.

Adjust the spi-max-frequency based on these findings.

[1] https://www.nxp.com/webapp/Download?colCode=IMX8MPIEC

Fixes: 2b3ab9d81ab4 ("arm64: dts: imx8mp-venice-gw73xx: add TPM device")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx>
---
v2: add cc to stable
---
arch/arm64/boot/dts/freescale/imx8mp-venice-gw73xx.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw73xx.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw73xx.dtsi
index e2b5e7ac3e46..5eb114d2360a 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw73xx.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw73xx.dtsi
@@ -122,7 +122,7 @@ &ecspi2 {
tpm@1 {
compatible = "atmel,attpm20p", "tcg,tpm_tis-spi";
reg = <0x1>;
- spi-max-frequency = <36000000>;
+ spi-max-frequency = <25000000>;
};
};

--
2.25.1



Return-Path: <linux-kernel+bounces-673860-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8100041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:58:25 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id C1825189AC39
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:58:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BC6C525A645;
Wed, 4 Jun 2025 22:58:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="jEpoRbEb"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CEDD925A62E
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:58:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.13
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077897; cv=none; b=XCFqBZbjUH+zeLKsW4D/bCOyK6r07HDWdoqADhBKTIArO8cByVZLUaln486AE9c7pCfJPgA6qJoiSoWxWFIi9Xa+F9vj3VSw9C0K2P7N2SklluG7mBPFw3gk4GA7d4mrcphoEApLx6XtAM7FcsES6zRZEimQte345erBWeKAvFg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077897; c=relaxed/simple;
bh=GzZ17EHodviThy4cQKgn2BX/gexgbOOUAnxS5f9iIGM=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=TylagbjG3iHKbVElOEtN2cnFdKPeDcrkKD6KAAGTVnG1FJy8Dh5tbogTQAp1Vz2RFsobWIYshKhAAogvdpXOWjnkJYKaOQcS5LVVsYMubCUaFhTyMpi4LMgxBqiImqfs5hVC+uLZAnrWBi4hVVro6FxM1eFTeFsyE2JFjgqy+xk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=jEpoRbEb; arc=none smtp.client-ip=198.175.65.13
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749077896; x=1780613896;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=GzZ17EHodviThy4cQKgn2BX/gexgbOOUAnxS5f9iIGM=;
b=jEpoRbEbTwDodqPiuRZSwE5OdM3OD4PDixrVpXt36Ha0NzrrnSNVJWig
aic/TPG6iniIk66I0b2H8gM2I7/9lQ1MLkhf+kgpBpOMgAKyjllB5loVJ
s399Fh3x8o+XOv/JwqV+2djDs+50LtmTohE/Pq/xgl4cLE36pQhXsArt8
yW5QJ76oFTTdfoeoL4Aq8nDDN3pQ/8KjVKDxq+fvT/cgcm8qvxkXKwIuJ
X6IeXGKHUjnNPO3jBBQJ49NXHC5Z8FKFKbNHiuJ7Q4da2TsNVouiALAOd
YYonA4WCbbx/KmQuFLZt4fJwngP4Qhe1lIsYKtlQlb+odXAfqHMlOVwzu
w==;
X-CSE-ConnectionGUID: QV34OcqeSwKJtct8RKsrow==
X-CSE-MsgGUID: /ui5jMGNQaqvoZW0R9IE3w==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="62236322"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="62236322"
Received: from fmviesa003.fm.intel.com ([10.60.135.143])
by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:58:15 -0700
X-CSE-ConnectionGUID: HvRB10eBRu2SOyT/rezorg==
X-CSE-MsgGUID: SZcZejnDTRymQr5MNeGdeg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="149160214"
Received: from agluck-desk3.sc.intel.com (HELO agluck-desk3) ([172.25.103.51])
by fmviesa003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 15:58:14 -0700
Date: Wed, 4 Jun 2025 15:58:13 -0700
From: "Luck, Tony" <tony.luck@xxxxxxxxx>
To: Reinette Chatre <reinette.chatre@xxxxxxxxx>
Cc: Fenghua Yu <fenghuay@xxxxxxxxxx>,
Maciej Wieczor-Retman <maciej.wieczor-retman@xxxxxxxxx>,
Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>, Babu Moger <babu.moger@xxxxxxx>,
Drew Fustini <dfustini@xxxxxxxxxxxx>,
Dave Martin <Dave.Martin@xxxxxxx>,
Anil Keshavamurthy <anil.s.keshavamurthy@xxxxxxxxx>,
Chen Yu <yu.c.chen@xxxxxxxxx>, x86@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v5 06/29] x86,fs/resctrl: Improve domain type checking
Message-ID: <aEDPhbwyjzeum_Km@agluck-desk3>
References: <20250521225049.132551-1-tony.luck@xxxxxxxxx>
<20250521225049.132551-7-tony.luck@xxxxxxxxx>
<7de291ed-a29b-4768-9b27-7fd9f5602e37@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <7de291ed-a29b-4768-9b27-7fd9f5602e37@xxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Tue, Jun 03, 2025 at 08:31:07PM -0700, Reinette Chatre wrote:
> Hi Tony,
>
> On 5/21/25 3:50 PM, Tony Luck wrote:
> > The rdt_domain_hdr structure is used in both control and monitor
> > domain structures to provide common methods for operations such as
> > adding a CPU to a domain, removing a CPU from a domain, accessing
> > the mask of all CPUs in a domain.
> >
> > The "type" field provides a simple check whether a domain is a
> > control or monitor domain so that programming errors operating
> > on domains will be quickly caught.
> >
> > To prepare for additional domain types that depend on the rdt_resource
> > to which they are connected add the resource id into the header
> > and check that in addition to the type.
> >
> > Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
> > ---
> > include/linux/resctrl.h | 9 +++++++++
> > arch/x86/kernel/cpu/resctrl/core.c | 10 ++++++----
> > fs/resctrl/ctrlmondata.c | 2 +-
> > 3 files changed, 16 insertions(+), 5 deletions(-)
> >
> > diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
> > index 40f2d0d48d02..d6b09952ef92 100644
> > --- a/include/linux/resctrl.h
> > +++ b/include/linux/resctrl.h
> > @@ -131,15 +131,24 @@ enum resctrl_domain_type {
> > * @list: all instances of this resource
> > * @id: unique id for this instance
> > * @type: type of this instance
> > + * @rid: index of resource for this domain
> > * @cpu_mask: which CPUs share this resource
> > */
> > struct rdt_domain_hdr {
> > struct list_head list;
> > int id;
> > enum resctrl_domain_type type;
> > + enum resctrl_res_level rid;
> > struct cpumask cpu_mask;
> > };
> >
> > +static inline bool domain_header_is_valid(struct rdt_domain_hdr *hdr,
> > + enum resctrl_domain_type type,
> > + enum resctrl_res_level rid)
> > +{
> > + return !WARN_ON_ONCE(hdr->type != type || hdr->rid != rid);
> > +}
> > +
> > /**
> > * struct rdt_ctrl_domain - group of CPUs sharing a resctrl control resource
> > * @hdr: common header for different domain types
> > diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
> > index 4403a820db12..4983f6f81218 100644
> > --- a/arch/x86/kernel/cpu/resctrl/core.c
> > +++ b/arch/x86/kernel/cpu/resctrl/core.c
> > @@ -456,7 +456,7 @@ static void domain_add_cpu_ctrl(int cpu, struct rdt_resource *r)
> >
> > hdr = resctrl_find_domain(&r->ctrl_domains, id, &add_pos);
> > if (hdr) {
> > - if (WARN_ON_ONCE(hdr->type != RESCTRL_CTRL_DOMAIN))
> > + if (!domain_header_is_valid(hdr, RESCTRL_CTRL_DOMAIN, r->rid))
> > return;

This type check was added as part of the split of the rdt_domain
structure into sepaarte ctrl and mon structures. I think the concern
was that some code might look at the wrong rdt_resource list and
try to operate on a ctrl domain structure that is actually a mon
structure (or vice versa). This felt like a real possibility.

Extending this to save and check the resource id seemed like a
natural extension at the time. But I'm starting to doubt the value
of doing so.

For this new check to ever fail we would have to somehow add
a domain for some resource type to a list on a different
rdt_resource structure. I'm struggling to see how such an
error could ever occur. Domains are only added to an rdt_resource
list by one of domain_add_cpu_ctrl() or domain_add_cpu_mon().
But these same functions are the ones to allocate the domain
structure and initialize the "d->hdr.id" field a dozen or so
lines earlier in the function.

Note that I'm not disputing your comments where my patches
are still passing a rdt_l3_mon_domain structure down through
several levels of function calls only to do:

if (r->rid == RDT_RESOURCE_PERF_PKG)
return intel_aet_read_event(d->hdr.id, rmid, eventid, val);

revealing that it wasn't an rdt_l3_mon_domain at all!

But these domain_header_is_valid() checks didn't help uncover
that.

Bottom line: I'd like to just keep the "type" check and not
extend to check the resource id.

> > d = container_of(hdr, struct rdt_ctrl_domain, hdr);
> >
>
> This is quite subtle and not obvious until a few patches later that the
> domain_header_is_valid() is done in preparation for using the
> rdt_domain_hdr::rid to verify that the correct containing structure is
> obtained in a subsequent container_of() call.
>
> Patch #10 mentions it explicitly: "Add sanity checks where
> container_of() is used to find the surrounding domain structure that
> hdr has the expected type."
>
> The change above, when combined with later changes, results in
> code like:
>
> if (!domain_header_is_valid(hdr, RESCTRL_MON_DOMAIN, r->rid))
> /* handle failure */
>
> d = container_of(hdr, struct rdt_l3_mon_domain, hdr);
> ...
>
> Considering this all I do not think using a variable r->rid is appropriate
> here. Specifically, if the code has it hardcoded that, for example,
> the containing structure is "struct rdt_l3_mon_domain" then should the
> test not similarly be hardcoded to ensure that rid is RDT_RESOURCE_L3?
>
> Reinette

-Tony


Return-Path: <linux-kernel+bounces-673861-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 470B941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:59:36 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3E03F3A5614
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:59:14 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CC74D25B1D3;
Wed, 4 Jun 2025 22:59:29 +0000 (UTC)
Received: from mout-p-103.mailbox.org (mout-p-103.mailbox.org [80.241.56.161])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CE65D192598;
Wed, 4 Jun 2025 22:59:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.241.56.161
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077969; cv=none; b=hRwDZ+MevMd0I4dFneoECskLzzGKrR/dVMpDjqu7ZkIqHHw9JwmF00JFBQuSFh7vWHy/M6wNi0gJiV5fmlBbCgcUgWxdYext1glv73rOJ9ga24tmcTSOnSMxkwHlB3AJIl2lECRbEGZY6Qk3UiE3P648UxzZwTPisW9dpXDDlWM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077969; c=relaxed/simple;
bh=JAXobm7Z2dkkQtZcGbD9QGTLI4MilESA4qlGk/KEPD0=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=lANwwRJQnpgjX7UINPFFhB8tWvKWY7ioWqh3wE2wNtGO8g0nUdfODS+GITvkyhGOIG9Udx2mTzHDLAP3boawmwXFt2Z1kdRbB1SmrM/TDkkX5JlTCS9R9KkG3ERXcKVvaDG/T30MXYrtS6zDkUuA1L8WMZGgxrfufqQIh9+CDBw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=timmermann.space; spf=pass smtp.mailfrom=timmermann.space; arc=none smtp.client-ip=80.241.56.161
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=timmermann.space
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=timmermann.space
Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4bCNLY1zXYz9sd6;
Thu, 5 Jun 2025 00:59:17 +0200 (CEST)
From: Lukas Timmermann <linux@timmermann.space>
To: lee@xxxxxxxxxx,
pavel@xxxxxxxxxx,
robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx
Cc: linux-leds@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux@timmermann.space
Subject: [PATCH v3 0/2] Support for Osram as3668 LED driver
Date: Thu, 5 Jun 2025 00:58:36 +0200
Message-ID: <20250604225838.102910-1-linux@timmermann.space>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

This patch adds basic support for the as3668 driver IC via I2C interface.
The IC is capable of driving four individual LEDs up to 25.5mA per
channel. Hardware blinking would be theoretically possible, but this chip
only supports a few set on/off-delays which makes using that feature
unfeasable, therefore my driver doesn't offer that capability.
It's intended applications is in mobile devices such as phones,
tablets and cameras. This driver was tested and is working on
a samsung-manta which is running postmarketOS with a near mainline kernel.

This is v3 of the patch series adding support for the as3668 LED driver.
I am sending v3 because I discovered major issues in v1 that required
correction before review and made some fixes in my workflow during v2.

Please note: This is my first suggested patch to the kernel.
checkpatch.pl runs without warnings or errors.
I've read the docs in regards to the led subsystem,
coding style and submission of patches,
but I'm still a bit unsure about the general workflow.

I will try my best.

Signed-off-by: Lukas Timmermann <linux@timmermann.space>

Lukas Timmermann (2):
leds: as3668: Driver for the ams Osram 4-channel i2c LED driver
dt-bindings: leds: Add new as3668 support

.../devicetree/bindings/leds/leds-as3668.yaml | 76 +++++++
MAINTAINERS | 6 +
drivers/leds/Kconfig | 14 ++
drivers/leds/Makefile | 1 +
drivers/leds/leds-as3668.c | 196 ++++++++++++++++++
5 files changed, 293 insertions(+)
create mode 100644 Documentation/devicetree/bindings/leds/leds-as3668.yaml
create mode 100644 drivers/leds/leds-as3668.c

--
2.49.0



Return-Path: <linux-kernel+bounces-673862-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1908141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 18:59:51 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 5891D173FA8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:59:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 45C9C25B1DC;
Wed, 4 Jun 2025 22:59:45 +0000 (UTC)
Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9448B25A651;
Wed, 4 Jun 2025 22:59:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.241.56.151
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749077984; cv=none; b=GHHLve3J6lA975v/SiiGcdjc5cSNu9WI615XPET45mHOhjYT0GvjQtJYrBIROE5gw1UF6+P8BgEeFMzuY9rgxX9p+/tfZy1rP2ch4VPw+rT713wpckTtdxJ3jF5vBxYC6UzwEAf0pD3fAFI5f4L3V0CnHHscq3q8Z+Z1NAT3vAA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749077984; c=relaxed/simple;
bh=Fi6jyJ6Ugl0+mxnU6rh6U2MsmoS9F+6Y4PhqGitYmY0=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=KKeu7Zg8Gs/JiAJfd6u95RQJiNl6qHcL8hkLdo5DC++7G8Oe2AE35kFjp8Gx4CgBjZzicH+w8AOGts5SGYDauwG18OLpTyfhizYR3l2YFBrfLc/8W8hND3jEUKT6h465X+SoqPCRPricx+70kUYtlayQz94EjXQsqlXetqnLfv0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=timmermann.space; spf=pass smtp.mailfrom=timmermann.space; arc=none smtp.client-ip=80.241.56.151
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=timmermann.space
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=timmermann.space
Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4bCNLq3xWfz9sqc;
Thu, 5 Jun 2025 00:59:31 +0200 (CEST)
From: Lukas Timmermann <linux@timmermann.space>
To: lee@xxxxxxxxxx,
pavel@xxxxxxxxxx,
robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx
Cc: linux-leds@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux@timmermann.space
Subject: [PATCH v3 2/2] dt-bindings: leds: Add new as3668 support
Date: Thu, 5 Jun 2025 00:58:38 +0200
Message-ID: <20250604225838.102910-3-linux@timmermann.space>
In-Reply-To: <20250604225838.102910-1-linux@timmermann.space>
References: <20250604225838.102910-1-linux@timmermann.space>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Document Osram as3668 LED driver devicetree bindings.

Signed-off-by: Lukas Timmermann <linux@timmermann.space>
---
.../devicetree/bindings/leds/leds-as3668.yaml | 76 +++++++++++++++++++
1 file changed, 76 insertions(+)
create mode 100644 Documentation/devicetree/bindings/leds/leds-as3668.yaml

diff --git a/Documentation/devicetree/bindings/leds/leds-as3668.yaml b/Documentation/devicetree/bindings/leds/leds-as3668.yaml
new file mode 100644
index 000000000000..a9d698eb87d2
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/leds-as3668.yaml
@@ -0,0 +1,76 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/leds-as3668.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Osram 4-channel i2c LED driver.
+
+maintainers:
+ - Lukas Timmermann <linux@timmermann.space>
+
+description: |
+ This IC can drive up to four separate LEDs.
+ Having four channels suggests it could be used with a single RGBW LED.
+
+properties:
+ compatible:
+ const: ams,as3668
+
+ reg:
+ maxItems: 1
+ description:
+ I2C slave address
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+patternProperties:
+ "^led@[0-3]$":
+ type: object
+ $ref: common.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - "#address-cells"
+ - "#size-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/leds/common.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ led-controller@42 {
+ compatible = "ams,as3668";
+ reg = <0x42>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ led@0 {
+ reg = <0x0>;
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_RED>;
+ };
+
+ led@1 {
+ reg = <0x1>;
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_GREEN>;
+ };
+ };
+ };
+
--
2.49.0



Return-Path: <linux-kernel+bounces-673863-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DD2C941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:01:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 79D8D1891197
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:01:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 11A21268FFB;
Wed, 4 Jun 2025 23:01:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="WaQ6qvmH"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 53D33267F43
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:01:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078093; cv=none; b=kzgV/ncR1f+T6iznKrLDdwZcCqGwcBm2T3Zt4+/J5O4d+kQde5qHb4Jm8YnoUQ1M9SJUdiAc4AoThcxNnhD55ccd/VS7WcgwuPpHP6ntgkVveHbAn9BGQd2XxSZ4E8RkaGHHjWztJ6nOeyBtsfE1PwraGJhvZFfZ3sYNLEFDFS4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078093; c=relaxed/simple;
bh=+fSMmduX2kJsgH1ngkDSXnk2QMMNes2I6KBi7bEtLjA=;
h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References:
Mime-Version:Content-Type; b=W+Y/pR7yRV46KgSuyW8QSiIEEBKsX1MMaUJbJWNEZm1EtH7Jbatq0rvbzicH+TkTkIJVgrOankKto2DC6sJ1TKyUEI1cuYdafdIRLw8KEb4+Godcx2/EgcjMl5d+RRx/Q8maD5ph4SJiApynCzZhrZxp1g3WKeMcpMcmwILo0WE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=WaQ6qvmH; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64C89C4CEE4;
Wed, 4 Jun 2025 23:01:32 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org;
s=korg; t=1749078092;
bh=+fSMmduX2kJsgH1ngkDSXnk2QMMNes2I6KBi7bEtLjA=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=WaQ6qvmH5ojYoIvtWNLC9bJK1w5sdN9M62gfDUTHx9/galg3N9ycakJCbhxd6SwLC
6YbYOyfk3ck3hkJ3RYcg0tQc4ngUc4aWtajlj4IhItRSjvkDV7tpXvSQYsNsuRhzxh
Gk0f6eeMqjpZXeG1a83qy7ytfPIRxm11nhMz5ZBg=
Date: Wed, 4 Jun 2025 16:01:31 -0700
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: Kuan-Wei Chiu <visitorckw@xxxxxxxxx>
Cc: paul.walmsley@xxxxxxxxxx, palmer@xxxxxxxxxxx, aou@xxxxxxxxxxxxxxxxx,
alex@xxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, jserv@xxxxxxxxxxxxxxxx, Yu-Chun Lin
<eleanor15x@xxxxxxxxx>
Subject: Re: [PATCH v2 1/3] lib/math/gcd: Use static key to select
implementation at runtime
Message-Id: <20250604160131.d00e8a3a2230a00f3818a3a1@xxxxxxxxxxxxxxxxxxxx>
In-Reply-To: <20250524155519.1142570-2-visitorckw@xxxxxxxxx>
References: <20250524155519.1142570-1-visitorckw@xxxxxxxxx>
<20250524155519.1142570-2-visitorckw@xxxxxxxxx>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Sat, 24 May 2025 23:55:17 +0800 Kuan-Wei Chiu <visitorckw@xxxxxxxxx> wrote:

> On platforms like RISC-V, the compiler may generate hardware FFS
> instructions even if the underlying CPU does not actually support them.
> Currently, the GCD implementation is chosen at compile time based on
> CONFIG_CPU_NO_EFFICIENT_FFS, which can result in suboptimal behavior on
> such systems.
>
> Introduce a static key, efficient_ffs_key, to enable runtime selection
> between the binary GCD (using ffs) and the odd-even GCD implementation.
> This allows the kernel to default to the faster binary GCD when FFS is
> efficient, while retaining the ability to fall back when needed.
>
> ...
>
> @@ -54,6 +58,11 @@ unsigned long gcd(unsigned long a, unsigned long b)
> if (!a || !b)
> return r;

Both binary_gcd() and gcd() perform the above. Seems unnecessary?


I can merge this series if the riscv team are OK with it?


Return-Path: <linux-kernel+bounces-673864-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C284741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:02:25 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0724C3A65CE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:02:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 85A0926AA98;
Wed, 4 Jun 2025 23:02:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="DEzKvAfk"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C73AB1C861D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:02:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078139; cv=none; b=PVm/R3U6aN7k/KYS1KcaQ4ftFZ4YboYtifWHSYB8IQaqAo6AJmSfNS9a/0gg6LsjQwFuIYudGu3UbEr51uYryuUB1WYX7gDiVL38bECp7zT3rpF3KcRqr4ss2bymj/PZN/dTeqlCmoeXLIXki/2b5gc/ur3Ydyk/ok86sW1QTys=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078139; c=relaxed/simple;
bh=7HVnavcozlAGqUoew8jM2OzrVTESgvO41Oq+UN60Jl4=;
h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References:
Mime-Version:Content-Type; b=d8TV5i6ViRoyjK7RqX1wjSxWQzeSuBcCPy5WfojeAgfI7bGj7oqRU6eTK5o4Au4Z6a0OrHvFik+aqU5xPHwrSGRfPPPDghIyCYxQHj5k4GVG/TacEyql10MSOudNrh9t1mK9mEABebv3vTGA8kHiLi6QHKk/nxBeDXEinrSqDOU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=DEzKvAfk; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DCCAEC4CEE4;
Wed, 4 Jun 2025 23:02:16 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org;
s=korg; t=1749078137;
bh=7HVnavcozlAGqUoew8jM2OzrVTESgvO41Oq+UN60Jl4=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=DEzKvAfkv9zRmp2q7hwsbAEplUDcrJY8ti9x8ZSb6l1hEvYmslm/gV17/k9EJLXnS
7BaVNnfVakmAdcgkANIHALTtyFp1URH6vMiN/4OAPSieJ+QUksgM4cNGFSP6cXRPIC
rNvSnMq8MQjhaMyvHlH4QP4apbw0EJXuyc6BJmCM=
Date: Wed, 4 Jun 2025 16:02:16 -0700
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: Kuan-Wei Chiu <visitorckw@xxxxxxxxx>
Cc: paul.walmsley@xxxxxxxxxx, palmer@xxxxxxxxxxx, aou@xxxxxxxxxxxxxxxxx,
alex@xxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, jserv@xxxxxxxxxxxxxxxx, Yu-Chun Lin
<eleanor15x@xxxxxxxxx>
Subject: Re: [PATCH v2 3/3] riscv: Optimize gcd() performance on RISC-V
without Zbb extension
Message-Id: <20250604160216.d93f5b06030342ad5dfea0a8@xxxxxxxxxxxxxxxxxxxx>
In-Reply-To: <20250524155519.1142570-4-visitorckw@xxxxxxxxx>
References: <20250524155519.1142570-1-visitorckw@xxxxxxxxx>
<20250524155519.1142570-4-visitorckw@xxxxxxxxx>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Sat, 24 May 2025 23:55:19 +0800 Kuan-Wei Chiu <visitorckw@xxxxxxxxx> wrote:

> The binary GCD implementation uses FFS (find first set), which benefits
> from hardware support for the ctz instruction, provided by the Zbb
> extension on RISC-V. Without Zbb, this results in slower
> software-emulated behavior.
>
> Previously, RISC-V always used the binary GCD, regardless of actual
> hardware support. This patch improves runtime efficiency by disabling
> the efficient_ffs_key static branch when Zbb is either not enabled in
> the kernel (config) or not supported on the executing CPU. This selects
> the odd-even GCD implementation, which is faster in the absence of
> efficient FFS.
>
> This change ensures the most suitable GCD algorithm is chosen
> dynamically based on actual hardware capabilities.
>
> ...
>
> --- a/arch/riscv/kernel/setup.c
> +++ b/arch/riscv/kernel/setup.c
> @@ -21,6 +21,7 @@
> #include <linux/efi.h>
> #include <linux/crash_dump.h>
> #include <linux/panic_notifier.h>
> +#include <linux/jump_label.h>
>
> #include <asm/acpi.h>
> #include <asm/alternative.h>
> @@ -51,6 +52,8 @@ atomic_t hart_lottery __section(".sdata")
> ;
> unsigned long boot_cpu_hartid;
>
> +DECLARE_STATIC_KEY_TRUE(efficient_ffs_key);

Please let's get this into a header file, visible to the definition
site and to all users.



Return-Path: <linux-kernel+bounces-673865-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2D27141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:04:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 57C743A66D0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:04:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 69CDC26B098;
Wed, 4 Jun 2025 23:04:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="rn2j89AA"
Received: from mail-ua1-f53.google.com (mail-ua1-f53.google.com [209.85.222.53])
(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 0266E214813
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:04:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.53
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078263; cv=none; b=Zffuf5r7SoQs2I4Co16cgasvBxfxX1py6fOcwN9RRB0rw3ZFYMiZnLe2atqT8aIIcHQzK0B7LaacxAACK2/QaggIQpS3vgRxTIn6AIT6tSuzz0z1cjHi7jXIErjmmmgioTUTw8fF/dzuEhiSNxTpdNrQ6krN4rAv42EoOs/81dc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078263; c=relaxed/simple;
bh=exRGgbwr9yCyeN9A0lefWzXikKL4jaZ58HpeXk6pkoc=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=NWSyI+RW0A5vzoLWckWI7fqRvuvY3vl60B5uCyUfQm4h/f8Ar6UD1llDv/FinZqE9NWztUgEeAw0tKZM7eCw0RNIJOMA8//NguezbVeEKLYa1T7ZrWaopSXaqXtT2N4ck+w2GgjWTWo342IR3uxI14yC9dAJk2CY9pTFBIjXFws=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=rn2j89AA; arc=none smtp.client-ip=209.85.222.53
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com
Received: by mail-ua1-f53.google.com with SMTP id a1e0cc1a2514c-87dffa24b5cso140833241.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:04:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1749078261; x=1749683061; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=AmWygWroaE3CgfzylRy20SRQE724eqiHcqgPFBV3jdc=;
b=rn2j89AA1+ggWl/NrdUsr4E2vTn+Im0wURmdRqbt1JlGT9hd17tdubdhDHU7FDkHib
wCTmK9VhgFrAFR3OBFsWSS6QhtaGsJ3vXZGFzTCaiFLWd73sX84uTzc4GxX7vsSX7Mfs
zVZBj8SCaUQIWqt17oDDMC/hNEsK90426Uor6rKrOyFVZDhAZxkbECjIzVCRv8KLYnwy
1sTIIMPtfORJRyBB4Zk4br9BSdsFY4qGdtiKaT0gj9Yy4zb2/7UQPKtO8mQl/eMIa8Vj
mc8qcgK9Y3Y06FCyzX4r5Bkx0kHK0hm8xjZfw1p5Nc4br8/w7bFH2nfyM2H5+sdwJ33D
8JWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749078261; x=1749683061;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=AmWygWroaE3CgfzylRy20SRQE724eqiHcqgPFBV3jdc=;
b=Ru8K/KbhyRpxZTQhYzZAN4HCz6PAJIw9fYhrF7DblYNCml8JxjZB8GZ0iJu5L6VIs1
GdLzDI8P7MLD90bvBNAOwUYkhfJyXe6+alIV9vjRr+XbRJdEIWG77rgoRtdAtJz8G005
yluXUmFz/sSZRyfVyEpnAj6aX4aLTEk3M9TNFbFYtJITlgotf5qq3QgC9JOWiQEy8r7k
sZCfPqHZE3NZuNELihUExUih/r5kx4YkGaHqiP5iXzzDSbGfJICUadcLlrWNaq9IsVC9
r0c2ra0OUxO5cIA6rV9B5S8dSeSeG9ip5k3nuY7EB+fZfk7NC59Kb/w6ZVxYg8gckcB+
Fv6g==
X-Forwarded-Encrypted: i=1; AJvYcCXtKuZnc4hSz8kR+fX9DdQ6sFB0Ss6PQK2iDCH7zmjR2EN/wJgzhHrV5/YSVbkdGCU/Z2U1Tr+4BXeo6A0=@vger.kernel.org
X-Gm-Message-State: AOJu0YzYlQrJWNp+wxWGTAwKYAlQJRpuNROh4eSMvAfUQmeB8jYA7AUy
4cB3Ue+Ik8aHiEN7XxZVc/QEPTLyc0Uzc+aq6Tq8AQkY8KYkEYoaiaJjb+A6VwhKD9SlSmMd9LQ
eEc31kQPVFyfD8soa38kTVcGevk3jtOnpoGk5sEui
X-Gm-Gg: ASbGncsFZ3IfQ4bp82oC2p6T7mxvKFvRi8ba/6EQsocsNw5x2ybvP5VSrgW3nmlyY98
jvTHZO6YvIo9QOxZszYarf630v7oGy1s0Pg+nm3ETJf9LCnNbtxfsOxTkh71AfzLcInX3JUqtBn
2EIIfNmgXoyWanNelamKBRSX35ZCtuzWqtXqGmb44ftaA=
X-Google-Smtp-Source: AGHT+IHMQ0HEf1QGjZKS2FKHFK7WceR4QcvBJZVnXk0gSCJXLZWNY34EB7jNoARv3FwK/IDiJPQd/DA4fgwGFkmqZWo=
X-Received: by 2002:a05:6102:4406:b0:4e6:e126:6238 with SMTP id
ada2fe7eead31-4e746ce24bcmr4227663137.3.1749078260388; Wed, 04 Jun 2025
16:04:20 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250521222725.3895192-1-blakejones@xxxxxxxxxx>
<20250521222725.3895192-3-blakejones@xxxxxxxxxx> <aD9Xxhwqpm8BDeKe@xxxxxxxxxx>
<CAP_z_Cj_8uTBGzaoFmi1f956dXi1qDnF4kqc49MSn0jDHYFfxg@xxxxxxxxxxxxxx>
<aD9sxuFwwxwHGzNi@xxxxxxxxxx> <CAP_z_Cg+mPpdzxg-d+VV5J9t7vTTNXQmKLdnfuNETm1H40OA+g@xxxxxxxxxxxxxx>
<aD9yte49C_BM5oA9@xxxxxxxxxx> <CAP_z_Cg0ZCfvEFpJpvhuRcUkjV_paCODw2J61D3YQMm7dg0aGg@xxxxxxxxxxxxxx>
<aEC9UqkKeEj4on3M@xxxxxxxxxx> <aEDEw7bCDAtEXfGC@x1>
In-Reply-To: <aEDEw7bCDAtEXfGC@x1>
From: Blake Jones <blakejones@xxxxxxxxxx>
Date: Wed, 4 Jun 2025 16:04:09 -0700
X-Gm-Features: AX0GCFuBtJRBiLPJLWcckQqQphG1Vff1V02DcY2BL7rNUhiI2R9BuvLLkZ8arFw
Message-ID: <CAP_z_CjQktMSMVhgX1gBkBh+0sAnWwAjUfBgJ1he1oaR7ULeRg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 2/3] perf: collect BPF metadata from existing BPF programs
To: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>, Song Liu <song@xxxxxxxxxx>, Jiri Olsa <jolsa@xxxxxxxxxx>,
Alexei Starovoitov <ast@xxxxxxxxxx>, Daniel Borkmann <daniel@xxxxxxxxxxxxx>,
Andrii Nakryiko <andrii@xxxxxxxxxx>, Martin KaFai Lau <martin.lau@xxxxxxxxx>,
Eduard Zingerman <eddyz87@xxxxxxxxx>, Yonghong Song <yonghong.song@xxxxxxxxx>,
John Fastabend <john.fastabend@xxxxxxxxx>, KP Singh <kpsingh@xxxxxxxxxx>,
Stanislav Fomichev <sdf@xxxxxxxxxxx>, Hao Luo <haoluo@xxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>,
Mark Rutland <mark.rutland@xxxxxxx>,
Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>, Ian Rogers <irogers@xxxxxxxxxx>,
Adrian Hunter <adrian.hunter@xxxxxxxxx>, Kan Liang <kan.liang@xxxxxxxxxxxxxxx>,
Chun-Tse Shao <ctshao@xxxxxxxxxx>, Zhongqiu Han <quic_zhonhan@xxxxxxxxxxx>,
James Clark <james.clark@xxxxxxxxxx>, Charlie Jenkins <charlie@xxxxxxxxxxxx>,
Andi Kleen <ak@xxxxxxxxxxxxxxx>, Dmitry Vyukov <dvyukov@xxxxxxxxxx>, Leo Yan <leo.yan@xxxxxxx>,
Yujie Liu <yujie.liu@xxxxxxxxx>, Graham Woodward <graham.woodward@xxxxxxx>,
Yicong Yang <yangyicong@xxxxxxxxxxxxx>, Ben Gainey <ben.gainey@xxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
linux-perf-users@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-11.0 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 4, 2025 at 3:12=E2=80=AFPM Arnaldo Carvalho de Melo <acme@kerne=
l.org> wrote:
> So, the comment in:
>
> tools/perf/util/bpf-event.c
>
> Is:
>
> * Synthesize PERF_RECORD_KSYMBOL and PERF_RECORD_BPF_EVENT for one bpf
> * program. One PERF_RECORD_BPF_EVENT is generated for the program. And
> * one PERF_RECORD_KSYMBOL is generated for each sub program.
>
> which is not so nicely worded tho :-\
>
> "One KSYMBOL per program", followed by "one KSYMBOL per sub program".
>
> But that matches the referenced:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/k=
ernel/events/core.c?h=3Dv6.15#n9825

Indeed, we get one KSYMBOL per subprogram, but one BPF_EVENT per program.
(I found that the term "subprogram" is used inconsistently; sometimes it
includes the main program, while other times it doesn't. In the case of
that comment, and the function perf_event__synthesize_one_bpf_prog, it does
include the main program, which has sub_id =3D 0.)

> So, for these bpf_metadata_ variables, would that be strictly per
> program or would it be perf 'sub program'?

These BPF metadata records would be generated for each subprogram.

My goal here is to allow PERF_RECORD_SAMPLE events with IPs in BPF code
to be associated with any metadata that describes that code. As the
comment points out, each subprogram gets its own PERF_RECORD_KSYMBOL event,
and that event indicates where the subprogram's starting and ending
addresses are. With one PERF_RECORD_BPF_METADATA event per subprogram, it's
then straightforward to associate the metadata with a range of IPs.

If I only generated the metadata records per program rather than per
subprogram, I could only associate them with a PERF_RECORD_BPF_EVENT event.
That event has the full program's tag, but it doesn't have a list of the
subprogram tags for that program. So it doesn't have enough information on
its own to construct the relevant list of virtual address ranges. And I'd
be quite concerned about assuming that the BPF_EVENT events immediately
follow their related KSYMBOL events, especially for events generated while
the system was generating SAMPLE events.

Blake

> Couldn't get an answer from looking at tools/bpf/bpftool/prog.c, but
> seems to be with progs, not subprogs, i.e. just the PERF_RECORD_KSYMBOL
> associated with progs (not subprogs) will have those variables.
>
> But then it seems those variables _are_ associated with at least one
> PERF_RECORD_KSYMBOL, right?


Return-Path: <linux-kernel+bounces-673866-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5B35A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:06:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 70328173638
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:06:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 230CA26B0A5;
Wed, 4 Jun 2025 23:06:11 +0000 (UTC)
Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1558B1C861D;
Wed, 4 Jun 2025 23:06:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.241.56.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078370; cv=none; b=Kal+AmAY9Ek2X9UzlTdurn0LrIj9VDf2BE2qK8FQDMLRuP+2oWrJ10iRZr790NhTEk3VhjN1IH6hoQ31O5StmG92i7hXC8CLewXdTLt9HlVQY7Vie1Zws2QaH12CcLF8YihVQwlzlzdkztd2rHxu+lJpuqFKaZ6WgaUSsEdxGk0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078370; c=relaxed/simple;
bh=fGU4lugVF4Bpu4xfcP91GoGT8zpqIcXZyqwfIW/XkfY=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=txMUzMyOP8341eZvrejhq9dmSX3FuicvAprgLnyHqMk3LR2PsW1Z5MQ9zjqV4H1RsbCUAU0aMOSQctFarpjxgwwDTUi7qVd9m22cL42SMhLJxjrRiO4hHR8F2Bk/buVc6OySKxVSfrXXdqLVOOfXc56SFC5WpQ/3FNF3EMM96M4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=timmermann.space; spf=pass smtp.mailfrom=timmermann.space; arc=none smtp.client-ip=80.241.56.172
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=timmermann.space
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=timmermann.space
Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:b231:465::2])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4bCNLn14Qmz9spq;
Thu, 5 Jun 2025 00:59:29 +0200 (CEST)
From: Lukas Timmermann <linux@timmermann.space>
To: lee@xxxxxxxxxx,
pavel@xxxxxxxxxx,
robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx
Cc: linux-leds@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux@timmermann.space
Subject: [PATCH v3 1/2] leds: as3668: Driver for the ams Osram 4-channel i2c LED driver
Date: Thu, 5 Jun 2025 00:58:37 +0200
Message-ID: <20250604225838.102910-2-linux@timmermann.space>
In-Reply-To: <20250604225838.102910-1-linux@timmermann.space>
References: <20250604225838.102910-1-linux@timmermann.space>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 4bCNLn14Qmz9spq
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

This is the actual driver for the as3668.

There were no related drivers in the kernel until now,
so I created a new file. I've checked around for relatives
of the as3668 but all of them are quite different,
which is why wrote the driver just for the as3668.

Signed-off-by: Lukas Timmermann <linux@timmermann.space>

---
MAINTAINERS | 6 ++
drivers/leds/Kconfig | 14 +++
drivers/leds/Makefile | 1 +
drivers/leds/leds-as3668.c | 196 +++++++++++++++++++++++++++++++++++++
4 files changed, 217 insertions(+)
create mode 100644 drivers/leds/leds-as3668.c

diff --git a/MAINTAINERS b/MAINTAINERS
index c59316109e3f..5929c158a0e2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3506,6 +3506,12 @@ L: linux-leds@xxxxxxxxxxxxxxx
S: Maintained
F: drivers/leds/flash/leds-as3645a.c

+AS3668 LED DRIVER
+M: Lukas Timmermann <linux@timmermann.space>
+L: linux-leds@xxxxxxxxxxxxxxx
+S: Maintained
+F: drivers/leds/leds-as3668.c
+
ASAHI KASEI AK7375 LENS VOICE COIL DRIVER
M: Tianshu Qiu <tian.shu.qiu@xxxxxxxxx>
L: linux-media@xxxxxxxxxxxxxxx
diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index a104cbb0a001..3fe7a0e98140 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -100,6 +100,20 @@ config LEDS_ARIEL

Say Y to if your machine is a Dell Wyse 3020 thin client.

+config LEDS_AS3668
+ tristate "LED support for AMS AS3668"
+ depends on LEDS_CLASS
+ depends on I2C
+ help
+ This option enables support for the AMS AS3668 LED controller.
+ The AS3668 provides up to four LED channels and is controlled via
+ the I2C bus. This driver offers basic brightness control for each
+ channel, without support for blinking or other advanced features.
+
+
+ To compile this driver as a module, choose M here: the module
+ will be called leds-as3668.
+
config LEDS_AW200XX
tristate "LED support for Awinic AW20036/AW20054/AW20072/AW20108"
depends on LEDS_CLASS
diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
index 2f170d69dcbf..983811384fec 100644
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
@@ -14,6 +14,7 @@ obj-$(CONFIG_LEDS_ADP5520) += leds-adp5520.o
obj-$(CONFIG_LEDS_AN30259A) += leds-an30259a.o
obj-$(CONFIG_LEDS_APU) += leds-apu.o
obj-$(CONFIG_LEDS_ARIEL) += leds-ariel.o
+obj-$(CONFIG_LEDS_AS3668) += leds-as3668.o
obj-$(CONFIG_LEDS_AW200XX) += leds-aw200xx.o
obj-$(CONFIG_LEDS_AW2013) += leds-aw2013.o
obj-$(CONFIG_LEDS_BCM6328) += leds-bcm6328.o
diff --git a/drivers/leds/leds-as3668.c b/drivers/leds/leds-as3668.c
new file mode 100644
index 000000000000..e3f90078f6ec
--- /dev/null
+++ b/drivers/leds/leds-as3668.c
@@ -0,0 +1,196 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Osram AMS AS3668 LED Driver IC
+ *
+ * Copyright (C) 2025 Lukas Timmermann <linux@timmermann.space>
+ */
+
+#include <linux/i2c.h>
+#include <linux/leds.h>
+#include <linux/module.h>
+#include <linux/uleds.h>
+
+#define AS3668_MAX_LEDS 4
+
+/* Chip Registers */
+#define AS3668_CHIP_ID1 0x3e
+#define AS3668_CHIP_ID2 0x3f
+
+#define AS3668_CHIP_ID2_SERIAL_MASK GENMASK(7, 4)
+#define AS3668_CHIP_ID2_REV_MASK GENMASK(3, 0)
+
+#define AS3668_CURRX_CONTROL 0x01
+#define AS3668_CURR1 0x02
+#define AS3668_CURR2 0x03
+#define AS3668_CURR3 0x04
+#define AS3668_CURR4 0x05
+
+/* Constants */
+#define AS3668_CHIP_IDENT 0xa5
+#define AS3668_CHIP_REV1 0x01
+
+struct as3668_led {
+ struct led_classdev cdev;
+ struct as3668 *chip;
+ struct fwnode_handle *fwnode;
+
+ int num;
+};
+
+struct as3668 {
+ struct i2c_client *client;
+ struct as3668_led leds[AS3668_MAX_LEDS];
+};
+
+static int as3668_read_value(struct i2c_client *client, u8 reg)
+{
+ return i2c_smbus_read_byte_data(client, reg);
+}
+
+static int as3668_write_value(struct i2c_client *client, u8 reg, u8 value)
+{
+ int err = i2c_smbus_write_byte_data(client, reg, value);
+
+ if (err)
+ dev_err(&client->dev, "error writing to reg 0x%tx, returned %d", reg, err);
+
+ return err;
+}
+
+static enum led_brightness as3668_brightness_get(struct led_classdev *cdev)
+{
+ struct as3668_led *led = container_of(cdev, struct as3668_led, cdev);
+
+ return as3668_read_value(led->chip->client, AS3668_CURR1 + led->num);
+}
+
+static void as3668_brightness_set(struct led_classdev *cdev, enum led_brightness brightness)
+{
+ struct as3668_led *led = container_of(cdev, struct as3668_led, cdev);
+
+ as3668_write_value(led->chip->client, AS3668_CURR1 + led->num, brightness);
+}
+
+static int as3668_dt_init(struct as3668 *as3668)
+{
+ struct device *dev = &as3668->client->dev;
+ struct as3668_led *led;
+ struct led_init_data init_data = {};
+ int err;
+ u32 reg;
+ int i = 0;
+
+ for_each_available_child_of_node_scoped(dev_of_node(dev), child) {
+ err = of_property_read_u32(child, "reg", &reg);
+ if (err)
+ dev_err(dev, "unable to read device tree led reg, err %d", err);
+
+ i = reg;
+
+ if (i < 0 || i > AS3668_MAX_LEDS) {
+ dev_err(dev, "unsupported led reg %d\n", i);
+ return -EOPNOTSUPP;
+ }
+
+ led = &as3668->leds[i];
+ led->fwnode = of_fwnode_handle(child);
+
+ led->num = i;
+ led->chip = as3668;
+
+ led->cdev.max_brightness = U8_MAX;
+ led->cdev.brightness_get = as3668_brightness_get;
+ led->cdev.brightness_set = as3668_brightness_set;
+
+ init_data.fwnode = led->fwnode;
+ init_data.default_label = ":";
+
+ err = devm_led_classdev_register_ext(dev, &led->cdev, &init_data);
+ if (err) {
+ dev_err(dev, "failed to register %d LED\n", i);
+ return err;
+ }
+ }
+
+ return 0;
+}
+
+static int as3668_probe(struct i2c_client *client)
+{
+ u8 chip_id1, chip_id2, chip_serial, chip_rev;
+ struct as3668 *as3668;
+
+ /* Check for sensible i2c address */
+ if (client->addr != 0x42)
+ return dev_err_probe(&client->dev, -EFAULT,
+ "unexpected address for as3668 device\n");
+
+ /* Read identifier from chip */
+ chip_id1 = as3668_read_value(client, AS3668_CHIP_ID1);
+
+ if (chip_id1 != AS3668_CHIP_IDENT)
+ return dev_err_probe(&client->dev, -ENODEV,
+ "chip reported wrong id: 0x%tx\n", chip_id1);
+
+ /* Check the revision*/
+ chip_id2 = as3668_read_value(client, AS3668_CHIP_ID2);
+ chip_serial = FIELD_GET(AS3668_CHIP_ID2_SERIAL_MASK, chip_id2);
+ chip_rev = FIELD_GET(AS3668_CHIP_ID2_REV_MASK, chip_id2);
+
+ if (chip_rev != AS3668_CHIP_REV1)
+ dev_warn(&client->dev, "unexpected chip revision\n");
+
+ /* Print out information about the chip */
+ dev_dbg(&client->dev,
+ "chip_id: 0x%tx | chip_id2: 0x%tx | chip_serial: 0x%tx | chip_rev: 0x%tx\n",
+ chip_id1, chip_id2, chip_serial, chip_rev);
+
+ as3668 = devm_kzalloc(&client->dev, struct_size(as3668, leds, AS3668_MAX_LEDS), GFP_KERNEL);
+ as3668->client = client;
+
+ as3668_dt_init(as3668);
+
+ /* Initialize the chip */
+ as3668_write_value(client, AS3668_CURRX_CONTROL, 0x55);
+ as3668_write_value(client, AS3668_CURR1, 0x00);
+ as3668_write_value(client, AS3668_CURR2, 0x00);
+ as3668_write_value(client, AS3668_CURR3, 0x00);
+ as3668_write_value(client, AS3668_CURR4, 0x00);
+
+ return 0;
+}
+
+static void as3668_remove(struct i2c_client *client)
+{
+ as3668_write_value(client, AS3668_CURRX_CONTROL, 0x0);
+}
+
+static const struct i2c_device_id as3668_idtable[] = {
+ {"as3668"},
+ {}
+};
+
+MODULE_DEVICE_TABLE(i2c, as3668_idtable);
+
+static const struct of_device_id as3668_match_table[] = {
+ {.compatible = "ams,as3668"},
+ {}
+};
+
+MODULE_DEVICE_TABLE(of, as3668_match_table);
+
+static struct i2c_driver as3668_driver = {
+ .driver = {
+ .name = "leds_as3668",
+ .of_match_table = as3668_match_table,
+ },
+ .probe = as3668_probe,
+ .remove = as3668_remove,
+ .id_table = as3668_idtable,
+};
+
+module_i2c_driver(as3668_driver);
+
+MODULE_AUTHOR("Lukas Timmermann <linux@timmermann.space>");
+MODULE_DESCRIPTION("AS3668 LED driver");
+MODULE_LICENSE("GPL");
--
2.49.0



Return-Path: <linux-kernel+bounces-673867-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DAEE641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:09:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D42E7189288E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:09:27 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D342826B2BE;
Wed, 4 Jun 2025 23:09:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="U2tgMPi6"
Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3F8DB1F1921;
Wed, 4 Jun 2025 23:08:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078541; cv=none; b=DZeSzxbwWq+hmVVLjxeJcxbzfhHcKPrqwGroJ186TktIwJLv5LctqJxp/F393lZPOvxhc0paec2dnF9HIQhTrQnz1PtPSZ5vy45ppOZjtlD4Wu6wVMKlhWZSKpjVtSU9iDtRTtlVhcpA4La8WURxV832ePfGWSJ1Q1cj6/wHm5A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078541; c=relaxed/simple;
bh=TQu6ZAxAJdAOTn5kQr+Uvim5TQCSTuN8/5pMh4aAVuw=;
h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References:
Content-Type:MIME-Version; b=GZnCU4+HEqutoMAEMOA+foEa9YW39HDo+zJjo+CeL2fK5ksacUWl1R+Bl9fopaKoKbFWHY7KlBwxfejWd+gMtTxFc74FyVb06VVqP0OHa15GjL6RUiRuz8P7q8Rl5uv8ES9LbidTE3ul6fUOhB/Hm8d4chivK3kMz+n7OwyS0zo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=U2tgMPi6; arc=none smtp.client-ip=148.251.105.195
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
s=mail; t=1749078537;
bh=TQu6ZAxAJdAOTn5kQr+Uvim5TQCSTuN8/5pMh4aAVuw=;
h=Subject:From:To:Cc:Date:In-Reply-To:References:From;
b=U2tgMPi6iqRPjOivwztJ0MGx2nk9j5Ozrk5M7cSfSVt2njUBbgY3bLtcyQMRXPl4T
9Qxl9/eOyejBYsgrh+9GszjHqJeFYkGL1iRBWO7o7EjEQ9ET/fDw69brudZRRE9OzS
v1yZ1KQuouN2SheSQZW13J7ibuJ+K010Nc1UVnbAdSuefcKv4NzhO1IE9ctPTo2x9e
xnP9gx/ugexA816eGovOFmyIXlVI3jtizq7oZYENoQuqFSvbrAXk3tj9qsQJXnAJRQ
+YbHDMNL6Y+ZZ8zXZoJFE4RYpOEFrzdsEZORW0N6LDRidgRAcAhOVollLHPuOeHyR1
rP73Gv0gXzZxA==
Received: from [IPv6:2606:6d00:10:5285::c41] (unknown [IPv6:2606:6d00:10:5285::c41])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
(Authenticated sender: nicolas)
by bali.collaboradmins.com (Postfix) with ESMTPSA id 9334E17E0FE7;
Thu, 5 Jun 2025 01:08:55 +0200 (CEST)
Message-ID: <870611a1e5d21fa375dd9359192641484c1c0e76.camel@xxxxxxxxxxxxx>
Subject: Re: [PATCH v3 3/5] media: mc: add debugfs node to keep track of
requests
From: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
To: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>, Mauro Carvalho
Chehab <mchehab@xxxxxxxxxx>, Hans Verkuil <hverkuil@xxxxxxxxx>, Tiffany Lin
<tiffany.lin@xxxxxxxxxxxx>, Andrew-CT Chen <andrew-ct.chen@xxxxxxxxxxxx>,
Yunfei Dong <yunfei.dong@xxxxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-mediatek@xxxxxxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxx, linux-media@xxxxxxxxxxxxxxx, Sebastian Fricke
<sebastian.fricke@xxxxxxxxxxxxx>
Date: Wed, 04 Jun 2025 19:08:53 -0400
In-Reply-To: <aEC7jMDgRAg1cfXZ@kekkonen.localdomain>
References:
<20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-0-603db4749d90@xxxxxxxxxxxxx>
<20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-3-603db4749d90@xxxxxxxxxxxxx>
<aEC7jMDgRAg1cfXZ@kekkonen.localdomain>
Organization: Collabora Canada
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.56.2 (3.56.2-1.fc42)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Le mercredi 04 juin 2025 à 21:33 +0000, Sakari Ailus a écrit :
> Hi Nicolas, Hans,
>
> Thanks for the update.

thanks for the review, these things are precious.

>
> On Wed, Jun 04, 2025 at 04:09:37PM -0400, Nicolas Dufresne wrote:
> > From: Hans Verkuil <hverkuil@xxxxxxxxx>
> >
> > Keep track of the number of requests and request objects of a media
> > device. Helps to verify that all request-related memory is freed.
> >
> > Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> > Signed-off-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> > ---
> >  drivers/media/mc/mc-device.c  | 30 ++++++++++++++++++++++++++++++
> >  drivers/media/mc/mc-devnode.c |  5 +++++
> >  drivers/media/mc/mc-request.c |  6 ++++++
> >  include/media/media-device.h  |  9 +++++++++
> >  include/media/media-devnode.h |  4 ++++
> >  include/media/media-request.h |  2 ++
> >  6 files changed, 56 insertions(+)
> >
> > diff --git a/drivers/media/mc/mc-device.c b/drivers/media/mc/mc-device.c
> > index c0dd4ae5722725f1744bc6fd6282d5c765438059..5a458160200afb540d8014fed42d8bf2dab9c8c3 100644
> > --- a/drivers/media/mc/mc-device.c
> > +++ b/drivers/media/mc/mc-device.c
> > @@ -679,6 +679,23 @@ void media_device_unregister_entity(struct media_entity *entity)
> >  }
> >  EXPORT_SYMBOL_GPL(media_device_unregister_entity);
> >  
> > +#ifdef CONFIG_DEBUG_FS
> > +/*
> > + * Log the state of media requests.
> > + * Very useful for debugging.
> > + */
>
> Fits on a single line.

Ack.

>
> > +static int media_device_requests(struct seq_file *file, void *priv)
> > +{
> > + struct media_device *dev = dev_get_drvdata(file->private);
> > +
> > + seq_printf(file, "number of requests: %d\n",
> > +    atomic_read(&dev->num_requests));
> > + seq_printf(file, "number of request objects: %d\n",
> > +    atomic_read(&dev->num_request_objects));
>
> Newline here?

I prefer that too.

>
> > + return 0;
> > +}
> > +#endif
> > +
> >  void media_device_init(struct media_device *mdev)
> >  {
> >   INIT_LIST_HEAD(&mdev->entities);
> > @@ -697,6 +714,9 @@ void media_device_init(struct media_device *mdev)
> >   media_set_bus_info(mdev->bus_info, sizeof(mdev->bus_info),
> >      mdev->dev);
> >  
> > + atomic_set(&mdev->num_requests, 0);
> > + atomic_set(&mdev->num_request_objects, 0);
> > +
> >   dev_dbg(mdev->dev, "Media device initialized\n");
> >  }
> >  EXPORT_SYMBOL_GPL(media_device_init);
> > @@ -748,6 +768,15 @@ int __must_check __media_device_register(struct media_device *mdev,
> >  
> >   dev_dbg(mdev->dev, "Media device registered\n");
> >  
> > +#ifdef CONFIG_DEBUG_FS
> > + if (!media_debugfs_root)
> > + media_debugfs_root = debugfs_create_dir("media", NULL);
> > + mdev->media_dir = debugfs_create_dir(dev_name(&devnode->dev),
> > +      media_debugfs_root);
> > + debugfs_create_devm_seqfile(&devnode->dev, "requests",
> > +     mdev->media_dir, media_device_requests);
> > +#endif
>
> I have no objection to this but it would have been great to have the Media
> device lifetime set in first and MC device and devnode merged. But maybe
> it's too late for that. Well, at least this won't change error handling...

Since this specific patch is not required to fix the MTK VCODEC issue, I can
delay this a little. Is that comment related to an existing patch ?

>
> > +
> >   return 0;
> >  }
> >  EXPORT_SYMBOL_GPL(__media_device_register);
> > @@ -824,6 +853,7 @@ void media_device_unregister(struct media_device *mdev)
> >  
> >   dev_dbg(mdev->dev, "Media device unregistered\n");
> >  
> > + debugfs_remove_recursive(mdev->media_dir);
> >   device_remove_file(&mdev->devnode->dev, &dev_attr_model);
> >   media_devnode_unregister(mdev->devnode);
> >   /* devnode free is handled in media_devnode_*() */
> > diff --git a/drivers/media/mc/mc-devnode.c b/drivers/media/mc/mc-devnode.c
> > index 56444edaf13651874331e7c04e86b0a585067d38..d0a8bcc11dd6350fdbc04add70f62de2c5f01178 100644
> > --- a/drivers/media/mc/mc-devnode.c
> > +++ b/drivers/media/mc/mc-devnode.c
> > @@ -45,6 +45,9 @@ static dev_t media_dev_t;
> >  static DEFINE_MUTEX(media_devnode_lock);
> >  static DECLARE_BITMAP(media_devnode_nums, MEDIA_NUM_DEVICES);
> >  
> > +/* debugfs */
> > +struct dentry *media_debugfs_root;
> > +
> >  /* Called when the last user of the media device exits. */
> >  static void media_devnode_release(struct device *cd)
> >  {
> > @@ -236,6 +239,7 @@ int __must_check media_devnode_register(struct media_device *mdev,
> >   if (devnode->parent)
> >   devnode->dev.parent = devnode->parent;
> >   dev_set_name(&devnode->dev, "media%d", devnode->minor);
> > + dev_set_drvdata(&devnode->dev, mdev);
> >   device_initialize(&devnode->dev);
> >  
> >   /* Part 2: Initialize the character device */
> > @@ -313,6 +317,7 @@ static int __init media_devnode_init(void)
> >  
> >  static void __exit media_devnode_exit(void)
> >  {
> > + debugfs_remove_recursive(media_debugfs_root);
> >   bus_unregister(&media_bus_type);
> >   unregister_chrdev_region(media_dev_t, MEDIA_NUM_DEVICES);
> >  }
> > diff --git a/drivers/media/mc/mc-request.c b/drivers/media/mc/mc-request.c
> > index 398d0806d1d274eb8c454fc5c37b77476abe1e74..829e35a5d56d41c52cc583cdea1c959bcb4fce60 100644
> > --- a/drivers/media/mc/mc-request.c
> > +++ b/drivers/media/mc/mc-request.c
> > @@ -75,6 +75,7 @@ static void media_request_release(struct kref *kref)
> >   mdev->ops->req_free(req);
> >   else
> >   kfree(req);
> > + atomic_dec(&mdev->num_requests);
> >  }
> >  
> >  void media_request_put(struct media_request *req)
> > @@ -326,6 +327,7 @@ int media_request_alloc(struct media_device *mdev, int *alloc_fd)
> >  
> >   snprintf(req->debug_str, sizeof(req->debug_str), "%u:%d",
> >   atomic_inc_return(&mdev->request_id), fd);
> > + atomic_inc(&mdev->num_requests);
> >   dev_dbg(mdev->dev, "request: allocated %s\n", req->debug_str);
> >  
> >   fd_install(fd, filp);
> > @@ -349,10 +351,12 @@ static void media_request_object_release(struct kref *kref)
> >   struct media_request_object *obj =
> >   container_of(kref, struct media_request_object, kref);
> >   struct media_request *req = obj->req;
> > + struct media_device *mdev = obj->mdev;
> >  
> >   if (WARN_ON(req))
> >   media_request_object_unbind(obj);
> >   obj->ops->release(obj);
> > + atomic_dec(&mdev->num_request_objects);
> >  }
> >  
> >  struct media_request_object *
> > @@ -417,6 +421,7 @@ int media_request_object_bind(struct media_request *req,
> >   obj->req = req;
> >   obj->ops = ops;
> >   obj->priv = priv;
> > + obj->mdev = req->mdev;
> >  
> >   if (is_buffer)
> >   list_add_tail(&obj->list, &req->objects);
> > @@ -424,6 +429,7 @@ int media_request_object_bind(struct media_request *req,
> >   list_add(&obj->list, &req->objects);
> >   req->num_incomplete_objects++;
> >   ret = 0;
> > + atomic_inc(&obj->mdev->num_request_objects);
> >  
> >  unlock:
> >   spin_unlock_irqrestore(&req->lock, flags);
> > diff --git a/include/media/media-device.h b/include/media/media-device.h
> > index 53d2a16a70b0d9d6e5cc28fe1fc5d5ef384410d5..749c327e3c582c3c583e0394468321ccd6160da5 100644
> > --- a/include/media/media-device.h
> > +++ b/include/media/media-device.h
> > @@ -11,6 +11,7 @@
> >  #ifndef _MEDIA_DEVICE_H
> >  #define _MEDIA_DEVICE_H
> >  
> > +#include <linux/atomic.h>
> >  #include <linux/list.h>
> >  #include <linux/mutex.h>
> >  #include <linux/pci.h>
> > @@ -106,6 +107,9 @@ struct media_device_ops {
> >   * @ops: Operation handler callbacks
> >   * @req_queue_mutex: Serialise the MEDIA_REQUEST_IOC_QUEUE ioctl w.r.t.
> >   *      other operations that stop or start streaming.
> > + * @num_requests: number of associated requests
> > + * @num_request_objects: number of associated request objects
> > + * @media_dir: DebugFS media directory
> >   * @request_id: Used to generate unique request IDs
> >   *
> >   * This structure represents an abstract high-level media device. It allows easy
> > @@ -179,6 +183,11 @@ struct media_device {
> >   const struct media_device_ops *ops;
> >  
> >   struct mutex req_queue_mutex;
> > + atomic_t num_requests;
> > + atomic_t num_request_objects;
> > +
> > + /* debugfs */
> > + struct dentry *media_dir;
> >   atomic_t request_id;
> >  };
> >  
> > diff --git a/include/media/media-devnode.h b/include/media/media-devnode.h
> > index d27c1c646c2805171be3997d72210dd4d1a38e32..dbcabeffcb572ae707f5fe1f51ff719d451c6784 100644
> > --- a/include/media/media-devnode.h
> > +++ b/include/media/media-devnode.h
> > @@ -20,9 +20,13 @@
> >  #include <linux/fs.h>
> >  #include <linux/device.h>
> >  #include <linux/cdev.h>
> > +#include <linux/debugfs.h>
> >  
> >  struct media_device;
> >  
> > +/* debugfs top-level media directory */
> > +extern struct dentry *media_debugfs_root;
> > +
> >  /*
> >   * Flag to mark the media_devnode struct as registered. Drivers must not touch
> >   * this flag directly, it will be set and cleared by media_devnode_register and
> > diff --git a/include/media/media-request.h b/include/media/media-request.h
> > index 7f9af68ef19ac6de0184bbb0c0827dc59777c6dc..610ccfe8d7b20ec38e166383433f9ee208248640 100644
> > --- a/include/media/media-request.h
> > +++ b/include/media/media-request.h
> > @@ -292,6 +292,7 @@ struct media_request_object_ops {
> >   * struct media_request_object - An opaque object that belongs to a media
> >   * request
> >   *
> > + * @mdev: Media device this object belongs to
>
> This deserves at least a comment what this may be used for: generally once
> object is unbound, it's not related to a request anymore (nor a Media
> device). This field also adds a new Media device lifetime issue: nothing

We could make it explicit by clearing the mdev pointer ?

> guarantees the mdev is not disappearing at a wrong time albeit this is
> very, very likely not user-triggerable without physically removing
> hardware.

I'm not too familiar with the subject, if the MC knows it has open request
FD(s), why would it allow userspace from unloading its module ?

>
> >   * @ops: object's operations
> >   * @priv: object's priv pointer
> >   * @req: the request this object belongs to (can be NULL)
> > @@ -303,6 +304,7 @@ struct media_request_object_ops {
> >   * another struct that contains the actual data for this request object.
> >   */
> >  struct media_request_object {
> > + struct media_device *mdev;
> >   const struct media_request_object_ops *ops;
> >   void *priv;
> >   struct media_request *req;
> >


Return-Path: <linux-kernel+bounces-673868-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AEAD241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:12:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id BB0377A5F81
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:10:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 55F9426B2C8;
Wed, 4 Jun 2025 23:11:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="jUqqWFsH"
Received: from mail-pg1-f201.google.com (mail-pg1-f201.google.com [209.85.215.201])
(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 E96EB26B0A7
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:11:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078717; cv=none; b=ck9zXFcO/paRQyTwdNnlRP6WmRe7+hCa1snSib8VCp76Zzb73AlNCzu7+33tJNqANeTLXFNCaftbXatV1RDfKdyJa5omMtET2XsLFz+i03Gy8htRiE3ubp4pCcM8flIEqCN0SlXaEZu0oAc3GRRwjfgGabtiTycyL/wtndGqxRA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078717; c=relaxed/simple;
bh=pGoib3ydjtZ/I78fQ6QPvniLoEWzR+5uyTMk2OKAQ9s=;
h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=sEcQ61gdSN7qZQKuuqNQy/SqQ6eHFBXeDZC2MAFhVhSuySFJJ4kucRMUtmSaUNU2417eRW+JdGZ1JLE/j7QQQr7ll4dhspFyKVuVAiYm7yFf/t+KRii6in4CYYF5ImafbGm1sVk6iKwjcRIvO3xC07Iu5llA3mg0URT4gv7U5AA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=jUqqWFsH; arc=none smtp.client-ip=209.85.215.201
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com
Received: by mail-pg1-f201.google.com with SMTP id 41be03b00d2f7-b2eb60594e8so146182a12.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:11:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1749078715; x=1749683515; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject
:date:message-id:reply-to;
bh=3npSTljTroS8UV+to+K7B0gejhUv63EMca56GSqeKhA=;
b=jUqqWFsHJeauJ0UdL6a3yAD//Y5nRdJb+lt+Wu0tijNSrPD6kvpliaA4bdlIyuZUnl
nufCdwEie7ELjDuQ+sKvQmW4TzsqezJErSbxWtWjOeah9rFLVO0tcERcpdPOEPsAXy4O
NG0x2enC2+02iwrZ0ligWErT/SmgpabylcgCGIChaP8/CA/4Pv9SvYkfEUt1FOviDp7h
ZWR4s2NkiRs5yfv0d2sbGSGmM1YAMAStfgmhUDChYiKBSf09E5jXvUWc4nC5g+J2rrrO
AY3Yj3bMV2VYlhaDvcgbk+l8mAhqqs005lYANeSmzlYZxlTct5hZ9pukUd1TuPetaEiw
VC6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749078715; x=1749683515;
h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=3npSTljTroS8UV+to+K7B0gejhUv63EMca56GSqeKhA=;
b=aRCRa5kBctekl8sJ7C9ctdRMwCIr53L19GyvsYZmvLhSgIcdP3olvOUQ7Nbw7lU/Lj
aBcsA6tnDvmFZ32ctAYDsNACNQNYPdUIUvivqeCVrQTmliLgcqhPTQKrrTNziaiYJxla
xZKFZXqlZtxt89VjIKpZEn5b4NXoi7l9UIVtDIJQaxTBZIgmkKl0VMd7anA0z4FdHg3Y
asPJpsmlwAfov9EhZ8c1ucEEn5cAxZlhXTenWVeFBeRb4K76MVco4QkU7YP8tId8G3OA
NpDBxW+ZEeWqdI8OhaVUYSdoChML1ASdZr7IzGfdMXEipd+eDpgKvVQsn/qNLtxSA9LL
uwbA==
X-Forwarded-Encrypted: i=1; AJvYcCXkPMemlM7q0yS5GT4kWNAHBUka2Uo+2v3TKq/2/mG2ogQbgD/jlV2XoxdAAW8n9lyCKersgZEJGwacr2w=@vger.kernel.org
X-Gm-Message-State: AOJu0Yyj9CzhxjzS2mtzAs4U22hWXAbGpNV0wYe6Gv8eRHdrAPdUDEvX
eSlCK4cuOa+0nuPqQH2ZfNS/MRSQ9Qao0m4IGEyoB6e9nqFyRqJHQzp8jv7Ne3sYKQm5YwaJ64U
YxpJDnQ==
X-Google-Smtp-Source: AGHT+IE5vyjpR0b4JnX96tHDLjXZe/ay0gti7aWB7+1hKtbXecOEAJBb165hSe99jrOqgpdnI0DBhGLXyQk=
X-Received: from pgac22.prod.google.com ([2002:a05:6a02:2956:b0:b2c:3dd5:8139])
(user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a21:6b02:b0:216:1ea0:a516
with SMTP id adf61e73a8af0-21d22d4ce34mr7310828637.41.1749078715129; Wed, 04
Jun 2025 16:11:55 -0700 (PDT)
Date: Wed, 4 Jun 2025 16:11:44 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
X-Mailer: git-send-email 2.49.0.1266.g31b7d2e469-goog
Message-ID: <20250604231151.799834-1-surenb@xxxxxxxxxx>
Subject: [PATCH v4 0/7] use per-vma locks for /proc/pid/maps reads and PROCMAP_QUERY
From: Suren Baghdasaryan <surenb@xxxxxxxxxx>
To: akpm@xxxxxxxxxxxxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, david@xxxxxxxxxx,
vbabka@xxxxxxx, peterx@xxxxxxxxxx, jannh@xxxxxxxxxx, hannes@xxxxxxxxxxx,
mhocko@xxxxxxxxxx, paulmck@xxxxxxxxxx, shuah@xxxxxxxxxx, adobriyan@xxxxxxxxx,
brauner@xxxxxxxxxx, josef@xxxxxxxxxxxxxx, yebin10@xxxxxxxxxx,
linux@xxxxxxxxxxxxxx, willy@xxxxxxxxxxxxx, osalvador@xxxxxxx,
andrii@xxxxxxxxxx, ryan.roberts@xxxxxxx, christophe.leroy@xxxxxxxxxx,
tjmercier@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, surenb@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.0 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Reading /proc/pid/maps requires read-locking mmap_lock which prevents any
other task from concurrently modifying the address space. This guarantees
coherent reporting of virtual address ranges, however it can block
important updates from happening. Oftentimes /proc/pid/maps readers are
low priority monitoring tasks and them blocking high priority tasks
results in priority inversion.

Locking the entire address space is required to present fully coherent
picture of the address space, however even current implementation does not
strictly guarantee that by outputting vmas in page-size chunks and
dropping mmap_lock in between each chunk. Address space modifications are
possible while mmap_lock is dropped and userspace reading the content is
expected to deal with possible concurrent address space modifications.
Considering these relaxed rules, holding mmap_lock is not strictly needed
as long as we can guarantee that a concurrently modified vma is reported
either in its original form or after it was modified.

This patchset switches from holding mmap_lock while reading /proc/pid/maps
to taking per-vma locks as we walk the vma tree. This reduces the
contention with tasks modifying the address space because they would have
to contend for the same vma as opposed to the entire address space. Same
is done for PROCMAP_QUERY ioctl which locks only the vma that fell into
the requested range instead of the entire address space. Previous version
of this patchset [1] tried to perform /proc/pid/maps reading under RCU,
however its implementation is quite complex and the results are worse than
the new version because it still relied on mmap_lock speculation which
retries if any part of the address space gets modified. New implementaion
is both simpler and results in less contention. Note that similar approach
would not work for /proc/pid/smaps reading as it also walks the page table
and that's not RCU-safe.

Paul McKenney's designed a test [2] to measure mmap/munmap latencies while
concurrently reading /proc/pid/maps. The test has a pair of processes
scanning /proc/PID/maps, and another process unmapping and remapping 4K
pages from a 128MB range of anonymous memory. At the end of each 10
second run, the latency of each mmap() or munmap() operation is measured,
and for each run the maximum and mean latency is printed. The map/unmap
process is started first, its PID is passed to the scanners, and then the
map/unmap process waits until both scanners are running before starting
its timed test. The scanners keep scanning until the specified
/proc/PID/maps file disappears. This test registered close to 10x
improvement in update latencies:

Before the change:
./run-proc-vs-map.sh --nsamples 100 --rawdata -- --busyduration 2
0.011 0.008 0.455
0.011 0.008 0.472
0.011 0.008 0.535
0.011 0.009 0.545
...
0.011 0.014 2.875
0.011 0.014 2.913
0.011 0.014 3.007
0.011 0.015 3.018

After the change:
./run-proc-vs-map.sh --nsamples 100 --rawdata -- --busyduration 2
0.006 0.005 0.036
0.006 0.005 0.039
0.006 0.005 0.039
0.006 0.005 0.039
...
0.006 0.006 0.403
0.006 0.006 0.474
0.006 0.006 0.479
0.006 0.006 0.498

The patchset also adds a number of tests to check for /proc/pid/maps data
coherency. They are designed to detect any unexpected data tearing while
performing some common address space modifications (vma split, resize and
remap). Even before these changes, reading /proc/pid/maps might have
inconsistent data because the file is read page-by-page with mmap_lock
being dropped between the pages. An example of user-visible inconsistency
can be that the same vma is printed twice: once before it was modified and
then after the modifications. For example if vma was extended, it might be
found and reported twice. What is not expected is to see a gap where there
should have been a vma both before and after modification. This patchset
increases the chances of such tearing, therefore it's event more important
now to test for unexpected inconsistencies.

[1] https://lore.kernel.org/all/20250418174959.1431962-1-surenb@xxxxxxxxxx/
[2] https://github.com/paulmckrcu/proc-mmap_sem-test

Suren Baghdasaryan (7):
selftests/proc: add /proc/pid/maps tearing from vma split test
selftests/proc: extend /proc/pid/maps tearing test to include vma
resizing
selftests/proc: extend /proc/pid/maps tearing test to include vma
remapping
selftests/proc: test PROCMAP_QUERY ioctl while vma is concurrently
modified
selftests/proc: add verbose more for tests to facilitate debugging
mm/maps: read proc/pid/maps under per-vma lock
mm/maps: execute PROCMAP_QUERY ioctl under per-vma locks

fs/proc/internal.h | 6 +
fs/proc/task_mmu.c | 233 +++++-
tools/testing/selftests/proc/proc-pid-vm.c | 793 ++++++++++++++++++++-
3 files changed, 1011 insertions(+), 21 deletions(-)


base-commit: 2d0c297637e7d59771c1533847c666cdddc19884
--
2.49.0.1266.g31b7d2e469-goog



Return-Path: <linux-kernel+bounces-673869-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F0E1041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:12:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 31013175ECD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2149326C381;
Wed, 4 Jun 2025 23:12:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="jweS1w5I"
Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73])
(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 D2CD426B973
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078723; cv=none; b=DGSF7X/9KNHN6Xeac+mGXPqIi5nQoZJcXzqzaFmG4u2yGrOVNp83Txi6c25sK+DMTYRKpRcgsCqTqeEOhUY7V9ji2xqC0wRP9FiuZ8MVNz+FE2hvfuaW6nmW23j+zI5hZqq40PfKNYNroEqEQmS+1DtQQ6kSt8paWUjCDMQD85g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078723; c=relaxed/simple;
bh=NW3QXGZa4663WvdXLjeRyaj3Ei25o2AJZLFsBsC7Bnk=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=PII5aO71/dh14zNk2GyB3fWRVp9V+i3w8Z/drA/p9MmpuqaRy1cj7z04wmswf6zs5Vj2ZbXeXVRNS3VtFZ2oWReOXflBmt++X4ENANvnrMHH6Ph4+QCECvfWQRBIlEE+AoiHWhEIxxRSwNgkACp9JnD1LcgAhvGBt3ZJ5OpyxZU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=jweS1w5I; arc=none smtp.client-ip=209.85.216.73
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com
Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-3132e7266d3so65298a91.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:12:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1749078721; x=1749683521; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=JUhX3Ns/5XBc40xno+kJmwKf1OM3H2+/3zcbV1pSCHo=;
b=jweS1w5ISouT9RfSpUwve2bo1GEg+UAH2S2b8fxHYNTKKQJPwtC3EH5DlmnKIYBUzp
UBjn5aZIpYn0l7aOdz1vWNTwKRQGIBPeGul++R9wh8OCLwGHHGSBOIXseaJlYJF/mBTF
jiHTpFVGzcX+Ah040EntNUJzAD248xgRUanJ3StWVIMr6+bQm6aYOQS2D++5HHwhK4AX
pNVghNQLBjgNmx34MsM1sYjco0RRjl31BRjyU7iNhRxjXeLatUTEGPPIre/bkrWAEtRA
xOUI+QSv/Mx5SAeI/5PYPb8msurL9GLeQjfWxLHL3rY6YHUf908JvwsV3fr4XJ0tagUa
O0eA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749078721; x=1749683521;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=JUhX3Ns/5XBc40xno+kJmwKf1OM3H2+/3zcbV1pSCHo=;
b=U2bLuGw6FHxNZ60Nsp1Y5V4FHLc0n5TxjIaN5Pa9xHcoJWlYFBaqznmsXLzMHJTL7r
q/UgipQYMO5/EtsunPlyAjyNTB5iTK6uHyM27OwHNvCKg+31qJ/UgZ3CadbgI4+VaE9/
DfEb+fSzALO7N6KmV9CK+0HfqTAvrptjMQPbAF/3/UVmkC12Ftk8NGn6KgTWXlxoSmmy
BIGhU+56cBvFopIyAskEz3N9ayQLgUFZQMve/NyB3AGURTtg7N7RcAVb+limiQBCZgAk
UqMxInY9LxQ4iYE+vC3RBHjIg0GwK0Ux4ET8hixBXulFlDhP/3Hr2ug/2b6CYpgQ+0gT
TtIA==
X-Forwarded-Encrypted: i=1; AJvYcCXB1fgQB9rHnHMVYsL3kVuNcGf71B5oojnx4pHh00m+FES45qKlNUB59Li2VlAvwBBliEwGneOwGtlIkhs=@vger.kernel.org
X-Gm-Message-State: AOJu0YyALRScAW8XwMSzYW29a4e8iMcOtP4bfnZRepYe88lvDfGYxpDn
bDWivQTkpbJUc6ZgUMbK/sy5hvJv98tMKuoIiEy9XdXYP36A4gfCjafL/fwSIgInfjm1vb8HzDO
f3BodWA==
X-Google-Smtp-Source: AGHT+IHlAlWPhYi49GEO/hAEiP1bg5W9jmU+hP5/sDmo0K6qFC3JqxdpNjH/sVAhRn21WKI+htX2k/ydZrc=
X-Received: from pjbpw2.prod.google.com ([2002:a17:90b:2782:b0:312:187d:382d])
(user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90a:d2cf:b0:312:26d9:d5b4
with SMTP id 98e67ed59e1d1-3130cd97ac5mr7753526a91.17.1749078721150; Wed, 04
Jun 2025 16:12:01 -0700 (PDT)
Date: Wed, 4 Jun 2025 16:11:45 -0700
In-Reply-To: <20250604231151.799834-1-surenb@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250604231151.799834-1-surenb@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1266.g31b7d2e469-goog
Message-ID: <20250604231151.799834-2-surenb@xxxxxxxxxx>
Subject: [PATCH v4 1/7] selftests/proc: add /proc/pid/maps tearing from vma
split test
From: Suren Baghdasaryan <surenb@xxxxxxxxxx>
To: akpm@xxxxxxxxxxxxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, david@xxxxxxxxxx,
vbabka@xxxxxxx, peterx@xxxxxxxxxx, jannh@xxxxxxxxxx, hannes@xxxxxxxxxxx,
mhocko@xxxxxxxxxx, paulmck@xxxxxxxxxx, shuah@xxxxxxxxxx, adobriyan@xxxxxxxxx,
brauner@xxxxxxxxxx, josef@xxxxxxxxxxxxxx, yebin10@xxxxxxxxxx,
linux@xxxxxxxxxxxxxx, willy@xxxxxxxxxxxxx, osalvador@xxxxxxx,
andrii@xxxxxxxxxx, ryan.roberts@xxxxxxx, christophe.leroy@xxxxxxxxxx,
tjmercier@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, surenb@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.0 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The /proc/pid/maps file is generated page by page, with the mmap_lock
released between pages. This can lead to inconsistent reads if the
underlying vmas are concurrently modified. For instance, if a vma split
or merge occurs at a page boundary while /proc/pid/maps is being read,
the same vma might be seen twice: once before and once after the change.
This duplication is considered acceptable for userspace handling.
However, observing a "hole" where a vma should be (e.g., due to a vma
being replaced and the space temporarily being empty) is unacceptable.

Implement a test that:
1. Forks a child process which continuously modifies its address space,
specifically targeting a vma at the boundary between two pages.
2. The parent process repeatedly reads the child's /proc/pid/maps.
3. The parent process checks the last vma of the first page and
the first vma of the second page for consistency, looking for the
effects of vma splits or merges.

The test duration is configurable via the -d command-line parameter
in seconds to increase the likelihood of catching the race condition.
The default test duration is 5 seconds.

Example Command: proc-pid-vm -d 10

Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
---
tools/testing/selftests/proc/proc-pid-vm.c | 430 ++++++++++++++++++++-
1 file changed, 429 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/proc/proc-pid-vm.c b/tools/testing/selftests/proc/proc-pid-vm.c
index d04685771952..6e3f06376a1f 100644
--- a/tools/testing/selftests/proc/proc-pid-vm.c
+++ b/tools/testing/selftests/proc/proc-pid-vm.c
@@ -27,6 +27,7 @@
#undef NDEBUG
#include <assert.h>
#include <errno.h>
+#include <pthread.h>
#include <sched.h>
#include <signal.h>
#include <stdbool.h>
@@ -34,6 +35,7 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/types.h>
#include <sys/stat.h>
@@ -70,6 +72,8 @@ static void make_private_tmp(void)
}
}

+static unsigned long test_duration_sec = 5UL;
+static int page_size;
static pid_t pid = -1;
static void ate(void)
{
@@ -281,11 +285,431 @@ static void vsyscall(void)
}
}

-int main(void)
+/* /proc/pid/maps parsing routines */
+struct page_content {
+ char *data;
+ ssize_t size;
+};
+
+#define LINE_MAX_SIZE 256
+
+struct line_content {
+ char text[LINE_MAX_SIZE];
+ unsigned long start_addr;
+ unsigned long end_addr;
+};
+
+static void read_two_pages(int maps_fd, struct page_content *page1,
+ struct page_content *page2)
+{
+ ssize_t bytes_read;
+
+ assert(lseek(maps_fd, 0, SEEK_SET) >= 0);
+ bytes_read = read(maps_fd, page1->data, page_size);
+ assert(bytes_read > 0 && bytes_read < page_size);
+ page1->size = bytes_read;
+
+ bytes_read = read(maps_fd, page2->data, page_size);
+ assert(bytes_read > 0 && bytes_read < page_size);
+ page2->size = bytes_read;
+}
+
+static void copy_first_line(struct page_content *page, char *first_line)
+{
+ char *pos = strchr(page->data, '\n');
+
+ strncpy(first_line, page->data, pos - page->data);
+ first_line[pos - page->data] = '\0';
+}
+
+static void copy_last_line(struct page_content *page, char *last_line)
+{
+ /* Get the last line in the first page */
+ const char *end = page->data + page->size - 1;
+ /* skip last newline */
+ const char *pos = end - 1;
+
+ /* search previous newline */
+ while (pos[-1] != '\n')
+ pos--;
+ strncpy(last_line, pos, end - pos);
+ last_line[end - pos] = '\0';
+}
+
+/* Read the last line of the first page and the first line of the second page */
+static void read_boundary_lines(int maps_fd, struct page_content *page1,
+ struct page_content *page2,
+ struct line_content *last_line,
+ struct line_content *first_line)
+{
+ read_two_pages(maps_fd, page1, page2);
+
+ copy_last_line(page1, last_line->text);
+ copy_first_line(page2, first_line->text);
+
+ assert(sscanf(last_line->text, "%lx-%lx", &last_line->start_addr,
+ &last_line->end_addr) == 2);
+ assert(sscanf(first_line->text, "%lx-%lx", &first_line->start_addr,
+ &first_line->end_addr) == 2);
+}
+
+/* Thread synchronization routines */
+enum test_state {
+ INIT,
+ CHILD_READY,
+ PARENT_READY,
+ SETUP_READY,
+ SETUP_MODIFY_MAPS,
+ SETUP_MAPS_MODIFIED,
+ SETUP_RESTORE_MAPS,
+ SETUP_MAPS_RESTORED,
+ TEST_READY,
+ TEST_DONE,
+};
+
+struct vma_modifier_info;
+
+typedef void (*vma_modifier_op)(const struct vma_modifier_info *mod_info);
+typedef void (*vma_mod_result_check_op)(struct line_content *mod_last_line,
+ struct line_content *mod_first_line,
+ struct line_content *restored_last_line,
+ struct line_content *restored_first_line);
+
+struct vma_modifier_info {
+ int vma_count;
+ void *addr;
+ int prot;
+ void *next_addr;
+ vma_modifier_op vma_modify;
+ vma_modifier_op vma_restore;
+ vma_mod_result_check_op vma_mod_check;
+ pthread_mutex_t sync_lock;
+ pthread_cond_t sync_cond;
+ enum test_state curr_state;
+ bool exit;
+ void *child_mapped_addr[];
+};
+
+static void wait_for_state(struct vma_modifier_info *mod_info, enum test_state state)
+{
+ pthread_mutex_lock(&mod_info->sync_lock);
+ while (mod_info->curr_state != state)
+ pthread_cond_wait(&mod_info->sync_cond, &mod_info->sync_lock);
+ pthread_mutex_unlock(&mod_info->sync_lock);
+}
+
+static void signal_state(struct vma_modifier_info *mod_info, enum test_state state)
+{
+ pthread_mutex_lock(&mod_info->sync_lock);
+ mod_info->curr_state = state;
+ pthread_cond_signal(&mod_info->sync_cond);
+ pthread_mutex_unlock(&mod_info->sync_lock);
+}
+
+/* VMA modification routines */
+static void *child_vma_modifier(struct vma_modifier_info *mod_info)
+{
+ int prot = PROT_READ | PROT_WRITE;
+ int i;
+
+ for (i = 0; i < mod_info->vma_count; i++) {
+ mod_info->child_mapped_addr[i] = mmap(NULL, page_size * 3, prot,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ assert(mod_info->child_mapped_addr[i] != MAP_FAILED);
+ /* change protection in adjacent maps to prevent merging */
+ prot ^= PROT_WRITE;
+ }
+ signal_state(mod_info, CHILD_READY);
+ wait_for_state(mod_info, PARENT_READY);
+ while (true) {
+ signal_state(mod_info, SETUP_READY);
+ wait_for_state(mod_info, SETUP_MODIFY_MAPS);
+ if (mod_info->exit)
+ break;
+
+ mod_info->vma_modify(mod_info);
+ signal_state(mod_info, SETUP_MAPS_MODIFIED);
+ wait_for_state(mod_info, SETUP_RESTORE_MAPS);
+ mod_info->vma_restore(mod_info);
+ signal_state(mod_info, SETUP_MAPS_RESTORED);
+
+ wait_for_state(mod_info, TEST_READY);
+ while (mod_info->curr_state != TEST_DONE) {
+ mod_info->vma_modify(mod_info);
+ mod_info->vma_restore(mod_info);
+ }
+ }
+ for (i = 0; i < mod_info->vma_count; i++)
+ munmap(mod_info->child_mapped_addr[i], page_size * 3);
+
+ return NULL;
+}
+
+static void stop_vma_modifier(struct vma_modifier_info *mod_info)
+{
+ wait_for_state(mod_info, SETUP_READY);
+ mod_info->exit = true;
+ signal_state(mod_info, SETUP_MODIFY_MAPS);
+}
+
+static void capture_mod_pattern(int maps_fd,
+ struct vma_modifier_info *mod_info,
+ struct page_content *page1,
+ struct page_content *page2,
+ struct line_content *last_line,
+ struct line_content *first_line,
+ struct line_content *mod_last_line,
+ struct line_content *mod_first_line,
+ struct line_content *restored_last_line,
+ struct line_content *restored_first_line)
+{
+ signal_state(mod_info, SETUP_MODIFY_MAPS);
+ wait_for_state(mod_info, SETUP_MAPS_MODIFIED);
+
+ /* Copy last line of the first page and first line of the last page */
+ read_boundary_lines(maps_fd, page1, page2, mod_last_line, mod_first_line);
+
+ signal_state(mod_info, SETUP_RESTORE_MAPS);
+ wait_for_state(mod_info, SETUP_MAPS_RESTORED);
+
+ /* Copy last line of the first page and first line of the last page */
+ read_boundary_lines(maps_fd, page1, page2, restored_last_line, restored_first_line);
+
+ mod_info->vma_mod_check(mod_last_line, mod_first_line,
+ restored_last_line, restored_first_line);
+
+ /*
+ * The content of these lines after modify+resore should be the same
+ * as the original.
+ */
+ assert(strcmp(restored_last_line->text, last_line->text) == 0);
+ assert(strcmp(restored_first_line->text, first_line->text) == 0);
+}
+
+static inline void split_vma(const struct vma_modifier_info *mod_info)
+{
+ assert(mmap(mod_info->addr, page_size, mod_info->prot | PROT_EXEC,
+ MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED,
+ -1, 0) != MAP_FAILED);
+}
+
+static inline void merge_vma(const struct vma_modifier_info *mod_info)
+{
+ assert(mmap(mod_info->addr, page_size, mod_info->prot,
+ MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED,
+ -1, 0) != MAP_FAILED);
+}
+
+static inline void check_split_result(struct line_content *mod_last_line,
+ struct line_content *mod_first_line,
+ struct line_content *restored_last_line,
+ struct line_content *restored_first_line)
+{
+ /* Make sure vmas at the boundaries are changing */
+ assert(strcmp(mod_last_line->text, restored_last_line->text) != 0);
+ assert(strcmp(mod_first_line->text, restored_first_line->text) != 0);
+}
+
+static void test_maps_tearing_from_split(int maps_fd,
+ struct vma_modifier_info *mod_info,
+ struct page_content *page1,
+ struct page_content *page2,
+ struct line_content *last_line,
+ struct line_content *first_line)
+{
+ struct line_content split_last_line;
+ struct line_content split_first_line;
+ struct line_content restored_last_line;
+ struct line_content restored_first_line;
+
+ wait_for_state(mod_info, SETUP_READY);
+
+ /* re-read the file to avoid using stale data from previous test */
+ read_boundary_lines(maps_fd, page1, page2, last_line, first_line);
+
+ mod_info->vma_modify = split_vma;
+ mod_info->vma_restore = merge_vma;
+ mod_info->vma_mod_check = check_split_result;
+
+ capture_mod_pattern(maps_fd, mod_info, page1, page2, last_line, first_line,
+ &split_last_line, &split_first_line,
+ &restored_last_line, &restored_first_line);
+
+ /* Now start concurrent modifications for test_duration_sec */
+ signal_state(mod_info, TEST_READY);
+
+ struct line_content new_last_line;
+ struct line_content new_first_line;
+ struct timespec start_ts, end_ts;
+
+ clock_gettime(CLOCK_MONOTONIC_COARSE, &start_ts);
+ do {
+ bool last_line_changed;
+ bool first_line_changed;
+
+ read_boundary_lines(maps_fd, page1, page2, &new_last_line, &new_first_line);
+
+ /* Check if we read vmas after split */
+ if (!strcmp(new_last_line.text, split_last_line.text)) {
+ /*
+ * The vmas should be consistent with split results,
+ * however if vma was concurrently restored after a
+ * split, it can be reported twice (first the original
+ * split one, then the same vma but extended after the
+ * merge) because we found it as the next vma again.
+ * In that case new first line will be the same as the
+ * last restored line.
+ */
+ assert(!strcmp(new_first_line.text, split_first_line.text) ||
+ !strcmp(new_first_line.text, restored_last_line.text));
+ } else {
+ /* The vmas should be consistent with merge results */
+ assert(!strcmp(new_last_line.text, restored_last_line.text) &&
+ !strcmp(new_first_line.text, restored_first_line.text));
+ }
+ /*
+ * First and last lines should change in unison. If the last
+ * line changed then the first line should change as well and
+ * vice versa.
+ */
+ last_line_changed = strcmp(new_last_line.text, last_line->text) != 0;
+ first_line_changed = strcmp(new_first_line.text, first_line->text) != 0;
+ assert(last_line_changed == first_line_changed);
+
+ clock_gettime(CLOCK_MONOTONIC_COARSE, &end_ts);
+ } while (end_ts.tv_sec - start_ts.tv_sec < test_duration_sec);
+
+ /* Signal the modifyer thread to stop and wait until it exits */
+ signal_state(mod_info, TEST_DONE);
+}
+
+static int test_maps_tearing(void)
+{
+ struct vma_modifier_info *mod_info;
+ pthread_mutexattr_t mutex_attr;
+ pthread_condattr_t cond_attr;
+ int shared_mem_size;
+ char fname[32];
+ int vma_count;
+ int maps_fd;
+ int status;
+ pid_t pid;
+
+ /*
+ * Have to map enough vmas for /proc/pid/maps to containt more than one
+ * page worth of vmas. Assume at least 32 bytes per line in maps output
+ */
+ vma_count = page_size / 32 + 1;
+ shared_mem_size = sizeof(struct vma_modifier_info) + vma_count * sizeof(void *);
+
+ /* map shared memory for communication with the child process */
+ mod_info = (struct vma_modifier_info *)mmap(NULL, shared_mem_size,
+ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0);
+
+ assert(mod_info != MAP_FAILED);
+
+ /* Initialize shared members */
+ pthread_mutexattr_init(&mutex_attr);
+ pthread_mutexattr_setpshared(&mutex_attr, PTHREAD_PROCESS_SHARED);
+ assert(!pthread_mutex_init(&mod_info->sync_lock, &mutex_attr));
+ pthread_condattr_init(&cond_attr);
+ pthread_condattr_setpshared(&cond_attr, PTHREAD_PROCESS_SHARED);
+ assert(!pthread_cond_init(&mod_info->sync_cond, &cond_attr));
+ mod_info->vma_count = vma_count;
+ mod_info->curr_state = INIT;
+ mod_info->exit = false;
+
+ pid = fork();
+ if (!pid) {
+ /* Child process */
+ child_vma_modifier(mod_info);
+ return 0;
+ }
+
+ sprintf(fname, "/proc/%d/maps", pid);
+ maps_fd = open(fname, O_RDONLY);
+ assert(maps_fd != -1);
+
+ /* Wait for the child to map the VMAs */
+ wait_for_state(mod_info, CHILD_READY);
+
+ /* Read first two pages */
+ struct page_content page1;
+ struct page_content page2;
+
+ page1.data = malloc(page_size);
+ assert(page1.data);
+ page2.data = malloc(page_size);
+ assert(page2.data);
+
+ struct line_content last_line;
+ struct line_content first_line;
+
+ read_boundary_lines(maps_fd, &page1, &page2, &last_line, &first_line);
+
+ /*
+ * Find the addresses corresponding to the last line in the first page
+ * and the first line in the last page.
+ */
+ mod_info->addr = NULL;
+ mod_info->next_addr = NULL;
+ for (int i = 0; i < mod_info->vma_count; i++) {
+ if (mod_info->child_mapped_addr[i] == (void *)last_line.start_addr) {
+ mod_info->addr = mod_info->child_mapped_addr[i];
+ mod_info->prot = PROT_READ;
+ /* Even VMAs have write permission */
+ if ((i % 2) == 0)
+ mod_info->prot |= PROT_WRITE;
+ } else if (mod_info->child_mapped_addr[i] == (void *)first_line.start_addr) {
+ mod_info->next_addr = mod_info->child_mapped_addr[i];
+ }
+
+ if (mod_info->addr && mod_info->next_addr)
+ break;
+ }
+ assert(mod_info->addr && mod_info->next_addr);
+
+ signal_state(mod_info, PARENT_READY);
+
+ test_maps_tearing_from_split(maps_fd, mod_info, &page1, &page2,
+ &last_line, &first_line);
+
+ stop_vma_modifier(mod_info);
+
+ free(page2.data);
+ free(page1.data);
+
+ for (int i = 0; i < vma_count; i++)
+ munmap(mod_info->child_mapped_addr[i], page_size);
+ close(maps_fd);
+ waitpid(pid, &status, 0);
+ munmap(mod_info, shared_mem_size);
+
+ return 0;
+}
+
+int usage(void)
+{
+ fprintf(stderr, "Userland /proc/pid/{s}maps test cases\n");
+ fprintf(stderr, " -d: Duration for time-consuming tests\n");
+ fprintf(stderr, " -h: Help screen\n");
+ exit(-1);
+}
+
+int main(int argc, char **argv)
{
int pipefd[2];
int exec_fd;
+ int opt;
+
+ while ((opt = getopt(argc, argv, "d:h")) != -1) {
+ if (opt == 'd')
+ test_duration_sec = strtoul(optarg, NULL, 0);
+ else if (opt == 'h')
+ usage();
+ }

+ page_size = sysconf(_SC_PAGESIZE);
vsyscall();
switch (g_vsyscall) {
case 0:
@@ -578,6 +1002,10 @@ int main(void)
assert(err == -ENOENT);
}

+ /* Test tearing in /proc/$PID/maps */
+ if (test_maps_tearing())
+ return 1;
+
return 0;
}
#else
--
2.49.0.1266.g31b7d2e469-goog



Return-Path: <linux-kernel+bounces-673870-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8C53641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:12:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 349751893628
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4A4D926C3A7;
Wed, 4 Jun 2025 23:12:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="hmREOMxe"
Received: from mail-pf1-f202.google.com (mail-pf1-f202.google.com [209.85.210.202])
(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 09B6F26B975
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.202
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078725; cv=none; b=Cvve5XUMT32jD4YlNHMHx2xnD8boE8D+T2c6zYYSqCmv6DODD8uzB+gK4cW2ibIDXExXnBDMSROwTrwzV+ejKdOYDpbW7NqsX8l0Ivkmxyqp8aiIPT9pf2Jo5oLFMYaPAoSGlE1j2mW0J1SuxvUxLGb+8KjwHjOmrc2lUXr1ka4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078725; c=relaxed/simple;
bh=1vDboiN+JpFr3VhknW6ngDyBW0PZNRwe/k/dYvbLNiA=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=iFE0B6ImuwBo70emamjKLJ+M/AiLOSKjisozYUSSAEGzURzhsdQbP9f9/MghyeaEx8SYoQG7P094IIM4LaCMhGuqY+5gGnuGuawyedM3xQFiPJLq6ML+8ewBAN7A74oOOq20oNSWLE1MP8Lp2N6KM+ylUJKOvIwLDgDZskBj/wE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=hmREOMxe; arc=none smtp.client-ip=209.85.210.202
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com
Received: by mail-pf1-f202.google.com with SMTP id d2e1a72fcca58-74299055c3dso610501b3a.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:12:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1749078723; x=1749683523; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=Yn1CuoL7GOnivK1jg6V+q/afAc7Csel1kqBamqmGWos=;
b=hmREOMxe1PcNy9uI1+sVCuNBDhlwnF0viEi2Q05bpvKDubsW7GLXATPifrBFsMQcZm
pf/ikKsYa0g8D+HhlTVtE8udlyTW76ltTsa3IEvb7puYeIK97+UHRyzAuLodNo9O+WiH
17fYeLZRfRKcjVwKN4m80xrDlPlLf0byPBZ/7TA2gAjQNOL7474QbsX9lR4qjEBLgRH2
HtsNz5iuAjlhhXcdU45numivLsmFhPYBilXKTrTfI55zlgEb9orHZjW62RuEeWDZyBuj
WdbVhyDQCSYY4vcNxYxeB9XnU48Du9PI6EXQcphSG9b8LFjZxBqnqkPKJqRrms5tBw/f
QX9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749078723; x=1749683523;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=Yn1CuoL7GOnivK1jg6V+q/afAc7Csel1kqBamqmGWos=;
b=Bs6ZK6WaLXds46fUaoO+C2kfjNuvUq9lj2QSY+Oj/4h5lY43TdHZieiZsJCuY44EN0
U/Tk8S8gxJc1H4hib4U/7ng6x0v8SvaPJwOniEkahdxeqwwHvSBoiE0EqYIQbeQYgPYU
Y/IVAaPJRaB2reBCmZxiPQoNxUKKUnszSO1Ln6m6kqup0Dal4VXkLrmkO2k1al1NHu5F
dkkSe1JMrYfkdBcyWPabP5FrZJnDMzfeK34jXARUmg43LEh+RidDix/3Ho6XrRjoytr4
+syffxS9w4msZ0Q8sdMzJbUL5wv00qlxkIObXjzTgAtNf8hg+lA7W0piP0NpRo2fWfvv
KaPA==
X-Forwarded-Encrypted: i=1; AJvYcCWzPg31zThWQavGlsJC2ZrH8PF5sejktJIkuw8+Sm81PphyPYw9YBFZ15cB6i/rvcDoZTrY28QTjxAZ9KU=@vger.kernel.org
X-Gm-Message-State: AOJu0YyQzF6VGWp22orXHbShX86EvKg6HHAl5Q8bat7hidbZRVSqUPYG
qGFKroT2Cv4quZ6UnT9oj1vqV7rcob0mFC23Hg6c45rayk57MqPZcUSqeAQQcio9ghxYc3U/rCf
Y/xq5Zw==
X-Google-Smtp-Source: AGHT+IGP+DfdXdLpP6/QarYMevGBa3Y0zZIyyxRVm7jNq4fA+66yl/00aXVcKUbDun5QpuD+I3S+pPim8k0=
X-Received: from pfdc11.prod.google.com ([2002:aa7:8c0b:0:b0:746:257b:1d37])
(user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a21:339f:b0:215:fb74:2dc2
with SMTP id adf61e73a8af0-21d22ba385amr7389771637.11.1749078723086; Wed, 04
Jun 2025 16:12:03 -0700 (PDT)
Date: Wed, 4 Jun 2025 16:11:46 -0700
In-Reply-To: <20250604231151.799834-1-surenb@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250604231151.799834-1-surenb@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1266.g31b7d2e469-goog
Message-ID: <20250604231151.799834-3-surenb@xxxxxxxxxx>
Subject: [PATCH v4 2/7] selftests/proc: extend /proc/pid/maps tearing test to
include vma resizing
From: Suren Baghdasaryan <surenb@xxxxxxxxxx>
To: akpm@xxxxxxxxxxxxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, david@xxxxxxxxxx,
vbabka@xxxxxxx, peterx@xxxxxxxxxx, jannh@xxxxxxxxxx, hannes@xxxxxxxxxxx,
mhocko@xxxxxxxxxx, paulmck@xxxxxxxxxx, shuah@xxxxxxxxxx, adobriyan@xxxxxxxxx,
brauner@xxxxxxxxxx, josef@xxxxxxxxxxxxxx, yebin10@xxxxxxxxxx,
linux@xxxxxxxxxxxxxx, willy@xxxxxxxxxxxxx, osalvador@xxxxxxx,
andrii@xxxxxxxxxx, ryan.roberts@xxxxxxx, christophe.leroy@xxxxxxxxxx,
tjmercier@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, surenb@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.0 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Test that /proc/pid/maps does not report unexpected holes in the address
space when a vma at the edge of the page is being concurrently remapped.
This remapping results in the vma shrinking and expanding from under the
reader. We should always see either shrunk or expanded (original) version
of the vma.

Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
---
tools/testing/selftests/proc/proc-pid-vm.c | 83 ++++++++++++++++++++++
1 file changed, 83 insertions(+)

diff --git a/tools/testing/selftests/proc/proc-pid-vm.c b/tools/testing/selftests/proc/proc-pid-vm.c
index 6e3f06376a1f..39842e4ec45f 100644
--- a/tools/testing/selftests/proc/proc-pid-vm.c
+++ b/tools/testing/selftests/proc/proc-pid-vm.c
@@ -583,6 +583,86 @@ static void test_maps_tearing_from_split(int maps_fd,
signal_state(mod_info, TEST_DONE);
}

+static inline void shrink_vma(const struct vma_modifier_info *mod_info)
+{
+ assert(mremap(mod_info->addr, page_size * 3, page_size, 0) != MAP_FAILED);
+}
+
+static inline void expand_vma(const struct vma_modifier_info *mod_info)
+{
+ assert(mremap(mod_info->addr, page_size, page_size * 3, 0) != MAP_FAILED);
+}
+
+static inline void check_shrink_result(struct line_content *mod_last_line,
+ struct line_content *mod_first_line,
+ struct line_content *restored_last_line,
+ struct line_content *restored_first_line)
+{
+ /* Make sure only the last vma of the first page is changing */
+ assert(strcmp(mod_last_line->text, restored_last_line->text) != 0);
+ assert(strcmp(mod_first_line->text, restored_first_line->text) == 0);
+}
+
+static void test_maps_tearing_from_resize(int maps_fd,
+ struct vma_modifier_info *mod_info,
+ struct page_content *page1,
+ struct page_content *page2,
+ struct line_content *last_line,
+ struct line_content *first_line)
+{
+ struct line_content shrunk_last_line;
+ struct line_content shrunk_first_line;
+ struct line_content restored_last_line;
+ struct line_content restored_first_line;
+
+ wait_for_state(mod_info, SETUP_READY);
+
+ /* re-read the file to avoid using stale data from previous test */
+ read_boundary_lines(maps_fd, page1, page2, last_line, first_line);
+
+ mod_info->vma_modify = shrink_vma;
+ mod_info->vma_restore = expand_vma;
+ mod_info->vma_mod_check = check_shrink_result;
+
+ capture_mod_pattern(maps_fd, mod_info, page1, page2, last_line, first_line,
+ &shrunk_last_line, &shrunk_first_line,
+ &restored_last_line, &restored_first_line);
+
+ /* Now start concurrent modifications for test_duration_sec */
+ signal_state(mod_info, TEST_READY);
+
+ struct line_content new_last_line;
+ struct line_content new_first_line;
+ struct timespec start_ts, end_ts;
+
+ clock_gettime(CLOCK_MONOTONIC_COARSE, &start_ts);
+ do {
+ read_boundary_lines(maps_fd, page1, page2, &new_last_line, &new_first_line);
+
+ /* Check if we read vmas after shrinking it */
+ if (!strcmp(new_last_line.text, shrunk_last_line.text)) {
+ /*
+ * The vmas should be consistent with shrunk results,
+ * however if the vma was concurrently restored, it
+ * can be reported twice (first as shrunk one, then
+ * as restored one) because we found it as the next vma
+ * again. In that case new first line will be the same
+ * as the last restored line.
+ */
+ assert(!strcmp(new_first_line.text, shrunk_first_line.text) ||
+ !strcmp(new_first_line.text, restored_last_line.text));
+ } else {
+ /* The vmas should be consistent with the original/resored state */
+ assert(!strcmp(new_last_line.text, restored_last_line.text) &&
+ !strcmp(new_first_line.text, restored_first_line.text));
+ }
+ clock_gettime(CLOCK_MONOTONIC_COARSE, &end_ts);
+ } while (end_ts.tv_sec - start_ts.tv_sec < test_duration_sec);
+
+ /* Signal the modifyer thread to stop and wait until it exits */
+ signal_state(mod_info, TEST_DONE);
+}
+
static int test_maps_tearing(void)
{
struct vma_modifier_info *mod_info;
@@ -674,6 +754,9 @@ static int test_maps_tearing(void)
test_maps_tearing_from_split(maps_fd, mod_info, &page1, &page2,
&last_line, &first_line);

+ test_maps_tearing_from_resize(maps_fd, mod_info, &page1, &page2,
+ &last_line, &first_line);
+
stop_vma_modifier(mod_info);

free(page2.data);
--
2.49.0.1266.g31b7d2e469-goog



Return-Path: <linux-kernel+bounces-673871-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4D79E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:13:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id CB4EC7AA099
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:11:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8130B26D4D0;
Wed, 4 Jun 2025 23:12:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="KyTVKZTG"
Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202])
(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 2EF1F26D4CF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078731; cv=none; b=HgWBwbEWnxr0Y3D1xwczDYmxGyd+Zm6Byj7bL/0cgJ85YYuTUKgOOjL+rbOmj+qHRST1wb/DcR0KUgy12nNII4u/l45idj2GhFw0FQE67Kf0hCHg9NNq/fwGJRbs2lLF9/LRH5pTyrmucO+soFPlg6Dl90K/9ck/AT7FMXv38+c=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078731; c=relaxed/simple;
bh=dk2sns38K9LKA14HdtKMJQ+uodX6+JxmbyhDMndAf5c=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=PQLC+RytDr1VzSHhs2MHncqzPhn96MCVo/JlUi/5RHxfXlcAMfUVW4A3UKWpn4quBoPx2Nk26Q3QDCNX3nknt3YJGxNbZRaLKkCTrwMHEMPKUQSp92jf/RFUrRFp3EpOmmsgelUnVvu16iFhQKIlxxM9MnYMlFbz5C5zoNriwnE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=KyTVKZTG; arc=none smtp.client-ip=209.85.214.202
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com
Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-22aa75e6653so2372335ad.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:12:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1749078729; x=1749683529; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=0FA9HEfGx7V1U+x/ZxWl25F47mbSYtvHNegG6DkQ3X0=;
b=KyTVKZTGM6FtpAntKggCjCsGe8xnCJy9WHZ4F6ycuoLqPtzicxivz2VaHigHy0iumj
qudidAQSbyTL3DwyJapdllMtvsPiVZI5oKmGrFvrHbrp7AB1XG8lJoRqlo7gB8W4au5+
5Yg3izRnpIJUnZdr5XVpzGDqDjAWEyYZ7M5YiZXxuSotktWSxubAnvfkWEk+u4e5CA+/
SSWNWf5eAByuSv2P3SinHpWIxil7v/OHARxmVja3mi3omFKxwvtlgt/MHBCGn6pPN4VB
WC4zLCt4TGIP5hJ4lBPLm349pKxOUA8pAPZqciPQsi8Yl7cQ7jqTbe8OLG4cQT2Xe8Xy
yqKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749078729; x=1749683529;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=0FA9HEfGx7V1U+x/ZxWl25F47mbSYtvHNegG6DkQ3X0=;
b=Hn7c9xgnANZgjRu99TK8XIYA5EYUQ+pny3I8Au/hKuwLbcei963dsl3ECSTGeFLLFY
2NO7lJTjpN28wX/I46/j0dPfXNi+E1JihvJKFZAp7BLxsscsm01PWLUiT5kLiZb5vI9q
G4rETpgAvhnPGffEArCxVYUai/0Zz//dtNTHus3XVb9Ruu245Zdc5uC+IRVvfETJv7Gl
RZbt6mt9ksA8jzIdFQR0h9nX6LTeZUAZ3lLfDBLc4qDSO/ldmoIprCiqltEMq6P9rCkR
18h5n8VPuLsVTJHd5b08wgKdN4MV/wDDOTD0Mnz4OCmSd1AVq7fcysgZ1ln8gZfXEoHw
tAhA==
X-Forwarded-Encrypted: i=1; AJvYcCUBkirDjFRUhvmrS+cS3tyWRl2AqhI085hDv4iRN5T75hseRzjZ+EhVqs3+fEurP+0acgZS4xBuSzy8i8c=@vger.kernel.org
X-Gm-Message-State: AOJu0YziFB/ySp/eKdMZXDVougf/LyMae2zYVMnMWz5dFq28+NJTMk6J
/2mfQZXvUU4MF/yffYJHMcv71dZnx1DLsmGVAtK0oF8VCQG5PGKSEjDo1Rihugp9+kteky4BFQp
XDjbeTQ==
X-Google-Smtp-Source: AGHT+IHKTW0FyMFXnbv+r0+NsbH4HZxFH9qcykRJPxlisC0t/nE0casNv64qhrGUdh0QFtZ3/VwVrTXk6rU=
X-Received: from plmt12.prod.google.com ([2002:a17:903:3d4c:b0:234:593c:eb5])
(user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:1b45:b0:234:c5c1:9b63
with SMTP id d9443c01a7336-235e1124bcemr58010975ad.18.1749078729438; Wed, 04
Jun 2025 16:12:09 -0700 (PDT)
Date: Wed, 4 Jun 2025 16:11:47 -0700
In-Reply-To: <20250604231151.799834-1-surenb@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250604231151.799834-1-surenb@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1266.g31b7d2e469-goog
Message-ID: <20250604231151.799834-4-surenb@xxxxxxxxxx>
Subject: [PATCH v4 3/7] selftests/proc: extend /proc/pid/maps tearing test to
include vma remapping
From: Suren Baghdasaryan <surenb@xxxxxxxxxx>
To: akpm@xxxxxxxxxxxxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, david@xxxxxxxxxx,
vbabka@xxxxxxx, peterx@xxxxxxxxxx, jannh@xxxxxxxxxx, hannes@xxxxxxxxxxx,
mhocko@xxxxxxxxxx, paulmck@xxxxxxxxxx, shuah@xxxxxxxxxx, adobriyan@xxxxxxxxx,
brauner@xxxxxxxxxx, josef@xxxxxxxxxxxxxx, yebin10@xxxxxxxxxx,
linux@xxxxxxxxxxxxxx, willy@xxxxxxxxxxxxx, osalvador@xxxxxxx,
andrii@xxxxxxxxxx, ryan.roberts@xxxxxxx, christophe.leroy@xxxxxxxxxx,
tjmercier@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, surenb@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.0 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Test that /proc/pid/maps does not report unexpected holes in the address
space when we concurrently remap a part of a vma into the middle of
another vma. This remapping results in the destination vma being split
into three parts and the part in the middle being patched back from,
all done concurrently from under the reader. We should always see either
original vma or the split one with no holes.

Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
---
tools/testing/selftests/proc/proc-pid-vm.c | 92 ++++++++++++++++++++++
1 file changed, 92 insertions(+)

diff --git a/tools/testing/selftests/proc/proc-pid-vm.c b/tools/testing/selftests/proc/proc-pid-vm.c
index 39842e4ec45f..1aef2db7e893 100644
--- a/tools/testing/selftests/proc/proc-pid-vm.c
+++ b/tools/testing/selftests/proc/proc-pid-vm.c
@@ -663,6 +663,95 @@ static void test_maps_tearing_from_resize(int maps_fd,
signal_state(mod_info, TEST_DONE);
}

+static inline void remap_vma(const struct vma_modifier_info *mod_info)
+{
+ /*
+ * Remap the last page of the next vma into the middle of the vma.
+ * This splits the current vma and the first and middle parts (the
+ * parts at lower addresses) become the last vma objserved in the
+ * first page and the first vma observed in the last page.
+ */
+ assert(mremap(mod_info->next_addr + page_size * 2, page_size,
+ page_size, MREMAP_FIXED | MREMAP_MAYMOVE | MREMAP_DONTUNMAP,
+ mod_info->addr + page_size) != MAP_FAILED);
+}
+
+static inline void patch_vma(const struct vma_modifier_info *mod_info)
+{
+ assert(!mprotect(mod_info->addr + page_size, page_size,
+ mod_info->prot));
+}
+
+static inline void check_remap_result(struct line_content *mod_last_line,
+ struct line_content *mod_first_line,
+ struct line_content *restored_last_line,
+ struct line_content *restored_first_line)
+{
+ /* Make sure vmas at the boundaries are changing */
+ assert(strcmp(mod_last_line->text, restored_last_line->text) != 0);
+ assert(strcmp(mod_first_line->text, restored_first_line->text) != 0);
+}
+
+static void test_maps_tearing_from_remap(int maps_fd,
+ struct vma_modifier_info *mod_info,
+ struct page_content *page1,
+ struct page_content *page2,
+ struct line_content *last_line,
+ struct line_content *first_line)
+{
+ struct line_content remapped_last_line;
+ struct line_content remapped_first_line;
+ struct line_content restored_last_line;
+ struct line_content restored_first_line;
+
+ wait_for_state(mod_info, SETUP_READY);
+
+ /* re-read the file to avoid using stale data from previous test */
+ read_boundary_lines(maps_fd, page1, page2, last_line, first_line);
+
+ mod_info->vma_modify = remap_vma;
+ mod_info->vma_restore = patch_vma;
+ mod_info->vma_mod_check = check_remap_result;
+
+ capture_mod_pattern(maps_fd, mod_info, page1, page2, last_line, first_line,
+ &remapped_last_line, &remapped_first_line,
+ &restored_last_line, &restored_first_line);
+
+ /* Now start concurrent modifications for test_duration_sec */
+ signal_state(mod_info, TEST_READY);
+
+ struct line_content new_last_line;
+ struct line_content new_first_line;
+ struct timespec start_ts, end_ts;
+
+ clock_gettime(CLOCK_MONOTONIC_COARSE, &start_ts);
+ do {
+ read_boundary_lines(maps_fd, page1, page2, &new_last_line, &new_first_line);
+
+ /* Check if we read vmas after remapping it */
+ if (!strcmp(new_last_line.text, remapped_last_line.text)) {
+ /*
+ * The vmas should be consistent with remap results,
+ * however if the vma was concurrently restored, it
+ * can be reported twice (first as split one, then
+ * as restored one) because we found it as the next vma
+ * again. In that case new first line will be the same
+ * as the last restored line.
+ */
+ assert(!strcmp(new_first_line.text, remapped_first_line.text) ||
+ !strcmp(new_first_line.text, restored_last_line.text));
+ } else {
+ /* The vmas should be consistent with the original/resored state */
+ assert(!strcmp(new_last_line.text, restored_last_line.text) &&
+ !strcmp(new_first_line.text, restored_first_line.text));
+ }
+ clock_gettime(CLOCK_MONOTONIC_COARSE, &end_ts);
+ } while (end_ts.tv_sec - start_ts.tv_sec < test_duration_sec);
+
+ /* Signal the modifyer thread to stop and wait until it exits */
+ signal_state(mod_info, TEST_DONE);
+}
+
static int test_maps_tearing(void)
{
struct vma_modifier_info *mod_info;
@@ -757,6 +846,9 @@ static int test_maps_tearing(void)
test_maps_tearing_from_resize(maps_fd, mod_info, &page1, &page2,
&last_line, &first_line);

+ test_maps_tearing_from_remap(maps_fd, mod_info, &page1, &page2,
+ &last_line, &first_line);
+
stop_vma_modifier(mod_info);

free(page2.data);
--
2.49.0.1266.g31b7d2e469-goog



Return-Path: <linux-kernel+bounces-673872-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9879C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:13:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id A6D183A91AB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7322D26B2A3;
Wed, 4 Jun 2025 23:12:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="J8Xr+/jh"
Received: from mail-pg1-f201.google.com (mail-pg1-f201.google.com [209.85.215.201])
(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 1A36426D4FC
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078739; cv=none; b=RJhyrkEHpLm+BR3xoTIOI9MMAHRjDD2tTVkc1lBe/AV1d46xFwhPcX5N0LyMxVZ8DMVl5Kgod2fhjZcRGGYKdGFMv6ga2bkPgWoRBBo5fYDtnU/M6ywn5iFUBGgQLs4alQJJTj9W2YJjJq5G3R5RGFcponVJTgs2bX1r/8qxZLI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078739; c=relaxed/simple;
bh=dCLw+ICLttM4i4IEom05wydD/h2oK6xFIKv3feG6V1A=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=hgz0CF2PAA/bBihlcMzyPRCbU2ei7bTmauATGnNPw1di5nh+ve6RXpqlA8ev0pzUbLdjh2vUo3jPy9w1SOXQjOSHXx5m1neIh9qSNnix/Yqn3fHsnlAwXiuahrEyiceAly++hIFbqIomYTYIn8MjCpbgVd97/xZ77bZqUZ7DbZU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=J8Xr+/jh; arc=none smtp.client-ip=209.85.215.201
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com
Received: by mail-pg1-f201.google.com with SMTP id 41be03b00d2f7-b2f02cd1daeso177235a12.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:12:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1749078735; x=1749683535; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=3EJSuX6VivEZXPaW3XME5tQsWEwW8pbNYvF2lTXxKJY=;
b=J8Xr+/jh2ZWSfJ/rkH4EBF3MTEUO37iRHY1X1uz8tQbe2ejieqiaZjHSRpmyfmwvYG
Eh+4ikcPYINf5/T6cfb7iesbFimRF79RIPTcqmWLK3Oa0Mm9A4DopJRji9Xkv/MDSJOp
h1ZS1+apfXWSDs1XcXprpcBPIJNpCBHpB4KZ6FJR/aUKVfNYHnuNEDKBavZHYqZBG9rF
15ilghJ5dSctik9G3fnO+I8tY+udyyk3xZPw4NUn4rurQrnjx8xRVdBKxmtlQnAJAD/k
XoxKgp9JlfGDsw0tWehalW7BYr8TJBCMPSxJWhZX7Z+LSR7KMGG8JBiHBe8P6cIr0INl
ZF6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749078735; x=1749683535;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=3EJSuX6VivEZXPaW3XME5tQsWEwW8pbNYvF2lTXxKJY=;
b=kI8EdoBshj+TFGOLy7NJgYTIs8iGTdWrX5l0f3jsDl+GKivXaKWBua+XQMhSrbR1Ke
tONvOL5JOQwkq4p4y/uW+Qmipax2eKVAwD2kkBFVRwNLlnfRdtyn5chbC16FRNQUatv0
p6cCzGZmpTkhY45EOsfP96hGPMvjabaymSttrtaIhd2WKH//jL1E1e5QuJIs3i8F00Mz
wsd//3VFJxHQyy+/nNX/SfCk2FM7HU01VpFg8+78PDv5i/VxECBFakYhYesfPy6DWXl+
INKrPOH4xYQNLLaVvIGC9YSkpYXV9LIncdTo1RLeiR8fCUKQMyJvTisqVSV1HKCqzN1M
OBlQ==
X-Forwarded-Encrypted: i=1; AJvYcCUatiwpsiEOwIZ7rgox+Mdgyp+yByKjccsDj+tnyyndp/Hk3ySGZ1p+aezlWBrI+/ziAtF5iSW8TrpHKoU=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw6/kN1J+rN/LaAWQeZgXa1K9TrDIfRHJwtLsD8wwcV8cVBSvXm
XQuK3VViYOvUROAfKH2VJscmWblqvUBbAljaZ90p312P8bQbw6Qs6ZL0TGdy3PmYTBxBMdsrWmO
JRXxb4Q==
X-Google-Smtp-Source: AGHT+IHIqm60fqw2WryyH60UqB66621hhhJyFpfZGiBWNrQf8PvcWHbFtpXkM6N/7/aBYh63wkE29sbA5cw=
X-Received: from pga12.prod.google.com ([2002:a05:6a02:4f8c:b0:b2c:4ef2:ca0e])
(user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a21:9990:b0:1d9:c615:d1e6
with SMTP id adf61e73a8af0-21d22a7a486mr6852001637.0.1749078735331; Wed, 04
Jun 2025 16:12:15 -0700 (PDT)
Date: Wed, 4 Jun 2025 16:11:48 -0700
In-Reply-To: <20250604231151.799834-1-surenb@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250604231151.799834-1-surenb@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1266.g31b7d2e469-goog
Message-ID: <20250604231151.799834-5-surenb@xxxxxxxxxx>
Subject: [PATCH v4 4/7] selftests/proc: test PROCMAP_QUERY ioctl while vma is
concurrently modified
From: Suren Baghdasaryan <surenb@xxxxxxxxxx>
To: akpm@xxxxxxxxxxxxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, david@xxxxxxxxxx,
vbabka@xxxxxxx, peterx@xxxxxxxxxx, jannh@xxxxxxxxxx, hannes@xxxxxxxxxxx,
mhocko@xxxxxxxxxx, paulmck@xxxxxxxxxx, shuah@xxxxxxxxxx, adobriyan@xxxxxxxxx,
brauner@xxxxxxxxxx, josef@xxxxxxxxxxxxxx, yebin10@xxxxxxxxxx,
linux@xxxxxxxxxxxxxx, willy@xxxxxxxxxxxxx, osalvador@xxxxxxx,
andrii@xxxxxxxxxx, ryan.roberts@xxxxxxx, christophe.leroy@xxxxxxxxxx,
tjmercier@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, surenb@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.0 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Extend /proc/pid/maps tearing test to verify PROCMAP_QUERY ioctl operation
correctness while the vma is being concurrently modified.

Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
---
tools/testing/selftests/proc/proc-pid-vm.c | 60 ++++++++++++++++++++++
1 file changed, 60 insertions(+)

diff --git a/tools/testing/selftests/proc/proc-pid-vm.c b/tools/testing/selftests/proc/proc-pid-vm.c
index 1aef2db7e893..b582f40851fb 100644
--- a/tools/testing/selftests/proc/proc-pid-vm.c
+++ b/tools/testing/selftests/proc/proc-pid-vm.c
@@ -486,6 +486,21 @@ static void capture_mod_pattern(int maps_fd,
assert(strcmp(restored_first_line->text, first_line->text) == 0);
}

+static void query_addr_at(int maps_fd, void *addr,
+ unsigned long *vma_start, unsigned long *vma_end)
+{
+ struct procmap_query q;
+
+ memset(&q, 0, sizeof(q));
+ q.size = sizeof(q);
+ /* Find the VMA at the split address */
+ q.query_addr = (unsigned long long)addr;
+ q.query_flags = 0;
+ assert(!ioctl(maps_fd, PROCMAP_QUERY, &q));
+ *vma_start = q.vma_start;
+ *vma_end = q.vma_end;
+}
+
static inline void split_vma(const struct vma_modifier_info *mod_info)
{
assert(mmap(mod_info->addr, page_size, mod_info->prot | PROT_EXEC,
@@ -546,6 +561,8 @@ static void test_maps_tearing_from_split(int maps_fd,
do {
bool last_line_changed;
bool first_line_changed;
+ unsigned long vma_start;
+ unsigned long vma_end;

read_boundary_lines(maps_fd, page1, page2, &new_last_line, &new_first_line);

@@ -576,6 +593,19 @@ static void test_maps_tearing_from_split(int maps_fd,
first_line_changed = strcmp(new_first_line.text, first_line->text) != 0;
assert(last_line_changed == first_line_changed);

+ /* Check if PROCMAP_QUERY ioclt() finds the right VMA */
+ query_addr_at(maps_fd, mod_info->addr + page_size,
+ &vma_start, &vma_end);
+ /*
+ * The vma at the split address can be either the same as
+ * original one (if read before the split) or the same as the
+ * first line in the second page (if read after the split).
+ */
+ assert((vma_start == last_line->start_addr &&
+ vma_end == last_line->end_addr) ||
+ (vma_start == split_first_line.start_addr &&
+ vma_end == split_first_line.end_addr));
+
clock_gettime(CLOCK_MONOTONIC_COARSE, &end_ts);
} while (end_ts.tv_sec - start_ts.tv_sec < test_duration_sec);

@@ -637,6 +667,9 @@ static void test_maps_tearing_from_resize(int maps_fd,

clock_gettime(CLOCK_MONOTONIC_COARSE, &start_ts);
do {
+ unsigned long vma_start;
+ unsigned long vma_end;
+
read_boundary_lines(maps_fd, page1, page2, &new_last_line, &new_first_line);

/* Check if we read vmas after shrinking it */
@@ -656,6 +689,17 @@ static void test_maps_tearing_from_resize(int maps_fd,
assert(!strcmp(new_last_line.text, restored_last_line.text) &&
!strcmp(new_first_line.text, restored_first_line.text));
}
+
+ /* Check if PROCMAP_QUERY ioclt() finds the right VMA */
+ query_addr_at(maps_fd, mod_info->addr, &vma_start, &vma_end);
+ /*
+ * The vma should stay at the same address and have either the
+ * original size of 3 pages or 1 page if read after shrinking.
+ */
+ assert(vma_start == last_line->start_addr &&
+ (vma_end - vma_start == page_size * 3 ||
+ vma_end - vma_start == page_size));
+
clock_gettime(CLOCK_MONOTONIC_COARSE, &end_ts);
} while (end_ts.tv_sec - start_ts.tv_sec < test_duration_sec);

@@ -726,6 +770,9 @@ static void test_maps_tearing_from_remap(int maps_fd,

clock_gettime(CLOCK_MONOTONIC_COARSE, &start_ts);
do {
+ unsigned long vma_start;
+ unsigned long vma_end;
+
read_boundary_lines(maps_fd, page1, page2, &new_last_line, &new_first_line);

/* Check if we read vmas after remapping it */
@@ -745,6 +792,19 @@ static void test_maps_tearing_from_remap(int maps_fd,
assert(!strcmp(new_last_line.text, restored_last_line.text) &&
!strcmp(new_first_line.text, restored_first_line.text));
}
+
+ /* Check if PROCMAP_QUERY ioclt() finds the right VMA */
+ query_addr_at(maps_fd, mod_info->addr + page_size, &vma_start, &vma_end);
+ /*
+ * The vma should either stay at the same address and have the
+ * original size of 3 pages or we should find the remapped vma
+ * at the remap destination address with size of 1 page.
+ */
+ assert((vma_start == last_line->start_addr &&
+ vma_end - vma_start == page_size * 3) ||
+ (vma_start == last_line->start_addr + page_size &&
+ vma_end - vma_start == page_size));
+
clock_gettime(CLOCK_MONOTONIC_COARSE, &end_ts);
} while (end_ts.tv_sec - start_ts.tv_sec < test_duration_sec);

--
2.49.0.1266.g31b7d2e469-goog



Return-Path: <linux-kernel+bounces-673874-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 81DF541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:13:37 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id B50E1166C62
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:13:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D4CB226C393;
Wed, 4 Jun 2025 23:12:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="WwOZ9b50"
Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74])
(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 BF3AF26E15D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078745; cv=none; b=R/yxDmwYK2PRre/nNtEYoUS43YmVRCZOIs3SCD+MYE5XxcMSYRMwqqBfFbN5g23+rBmOZ1Iq5kq6DHrTolxRXlyejS4AaIFaPyEpVYcMzxaQZ5u7XYkw22pMjnkuG2azmHGpil64WrFm13QMsqH7CSGprbJMp6hRIj6zHoxIkAs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078745; c=relaxed/simple;
bh=mFPZDSHvP8Le1U0FYOUeZC8kLtJLo4HKLNy8tuJwyLQ=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=dNFviEzGP+qd34Ynhzdnli2JtvRLtm3m6fFvMqA+DSM9SoWprG+JwcoNCrNyuPZ1DajhpTjM/I53/hW/Uj5oNJpmypBHuDVA8nvfPr0PrQflcewHwHSzy0B+lKwyrwlK19HprrsPBlB1P090Ki3koSBhFJygM8vYuLo4LdK488o=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=WwOZ9b50; arc=none smtp.client-ip=209.85.216.74
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com
Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-311fa374c2fso502740a91.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:12:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1749078743; x=1749683543; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=0jAZB46rUPJ2qgJnBZa+KjMxZRHXtnvSFd09hYheqHc=;
b=WwOZ9b50CcFJ/wm3IB6VuA/HxVwianTtZUaQUeL2KSQd1BI5PZqlvBTSX/jlrCQkvE
IqCfrU3a0uHtExmUJzhxuQW4HhCWNTksxA7Im+l++qZWZ7ygS+H+5Ggsj+7mGTHFjW8C
BGw82tPYAILg+5KXdHjolumTsZhR7/eiWN9pI3fAA06wV/6i0uPTOkyK0bYTPkc8FrT8
dGwkQWyUIOq/CtTQYwEa2tXtERqnUQVOUTesv8pA2fNZ6E3sWZXNSEzVGuJtXMvDctjU
kRXFcFHyIj+kucixuO1ZymrRaPljKN03btyfy1LRj+GrK0Bo4cb2Xlc7ScDWnncTjC/c
Qh3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749078743; x=1749683543;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=0jAZB46rUPJ2qgJnBZa+KjMxZRHXtnvSFd09hYheqHc=;
b=gFIsMXvv4+OJ6W4iQenFDe+j6WboSqhelvuYzHCXR81r7r9+QxlthtzBZ9X0zpYvNY
Q5ca54zAiW7KWF62pbzbNKe/th/JIwEXzOm0KR4MGRmFdecW8orZUqPxN19siXcX7S4X
Pyd7Y8eyH5vfN8LUQwWo9ZW7YbcsgJ+ViQNzCRzPBEy7xlX31gKAmSWVaZ5nsDiKbEaQ
aySTlbrvb0W1eX9kBoNBTkqoNg3QUsf++WKUlFCeZc9g59JJwMLzRoD377GrmBRg6Sh4
3w2Owj8ofhO2kJc4B8Y5r1odLvRKP2zqJR/ZK0clSCylRhH+5OmuIzvG1JllFwuNl70q
kI7Q==
X-Forwarded-Encrypted: i=1; AJvYcCUSt70egUTfYMDLERpA/rpdffKl/nBgRYwuhrv1aLNstNqpm5WBN9FjCQSroLyX3mtkYa22tybxH8apcvY=@vger.kernel.org
X-Gm-Message-State: AOJu0YxjHC7PHSXNBzZOeX3vxhPJR3G+mJRtG9wqejndV2YzBk8HM28d
yZRzh8+7InmInWigjIT/IiSrgzeKNTLffPvLwWz5JyM1r25LHM+ktmvuR21zECfQNfnO03tyCsn
TQtK0Gg==
X-Google-Smtp-Source: AGHT+IHqF47aW9M08yO3toeqc2RtzX4uDZyQH+hhMJ0NwJbs8GXHWVPLg8Azianm01zLeglCaQIlbi3uDTU=
X-Received: from pjbpl16.prod.google.com ([2002:a17:90b:2690:b0:312:1c59:43a6])
(user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:274b:b0:312:e90b:419c
with SMTP id 98e67ed59e1d1-3130cdad77amr6196366a91.26.1749078742966; Wed, 04
Jun 2025 16:12:22 -0700 (PDT)
Date: Wed, 4 Jun 2025 16:11:50 -0700
In-Reply-To: <20250604231151.799834-1-surenb@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250604231151.799834-1-surenb@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1266.g31b7d2e469-goog
Message-ID: <20250604231151.799834-7-surenb@xxxxxxxxxx>
Subject: [PATCH v4 6/7] mm/maps: read proc/pid/maps under per-vma lock
From: Suren Baghdasaryan <surenb@xxxxxxxxxx>
To: akpm@xxxxxxxxxxxxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, david@xxxxxxxxxx,
vbabka@xxxxxxx, peterx@xxxxxxxxxx, jannh@xxxxxxxxxx, hannes@xxxxxxxxxxx,
mhocko@xxxxxxxxxx, paulmck@xxxxxxxxxx, shuah@xxxxxxxxxx, adobriyan@xxxxxxxxx,
brauner@xxxxxxxxxx, josef@xxxxxxxxxxxxxx, yebin10@xxxxxxxxxx,
linux@xxxxxxxxxxxxxx, willy@xxxxxxxxxxxxx, osalvador@xxxxxxx,
andrii@xxxxxxxxxx, ryan.roberts@xxxxxxx, christophe.leroy@xxxxxxxxxx,
tjmercier@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, surenb@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.0 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

With maple_tree supporting vma tree traversal under RCU and per-vma
locks, /proc/pid/maps can be read while holding individual vma locks
instead of locking the entire address space.
Completely lockless approach would be quite complex with the main issue
being get_vma_name() using callbacks which might not work correctly with
a stable vma copy, requiring original (unstable) vma.
When per-vma lock acquisition fails, we take the mmap_lock for reading,
lock the vma, release the mmap_lock and continue. This guarantees the
reader to make forward progress even during lock contention. This will
interfere with the writer but for a very short time while we are
acquiring the per-vma lock and only when there was contention on the
vma reader is interested in.
One case requiring special handling is when vma changes between the
time it was found and the time it got locked. A problematic case would
be if vma got shrunk so that it's start moved higher in the address
space and a new vma was installed at the beginning:

reader found: |--------VMA A--------|
VMA is modified: |-VMA B-|----VMA A----|
reader locks modified VMA A
reader reports VMA A: | gap |----VMA A----|

This would result in reporting a gap in the address space that does not
exist. To prevent this we retry the lookup after locking the vma, however
we do that only when we identify a gap and detect that the address space
was changed after we found the vma.
This change is designed to reduce mmap_lock contention and prevent a
process reading /proc/pid/maps files (often a low priority task, such
as monitoring/data collection services) from blocking address space
updates. Note that this change has a userspace visible disadvantage:
it allows for sub-page data tearing as opposed to the previous mechanism
where data tearing could happen only between pages of generated output
data. Since current userspace considers data tearing between pages to be
acceptable, we assume is will be able to handle sub-page data tearing
as well.

Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
---
fs/proc/internal.h | 6 ++
fs/proc/task_mmu.c | 177 +++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 175 insertions(+), 8 deletions(-)

diff --git a/fs/proc/internal.h b/fs/proc/internal.h
index 96122e91c645..3728c9012687 100644
--- a/fs/proc/internal.h
+++ b/fs/proc/internal.h
@@ -379,6 +379,12 @@ struct proc_maps_private {
struct task_struct *task;
struct mm_struct *mm;
struct vma_iterator iter;
+ loff_t last_pos;
+#ifdef CONFIG_PER_VMA_LOCK
+ bool mmap_locked;
+ unsigned int mm_wr_seq;
+ struct vm_area_struct *locked_vma;
+#endif
#ifdef CONFIG_NUMA
struct mempolicy *task_mempolicy;
#endif
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 27972c0749e7..36d883c4f394 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -127,13 +127,172 @@ static void release_task_mempolicy(struct proc_maps_private *priv)
}
#endif

-static struct vm_area_struct *proc_get_vma(struct proc_maps_private *priv,
- loff_t *ppos)
+#ifdef CONFIG_PER_VMA_LOCK
+
+static struct vm_area_struct *trylock_vma(struct proc_maps_private *priv,
+ struct vm_area_struct *vma,
+ unsigned long last_pos,
+ bool mm_unstable)
+{
+ vma = vma_start_read(priv->mm, vma);
+ if (IS_ERR_OR_NULL(vma))
+ return NULL;
+
+ /* Check if the vma we locked is the right one. */
+ if (unlikely(vma->vm_mm != priv->mm))
+ goto err;
+
+ /* vma should not be ahead of the last search position. */
+ if (unlikely(last_pos >= vma->vm_end))
+ goto err;
+
+ /*
+ * vma ahead of last search position is possible but we need to
+ * verify that it was not shrunk after we found it, and another
+ * vma has not been installed ahead of it. Otherwise we might
+ * observe a gap that should not be there.
+ */
+ if (mm_unstable && last_pos < vma->vm_start) {
+ /* Verify only if the address space changed since vma lookup. */
+ if ((priv->mm_wr_seq & 1) ||
+ mmap_lock_speculate_retry(priv->mm, priv->mm_wr_seq)) {
+ vma_iter_init(&priv->iter, priv->mm, last_pos);
+ if (vma != vma_next(&priv->iter))
+ goto err;
+ }
+ }
+
+ priv->locked_vma = vma;
+
+ return vma;
+err:
+ vma_end_read(vma);
+ return NULL;
+}
+
+
+static void unlock_vma(struct proc_maps_private *priv)
+{
+ if (priv->locked_vma) {
+ vma_end_read(priv->locked_vma);
+ priv->locked_vma = NULL;
+ }
+}
+
+static const struct seq_operations proc_pid_maps_op;
+
+static inline bool lock_content(struct seq_file *m,
+ struct proc_maps_private *priv)
+{
+ /*
+ * smaps and numa_maps perform page table walk, therefore require
+ * mmap_lock but maps can be read with locked vma only.
+ */
+ if (m->op != &proc_pid_maps_op) {
+ if (mmap_read_lock_killable(priv->mm))
+ return false;
+
+ priv->mmap_locked = true;
+ } else {
+ rcu_read_lock();
+ priv->locked_vma = NULL;
+ priv->mmap_locked = false;
+ }
+
+ return true;
+}
+
+static inline void unlock_content(struct proc_maps_private *priv)
+{
+ if (priv->mmap_locked) {
+ mmap_read_unlock(priv->mm);
+ } else {
+ unlock_vma(priv);
+ rcu_read_unlock();
+ }
+}
+
+static struct vm_area_struct *get_next_vma(struct proc_maps_private *priv,
+ loff_t last_pos)
{
- struct vm_area_struct *vma = vma_next(&priv->iter);
+ struct vm_area_struct *vma;
+ int ret;
+
+ if (priv->mmap_locked)
+ return vma_next(&priv->iter);
+
+ unlock_vma(priv);
+ /*
+ * Record sequence number ahead of vma lookup.
+ * Odd seqcount means address space modification is in progress.
+ */
+ mmap_lock_speculate_try_begin(priv->mm, &priv->mm_wr_seq);
+ vma = vma_next(&priv->iter);
+ if (!vma)
+ return NULL;
+
+ vma = trylock_vma(priv, vma, last_pos, true);
+ if (vma)
+ return vma;
+
+ /* Address space got modified, vma might be stale. Re-lock and retry */
+ rcu_read_unlock();
+ ret = mmap_read_lock_killable(priv->mm);
+ rcu_read_lock();
+ if (ret)
+ return ERR_PTR(ret);
+
+ /* Lookup the vma at the last position again under mmap_read_lock */
+ vma_iter_init(&priv->iter, priv->mm, last_pos);
+ vma = vma_next(&priv->iter);
+ if (vma) {
+ vma = trylock_vma(priv, vma, last_pos, false);
+ WARN_ON(!vma); /* mm is stable, has to succeed */
+ }
+ mmap_read_unlock(priv->mm);
+
+ return vma;
+}
+
+#else /* CONFIG_PER_VMA_LOCK */

+static inline bool lock_content(struct seq_file *m,
+ struct proc_maps_private *priv)
+{
+ return mmap_read_lock_killable(priv->mm) == 0;
+}
+
+static inline void unlock_content(struct proc_maps_private *priv)
+{
+ mmap_read_unlock(priv->mm);
+}
+
+static struct vm_area_struct *get_next_vma(struct proc_maps_private *priv,
+ loff_t last_pos)
+{
+ return vma_next(&priv->iter);
+}
+
+#endif /* CONFIG_PER_VMA_LOCK */
+
+static struct vm_area_struct *proc_get_vma(struct seq_file *m, loff_t *ppos)
+{
+ struct proc_maps_private *priv = m->private;
+ struct vm_area_struct *vma;
+
+ vma = get_next_vma(priv, *ppos);
+ if (IS_ERR(vma))
+ return vma;
+
+ /* Store previous position to be able to restart if needed */
+ priv->last_pos = *ppos;
if (vma) {
- *ppos = vma->vm_start;
+ /*
+ * Track the end of the reported vma to ensure position changes
+ * even if previous vma was merged with the next vma and we
+ * found the extended vma with the same vm_start.
+ */
+ *ppos = vma->vm_end;
} else {
*ppos = -2UL;
vma = get_gate_vma(priv->mm);
@@ -163,19 +322,21 @@ static void *m_start(struct seq_file *m, loff_t *ppos)
return NULL;
}

- if (mmap_read_lock_killable(mm)) {
+ if (!lock_content(m, priv)) {
mmput(mm);
put_task_struct(priv->task);
priv->task = NULL;
return ERR_PTR(-EINTR);
}

+ if (last_addr > 0)
+ *ppos = last_addr = priv->last_pos;
vma_iter_init(&priv->iter, mm, last_addr);
hold_task_mempolicy(priv);
if (last_addr == -2UL)
return get_gate_vma(mm);

- return proc_get_vma(priv, ppos);
+ return proc_get_vma(m, ppos);
}

static void *m_next(struct seq_file *m, void *v, loff_t *ppos)
@@ -184,7 +345,7 @@ static void *m_next(struct seq_file *m, void *v, loff_t *ppos)
*ppos = -1UL;
return NULL;
}
- return proc_get_vma(m->private, ppos);
+ return proc_get_vma(m, ppos);
}

static void m_stop(struct seq_file *m, void *v)
@@ -196,7 +357,7 @@ static void m_stop(struct seq_file *m, void *v)
return;

release_task_mempolicy(priv);
- mmap_read_unlock(mm);
+ unlock_content(priv);
mmput(mm);
put_task_struct(priv->task);
priv->task = NULL;
--
2.49.0.1266.g31b7d2e469-goog



Return-Path: <linux-kernel+bounces-673873-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9CB0F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:13:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id F3B8D7A9CBB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 89FD726F46E;
Wed, 4 Jun 2025 23:12:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="fH0QlMrf"
Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74])
(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 9FC2526E16A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078743; cv=none; b=s5LaK394xgEm/ZMDjZsL1OwM59NFqJgJ5juPhqV0bTog57HjPDs3Bv1MWrmBeEAiIBEfcnn1aEm7r9n01xol7xLVHruUSUGhu/D3zung2AECIQcaIYHR58Lv1xsPLNsXTKilmxdGnI2Aw9MTM7FRItPdtqWQSiiMDginIQ6NoIU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078743; c=relaxed/simple;
bh=z2DbDqrG+WdnYT3JLkcesaO7eJDDDgIsulEtXiN3f4Q=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=fasJFMYc33duQHdOEJ+mXWy0EcoKPGF6DeESGY69MYo0f/pawMsn7pIS4WTCYpqe4UrkgOQAZOMm38AcPXi7Zc15ZDYcSpDBqWPK1TD+wCFB92uqjBKbTeKnKNnIVtuM9ayuB/bQeKJknaYHjreqV5+m1xLLPdyJg2jc0KY1GPg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=fH0QlMrf; arc=none smtp.client-ip=209.85.216.74
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com
Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-31215090074so500381a91.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:12:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1749078741; x=1749683541; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=uX7f/oYi039hOEGUuQCFp5nsI+yVset2xzObgJBZfGE=;
b=fH0QlMrfY7z4zEXkTEZM/gt0jZN0dycj/7CYGSA7dE0czUf6LHwPvyGg7VPbM+zIye
vdbdZ0jF21enLN+ahuC3MhAnrIA+70UAI0iZjjLF4In7A/Sb2vOnCygZEDgL65Cx0xnV
ZRPriaUfnJtXeS6e9j8mP3oEofgVOFp2kPnbilqCdR9ZxEcTbAKEIZZw4oCU0O1abQd0
7UHtz6MV8Fa+m2Q0bKQbXsiCB1BthcYlgZI58hTCt/ipZK+0FgCaZ7fguW52i7gsndyF
YXZh6TqjSoDRpPa/s2mOxEjCTFZ2XwevEiI/S9aDC3EcMBVdY0nZmkPoCbc2nxrpr0E5
0A2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749078741; x=1749683541;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=uX7f/oYi039hOEGUuQCFp5nsI+yVset2xzObgJBZfGE=;
b=jviKRKo38JdWgFg+qiy6jUk93j7yFvMxMOz81jv3McR8cNBq7vfHpepugE0tBSB0z7
VlUj+Sl8aCifdWzx31xhxUSVjDvhIm4161yr/9ZKGIdED4AZYgdgxBkF3yayz0/wnQn0
kFhv/CDmsvfbCWWJgBDmlLcbvbEjX2Upqq8vuywUOOqhE/mFOVMORSmVXBrJDB2vWD5D
5f27qEFBZ+gfq7DrtAzKVYyxPeeoiomJkE/9FfL1uONCZXNYnFl7SCwM6ZI4aJModg9A
XDkZlrBNiNQDhAt+8cW3aVdeXiq5PbdvgebMnNeh5tZ5ltA+wlmiBSiX2EAESAwo+r0X
Lu1A==
X-Forwarded-Encrypted: i=1; AJvYcCW2JHB1m5lEjmwNRnlaqJGJZd5NnyPVAMxVzY3fqtlYOWV3K+ZkSrc0K3uDHlbIjXi7I8WHO/UMSNUXDHo=@vger.kernel.org
X-Gm-Message-State: AOJu0YyxcnJu5oGSNWhfToi3pn9LPVEBe7Z8KKE7UzDYePaxK49LKkQd
LMDmQSsVK9JlQ4soEJCv7hpCDg+W5n4TF7lNAwA7ZT/pcs1bmh+fgYyxUaI0brJI1BoE2MP5Rfa
Kf/rovw==
X-Google-Smtp-Source: AGHT+IEvOm4giMwyQY/nBon3zP7C1/mYlQqoAkTz9AmnFoIjTjGx4SJrzcD+9iyAMTj1D4aadzcKOMv8LOo=
X-Received: from pjbsi6.prod.google.com ([2002:a17:90b:5286:b0:2e0:915d:d594])
(user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90a:4cc4:b0:313:14b5:2532
with SMTP id 98e67ed59e1d1-31314b5327fmr3503349a91.34.1749078740989; Wed, 04
Jun 2025 16:12:20 -0700 (PDT)
Date: Wed, 4 Jun 2025 16:11:49 -0700
In-Reply-To: <20250604231151.799834-1-surenb@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250604231151.799834-1-surenb@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1266.g31b7d2e469-goog
Message-ID: <20250604231151.799834-6-surenb@xxxxxxxxxx>
Subject: [PATCH v4 5/7] selftests/proc: add verbose more for tests to
facilitate debugging
From: Suren Baghdasaryan <surenb@xxxxxxxxxx>
To: akpm@xxxxxxxxxxxxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, david@xxxxxxxxxx,
vbabka@xxxxxxx, peterx@xxxxxxxxxx, jannh@xxxxxxxxxx, hannes@xxxxxxxxxxx,
mhocko@xxxxxxxxxx, paulmck@xxxxxxxxxx, shuah@xxxxxxxxxx, adobriyan@xxxxxxxxx,
brauner@xxxxxxxxxx, josef@xxxxxxxxxxxxxx, yebin10@xxxxxxxxxx,
linux@xxxxxxxxxxxxxx, willy@xxxxxxxxxxxxx, osalvador@xxxxxxx,
andrii@xxxxxxxxxx, ryan.roberts@xxxxxxx, christophe.leroy@xxxxxxxxxx,
tjmercier@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, surenb@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.0 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Add verbose mode to the proc tests to print debugging information.
Usage: proc-pid-vm -v

Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
---
tools/testing/selftests/proc/proc-pid-vm.c | 154 +++++++++++++++++++--
1 file changed, 141 insertions(+), 13 deletions(-)

diff --git a/tools/testing/selftests/proc/proc-pid-vm.c b/tools/testing/selftests/proc/proc-pid-vm.c
index b582f40851fb..97017f48cd70 100644
--- a/tools/testing/selftests/proc/proc-pid-vm.c
+++ b/tools/testing/selftests/proc/proc-pid-vm.c
@@ -73,6 +73,7 @@ static void make_private_tmp(void)
}

static unsigned long test_duration_sec = 5UL;
+static bool verbose;
static int page_size;
static pid_t pid = -1;
static void ate(void)
@@ -452,6 +453,99 @@ static void stop_vma_modifier(struct vma_modifier_info *mod_info)
signal_state(mod_info, SETUP_MODIFY_MAPS);
}

+static void print_first_lines(char *text, int nr)
+{
+ const char *end = text;
+
+ while (nr && (end = strchr(end, '\n')) != NULL) {
+ nr--;
+ end++;
+ }
+
+ if (end) {
+ int offs = end - text;
+
+ text[offs] = '\0';
+ printf(text);
+ text[offs] = '\n';
+ printf("\n");
+ } else {
+ printf(text);
+ }
+}
+
+static void print_last_lines(char *text, int nr)
+{
+ const char *start = text + strlen(text);
+
+ nr++; /* to ignore the last newline */
+ while (nr) {
+ while (start > text && *start != '\n')
+ start--;
+ nr--;
+ start--;
+ }
+ printf(start);
+}
+
+static void print_boundaries(const char *title,
+ struct page_content *page1,
+ struct page_content *page2)
+{
+ if (!verbose)
+ return;
+
+ printf("%s", title);
+ /* Print 3 boundary lines from each page */
+ print_last_lines(page1->data, 3);
+ printf("-----------------page boundary-----------------\n");
+ print_first_lines(page2->data, 3);
+}
+
+static bool print_boundaries_on(bool condition, const char *title,
+ struct page_content *page1,
+ struct page_content *page2)
+{
+ if (verbose && condition)
+ print_boundaries(title, page1, page2);
+
+ return condition;
+}
+
+static void report_test_start(const char *name)
+{
+ if (verbose)
+ printf("==== %s ====\n", name);
+}
+
+static struct timespec print_ts;
+
+static void start_test_loop(struct timespec *ts)
+{
+ if (verbose)
+ print_ts.tv_sec = ts->tv_sec;
+}
+
+static void end_test_iteration(struct timespec *ts)
+{
+ if (!verbose)
+ return;
+
+ /* Update every second */
+ if (print_ts.tv_sec == ts->tv_sec)
+ return;
+
+ printf(".");
+ fflush(stdout);
+ print_ts.tv_sec = ts->tv_sec;
+}
+
+static void end_test_loop(void)
+{
+ if (verbose)
+ printf("\n");
+}
+
static void capture_mod_pattern(int maps_fd,
struct vma_modifier_info *mod_info,
struct page_content *page1,
@@ -463,18 +557,24 @@ static void capture_mod_pattern(int maps_fd,
struct line_content *restored_last_line,
struct line_content *restored_first_line)
{
+ print_boundaries("Before modification", page1, page2);
+
signal_state(mod_info, SETUP_MODIFY_MAPS);
wait_for_state(mod_info, SETUP_MAPS_MODIFIED);

/* Copy last line of the first page and first line of the last page */
read_boundary_lines(maps_fd, page1, page2, mod_last_line, mod_first_line);

+ print_boundaries("After modification", page1, page2);
+
signal_state(mod_info, SETUP_RESTORE_MAPS);
wait_for_state(mod_info, SETUP_MAPS_RESTORED);

/* Copy last line of the first page and first line of the last page */
read_boundary_lines(maps_fd, page1, page2, restored_last_line, restored_first_line);

+ print_boundaries("After restore", page1, page2);
+
mod_info->vma_mod_check(mod_last_line, mod_first_line,
restored_last_line, restored_first_line);

@@ -546,6 +646,7 @@ static void test_maps_tearing_from_split(int maps_fd,
mod_info->vma_restore = merge_vma;
mod_info->vma_mod_check = check_split_result;

+ report_test_start("Tearing from split");
capture_mod_pattern(maps_fd, mod_info, page1, page2, last_line, first_line,
&split_last_line, &split_first_line,
&restored_last_line, &restored_first_line);
@@ -558,6 +659,7 @@ static void test_maps_tearing_from_split(int maps_fd,
struct timespec start_ts, end_ts;

clock_gettime(CLOCK_MONOTONIC_COARSE, &start_ts);
+ start_test_loop(&start_ts);
do {
bool last_line_changed;
bool first_line_changed;
@@ -577,12 +679,17 @@ static void test_maps_tearing_from_split(int maps_fd,
* In that case new first line will be the same as the
* last restored line.
*/
- assert(!strcmp(new_first_line.text, split_first_line.text) ||
- !strcmp(new_first_line.text, restored_last_line.text));
+ assert(!print_boundaries_on(
+ strcmp(new_first_line.text, split_first_line.text) &&
+ strcmp(new_first_line.text, restored_last_line.text),
+ "Split result invalid", page1, page2));
+
} else {
/* The vmas should be consistent with merge results */
- assert(!strcmp(new_last_line.text, restored_last_line.text) &&
- !strcmp(new_first_line.text, restored_first_line.text));
+ assert(!print_boundaries_on(
+ strcmp(new_last_line.text, restored_last_line.text) ||
+ strcmp(new_first_line.text, restored_first_line.text),
+ "Merge result invalid", page1, page2));
}
/*
* First and last lines should change in unison. If the last
@@ -607,7 +714,9 @@ static void test_maps_tearing_from_split(int maps_fd,
vma_end == split_first_line.end_addr));

clock_gettime(CLOCK_MONOTONIC_COARSE, &end_ts);
+ end_test_iteration(&end_ts);
} while (end_ts.tv_sec - start_ts.tv_sec < test_duration_sec);
+ end_test_loop();

/* Signal the modifyer thread to stop and wait until it exits */
signal_state(mod_info, TEST_DONE);
@@ -654,6 +763,7 @@ static void test_maps_tearing_from_resize(int maps_fd,
mod_info->vma_restore = expand_vma;
mod_info->vma_mod_check = check_shrink_result;

+ report_test_start("Tearing from resize");
capture_mod_pattern(maps_fd, mod_info, page1, page2, last_line, first_line,
&shrunk_last_line, &shrunk_first_line,
&restored_last_line, &restored_first_line);
@@ -666,6 +776,7 @@ static void test_maps_tearing_from_resize(int maps_fd,
struct timespec start_ts, end_ts;

clock_gettime(CLOCK_MONOTONIC_COARSE, &start_ts);
+ start_test_loop(&start_ts);
do {
unsigned long vma_start;
unsigned long vma_end;
@@ -682,12 +793,16 @@ static void test_maps_tearing_from_resize(int maps_fd,
* again. In that case new first line will be the same
* as the last restored line.
*/
- assert(!strcmp(new_first_line.text, shrunk_first_line.text) ||
- !strcmp(new_first_line.text, restored_last_line.text));
+ assert(!print_boundaries_on(
+ strcmp(new_first_line.text, shrunk_first_line.text) &&
+ strcmp(new_first_line.text, restored_last_line.text),
+ "Shrink result invalid", page1, page2));
} else {
/* The vmas should be consistent with the original/resored state */
- assert(!strcmp(new_last_line.text, restored_last_line.text) &&
- !strcmp(new_first_line.text, restored_first_line.text));
+ assert(!print_boundaries_on(
+ strcmp(new_last_line.text, restored_last_line.text) ||
+ strcmp(new_first_line.text, restored_first_line.text),
+ "Expand result invalid", page1, page2));
}

/* Check if PROCMAP_QUERY ioclt() finds the right VMA */
@@ -701,7 +816,9 @@ static void test_maps_tearing_from_resize(int maps_fd,
vma_end - vma_start == page_size));

clock_gettime(CLOCK_MONOTONIC_COARSE, &end_ts);
+ end_test_iteration(&end_ts);
} while (end_ts.tv_sec - start_ts.tv_sec < test_duration_sec);
+ end_test_loop();

/* Signal the modifyer thread to stop and wait until it exits */
signal_state(mod_info, TEST_DONE);
@@ -757,6 +874,7 @@ static void test_maps_tearing_from_remap(int maps_fd,
mod_info->vma_restore = patch_vma;
mod_info->vma_mod_check = check_remap_result;

+ report_test_start("Tearing from remap");
capture_mod_pattern(maps_fd, mod_info, page1, page2, last_line, first_line,
&remapped_last_line, &remapped_first_line,
&restored_last_line, &restored_first_line);
@@ -769,6 +887,7 @@ static void test_maps_tearing_from_remap(int maps_fd,
struct timespec start_ts, end_ts;

clock_gettime(CLOCK_MONOTONIC_COARSE, &start_ts);
+ start_test_loop(&start_ts);
do {
unsigned long vma_start;
unsigned long vma_end;
@@ -785,12 +904,16 @@ static void test_maps_tearing_from_remap(int maps_fd,
* again. In that case new first line will be the same
* as the last restored line.
*/
- assert(!strcmp(new_first_line.text, remapped_first_line.text) ||
- !strcmp(new_first_line.text, restored_last_line.text));
+ assert(!print_boundaries_on(
+ strcmp(new_first_line.text, remapped_first_line.text) &&
+ strcmp(new_first_line.text, restored_last_line.text),
+ "Remap result invalid", page1, page2));
} else {
/* The vmas should be consistent with the original/resored state */
- assert(!strcmp(new_last_line.text, restored_last_line.text) &&
- !strcmp(new_first_line.text, restored_first_line.text));
+ assert(!print_boundaries_on(
+ strcmp(new_last_line.text, restored_last_line.text) ||
+ strcmp(new_first_line.text, restored_first_line.text),
+ "Remap restore result invalid", page1, page2));
}

/* Check if PROCMAP_QUERY ioclt() finds the right VMA */
@@ -806,7 +929,9 @@ static void test_maps_tearing_from_remap(int maps_fd,
vma_end - vma_start == page_size));

clock_gettime(CLOCK_MONOTONIC_COARSE, &end_ts);
+ end_test_iteration(&end_ts);
} while (end_ts.tv_sec - start_ts.tv_sec < test_duration_sec);
+ end_test_loop();

/* Signal the modifyer thread to stop and wait until it exits */
signal_state(mod_info, TEST_DONE);
@@ -927,6 +1052,7 @@ int usage(void)
{
fprintf(stderr, "Userland /proc/pid/{s}maps test cases\n");
fprintf(stderr, " -d: Duration for time-consuming tests\n");
+ fprintf(stderr, " -v: Verbose mode\n");
fprintf(stderr, " -h: Help screen\n");
exit(-1);
}
@@ -937,9 +1063,11 @@ int main(int argc, char **argv)
int exec_fd;
int opt;

- while ((opt = getopt(argc, argv, "d:h")) != -1) {
+ while ((opt = getopt(argc, argv, "d:vh")) != -1) {
if (opt == 'd')
test_duration_sec = strtoul(optarg, NULL, 0);
+ else if (opt == 'v')
+ verbose = true;
else if (opt == 'h')
usage();
}
--
2.49.0.1266.g31b7d2e469-goog



Return-Path: <linux-kernel+bounces-673875-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BDE2341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:14:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 206DF188509D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:14:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BD24F2701BD;
Wed, 4 Jun 2025 23:12:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="TJVzIoT7"
Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202])
(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 74E5226FD87
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:12:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078750; cv=none; b=J+Bd5hDo6BW7U1Xj7xCgLtZxAOAu3nDiprzSdWm5qcz4wuUPs3iqyBDObGiL2Ptd9QQJi/MA+kGDp1o/dDOGDrEaXBvC2Z9rYD2EyPU8yVd4AtAbZ88lWiJ2I7C9I19jdSZ232EqU706kKZykT2lHljFFAg/BOgiv8kLYUqA2Co=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078750; c=relaxed/simple;
bh=1JKj07CL69YetOd3eAJtrIP/4dLtscsRaKvQHy9XVnU=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=WK9F9JVw1/TA9uFw0nqIF1wH5j/s/zhxB24omznqdhspiag+os/oGpo/uojsUl7ZfR2BAcRad93j5elsy23nuYvTniA7RCBI2tH+euuLYYUFy3wBpm/nfNkLJpHaib5zv7VwbV1dx5dv9c9tdOeogBDMD0eSF90704OvbeVJHnY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=TJVzIoT7; arc=none smtp.client-ip=209.85.214.202
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--surenb.bounces.google.com
Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-22aa75e6653so2373365ad.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:12:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1749078749; x=1749683549; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=5S3jZ35KMoBO4RnXYNxi81hGE/ddSIH7so+ydU69UE8=;
b=TJVzIoT7pt0B4DP3NqlGSwg+ostgG6dZHP9ZCFbM08kEnoc/yLCT8ucyA5vOT69UqA
fjFl/ATtuT79r9sxhVk124XfOrFtgCj3vsaazrKFARHV8xy8gkpJzOu/ejj/3SFxLNkH
2uqw2nIArev12mAI/KwDY8/Xz8hFN6J8fY2/n2MXa0+yiI7IyaOPLp3kHYbrYXikpc/+
ogPP1HBxI43rS9SvkfueoI2VBftoRrrK4yMnvAZZChy0ML05Eh9ddz1VS1jCnuiYHCLK
/6lw/qhFjCsrsCV79QL4q5b5xy4npLqBg3KcSGwrobupJJxbYXcCQ718vilBFuc0PGX1
CXTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749078749; x=1749683549;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=5S3jZ35KMoBO4RnXYNxi81hGE/ddSIH7so+ydU69UE8=;
b=MaIPPVhYn9rpKjMhvT5MQJFr0iWvCFCG2Et3wRRlIBhNBPzAcvq184ENnR3a+c6ftA
KoE0OFqLgmqIy3mWO48NRkL7EAHMU/90Fy0PidKcZ8KVm3yJ3staoC++InOLI7zQl4ai
YaSAFZQSjQzdY/M0u/+g2droisY8odkBpL4aGhFcLtbh+D9CRxVqQxwh6VKB9N5Fdu8H
dDsl2Gc/pBxaRz6jwIHJUFwcF6FXhyO+JxP+CVguH0es8LmnIzK6nWl6l2VDcVEzh1Xk
naw5+LRll1grrB2ICBi6/r8f2obpqmPhpNeBsSh0c13E4zNHn1szfDHpi7QMwyu6qnPQ
Qwfw==
X-Forwarded-Encrypted: i=1; AJvYcCWyIaXQtWTBfcizxkA/R1y0S4gkxMwWirsuPlgwF87e3hojXwkI82RC4y5kkPnd6KWrICdqY8J3M3cBack=@vger.kernel.org
X-Gm-Message-State: AOJu0Yz5LKIIoZzP1z1NBdQTHDiuhgRPWdWWIHRdAEKcb+WNuZnIvByC
zUMrEB3FXZheW7HsU83QXCWBbowCEDe8u5gebRRXWN19TRUy3hkfm4VnnY9Bp9xCZi4XceyQUsu
X2xF+kA==
X-Google-Smtp-Source: AGHT+IGoGwd/Y8vsxaXkZq3lcq5gV0uAcPoWJqxGcCejiu9rQZwPdtbf9qfiVIzoSAsbfmD8Xw6SbN6aqVM=
X-Received: from plnz4.prod.google.com ([2002:a17:902:8344:b0:231:e2fb:ebf])
(user=surenb job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:ccd0:b0:234:e655:a62e
with SMTP id d9443c01a7336-235e101356bmr63542455ad.9.1749078748733; Wed, 04
Jun 2025 16:12:28 -0700 (PDT)
Date: Wed, 4 Jun 2025 16:11:51 -0700
In-Reply-To: <20250604231151.799834-1-surenb@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250604231151.799834-1-surenb@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1266.g31b7d2e469-goog
Message-ID: <20250604231151.799834-8-surenb@xxxxxxxxxx>
Subject: [PATCH v4 7/7] mm/maps: execute PROCMAP_QUERY ioctl under per-vma locks
From: Suren Baghdasaryan <surenb@xxxxxxxxxx>
To: akpm@xxxxxxxxxxxxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, david@xxxxxxxxxx,
vbabka@xxxxxxx, peterx@xxxxxxxxxx, jannh@xxxxxxxxxx, hannes@xxxxxxxxxxx,
mhocko@xxxxxxxxxx, paulmck@xxxxxxxxxx, shuah@xxxxxxxxxx, adobriyan@xxxxxxxxx,
brauner@xxxxxxxxxx, josef@xxxxxxxxxxxxxx, yebin10@xxxxxxxxxx,
linux@xxxxxxxxxxxxxx, willy@xxxxxxxxxxxxx, osalvador@xxxxxxx,
andrii@xxxxxxxxxx, ryan.roberts@xxxxxxx, christophe.leroy@xxxxxxxxxx,
tjmercier@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, surenb@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.0 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Utilize per-vma locks to stabilize vma after lookup without taking
mmap_lock during PROCMAP_QUERY ioctl execution. While we might take
mmap_lock for reading during contention, we do that momentarily only
to lock the vma.
This change is designed to reduce mmap_lock contention and prevent
PROCMAP_QUERY ioctl calls from blocking address space updates.

Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
---
fs/proc/task_mmu.c | 56 ++++++++++++++++++++++++++++++++++++----------
1 file changed, 44 insertions(+), 12 deletions(-)

diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 36d883c4f394..93ba35a84975 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -550,28 +550,60 @@ static int pid_maps_open(struct inode *inode, struct file *file)
PROCMAP_QUERY_VMA_FLAGS \
)

-static int query_vma_setup(struct mm_struct *mm)
+#ifdef CONFIG_PER_VMA_LOCK
+
+static int query_vma_setup(struct proc_maps_private *priv)
{
- return mmap_read_lock_killable(mm);
+ rcu_read_lock();
+ priv->locked_vma = NULL;
+ priv->mmap_locked = false;
+
+ return 0;
}

-static void query_vma_teardown(struct mm_struct *mm, struct vm_area_struct *vma)
+static void query_vma_teardown(struct proc_maps_private *priv)
{
- mmap_read_unlock(mm);
+ unlock_vma(priv);
+ rcu_read_unlock();
+}
+
+static struct vm_area_struct *query_vma_find_by_addr(struct proc_maps_private *priv,
+ unsigned long addr)
+{
+ vma_iter_init(&priv->iter, priv->mm, addr);
+ return get_next_vma(priv, addr);
+}
+
+#else /* CONFIG_PER_VMA_LOCK */
+
+static int query_vma_setup(struct proc_maps_private *priv)
+{
+ return mmap_read_lock_killable(priv->mm);
+}
+
+static void query_vma_teardown(struct proc_maps_private *priv)
+{
+ mmap_read_unlock(priv->mm);
}

-static struct vm_area_struct *query_vma_find_by_addr(struct mm_struct *mm, unsigned long addr)
+static struct vm_area_struct *query_vma_find_by_addr(struct proc_maps_private *priv,
+ unsigned long addr)
{
- return find_vma(mm, addr);
+ return find_vma(priv->mm, addr);
}

-static struct vm_area_struct *query_matching_vma(struct mm_struct *mm,
+#endif /* CONFIG_PER_VMA_LOCK */
+
+static struct vm_area_struct *query_matching_vma(struct proc_maps_private *priv,
unsigned long addr, u32 flags)
{
struct vm_area_struct *vma;

next_vma:
- vma = query_vma_find_by_addr(mm, addr);
+ vma = query_vma_find_by_addr(priv, addr);
+ if (IS_ERR(vma))
+ return vma;
+
if (!vma)
goto no_vma;

@@ -647,13 +679,13 @@ static int do_procmap_query(struct proc_maps_private *priv, void __user *uarg)
if (!mm || !mmget_not_zero(mm))
return -ESRCH;

- err = query_vma_setup(mm);
+ err = query_vma_setup(priv);
if (err) {
mmput(mm);
return err;
}

- vma = query_matching_vma(mm, karg.query_addr, karg.query_flags);
+ vma = query_matching_vma(priv, karg.query_addr, karg.query_flags);
if (IS_ERR(vma)) {
err = PTR_ERR(vma);
vma = NULL;
@@ -738,7 +770,7 @@ static int do_procmap_query(struct proc_maps_private *priv, void __user *uarg)
}

/* unlock vma or mmap_lock, and put mm_struct before copying data to user */
- query_vma_teardown(mm, vma);
+ query_vma_teardown(priv);
mmput(mm);

if (karg.vma_name_size && copy_to_user(u64_to_user_ptr(karg.vma_name_addr),
@@ -758,7 +790,7 @@ static int do_procmap_query(struct proc_maps_private *priv, void __user *uarg)
return 0;

out:
- query_vma_teardown(mm, vma);
+ query_vma_teardown(priv);
mmput(mm);
kfree(name_buf);
return err;
--
2.49.0.1266.g31b7d2e469-goog



Return-Path: <linux-kernel+bounces-673876-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 41A1441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:14:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 6E79716F143
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:14:14 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B26A92701DF;
Wed, 4 Jun 2025 23:12:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="ZegHfidf"
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2047.outbound.protection.outlook.com [40.107.96.47])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC20D26C3A0;
Wed, 4 Jun 2025 23:12:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.96.47
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078751; cv=fail; b=EIc77dAe12k3O2tA3T0J5fWfHe0T11iEfv9v2ho1TIA9KbeeBZZZHtj+5wj+BR5f+oKjpBBDGXWjFKkxwguD1uJV4p0LrC0jo8IOACuoct4Xj/vLSkeVOQmXUNXrXVPcSJLi8u2rKUlk9/qFyNzVd/XvyhYHyQI2NWu1gFYBwDE=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078751; c=relaxed/simple;
bh=ZtP6ufy5up2Yi6HN3RGsmRXDgOqhvK57McJHydcGIHM=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=FvW3UGUbPWm2lMmQHS7KnYGi/gaVXK9YVXYydViwxD+9zJiCGxa6YS1GKRXXRABkFTamUxAO7FIk0vZ70A9QwMzgH5gYswtiYswdr0v17ezLl/0Ydf1FP43rWVR7opMyywxqJtID9u5BkHw5cTk45E4JRkr5Dq7KgPyggTatKgc=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=ZegHfidf; arc=fail smtp.client-ip=40.107.96.47
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=XFbCye5xLFlzu1Yv+pEqR0FlmclYz33bLVD6ZiIonYgHMk6+DJPlBF+2F9kYWa4Y5TH7MwOx6rCpz6hJPTxQkAiERrwI2X5lmEmDhhA761nYzQfUS6Y+76k5jxKn0h4lzGGrefVc8H86CeLZn5aEF4s5vQ5rlxuhU01GZez5xx/mf1naM5lIY/T8kOZUNfX87IW8FTvlGjcWvQxP892NsUc0jzrpVG+PpOFYbiQ4PXS2n3yRn+w7HtkmmL3G80z4Ro4oXwjXhk+ZLFaZ7E5+vQt/cPoF9ttgH3kHERPwIGEUGHWpgVs0LYpv5BZ36KgCJkU7Niv60D1WlZQnbCYqrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=rEZJv/fgitPYJZtXiyUAYHPX/Yj+WWnai+POfNJVTYo=;
b=yMhQ8ogp1d//YPs8ILroSOsYogiA/H72d6wwoe9ja+Pofl/EmpLGG9JX5pDApnehg9FxFGeI93CadYjKFTkRRBa0Svh1zI+ARtSRT2h77XMSfOn57VjdtcOhywlLzWFO6ht6p6kZ/ymqap86HgHgmilfIfhUkZxpmP24tecuJLVaNmuy3shZzYNPXfKMSq6kNW1ky+4ChHmgZbToS9KNaYCoe5l4Bq98WJJdlG8sHtlJfC3sQdM8EJAdYOzoeeyuneD2ajdCkW73vvRA67R6vVmTd8QtCCpTLcNQ+844fmyusz55NpexV5eKPHHJeLOBWS+NfLg7yBJbthvZNbehaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=rEZJv/fgitPYJZtXiyUAYHPX/Yj+WWnai+POfNJVTYo=;
b=ZegHfidfgOvdJEUjJaMdiIJeGvtAc/1rMth1R+7zaaf4sJEDgwugCGw5iDCpJ49StvMQaEqX9mrye2UdJ4Zmy4rjdqCKUV/RyzvQ1ErXJJjF3Qh+1rOidSMHwUUvxwBH+30M15TaohwCQw851iItwuGosDnJoO0JvXybJ5OIrb8=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from BL3PR12MB9049.namprd12.prod.outlook.com (2603:10b6:208:3b8::21)
by DS0PR12MB8070.namprd12.prod.outlook.com (2603:10b6:8:dc::15) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Wed, 4 Jun
2025 23:12:26 +0000
Received: from BL3PR12MB9049.namprd12.prod.outlook.com
([fe80::c170:6906:9ef3:ecef]) by BL3PR12MB9049.namprd12.prod.outlook.com
([fe80::c170:6906:9ef3:ecef%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
23:12:26 +0000
Message-ID: <f4f9a3cb-eb8e-4d7d-8fe1-5cceca5507c6@xxxxxxx>
Date: Wed, 4 Jun 2025 18:12:23 -0500
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 4/5] KVM: SEV: Introduce new min,max sev_es and sev_snp
asid variables
To: Tom Lendacky <thomas.lendacky@xxxxxxx>, seanjc@xxxxxxxxxx,
pbonzini@xxxxxxxxxx, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, bp@xxxxxxxxx,
dave.hansen@xxxxxxxxxxxxxxx, hpa@xxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx
Cc: x86@xxxxxxxxxx, john.allen@xxxxxxx, davem@xxxxxxxxxxxxx,
michael.roth@xxxxxxx, kvm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-crypto@xxxxxxxxxxxxxxx
References: <cover.1747696092.git.ashish.kalra@xxxxxxx>
<0196b4b50a01312097a18bc86014d9f47c22e640.1747696092.git.ashish.kalra@xxxxxxx>
<1905a57f-3a0b-7106-111a-8231a6ec9380@xxxxxxx>
Content-Language: en-US
From: "Kalra, Ashish" <ashish.kalra@xxxxxxx>
In-Reply-To: <1905a57f-3a0b-7106-111a-8231a6ec9380@xxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SA0PR11CA0051.namprd11.prod.outlook.com
(2603:10b6:806:d0::26) To BL3PR12MB9049.namprd12.prod.outlook.com
(2603:10b6:208:3b8::21)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL3PR12MB9049:EE_|DS0PR12MB8070:EE_
X-MS-Office365-Filtering-Correlation-Id: d31672d2-a3c4-4ba2-7478-08dda3bd44fa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|366016|1800799024|376014|7416014|7053199007;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?dUxiNm93R1hFdVdGWmo2MUN4WDJxcXcxRXVjc09Mb0ZQdzBSaytmYU9NYlUz?=
=?utf-8?B?TFVCVVhPU0E5R2pFeWNINVM1dnpvRmRyTDBkSDB0cFRnKytZaDIwaXZxMHVm?=
=?utf-8?B?TGtLb0p2RTFGTFdyQXVwYlVRRUFiblN5c0VsRUp5ZFNxT0ZhNisrT1ZMVkd6?=
=?utf-8?B?OXNXVFlYTUtZTnR3cncxNTRHRzBoT0c2dUE4VWF2Zi9hdHZ6S21nTVhYK2ox?=
=?utf-8?B?Y2p5ZVBVWksxQ3lFWm9BdURjTVltNUVJMjhFQWs5NWtaRzlycEVCSGN0aGln?=
=?utf-8?B?RTJybHIraG5maDhYQ1VWU0JuL2FjWEpvaTRYQlZld2dOQ2taenZTMDZCOVRS?=
=?utf-8?B?MGtVT0dialdNaVl5RkxqUjNiM2hzbTN2UGEwQXNGZi9WYzh5dEFFbkZ2TGY0?=
=?utf-8?B?ekdDdk9XVlZtdFZ3S25QVUJocjNhVUlXeS9UeDBIQ0xTbmZMMzF5WTNKVERY?=
=?utf-8?B?ckFURmVnMVFXS2tVcGMraWQyOVhubGh0YzlzeFRKUkdpMkxiczUrbG5yemRa?=
=?utf-8?B?R1hMRCtMOWNVZkM2WkRHR3VvdGpjV2F0aWNzWkFRVUxONUcxUFZlWTF2Y2VE?=
=?utf-8?B?VFpqMlVVV29tMU9ZUVNZRXRCWnk3WW81MGVEZVNTa0tVRkYveWluMXVva1E4?=
=?utf-8?B?bDBsUEQwOUZ0U1RhdytDbHVXVGVtalNScklCa3BpMzRhdk9udVVJdHFOdUNW?=
=?utf-8?B?cXlaRklMQmNPMk12Z2M1eFJsL09CK243dzJxSGw1RmR1cWVteGhYRVZ3R0J0?=
=?utf-8?B?RmpEN3FYMzlMdlVmbGxqd1BMa2pFU3Eybnh4RjRuTXQ5T244UkkyVjFpbEQv?=
=?utf-8?B?TFpwdndtMVV4b2ljWmI2bU1CbG44WHF1cUVRdkR2L3p3N2RsTnJvSG0vVFNr?=
=?utf-8?B?NnBhZ3Frbzc4N2ZkN0hDNDRXWW5QWEZyenFCZzBuY2lCOVNyY3p0SjZBeXhC?=
=?utf-8?B?VGJCbURxVkF4bWw4d3hQZHRMYkFTUVRiNHgzTi9hZHFVR3dMbUZhb1l0TURU?=
=?utf-8?B?UEpIUjBJeit5S2YvUFJ6bmFNU3JjOWdML2Vsd0FEYk9DbWFiM0RDOFhtNDRq?=
=?utf-8?B?TndENS9CUmxhYUJxcGtKV2dWMDNySldhZHgxc1RyNUlJY1ErbUdnYlJmZDRE?=
=?utf-8?B?dktUWldyMHIxeGRvdFRMdnhabVVpT05vY3hPTS9XZ0swcTdqSy9HUXFIUDBG?=
=?utf-8?B?eFFzTnFFK1dzRlRpU0ljWDRkWEh5S1l0TlRpMi9IMHJaK2QwdVRaakdRRnBw?=
=?utf-8?B?MDVzckE5MzFBM1RBbjcvMGk0VHNxWEN6d1BJbXdseXJ1RlRWS3ZadmRxekJt?=
=?utf-8?B?N0l0alo4aGx4TUhNd3BMbCtONlkrQU8xb204Slg4dGRnenZyZ2pUeUp2SzFl?=
=?utf-8?B?VnBwRE9iRVpGZVZ0eUJhcjJEYUN4d0owckhVV3FDMFc3V0pYQlZ1cElVOW5y?=
=?utf-8?B?b1VEZ093cE5OeHJUNzBtaytONEFZc0xBcHhBRTdrSlhCdVQ2bFBVNGJtZFpQ?=
=?utf-8?B?T09XVTNhUmlVNitCd2NVSkRVZjM5TncvbzQ3Yy85S3pkSTE5TWFDS0NGTlUy?=
=?utf-8?B?V1lncGNsMjZ3VFkrSm9pZGgvZFRjL3F4L3NWSGtTdzBkazJiWHdISXFUMjZo?=
=?utf-8?B?Q1Y4bkVuZUpjalUzamtYY3BmK0hYZnR1Y0tma215Ri94UkVlTTBDQ2JtUEpp?=
=?utf-8?B?SnNMaStIWlNrSEpZTURmYzgwenlvWmdSbTVCRFQ3WGpRNm1lei8xejQzSzVj?=
=?utf-8?B?VjhyOFdFeFBHQm1xcW4rRWVvRkszcHErVWVlMTE0ZXlYSEp3WCs3blptdGxB?=
=?utf-8?B?Uk1HMzFPaGV4ZjY3UG95c2lydGNRNFZsZ1dNZDF0bVQyYisrNERkSFRTVmpm?=
=?utf-8?B?U21yeVhWekRXUTgyUWdGblRoSXF4MTg0ZFRHaDBld296eitET1dPd0N3L1Rv?=
=?utf-8?Q?PPCNiJfeqok=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL3PR12MB9049.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?UmRTdzVzQlRZc2duMTYxR09jTzVhVk5XRDlGRWJoZjB1YzByUmUraEFibG1r?=
=?utf-8?B?cFNQd3Qza3h2RDRQL3paZXZ5Z1pWNW95T0NieHdrVWxTYmZHT3pzN25velJB?=
=?utf-8?B?TTNzU1Z4TE1UMk54L3lDcDZOcEpTbmhEZmJZczhDdzErZlVabnFuRWsrbTNF?=
=?utf-8?B?cTlkdkhEZmgrTUkvTjFhcDVMZitERExlRHVEU1g4VllFQzArWWoxdkRIV3NU?=
=?utf-8?B?cTZDWVF1RGQ1N0t5L0Q0TExqSUlRRk9JSjFOMXlJQUF0bFE1VlovRHNEQ1M3?=
=?utf-8?B?Z0tQWGtxNFAvbDd3eHd0c3NZMXVMdjlUdWwwei9LOFpKTXo3VmMwSWZoK0hT?=
=?utf-8?B?SkNRTjZtNTlRMkZVU1ZjdncxU2VmYllUN2dYVDFWRXZlWVFkelNGclVVV080?=
=?utf-8?B?YUUxWTV0UFV3dUs0YVoxRjkyU2Z6UjE4U0t0S1BSM3JaQVlFU3BHL0hPNXV6?=
=?utf-8?B?ai9OSHdtQ2VodzNkNEl5M2d2WmxiL05iSmFzdG9ycldJYWw2RkZKdURSR2hL?=
=?utf-8?B?OHQxUGpJS2wrR2xER1FCbndDSU14YVlETFdoQlpPb21jQUNrSnFlVHpFdFJ4?=
=?utf-8?B?QXJCUzNuUHJxdzNtRFlyNURpTlI4VnNUMUlTVWw0MjVUY0YrLzJvbnBkL1Z5?=
=?utf-8?B?M016Mlc1U1dlVEx1d2krN2RJaEJVWWNucGZ6N0NmcHhrMHp6VG9wdE41eFY4?=
=?utf-8?B?UElIcVM2dWhWZEJpVkJkYS9Ic2lWRll1WllWbkFaNFVPTFJTNWUxa0JEY2lm?=
=?utf-8?B?Yk53RzdHSTNHbU5pclVPVUtrWU1Qc3VpeE9pQm9nbGk1L1g4Q0txV1dnTHgy?=
=?utf-8?B?TjgveGZyQXFjT3ZwOG9GODBqMllRWlBTWUZWY21nc0w3VWRVd1VBWC83NG9X?=
=?utf-8?B?T1htdDJKTldhMTJjbno1SHNKczdoUUdnWkxEOTBmSmd6Ym5YSWJLaDJkenJ6?=
=?utf-8?B?eGxCbS9OazlCY0VoK3lyOTNVVXZ6OGRnWUlucFByaGRmcGt0OE9sc0JyNjFh?=
=?utf-8?B?a216VGFDSzUxUUZ5MjM3bXhRWmRWWEx3bXgyZFZPVWZnblRpNithb3RSQWgv?=
=?utf-8?B?ZFVFTnBJVTBFa3h3VGprRXJpa2NkWkVSUDU0MEcwTWlnbXdsWDU5aEFMVCs1?=
=?utf-8?B?ZEFuTzZsK1U1SmpnZ205dlJGVTUxMi9oYktpd3Z2b1doMVJ2VlJLOG0vRGZ6?=
=?utf-8?B?bkZnWU5QdmNHUGJkNEk1aFNmL3Y1SS9nc1JkcjlHanY1S3g4MTVZMWIxalFk?=
=?utf-8?B?c3lkL2ZLbXRYWS9HNUNSYzJPQnRQQnEwMDlVS05TUkVsUzdYNFFtUU5JOVFt?=
=?utf-8?B?OXI0cWZuNW5talk1YkljMUVTekZwRDZjUmVaMXJ2MWN6eWhiNUJZbVNmMEg5?=
=?utf-8?B?MzhMUFp2by9NOWpwK2traFJSVXpXc3JUSXVLZHFBZW9qQ3FIRXZ4UFBwcjNN?=
=?utf-8?B?YnNIZTl4L2hNLzFKSktxdUNwYS9menlld0NiZ1grMjEvc1pLWU9NeTZEUmJF?=
=?utf-8?B?TGhlR3BucVI5WW5LSHJ4YkNTYkVBa1ovK3ZyTXgxZkp6WVhDeU8ydm5BWU9O?=
=?utf-8?B?cWp3Unk3TFUrUU80OXdYUGRkcThNSmUwUWRQQmhoYWRaeitVbXJIblFLZC9p?=
=?utf-8?B?R1pHQ0dnZ0ZVdVVnQTFtbWhuMFE0RVhWS3hyQWVudENHM1R4blRpaHlwWmdW?=
=?utf-8?B?Y1N0NjZjSXl2UkpTOG9lTEFGZ3N3b3Y1c2dncktZTmdFSTJIY1ZXb2w5NzhD?=
=?utf-8?B?ZXhZcjdmbmF1TkpZc3dPOTFVYVdiclYyenhtQzNZVEkreE5BV3NDYzdXVlJu?=
=?utf-8?B?UlNKdnZ2azZnMmgxWjdGRm5ydEExZDFYQlRZRHp1V0NkZnd2bUpmNjgrdEc1?=
=?utf-8?B?OHJkazFJcFdZVzZqa1BLY1E4R1dNRmNFNzhTVWdCem5ENXlGR1l4dE5VeGFV?=
=?utf-8?B?bEhKUUs3RlFzb2owTHY2WVZTVXdwWjhRSXB4cTA1TWdFc2VkOTg2U3RSbEh6?=
=?utf-8?B?TDlPekhFbjBNMlFneW1pTXcrVmpEZGcvMXkwb1dWOVR6dkVYN0hnVGd0dFh3?=
=?utf-8?B?NFA2aFBZQmpBRitGZ3FCS0U1N0NTYVRWWThUMXJFYW43dithZ0tkaEFLK3U0?=
=?utf-8?Q?44/hV3agV15X7pL0GdtkxzCyR?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d31672d2-a3c4-4ba2-7478-08dda3bd44fa
X-MS-Exchange-CrossTenant-AuthSource: BL3PR12MB9049.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 23:12:26.0661
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 82bP7VuZjrhYrUwrUH6mTMN433KhI0PtLP34gHU0bD9JLsX0L4BUkrTR0xsSFYZXSeu1pIylFZQ4RgusdLPrRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8070
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


On 6/3/2025 10:52 AM, Tom Lendacky wrote:
> On 5/19/25 18:57, Ashish Kalra wrote:
>> From: Ashish Kalra <ashish.kalra@xxxxxxx>
>>
>> Introduce new min, max sev_es_asid and sev_snp_asid variables.
>>
>> The new {min,max}_{sev_es,snp}_asid variables along with existing
>> {min,max}_sev_asid variable simplifies partitioning of the
>> SEV and SEV-ES+ ASID space.
>>
>> Suggested-by: Sean Christopherson <seanjc@xxxxxxxxxx>
>> Signed-off-by: Ashish Kalra <ashish.kalra@xxxxxxx>
>> ---
>> arch/x86/kvm/svm/sev.c | 37 ++++++++++++++++++++++++++++---------
>> 1 file changed, 28 insertions(+), 9 deletions(-)
>>
>> diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
>> index dea9480b9ff6..383db1da8699 100644
>> --- a/arch/x86/kvm/svm/sev.c
>> +++ b/arch/x86/kvm/svm/sev.c
>> @@ -85,6 +85,10 @@ static DECLARE_RWSEM(sev_deactivate_lock);
>> static DEFINE_MUTEX(sev_bitmap_lock);
>> unsigned int max_sev_asid;
>> static unsigned int min_sev_asid;
>> +static unsigned int max_sev_es_asid;
>> +static unsigned int min_sev_es_asid;
>> +static unsigned int max_snp_asid;
>> +static unsigned int min_snp_asid;
>> static unsigned long sev_me_mask;
>> static unsigned int nr_asids;
>> static unsigned long *sev_asid_bitmap;
>> @@ -172,20 +176,32 @@ static void sev_misc_cg_uncharge(struct kvm_sev_info *sev)
>> misc_cg_uncharge(type, sev->misc_cg, 1);
>> }
>>
>> -static int sev_asid_new(struct kvm_sev_info *sev)
>> +static int sev_asid_new(struct kvm_sev_info *sev, unsigned long vm_type)
>> {
>> /*
>> * SEV-enabled guests must use asid from min_sev_asid to max_sev_asid.
>> * SEV-ES-enabled guest can use from 1 to min_sev_asid - 1.
>> - * Note: min ASID can end up larger than the max if basic SEV support is
>> - * effectively disabled by disallowing use of ASIDs for SEV guests.
>> */
>> - unsigned int min_asid = sev->es_active ? 1 : min_sev_asid;
>> - unsigned int max_asid = sev->es_active ? min_sev_asid - 1 : max_sev_asid;
>> - unsigned int asid;
>> + unsigned int min_asid, max_asid, asid;
>> bool retry = true;
>> int ret;
>>
>> + if (vm_type == KVM_X86_SNP_VM) {
>> + min_asid = min_snp_asid;
>> + max_asid = max_snp_asid;
>> + } else if (sev->es_active) {
>> + min_asid = min_sev_es_asid;
>> + max_asid = max_sev_es_asid;
>> + } else {
>> + min_asid = min_sev_asid;
>> + max_asid = max_sev_asid;
>> + }
>> +
>> + /*
>> + * The min ASID can end up larger than the max if basic SEV support is
>> + * effectively disabled by disallowing use of ASIDs for SEV guests.
>> + */
>> +
>
> Remove blank line.
>
>> if (min_asid > max_asid)
>> return -ENOTTY;
>>
>> @@ -439,7 +455,7 @@ static int __sev_guest_init(struct kvm *kvm, struct kvm_sev_cmd *argp,
>> if (vm_type == KVM_X86_SNP_VM)
>> sev->vmsa_features |= SVM_SEV_FEAT_SNP_ACTIVE;
>>
>> - ret = sev_asid_new(sev);
>> + ret = sev_asid_new(sev, vm_type);
>> if (ret)
>> goto e_no_asid;
>>
>> @@ -3029,6 +3045,9 @@ void __init sev_hardware_setup(void)
>> goto out;
>> }
>>
>> + min_sev_es_asid = min_snp_asid = 1;
>> + max_sev_es_asid = max_snp_asid = min_sev_asid - 1;
>
> Should these be moved to after the min_sev_asid == 1 check ...
>
>> +
>> /* Has the system been allocated ASIDs for SEV-ES? */
>> if (min_sev_asid == 1)
>> goto out;
>> @@ -3048,11 +3067,11 @@ void __init sev_hardware_setup(void)
>> if (boot_cpu_has(X86_FEATURE_SEV_ES))
>> pr_info("SEV-ES %s (ASIDs %u - %u)\n",
>> str_enabled_disabled(sev_es_supported),
>> - min_sev_asid > 1 ? 1 : 0, min_sev_asid - 1);
>> + min_sev_es_asid, max_sev_es_asid);
>
> ... so that this becomes 0 and 0 if min_sev_asid == 1 ? (like before)
>
>> if (boot_cpu_has(X86_FEATURE_SEV_SNP))
>> pr_info("SEV-SNP %s (ASIDs %u - %u)\n",
>> str_enabled_disabled(sev_snp_supported),
>> - min_sev_asid > 1 ? 1 : 0, min_sev_asid - 1);
>> + min_snp_asid, max_snp_asid);
>
> Ditto
>

Yes that makes sense.

Thanks,
Ashish


> Thanks,
> Tom
>
>> > sev_enabled = sev_supported;
>> sev_es_enabled = sev_es_supported;



Return-Path: <linux-kernel+bounces-673877-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 85C1C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:14:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 2D48C189563A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:14:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0E21626C3BF;
Wed, 4 Jun 2025 23:12:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="nnvKkec1"
Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 927B126C38E;
Wed, 4 Jun 2025 23:12:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078766; cv=none; b=WXOeetRlHe5ES2vUKBu5W/Zlp52X6PxJng7SPpveritJ5oYSwSJmqfFusWzV4w9qc3SP65mcLhA0HylnbU3kjwhXxtqgSIOl1dzRwSTcWEH9YkpT8kW6nZvdKhdglSPDfjNqNIFbLDvPvxCBmkM2MVrHEJVI2/7pd1k5Ln8UPrg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078766; c=relaxed/simple;
bh=dI3zrscUxocjWx/CYt+fx2JLhAr1E1g5rkt3nbMrXWQ=;
h=Message-ID:Subject:From:To:Cc:In-Reply-To:References:Content-Type:
Date:MIME-Version; b=HvW/j1H7YJPD63kDU9K7KaSjY6VEFDHrdfm5PXd5/y3ZA+GEqBx23epgDWRFW+9FGW2uZOdgoDofCK98vMrKeJoNytC21vMZKcC/SJWZYz06DAB6i5pmdblznhAVWHZNbNUhn7wlTzLhNHKq7kwvQiSrKduJ6bJJcN3XKSH3PCw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=nnvKkec1; arc=none smtp.client-ip=148.163.156.1
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com
Received: from pps.filterd (m0356517.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554LvVwc030628;
Wed, 4 Jun 2025 23:12:26 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=pp1; bh=/8T3Wa
ZuvL5OZZo93H7D0HmVm+r/qGf9r//grSVRSuo=; b=nnvKkec1dZKCcMdYVXmWqB
L3n3DenN7LDxYQseSCyuLgRX0B400IKGEeCxLzA4s+27jTR1/DCydvq0XT3+WQUB
wjIa/YsdXIV8KQDCL6BD+Y9+fg0USVbl1a/keagKcoJEEM7sW4XGb2949BPZ4rKL
v9PwzjOLPfhaePxq65gq6seBxsK6GQkqWoL4gb/FcgYfBfWmxEH5JydjVr2LKDtz
Ha4g9lZ28rIUx2K6BllMuQUikt5tapwBvQS/G5yQrqE/nfU23AIb2IxwSvaVWS+T
FdAc5ArH4gRXsxaiIommQ9acDPdIE6ZKPJY8eskF4Sn1P3BE6/wDx0RCIL8lvjgA
==
Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 471geywhf1-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 04 Jun 2025 23:12:25 +0000 (GMT)
Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1])
by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 554N7WJh024883;
Wed, 4 Jun 2025 23:12:24 GMT
Received: from smtprelay05.dal12v.mail.ibm.com ([172.16.1.7])
by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 470dkmj0c2-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 04 Jun 2025 23:12:24 +0000
Received: from smtpav06.wdc07v.mail.ibm.com (smtpav06.wdc07v.mail.ibm.com [10.39.53.233])
by smtprelay05.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 554NCNX37471686
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 4 Jun 2025 23:12:23 GMT
Received: from smtpav06.wdc07v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 66BE75803F;
Wed, 4 Jun 2025 23:12:23 +0000 (GMT)
Received: from smtpav06.wdc07v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 79F4358054;
Wed, 4 Jun 2025 23:12:22 +0000 (GMT)
Received: from li-43857255-d5e6-4659-90f1-fc5cee4750ad.ibm.com (unknown [9.61.95.113])
by smtpav06.wdc07v.mail.ibm.com (Postfix) with ESMTP;
Wed, 4 Jun 2025 23:12:22 +0000 (GMT)
Message-ID: <bf593f8bcadc41e0c4823b7173ee5695da51152e.camel@xxxxxxxxxxxxx>
Subject: Re: [PATCH] ima: add a knob ima= to make IMA be able to be disabled
From: Mimi Zohar <zohar@xxxxxxxxxxxxx>
To: Coiby Xu <coxu@xxxxxxxxxx>
Cc: Baoquan He <bhe@xxxxxxxxxx>, linux-integrity@xxxxxxxxxxxxxxx,
kexec@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
pmenzel@xxxxxxxxxxxxx, ruyang@xxxxxxxxxx, chenste@xxxxxxxxxxxxxxxxxxx
In-Reply-To: <hn455nyrp65bb23ltub4tet6ixfcggshgerxm2bhun4ubv2iau@eanh3ka67irf>
References: <20250515233953.14685-1-bhe@xxxxxxxxxx>
<aCaFNvHbYxrCaPbe@MiWiFi-R3L-srv>
<1d2848fe45dbf58707cecf16c4fc46b179e24415.camel@xxxxxxxxxxxxx>
<aC6Y3S9hEB1snvwj@MiWiFi-R3L-srv>
<c0f1df02160138d0782cb897eda844287b3d7792.camel@xxxxxxxxxxxxx>
<hn455nyrp65bb23ltub4tet6ixfcggshgerxm2bhun4ubv2iau@eanh3ka67irf>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Date: Wed, 04 Jun 2025 18:53:07 -0400
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Evolution 3.54.3 (3.54.3-1.fc41)
X-TM-AS-GCONF: 00
X-Proofpoint-ORIG-GUID: 6pZ1Jz3TJQ6e-pkSk8DkFV26sECAxnGM
X-Authority-Analysis: v=2.4 cv=DYMXqutW c=1 sm=1 tr=0 ts=6840d2d9 cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=UeMwZWw34uBX8khp:21 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=metLV1VPRzkCuRW9CoIA:9 a=QEXdDO2ut3YA:10
X-Proofpoint-GUID: 6pZ1Jz3TJQ6e-pkSk8DkFV26sECAxnGM
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA0MDE5MSBTYWx0ZWRfX9YNkm/q/Ke9O Oprap30aN9L8gV2BwrImoP9RT1qdyxnyhQWJ6yvXljUsJyA9Xm/vEqtn/fMMAMrjUF4oJX24XFQ VMfA5GLTL8ir0GaTZAJ0Quc7ZuMpDgWg3yyvfsqZYRJrzkQgjyAEwtyfVv5s/YBau6bZJDl2E9d
+FM5XrOdyhXszpSwnCE0D36EVmrlIVAinGFtm6oSTmr/esgw1CY/lddBwOZ2fmnV0CRS45npryq pXjEy26kVJwyUMG6qaOGve7nzvb3y/842PgX1Dm51fcb+ylkqGTORQ9UXhgHXopBTxVJ7fXpfuv uTzV/iBqVI09BiDFmKywP00f3CNtHW5vVHg3M+cxANawakSJQHLyQeahFjFQVNFedHLL3Mwm8st
1vMTsUN4+lOkXicLknwhZl5MZxnwwdP295+6YXoF9dLiFUYh7xccYLobDiksg/KJVE8PzuIQ
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-04_04,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
lowpriorityscore=0 suspectscore=0 spamscore=0 mlxscore=0
priorityscore=1501 clxscore=1015 phishscore=0 mlxlogscore=999 adultscore=0
malwarescore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000
definitions=main-2506040191
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, 2025-06-04 at 11:34 +0800, Coiby Xu wrote:
> On Thu, May 22, 2025 at 07:08:04AM -0400, Mimi Zohar wrote:
> > On Thu, 2025-05-22 at 11:24 +0800, Baoquan He wrote:
> > > On 05/21/25 at 08:54am, Mimi Zohar wrote:
> > > > On Fri, 2025-05-16 at 08:22 +0800, Baoquan He wrote:
> > > > > CC kexec list.
> > > > >=20
> > > > > On 05/16/25 at 07:39am, Baoquan He wrote:
> > > > > > Kdump kernel doesn't need IMA functionality, and enabling IMA w=
ill cost
> > > > > > extra memory. It would be very helpful to allow IMA to be disab=
led for
> > > > > > kdump kernel.
> > >=20
> > > Thanks a lot for careufl reviewing and great suggestions.
> > >=20
> > > >=20
> > > > The real question is not whether kdump needs "IMA", but whether not=
enabling
> > > > IMA in the kdump kernel could be abused.=C2=A0 The comments below d=
on't address
> > > > that question but limit/emphasize, as much as possible, turning IMA=
off is
> > > > limited to the kdump kernel.
> > >=20
> > > Are you suggesting removing below paragraph from patch log because th=
ey
> > > are redundant? I can remove it in v2 if yes.
> >=20
> > "The comments below" was referring to my comments on the patch, not the=
next
> > paragraph. "don't address that question" refers to whether the kdump k=
ernel
> > could be abused.
> >=20
> > We're trying to close integrity gaps, not add new ones. Verifying the =
UKI's
> > signature addresses the integrity of the initramfs. What about the int=
egrity of
> > the kdump initramfs (or for that matter the kexec initramfs)? If the k=
dump
> > initramfs was signed, IMA would be able to verify it before the kexec.
>=20
> Hi Mimi,
>=20
> I thought you were asking that the commit message should address the
> question why disabling IMA should be limited to the kdump kernel. It
> turns out I misunderstood your concern.
>=20
> Currently there is no way provided to verify the kdump initramfs as a
> whole file or to verify individual files in the kdump initramfs.

There were multiple attempts to close this integrity gap, but none of them =
were
upstreamed.
>=20
> As you have already known, the kdump initramfs is always generated on
> the fly and will be re-generated when the dumping target changes or
> some important files change. We try to generate a minimal initramfs in
> order to save memory. So yes, it's impossible to sign it as a whole file
> beforehand.

I'm just curious as to how UKI includes the initramfs, if it does, in the
signature.

>=20
> And since xattrs like security.ima are not supported in the kdump
> initramfs, we have no way to use IMA to verify individual file's
> integrity. In fact, we have to stop IMA from working otherwise it's
> very likely kdump will break.
>=20
> So far, I'm not aware of any bug report that complains kdump stops
> working because of IMA. So it indicates very few users are trying to use
> IMA in kdump.
>=20
> If users do have concerns on the integrity of kdump initramfs, I think
> we can advice users to make sure the deployed IMA policy will verify the
> integrity of the files while they are being collected and copied into
> the kdump initramfs by tools like dracut.

For now, I'd prefer to leave it as an integrity gap that still needs to be
addressed.

thanks,

Mimi


Return-Path: <linux-kernel+bounces-673878-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DB6FE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:16:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 621C1189591A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:16:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B3A4D26B0A9;
Wed, 4 Jun 2025 23:16:21 +0000 (UTC)
Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B6EF449659;
Wed, 4 Jun 2025 23:16:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.241.56.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749078981; cv=none; b=igSz9qITS+ow3qs7iSadW2czA5k/XKy1NL+XzkxaWDUuz5DzbGiIdfPE/iQEX/RCYX5vm21i3FCY3OQfKMpJRRiO88LUs3EQr3VnawVA0cyW2DQBHo1/fCuVawqMW6ka9znJc5NZltFa9PzCb+gat5imopBD9Wqq9GkoC4n8ktw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749078981; c=relaxed/simple;
bh=xDdN81P97Meu5mnJjUgkvSRGBaKxGpzdQ3fbYtSbGsE=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=GY4R0hh1KPXqbROalTAaZecixNRDPPECYrLb8AFCssCkbVke8e3K1HwhK9BDSob3lP8DKW14skObnL5B+wSoYxAyOw7nO/ZEjpOlRgaUaaMeJYEF76hoiJcWDAs9IjkA5JBWG6cYOCX9jZGq+o7+/gyNJVDpdwMtE5d6sLHlk2Y=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=timmermann.space; spf=pass smtp.mailfrom=timmermann.space; arc=none smtp.client-ip=80.241.56.172
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=timmermann.space
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=timmermann.space
Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4bCNk45gwHz9t5Y;
Thu, 5 Jun 2025 01:16:12 +0200 (CEST)
Message-ID: <7dfa4866-038e-4c38-843a-9d91afd5c333@timmermann.space>
Date: Thu, 5 Jun 2025 01:16:11 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Subject: [PATCH v3 0/2] Follow-Up: Support for Osram as3668 LED driver
To: lee@xxxxxxxxxx, pavel@xxxxxxxxxx, robh@xxxxxxxxxx, krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx
Cc: linux-leds@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
References: <20250604225838.102910-1-linux@timmermann.space>
Content-Language: en-US, de-DE
From: Lukas Timmermann <linux@timmermann.space>
In-Reply-To: <20250604225838.102910-1-linux@timmermann.space>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi all,

I forgot to include the changelog in my previous patch cover letter
(https://lore.kernel.org/linux-leds/20250604225838.102910-1-linux@timmermann.space/T/#t).
Here is the changelog:

Changes in v3:
- Fixed an extra whitespace in the dt bindings documentation.
- Sent patch to all related lists and maintainers.
- Link to v2:
https://lore.kernel.org/lkml/20250531120715.302870-4-linux@timmermann.space/
Changes in v2:
- Fixed reading led subnodes in dt incorrectly, which caused wrong
numbering and a segfault when removing the driver module
- Fixed calling of_property_read_u8 with an int, causing a compiler error
- Added more error checking during writes to the i2c bus
- Link to v1:
https://lore.kernel.org/linux-leds/20250530184219.78085-3-linux@timmermann.space/

Please let me know if any further details are needed.

Thanks!
Lukas Timmermann

Am 05.06.25 um 00:58 schrieb Lukas Timmermann:
> This patch adds basic support for the as3668 driver IC via I2C interface.
> The IC is capable of driving four individual LEDs up to 25.5mA per
> channel. Hardware blinking would be theoretically possible, but this chip
> only supports a few set on/off-delays which makes using that feature
> unfeasable, therefore my driver doesn't offer that capability.
> It's intended applications is in mobile devices such as phones,
> tablets and cameras. This driver was tested and is working on
> a samsung-manta which is running postmarketOS with a near mainline kernel.
>
> This is v3 of the patch series adding support for the as3668 LED driver.
> I am sending v3 because I discovered major issues in v1 that required
> correction before review and made some fixes in my workflow during v2.
>
> Please note: This is my first suggested patch to the kernel.
> checkpatch.pl runs without warnings or errors.
> I've read the docs in regards to the led subsystem,
> coding style and submission of patches,
> but I'm still a bit unsure about the general workflow.
>
> I will try my best.
>
> Signed-off-by: Lukas Timmermann <linux@timmermann.space>
>
> Lukas Timmermann (2):
> leds: as3668: Driver for the ams Osram 4-channel i2c LED driver
> dt-bindings: leds: Add new as3668 support
>
> .../devicetree/bindings/leds/leds-as3668.yaml | 76 +++++++
> MAINTAINERS | 6 +
> drivers/leds/Kconfig | 14 ++
> drivers/leds/Makefile | 1 +
> drivers/leds/leds-as3668.c | 196 ++++++++++++++++++
> 5 files changed, 293 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/leds/leds-as3668.yaml
> create mode 100644 drivers/leds/leds-as3668.c
>



Return-Path: <linux-kernel+bounces-673879-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 70E3741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:17:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9AE7F16D7A2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:17:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8750C22AE7A;
Wed, 4 Jun 2025 23:16:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Rlf0vEzp"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0EF649659
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:16:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.21
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749079016; cv=fail; b=Hq751MTygX6Pu/VNO021OtlMelIum3F9wdMU0ZIgoWZvzQfOoGWEwf8vhBe0nIDUsOXbrmzyLdUUgPLXW1ze32NTOAukNOmH4Lj9qxMW7FFDOp8jQ0M3xj7OQrqzYOB1cSltmVMTZxZRQbAz9p1+smIBndO6A7mOciRxXIEmQEg=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749079016; c=relaxed/simple;
bh=ZAthGrf2h5GZ4HQ9eRVgRHKr4ScBqZwWiQiV2RwFj/Y=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=c9UduDtDFr4kFM/1xyEk/AbiAnvFNxHIZ/FN1CvWHF9wPNmRbiDz8v8O7gRlmupmAyroZCnQ5jJGOI/wE3An4G7Fb1rV5v3Rh8BYvQJ9CZ2ABfR5L/hu4rIRyn6KOYZOnnuIIbJGgm0yE15s0ilJ1FC2rGEf0Fyk//SGeuIiy4U=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Rlf0vEzp; arc=fail smtp.client-ip=198.175.65.21
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749079014; x=1780615014;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-id:content-transfer-encoding:
mime-version;
bh=ZAthGrf2h5GZ4HQ9eRVgRHKr4ScBqZwWiQiV2RwFj/Y=;
b=Rlf0vEzpXV4pOxKQ1ZIrrE8QmqOAAXaBlwcN3EyoyHxsNzeiqI5ppDob
xsovYSgP18LHA82zESmRNdDfgfI8801KMy6KoP35XDOTDgr54Ntyo2yBy
K2V27qwAnlkLU5r1orS1rxcj95bG8ws7O9t+2OnjnwwkuVtV4QPDszp/9
TESwaTkkwRuTsSRzGLLKKxOSog8nhGpD7GhPIW3f6spBnpdgPmVAswxOW
yekeHECxazhJJ86BxJJDubUFUd2FofPFvGfMwgXhgYJVO01MicCgMqlB2
ONIbzR4np4e+LW0yLzrwSMRsDayN8xJ7fRQtPbc1apsGBpAVdD9FVGndq
Q==;
X-CSE-ConnectionGUID: Wy3MSumuSuOjWxjESETBsw==
X-CSE-MsgGUID: 3eXfxr1UQ+aFjpTuIuoPcg==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51045332"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51045332"
Received: from fmviesa009.fm.intel.com ([10.60.135.149])
by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:16:53 -0700
X-CSE-ConnectionGUID: i9Uv/Hp8Q3eFt4tIf19wrQ==
X-CSE-MsgGUID: dY+7icotTU+rLQPgCZru8A==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="146270467"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by fmviesa009.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:16:54 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 16:16:52 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 16:16:52 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (40.107.94.45) by
edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 16:16:50 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=B1WeaTZZl5bhzb4mPgLkfUZb/IQOeA3Un+Iazgz5ulhHjN1cOv/x7RMHKYA7/MDnS3oWG1oF3O1igOxOWN1tXqbZmJnPfKaveNNdQU68sg1pqlXUnD2thWGtaxKbq7jZTVbhuAqbFviyyS+EdJZBNw3dw0IC8X+CTxUduCLnJLDlXfPuHkWR5+B4Do4YyvaMNODa1K8k6jwgJ2E2RE026mleByxXeQ/dlnxAMR++I18hiKXkOR1q1jgTVuGfJ3F9fns/XFARhrZWPqVcz1F6lKprgqz/rd/w4D2sujYKXC8+XK7qrl5AAm8MUn5lkc+PJHujo0mj+A0wZXA2I0eLIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=ZAthGrf2h5GZ4HQ9eRVgRHKr4ScBqZwWiQiV2RwFj/Y=;
b=ACFVNM2ATKraf0pXTmV5cO1N1dvfd6JPEUWSt/9HQ+gDf8zU77aUdgMMahv++FeoII3gdJLApDDNmj7HHXHGznpKyerre87Foio7Ql6OV7gmZPz6hqDoZeBOV0YF6tNwDSrpdxttzLpwIRTM2QxgluFqLi725WWPbnsF8DQeIny6MDQR3pFWgOmVlPwIKF7XT4cCg6Q1KTB/ah86F6wcYzE5bdvZsEORui/0skeDGqM7vEAIVZktrRgU2qbUS9JTKCNJnOai6oh8GuJNdnhXcermzBJPKaiek1wN6hGA5y4Gs0bbs6qY3K036WaXD16tdYKd9BzQ3F2rU+e9Eiw9tg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Received: from BL1PR11MB5525.namprd11.prod.outlook.com (2603:10b6:208:31f::10)
by DS4PPF3D6E0544B.namprd11.prod.outlook.com (2603:10b6:f:fc02::1f) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.19; Wed, 4 Jun
2025 23:16:16 +0000
Received: from BL1PR11MB5525.namprd11.prod.outlook.com
([fe80::1a2f:c489:24a5:da66]) by BL1PR11MB5525.namprd11.prod.outlook.com
([fe80::1a2f:c489:24a5:da66%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
23:16:16 +0000
From: "Huang, Kai" <kai.huang@xxxxxxxxx>
To: "tglx@xxxxxxxxxxxxx" <tglx@xxxxxxxxxxxxx>, "peterz@xxxxxxxxxxxxx"
<peterz@xxxxxxxxxxxxx>, "mingo@xxxxxxxxxx" <mingo@xxxxxxxxxx>, "Hansen, Dave"
<dave.hansen@xxxxxxxxx>, "kirill.shutemov@xxxxxxxxxxxxxxx"
<kirill.shutemov@xxxxxxxxxxxxxxx>, "bp@xxxxxxxxx" <bp@xxxxxxxxx>,
"hpa@xxxxxxxxx" <hpa@xxxxxxxxx>
CC: "samitolvanen@xxxxxxxxxx" <samitolvanen@xxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>, "Edgecombe,
Rick P" <rick.p.edgecombe@xxxxxxxxx>, "x86@xxxxxxxxxx" <x86@xxxxxxxxxx>
Subject: Re: [PATCH] x86/virt/tdx: Add ENDBR for low level SEAMCALL assembly
functions
Thread-Topic: [PATCH] x86/virt/tdx: Add ENDBR for low level SEAMCALL assembly
functions
Thread-Index: AQHb1OklVaYPTytbT0efy84CnI49T7PzaN0AgAA6oQA=
Date: Wed, 4 Jun 2025 23:16:16 +0000
Message-ID: <f442380c2d8cc51b38105c6316cbe224a248fdfe.camel@xxxxxxxxx>
References: <20250604003848.13154-1-kai.huang@xxxxxxxxx>
<55e5b3f8-3e17-4962-af2f-75c98ccd414f@xxxxxxxxx>
In-Reply-To: <55e5b3f8-3e17-4962-af2f-75c98ccd414f@xxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Evolution 3.56.2 (3.56.2-1.fc42)
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR11MB5525:EE_|DS4PPF3D6E0544B:EE_
x-ms-office365-filtering-correlation-id: a1455a3b-e24a-4851-697b-08dda3bdce9a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?Zm1IblAydnlEZWlYd3ptQjNhZTc5S3pXQjVrWkM0UkNQTVNweXovVElRTllu?=
=?utf-8?B?VUZzVjhmOWZ2V1BHNDdVcWlvTlQ2Q0NPdUwyNGRLdXhPaThEcS9tOGFUZDNl?=
=?utf-8?B?OTMwalZFeDBkUmprZWpmellTOFppSUhHZFdWM004TXRkbmdUckFUdW5GQ0Fw?=
=?utf-8?B?QVduSHJtVThhYlpKZkJodFVJblBNUU9MSklVbFFtbnBMTElLQndlak5DTkh6?=
=?utf-8?B?cFdFMU5LOGQyVkNiL05vNTE0ckpPV1ZmNkNSSGtGUXQyaXVmbjFuTXpSUG9S?=
=?utf-8?B?OHFJeVl0d2E4WmRPTVFHcTBLZ3ZrSmhLQ0J0TGt3cXlFWGxKOGtJUG9mYnB5?=
=?utf-8?B?WmxrdWpqdnpXUVNNQ2JyQVJocW9RZnNJb1YyRWpGQkRPdllETk5COXRlRkFp?=
=?utf-8?B?bmhpL3l4eTZ3L2FyWnp3eUp1eEJCalJkNjd2V3crVkdlbzU4SGh3ZWIvMEg5?=
=?utf-8?B?TG1wUVVFeU1QM3pROFZiNFBRdElvVUF4TElvMTF5UkMwcFpqK0tWaVBHeWpL?=
=?utf-8?B?b0t2Q1cydm9zeW84bE9FSWptS2xySDZjR25VNExNaWxqUEdxNzhrL1d4MUc4?=
=?utf-8?B?akdWS1QwNHZMZStWL3lsTEJaU0hUSDJQRmVuZ216ZFNSUWh3UzJpdWxuOW9R?=
=?utf-8?B?ekR0M3VCV2V1OEpINkh3VURMOE5DM1lvSThpM2NmNnIvWngxUW5BK29wcmV3?=
=?utf-8?B?RkFRTU1hYjdIcGhxTGUwRFY0MDNlZWM0RGRnZDdqQytqMHg2a01rblF6QzZt?=
=?utf-8?B?cFBvZ2o0RlhncDFYdk9rMEJZY2ZoOE5nQW9EM0ZINGZVOU5iaENKdHRZK1JX?=
=?utf-8?B?VG43b1VkazBYN0dsL0J5ZVpSUVdCSlN4TTFCVXI1K2hEZUJYcWE0QXJFdUJR?=
=?utf-8?B?cWlkaCtnZVJTMit5cXB4ZXZialBPQ0wvSnpmVXVBQURmSERUOVdFd21IZVIw?=
=?utf-8?B?NWxUSUFvZlFkaFZNRW5UWlUvRlJELzlLcTBYeEZ6WjJwY2F6cll0RlNMZGVz?=
=?utf-8?B?ckZ6OUVjWlcwU0JLMTZ6NERseW1XYXdZL0gyTUxXMzRMMFh2T09oSzRodEdr?=
=?utf-8?B?Mmh2OFFWU2xENk1CVDlYWm9wOTNmdzBRK2l6eEtlUnN6U1RzSE5oeTN0ejAx?=
=?utf-8?B?OHpaNXIyRUhyNWF4TzNsUVltRFlEWDd3Y0tFS0dJZkU5WUZzMUR5NXQyRWRu?=
=?utf-8?B?Z3JmWndVeU1rNVh6dUdsTFI0WmcwdFppQjVKbFg5YnFXR0ZLbHI3K3dSQzlw?=
=?utf-8?B?SjFoQkh6cm5HTnlxZytDaGhXZ1FDNzNsTGI3NzJ1Z1VFSTQrWkI2bHdwZ05M?=
=?utf-8?B?UFIyMWFSeGFaSktiOFhnQzVFNkx4WU5NendyaVMyMjNFZzcrK0J1MmdaVHhR?=
=?utf-8?B?a3c2YlZOTHlxdW5wUGYzNVE2TXhqYnNyeGRKdWcrQnpDUWtVekZ6UkNDWUxj?=
=?utf-8?B?NjhqQXNXdUtjbGR6K2gwRjZsTmMwMmFzS1cwQTBMU1R6NnFLSlQyZUVDZE1R?=
=?utf-8?B?VUJXUWljL0liUUtLU05vV2tkZWZzemc3Uml1RmQ0aGJib3NXaGhMQU80Nnh1?=
=?utf-8?B?WUxtY05GelNnRE9iaU5tTGZCTnh0UG9XVllYZTFjaWIxSFd0eFE0TFJ4R0lv?=
=?utf-8?B?bUNaVFpXS0NVdm5hTUMwQ2dvN3lvWjFVbDJZblJGSVZoSDJhU21zMEF3Q24r?=
=?utf-8?B?TU5HdlpCRllXZ0xjbk5DWVkrZ1E0aFJBbVhpN1BaalpDYnE0T21ubGhTWWYv?=
=?utf-8?B?TVNjRXBiVkpjY0ZXNUVzbFhsSjhIc2dtWFhPZjkvb3JZY3JEOVdNRWJkZ3Bi?=
=?utf-8?B?cVdaSFJRV2pIMUhXZUpyRDZ0UXQ3ajZicE84cm0xbTFIRGhTYzZhOFYxLzRI?=
=?utf-8?B?bXJ4Vmx4RzRGNjRBaExTenJWQTYwS010OGxORER2dUxVQlM2TkJKK0xaVFZQ?=
=?utf-8?B?THdZWitLakpKUjlROE5YUW9qM2dRcndNY2UxTDdxWm91WVFqUXNpVisyOGRB?=
=?utf-8?Q?b3sm6ScoIWgHhUgLkmO2KT2TWgQPco=3D?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5525.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bFc4YUVQUHpKMjVWcTQwdEV2cktaWWp5bmN5NDZLVjQ3VnNzK3FtZFQ5bXYy?=
=?utf-8?B?OGJiYjhuZXRkbHAwckMxanhnYjY4YWRhSGFQb1FXNHZyaXFBdXI3NEJaRGZm?=
=?utf-8?B?TVpSakpRQlhsWGxSTWExT1NJM2x3K2RoczE3anFDd1VzditlVGx1OEVLRFVD?=
=?utf-8?B?TC9LSitxTm0vTzRIb3BYYzVjUkdSZEpxRnkrdDZ6ZFZVMHNoVnRMY0ltckY3?=
=?utf-8?B?VVVpM3Y5QkFMUG94c3FlM2g0b0lVaVVjZ3l6RUVUSUhsT2hiT0MrT3lqSkNE?=
=?utf-8?B?TnJ5eXFtd3hsZWxiaFNlSUlsTS8vakxnVkxqd2IwMWtZdTRRY2xTVXhPREw2?=
=?utf-8?B?TUxuNFQ4N2x3NHVNQVoveVdweSs2Uk1hQWRDdjZzSGdkM1BnVjVPTUUxbzNS?=
=?utf-8?B?U2tHckNiSXJFWjRFeVk4MzAyRksrZWUza1RNUWZqeE9sUVVrb0QvQUkxYWhu?=
=?utf-8?B?RUU1a0JuWndRK0FlTk4ySHpHdjNMWGNESEtOWUIvaE5PVFBwM3BHUDczTnVv?=
=?utf-8?B?dU1vdFBkcGc0RCtndDg4bWxYdDhicWdjWDEwR0tBMkhJVHlZanV5alh4aDVG?=
=?utf-8?B?bnowY1cxTE12SmFQVElwOWxvUWJJQkVvelhhY0pZaWpidGJ0WWhYbFB0STlD?=
=?utf-8?B?L1lBT3pId001bWNzZW0wK2VkUXdvc2dZaVRQb3FPWGV4dXBTa3JkNGpuQ3RK?=
=?utf-8?B?RXBWeUZab0hYeXl0VzJpemFRbnpPZjI1bm11L3grNmZ3ZmhjTEgwa3dlcjBq?=
=?utf-8?B?UnZ1eXdjSnRsRjBYTllJNWp6NVc2UHVIMGNNQ1lJQXNJM21ZU1J1ZDlvWDZO?=
=?utf-8?B?Q1BzcWFOV0poZGQwYTJJU0dKY0lBU3hHeENCWUZCQ0taaW1hVUxDd0dzSWRF?=
=?utf-8?B?ODcrYUNyQVg4ZXUyaU9hNTZWSHNXMStFMVdGdXBYVEhkcEVvVk1EaEkybjU1?=
=?utf-8?B?RWt5U1RGcndsN0pWakVJb3dXMUd5K3FrQlFuWUpiZHVlcXo4WGpwRUg4K3VI?=
=?utf-8?B?VjBieDBDTjZVaU9oNERpVHFjZk84RThTYzJHU3F4dHNteHBBaXJjZzJSbVZp?=
=?utf-8?B?a3VVUEZELy94T2VwSEtHOFBjMG5rMVNOL25mb3dlVzZEcDB2dVRlZFpMRjFh?=
=?utf-8?B?ZjY3QytHSzFIdDZpWDhzc0RVWXJaMlo5QzNjVkhMUEwwaFl6REpFVHhvMSt0?=
=?utf-8?B?NE9RQ3Z4bDhKVHZMakd6NG9YUDFUWVd6K3NxS2pycWlGUkRWWnBBU3JLSjJ0?=
=?utf-8?B?T2JaanJycmRsTWpSRlQ5WUJQcHRXWkZRRWhxMHo1T2F2OWc1ZHk3ZzhqdUha?=
=?utf-8?B?cXVHZkZBNTlxbEVXdDVtaVRKSk1BNk4rMHlCOU9IU0pmWGpMRStLcG5aWFJw?=
=?utf-8?B?Vk5rL1BqcVVtNUF6MExvRVNsN1J5NkUrcUZUR3p6K0EwV2dBc1ZscFlIWThy?=
=?utf-8?B?ZG5ydGlEcWxFWnVUSG4vVjkyNlFFMEE1Q21LcWhMQkJKbkVOb1YxTGtoL1pj?=
=?utf-8?B?cFp0RitLOWFxeXF4ODE4RUtZV0R2U1hPaDdEQy93U3lNTmNpaDFWcUkvS3pK?=
=?utf-8?B?b1p2L1pYbjNZS2l5YzJzMnBoSWFvbExxMWJLNEhCZktSMnM5ODB1bHVtbEVL?=
=?utf-8?B?T1B1Q2JzSjZaM2pWTmVYRENwQ2ZwTkh4ZXVNS1VCZXk4NzI3T0pHSmc4ZFJ2?=
=?utf-8?B?eENWK3RHR09hUEh6dllwM21QSnpyekRuVVo4b1dqakpqaDdmS1RuQU9PMHdl?=
=?utf-8?B?dFUzK3JSZ29ITURGUXphM2svSE5yQ2p5YkE0MEpOZWNOOUlQYW5ZSE55M0dY?=
=?utf-8?B?NTRMakR3anQxZTI5UXhyNVVWUlVwTkRnRk1mV3ZhMWwzNkduYTFzMHFkamtG?=
=?utf-8?B?VTlJY0hQbkVaMGtjbjZTb00zUVZnYlZEL2U3L0FsNU4wd3lWSjEwY0wxUDBu?=
=?utf-8?B?WHVtQVY5N0p6bE9lR0VJTS9QYVBkOW95c3Erc2pJVCtRWWFaK1VBSXd2eE1C?=
=?utf-8?B?NmdKa2dDM3lETzgzc1hDS1NoUWJaS3dHYUpoWHlYaHQ1V0dIeFdsdURzV2lk?=
=?utf-8?B?R0E0cE5JbTFxZ3k4UHpwcXE5Z2FETGNPdGZ1cysvRU50RjlSSWpPTC8vU1Yw?=
=?utf-8?Q?pvHlx7gNefIk4GKHjtMUQnTXL?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B036E45D1F739E408ED9D4014F5E2D06@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5525.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1455a3b-e24a-4851-697b-08dda3bdce9a
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 23:16:16.6362
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /L94ZqxKe3nMxtVpKZEUirlQFQMexkNh+wDvCKgLnd8cMqv7EDoU1u9x2s47jSgnzD0XZdItOv272VwX7Wl1TQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PPF3D6E0544B
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCAyMDI1LTA2LTA0IGF0IDEyOjQ2IC0wNzAwLCBEYXZlIEhhbnNlbiB3cm90ZToNCj4g
T24gNi8zLzI1IDE3OjM4LCBLYWkgSHVhbmcgd3JvdGU6DQo+ID4gQnVpbGQgd2FybmluZ3MgYWJv
dXQgbWlzc2luZyBFTkRCUiBhcm91bmQgbWFraW5nIFNFQU1DQUxMc1sqXSB3ZXJlDQo+ID4gb2Jz
ZXJ2ZWQgd2hlbiB1c2luZyBzb21lIHJhbmRjb25maWdbMV0gdG8gYnVpbGQgdG9kYXkncyBMaW51
cydzIHRyZWUuDQo+IA0KPiBXaGF0IGFjdHVhbGx5IGNhdXNlZCBpdD8gQ09ORklHX0NDX09QVElN
SVpFX0ZPUl9TSVpFPw0KDQpZZXMuICBJIGp1c3QgdmVyaWZpZWQgdGhhdCBidWlsZGluZyB3aXRo
ICItTzIiIGRvZXNuJ3QgaGF2ZSB0aGlzIHdhcm5pbmcgYnV0DQoiLU9zIiBkb2VzLg0KDQpJIHNw
ZW50IGhvdXJzIGJ1dCBkaWRuJ3QgZmlndXJlIHRoaXMgb3V0LiAgU28sIHRoYW5rIHlvdSENCg0K
PiANCj4gPiBJbiB0aGUgQyBjb2RlLCB0aGUgbG93IGxldmVsIFNFQU1DQUxMIGFzc2VtYmx5IGZ1
bmN0aW9ucyAoX19zZWFtY2FsbCgpLA0KPiA+IF9fc2VhbWNhbGxfcmV0KCkgYW5kIF9fc2VhbWNh
bGxfc2F2ZWRfcmV0KCkpIGFyZSBpbmRpcmVjdGx5IGNhbGxlZCB2aWENCj4gPiB0aGUgY29tbW9u
IHNjX3JldHJ5KCkgZnVuY3Rpb246DQo+ID4gDQo+ID4gICAgIHN0YXRpYyBpbmxpbmUgdTY0IHNj
X3JldHJ5KHNjX2Z1bmNfdCBmdW5jLCB1NjQgZm4sDQo+ID4gCQkgICAgCSAgICAgICBzdHJ1Y3Qg
dGR4X21vZHVsZV9hcmdzICphcmdzKQ0KPiA+ICAgICB7IC4uLiB9DQo+ID4gDQo+ID4gICAgICNk
ZWZpbmUgc2VhbWNhbGwoX2ZuLCBfYXJncykgc2NfcmV0cnkoX19zZWFtY2FsbCwgKF9mbiksIChf
YXJncykpDQo+ID4gDQo+ID4gSXQgdHVybnMgb3V0IGNvbXBpbGVycyBtYXkgbm90IGFsd2F5cyBi
ZSBzbWFydCBlbm91Z2ggdG8gZmlndXJlIG91dCBob3cNCj4gPiB0byBjYWxsIHRob3NlIGFzc2Vt
Ymx5IGZ1bmN0aW9ucyBkaXJlY3RseS4NCj4gDQo+IFNvLCByZWFkaW5nIHRoaXMsIGl0IGRpZG4n
dCBxdWl0ZSBjbGljayBpbnRvIG15IGJyYWluIHRoYXQgeW91IHdlcmUNCj4gcmVmZXJyaW5nIHRv
ICJkaXJlY3QgY2FsbCIgYW5kICJpbmRpcmVjdCBjYWxsIiAqaW5zdHJ1Y3Rpb25zKi4NCj4gDQo+
IEkgdGhpbmsgSSBwcm9iYWJseSB3b3VsZCBoYXZlIHRhbGtlZCBhYm91dCAiZnVuY3Rpb24gcG9p
bnRlcnMiIGJlY2F1c2UNCj4gdGhhdCdzIHdoYXQgeW91IGRvIGluIEMuIEEgZnVuY3Rpb24gcG9p
bnRlciBtb3N0bHkgbWVhbnMgYW4gaW5kaXJlY3QNCj4gY2FsbC4gQnV0IG5vdCBhbHdheXMsIGxp
a2Ugd2FzIGludGVuZGVkIGhlcmUuDQoNCkkgd2FzIHRoaW5raW5nIHRoZSBmdW5jdGlvbiBwb2lu
dGVycyBhcmUgcGFzc2VkIGFzIGZ1bmN0aW9uIGFyZ3VtZW50IHdoZW4NCnNjX3JldHJ5KCkgZ2V0
cyBjYWxsZWQsIHNvIG1heWJlIGluIHNvbWUgY2FzZXMgdGhhdCBJIGRvbid0IGtub3cgdGhlDQpj
b21waWxlciBqdXN0IGNhbm5vdCBmaWd1cmUgb3V0IGV4YWN0bHkgd2hhdCB0aG9zZSBmdW5jdGlv
biBwb2ludGVycyBhcmUuDQoNCj4gDQo+ID4gVGhlIGRpc2Fzc2VtYmx5IG9mIHRoZSB2bWxpbnV4
IGJ1aWx0IGZyb20gdGhlIGFmb3JlbWVudGlvbmVkIGNvbmZpZw0KPiA+IGNvbmZpcm1zIHRoYXQg
X19zZWFtY2FsbCooKSBhcmUgaW5kaXJlY3RseSBjYWxsZWQ6DQo+ID4gDQo+ID4gICAgIDxzY19y
ZXRyeT46DQo+ID4gCQkJICAgICAgIC4uLi4uLg0KPiA+IA0KPiA+ICAgICAgICA0YyA4OSBlZSAg
ICAgICAgICAgICAgICBtb3YgICAgJXIxMywlcnNpDQo+ID4gICAgICAgIDRjIDg5IGU3ICAgICAg
ICAgICAgICAgIG1vdiAgICAlcjEyLCVyZGkNCj4gPiAgICAgICAgZTggMzUgOGMgN2QgMDEgICAg
ICAgICAgY2FsbCAgIGZmZmZmZmZmODJiM2UyMjAgPF9fcGlfX194ODZfaW5kaXJlY3RfdGh1bmtf
cmJwPg0KPiA+ICAgICAgICA0YyAzOSBmMCAgICAgICAgICAgICAgICBjbXAgICAgJXIxNCwlcmF4
DQo+ID4gDQo+ID4gSW4gdGhpcyBjYXNlIEVOREJSIGlzIG5lZWRlZCBhdCB0aGUgYmVnaW5uaW5n
IG9mIF9fc2VhbWNhbGwqKCkuDQo+ID4gDQo+ID4gQ2hhbmdlIFNZTV9GVU5DX1NUQVJUKCkgdG8g
U1lNX1RZUEVEX0ZVTkNfU1RBUlQoKSBmb3IgX19zZWFtY2FsbCooKSB0bw0KPiA+IGFkZCBFTkRC
UiB0byB0aGVtLg0KPiANCj4gLi4uIGFuZCB3aHkgaXMgdGhpcz8gSG93IGRvIHdlIGtub3cgdGhp
cyBpcyB0aGUgY29ycmVjdCBmaXg/IFNob3cgeW91cg0KPiB3b3JrLCBwbGVhc2UuDQoNCkkgZG9u
J3Qga25vdyBkZXRhaWxzIG9mIGhvdyBDRkkgd29ya3MsIGJ1dCBteSB1bmRlcnN0YW5kaW5nIGlz
DQpTWU1fVFlQRURfRlVOQ19TVEFSVCgpIGlzIHRoZSBzdGFuZGFyZCBvbmUgZm9yIGluZGlyZWN0
bHkgY2FsbGVkIGdsb2JhbHMNCndpdGggQ0ZJIGhhbmRsZWQ6DQoNCjxhc20vbGlua2FnZS5oPjoN
Cg0KLyogU1lNX1RZUEVEX0ZVTkNfU1RBUlQgLS0gdXNlIGZvciBpbmRpcmVjdGx5IGNhbGxlZCBn
bG9iYWxzLCB3LyBDRkkgdHlwZSAqLw0KI2RlZmluZSBTWU1fVFlQRURfRlVOQ19TVEFSVChuYW1l
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgDQogICAgICAgIFNZTV9U
WVBFRF9TVEFSVChuYW1lLCBTWU1fTF9HTE9CQUwsIFNZTV9GX0FMSUdOKSAgICAgICAgXCAgICAg
ICAgICANCiAgICAgICAgRU5EQlINCg0KQW5kIHRoZSBTWU1fVFlQRURfU1RBUlQoKSBoYW5kbGVz
IENGSSBmb3IgQ0xBTkc6DQoNCi4uLg0KI2RlZmluZSBfX0NGSV9UWVBFKG5hbWUpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAgICAgU1lNX1NUQVJUKF9fY2Zp
XyMjbmFtZSwgU1lNX0xfTE9DQUwsIFNZTV9BX05PTkUpICAgICAgICBcDQogICAgICAgIENGSV9Q
UkVfUEFERElORyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAg
ICAgICAuYnl0ZSAweGI4IEFTTV9OTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwNCiAgICAgICAgLmxvbmcgX19rY2ZpX3R5cGVpZF8jI25hbWUgQVNNX05MICAgICAgICAg
ICAgICAgICAgICAgICBcDQogICAgICAgIENGSV9QT1NUX1BBRERJTkcgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXA0KICAgICAgICBTWU1fRlVOQ19FTkQoX19jZmlfIyNu
YW1lKQ0KDQouLi4NCg0KPGxpbnV4L2NmaV90eXBlcy5oPjoNCg0KLi4uDQoNCiNkZWZpbmUgU1lN
X1RZUEVEX0VOVFJZKG5hbWUsIGxpbmthZ2UsIGFsaWduLi4uKSAgICAgICAgXCAgICAgICAgICAg
ICAgICAgIA0KICAgICAgICBsaW5rYWdlKG5hbWUpIEFTTV9OTCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcICAgICAgICAgICAgICAgICAgDQogICAgICAgIGFsaWduIEFTTV9OTCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgICAgICAgICANCiAgICAgICAg
X19DRklfVFlQRShuYW1lKSBBU01fTkwgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAg
ICAgICAgICAgIA0KICAgICAgICBuYW1lOg0KDQojZGVmaW5lIFNZTV9UWVBFRF9TVEFSVChuYW1l
LCBsaW5rYWdlLCBhbGlnbi4uLikgICAgICAgIFwNCiAgICAgICAgU1lNX1RZUEVEX0VOVFJZKG5h
bWUsIGxpbmthZ2UsIGFsaWduKQ0KDQouLi4NCg0KVGhlIEVOREJSIHJpZ2h0IGFmdGVyICJTWU1f
VFlQRURfU1RBUlQoKSIgaXMgZm9yIElCVCAod2hpY2ggSUlVQyBpcw0KaW5kZXBlbmRlbnQgdG8g
Q0ZJIENMQU5HIGFzIHlvdSBtZW50aW9uZWQgYmVsb3cpLg0KDQpCdXQgSSBjb25mZXNzIEkgZG9u
J3Qga25vdyBkZXRhaWxzIGFib3V0IENGSSBzbyBwZXJoYXBzIFBldGVyIGNvdWxkIGhlbHAgdG8N
CmNvbmZpcm0/DQoNCg0KPiANCj4gPiBXaGVuIHRoZSBjb21waWxlciBjYW4gZ2VuZXJhdGUgZGly
ZWN0IGNhbGwgZm9yIF9fc2VhbWNhbGwqKCksIHRoZQ0KPiA+IGFkZGl0aW9uYWwgRU5EQlIgaXMg
c2FmZSBzaW5jZSBpdCBoYXMgbm8gaW1wYWN0IHRvIGRpcmVjdGx5IGNhbGxlZA0KPiA+IGZ1bmN0
aW9ucy4NCj4gDQo+IFJpZ2h0LiBEaXJlY3QgY2FsbHMgYXJlIGFsd2F5cyBPSy4gSW5kaXJlY3Qg
Y2FsbCB0YXJnZXRzIG5lZWQgdG8gYmUNCj4gaGFuZGxlZCBzcGVjaWFsbHkuDQo+IA0KPiA+IFdo
ZW4ga2VybmVsIElCVCB3YXMgYWRkZWQgdG8gdGhlIGtlcm5lbCwgaW5pdGlhbGx5IHRoZSBTWU1f
RlVOQ19TVEFSVCgpDQo+ID4gaGFkIHRoZSBFTkRCUiBhZGRlZCBpbiBjb21taXQNCj4gPiANCj4g
PiAgIGM0NjkxNzEyYjU0NiAoIng4Ni9saW5rYWdlOiBBZGQgRU5EQlIgdG8gU1lNX0ZVTkNfU1RB
UlQqKCkiKQ0KPiA+IA0KPiA+IEhvd2V2ZXIgd2hlbiB0aGUgY29tbWl0DQo+ID4gDQo+ID4gICA1
ODIwNzdjOTQwNTIgKCJ4ODYvY2ZpOiBDbGVhbiB1cCBsaW5rYWdlIikNCj4gPiANCj4gPiByZW1v
dmVkIHRoZSBFTkRCUiBmcm9tIHRoZSBTWU1fRlVOQ19TVEFSVCgpIGFuZCBhZGRlZCBpdCB0byB0
aGUNCj4gPiBTWU1fVFlQRURfRlVOQ19TVEFSVCgpLCBpdCBkaWRuJ3QgdG91Y2ggdGhlIFNFQU1D
QUxMIGFzc2VtYmx5Lg0KPiANCj4gSSdtIG5vdCBzdXJlIHdoeSB3ZSBuZWVkIHRoZSBoaXN0b3J5
IGxlc3NvbiBoZXJlLg0KDQpJIGRpZyB0aGUgaGlzdG9yeSBtYWlubHkgYmVjYXVzZSBJIHRob3Vn
aHQgd2UgbWlnaHQgbmVlZCBhICJGaXhlcyIgdGFnLg0KDQpBbmQgSSB0aGVuIGNvbmNsdWRlIHRo
ZSBjb21taXQgNTgyMDc3Yzk0MDUyICgieDg2L2NmaTogQ2xlYW4gdXAgbGlua2FnZSIpDQpzZWVt
cyB0byBiZSB0aGUgb25lIGJyb2tlIGl0LiAgU28gdG8ganVzdGlmeSB0aGUgRml4ZXMgdGFnLCBJ
IGFkZGVkIHRoZQ0KaGlzdG9yeSBoZXJlLg0KDQo+IA0KPiA+IFsqXSBBZm9yZW1lbnRpb25lZCBi
dWlsZCB3YXJuaW5nOg0KPiA+IA0KPiA+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDogdHJ5
X2luaXRfbW9kdWxlX2dsb2JhbCsweDVkOiByZWxvY2F0aW9uIHRvICFFTkRCUjogX19zZWFtY2Fs
bCsweDANCj4gPiB2bWxpbnV4Lm86IHdhcm5pbmc6IG9ianRvb2w6IHJlYWRfc3lzX21ldGFkYXRh
X2ZpZWxkKzB4NGE6IHJlbG9jYXRpb24gdG8gIUVOREJSOiBfX3NlYW1jYWxsX3JldCsweDANCj4g
PiB2bWxpbnV4Lm86IHdhcm5pbmc6IG9ianRvb2w6IGRvX2dsb2JhbF9rZXlfY29uZmlnKzB4MzY6
IHJlbG9jYXRpb24gdG8gIUVOREJSOiBfX3NlYW1jYWxsKzB4MA0KPiA+IHZtbGludXgubzogd2Fy
bmluZzogb2JqdG9vbDogdGRoX3BoeW1lbV9wYWdlX3JlY2xhaW0rMHg3MTogcmVsb2NhdGlvbiB0
byAhRU5EQlI6IF9fc2VhbWNhbGxfcmV0KzB4MA0KPiA+IHZtbGludXgubzogd2FybmluZzogb2Jq
dG9vbDogdGRoX3BoeW1lbV9jYWNoZV93YisweDQxOiByZWxvY2F0aW9uIHRvICFFTkRCUjogX19z
ZWFtY2FsbCsweDANCj4gPiB2bWxpbnV4Lm86IHdhcm5pbmc6IG9ianRvb2w6IHRkaF9waHltZW1f
cGFnZV93YmludmRfdGRyKzB4OTU6IHJlbG9jYXRpb24gdG8gIUVOREJSOiBfX3NlYW1jYWxsKzB4
MA0KPiA+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDogdGR4X2NwdV9lbmFibGUrMHg3Yjog
cmVsb2NhdGlvbiB0byAhRU5EQlI6IF9fc2VhbWNhbGwrMHgwDQo+ID4gdm1saW51eC5vOiB3YXJu
aW5nOiBvYmp0b29sOiBpbml0X3RkbXIrMHg1OTogcmVsb2NhdGlvbiB0byAhRU5EQlI6IF9fc2Vh
bWNhbGxfcmV0KzB4MA0KPiA+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDogY29uZmlnX3Rk
eF9tb2R1bGUuY29uc3Rwcm9wLjArMHgxOWQ6IHJlbG9jYXRpb24gdG8gIUVOREJSOiBfX3NlYW1j
YWxsKzB4MA0KPiA+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDogdGRoX3ZwX2FkZGN4KzB4
OTE6IHJlbG9jYXRpb24gdG8gIUVOREJSOiBfX3NlYW1jYWxsKzB4MA0KPiA+IHZtbGludXgubzog
d2FybmluZzogb2JqdG9vbDogdGRoX3ZwX2luaXQrMHg3NjogcmVsb2NhdGlvbiB0byAhRU5EQlI6
IF9fc2VhbWNhbGwrMHgwDQo+ID4gdm1saW51eC5vOiB3YXJuaW5nOiBvYmp0b29sOiB0ZGhfdnBf
d3IrMHg4NzogcmVsb2NhdGlvbiB0byAhRU5EQlI6IF9fc2VhbWNhbGwrMHgwDQo+ID4gdm1saW51
eC5vOiB3YXJuaW5nOiBvYmp0b29sOiB0ZGhfdnBfcmQrMHg2ZDogcmVsb2NhdGlvbiB0byAhRU5E
QlI6IF9fc2VhbWNhbGxfcmV0KzB4MA0KPiA+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDog
dGRoX3ZwX2ZsdXNoKzB4NGM6IHJlbG9jYXRpb24gdG8gIUVOREJSOiBfX3NlYW1jYWxsKzB4MA0K
PiA+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDogdGRoX3ZwX2NyZWF0ZSsweDg1OiByZWxv
Y2F0aW9uIHRvICFFTkRCUjogX19zZWFtY2FsbCsweDANCj4gPiB2bWxpbnV4Lm86IHdhcm5pbmc6
IG9ianRvb2w6IHRkaF9tbmdfY3JlYXRlKzB4NzM6IHJlbG9jYXRpb24gdG8gIUVOREJSOiBfX3Nl
YW1jYWxsKzB4MA0KPiA+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDogdGRoX21lbV9wYWdl
X2F1ZysweGI0OiByZWxvY2F0aW9uIHRvICFFTkRCUjogX19zZWFtY2FsbF9yZXQrMHgwDQo+ID4g
dm1saW51eC5vOiB3YXJuaW5nOiBvYmp0b29sOiB0ZGhfbWVtX3NlcHRfYWRkKzB4YjQ6IHJlbG9j
YXRpb24gdG8gIUVOREJSOiBfX3NlYW1jYWxsX3JldCsweDANCj4gPiB2bWxpbnV4Lm86IHdhcm5p
bmc6IG9ianRvb2w6IHRkaF9tZW1fcGFnZV9hZGQrMHhjZTogcmVsb2NhdGlvbiB0byAhRU5EQlI6
IF9fc2VhbWNhbGxfcmV0KzB4MA0KPiA+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDogdGRo
X21uZ19hZGRjeCsweDkxOiByZWxvY2F0aW9uIHRvICFFTkRCUjogX19zZWFtY2FsbCsweDANCj4g
PiB2bWxpbnV4Lm86IHdhcm5pbmc6IG9ianRvb2w6IHRkaF9tZW1fcGFnZV9yZW1vdmUrMHg3ZTog
cmVsb2NhdGlvbiB0byAhRU5EQlI6IF9fc2VhbWNhbGxfcmV0KzB4MA0KPiA+IHZtbGludXgubzog
d2FybmluZzogb2JqdG9vbDogdGRoX21lbV90cmFjaysweDRjOiByZWxvY2F0aW9uIHRvICFFTkRC
UjogX19zZWFtY2FsbCsweDANCj4gPiB2bWxpbnV4Lm86IHdhcm5pbmc6IG9ianRvb2w6IHRkaF9t
bmdfaW5pdCsweDZkOiByZWxvY2F0aW9uIHRvICFFTkRCUjogX19zZWFtY2FsbF9yZXQrMHgwDQo+
ID4gdm1saW51eC5vOiB3YXJuaW5nOiBvYmp0b29sOiB0ZGhfbW5nX2tleV9mcmVlaWQrMHg0Yzog
cmVsb2NhdGlvbiB0byAhRU5EQlI6IF9fc2VhbWNhbGwrMHgwDQo+ID4gdm1saW51eC5vOiB3YXJu
aW5nOiBvYmp0b29sOiB0ZGhfbW5nX3ZwZmx1c2hkb25lKzB4NGM6IHJlbG9jYXRpb24gdG8gIUVO
REJSOiBfX3NlYW1jYWxsKzB4MA0KPiA+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDogdGRo
X21yX2ZpbmFsaXplKzB4NGM6IHJlbG9jYXRpb24gdG8gIUVOREJSOiBfX3NlYW1jYWxsKzB4MA0K
PiA+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDogdGRoX21yX2V4dGVuZCsweDc3OiByZWxv
Y2F0aW9uIHRvICFFTkRCUjogX19zZWFtY2FsbF9yZXQrMHgwDQo+ID4gdm1saW51eC5vOiB3YXJu
aW5nOiBvYmp0b29sOiB0ZGhfbW5nX3JkKzB4NmQ6IHJlbG9jYXRpb24gdG8gIUVOREJSOiBfX3Nl
YW1jYWxsX3JldCsweDANCj4gPiB2bWxpbnV4Lm86IHdhcm5pbmc6IG9ianRvb2w6IHRkaF9tbmdf
a2V5X2NvbmZpZysweDRjOiByZWxvY2F0aW9uIHRvICFFTkRCUjogX19zZWFtY2FsbCsweDANCj4g
PiB2bWxpbnV4Lm86IHdhcm5pbmc6IG9ianRvb2w6IHRkaF9tZW1fcmFuZ2VfYmxvY2srMHg3ZTog
cmVsb2NhdGlvbiB0byAhRU5EQlI6IF9fc2VhbWNhbGxfcmV0KzB4MA0KPiA+IHZtbGludXgubzog
d2FybmluZzogb2JqdG9vbDogdGRoX3BoeW1lbV9wYWdlX3diaW52ZF9oa2lkKzB4N2Q6IHJlbG9j
YXRpb24gdG8gIUVOREJSOiBfX3NlYW1jYWxsKzB4MA0KPiANCj4gT25lIG9yIHR3byBvZiB0aG9z
ZSB3b3VsZCBoYXZlIHN1ZmZpY2VkLi4uDQoNCldpbGwga2VlcCB0aGlzIGluIG1pbmQuICBUaGFu
a3MuDQoNCj4gDQo+ID4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L3ZpcnQvdm14L3RkeC9zZWFtY2Fs
bC5TIGIvYXJjaC94ODYvdmlydC92bXgvdGR4L3NlYW1jYWxsLlMNCj4gPiBpbmRleCA2ODU0YzUy
YzM3NGIuLjYzNzIyNmFlOTM1ZCAxMDA2NDQNCj4gPiAtLS0gYS9hcmNoL3g4Ni92aXJ0L3ZteC90
ZHgvc2VhbWNhbGwuUw0KPiA+ICsrKyBiL2FyY2gveDg2L3ZpcnQvdm14L3RkeC9zZWFtY2FsbC5T
DQo+ID4gQEAgLTEsNSArMSw2IEBADQo+ID4gIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH
UEwtMi4wICovDQo+ID4gICNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+DQo+ID4gKyNpbmNsdWRl
IDxsaW51eC9jZmlfdHlwZXMuaD4NCj4gPiAgI2luY2x1ZGUgPGFzbS9mcmFtZS5oPg0KPiA+ICAN
Cj4gPiAgI2luY2x1ZGUgInRkeGNhbGwuUyINCj4gPiBAQCAtMTgsNyArMTksNyBAQA0KPiA+ICAg
KiBSZXR1cm4gKHZpYSBSQVgpIFREWF9TRUFNQ0FMTF9WTUZBSUxJTlZBTElEIGlmIHRoZSBTRUFN
Q0FMTCBpdHNlbGYNCj4gPiAgICogZmFpbHMsIG9yIHRoZSBjb21wbGV0aW9uIHN0YXR1cyBvZiB0
aGUgU0VBTUNBTEwgbGVhZiBmdW5jdGlvbi4NCj4gPiAgICovDQo+ID4gLVNZTV9GVU5DX1NUQVJU
KF9fc2VhbWNhbGwpDQo+ID4gK1NZTV9UWVBFRF9GVU5DX1NUQVJUKF9fc2VhbWNhbGwpDQo+ID4g
IAlURFhfTU9EVUxFX0NBTEwgaG9zdD0xDQo+ID4gIFNZTV9GVU5DX0VORChfX3NlYW1jYWxsKQ0K
PiBQZXJzb25hbGx5LCBJJ2QgYWRkIGEgX2JpdF8gdG8gdGhlc2UgY29tbWVudHMgdG8gbWVudGlv
biB0aGF0IHRoZXNlDQo+IGZ1bmN0aW9ucyBjYW4gYmUgY2FsbGVkIHZpYSBhbiBpbmRpcmVjdCBj
YWxsLg0KDQpUaGVyZSBhcmUgdGhyZWUgY29tbWVudHMgc2luY2Ugd2UgaGF2ZSB0aHJlZSBoZWxw
ZXJzLg0KDQpJIGFtIG5vdCBzdXJlIGR1cGxpY2F0aW5nIHRoZSAiaW5kaXJlY3QgY2FsbCIgaW4g
dGhvc2UgdGhyZWUgY29tbWVudHMgaXMNCmdvb2QgaWRlYT8gIE9yIHBlcmhhcHMgd2UgY2FuIGp1
c3QgYWRkIGFuIG92ZXJhbGwgY29tbWVudCBhdCB0aGUgYmVnaW5uaW5nDQpvZiB0aG9zZSB0aHJl
ZSBoZWxwZXJzIGxpa2UgYmVsb3c/DQoNCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni92aXJ0L3ZteC90
ZHgvc2VhbWNhbGwuUw0KYi9hcmNoL3g4Ni92aXJ0L3ZteC90ZHgvc2VhbWNhbGwuUw0KaW5kZXgg
Njg1NGM1MmMzNzRiLi5hNzhlNDZlYzRhMTIgMTAwNjQ0DQotLS0gYS9hcmNoL3g4Ni92aXJ0L3Zt
eC90ZHgvc2VhbWNhbGwuUw0KKysrIGIvYXJjaC94ODYvdmlydC92bXgvdGR4L3NlYW1jYWxsLlMN
CkBAIC00LDYgKzQsMTEgQEANCiANCiAjaW5jbHVkZSAidGR4Y2FsbC5TIg0KIA0KKy8qDQorICog
VXNlIFNZTV9UWVBFRF9GVU5DX1NUQVJUKCkgZm9yIHRob3NlIGZ1bmN0aW9ucyBzaW5jZSB0aGV5
IGNhbiBiZQ0KKyAqIGNhbGxlZCB2aWEgYW4gaW5kaXJlY3QgY2FsbC4NCisgKi8NCisNCiAvKg0K
ICAqIF9fc2VhbWNhbGwoKSAtIEhvc3Qtc2lkZSBpbnRlcmZhY2UgZnVuY3Rpb25zIHRvIFNFQU0g
c29mdHdhcmUNCiAgKiAodGhlIFAtU0VBTUxEUiBvciB0aGUgVERYIG1vZHVsZSkuDQoNCg0KPiAN
Cj4gQ2lyY2xpbmcgYmFjayBhcm91bmQgbm93IHRoYXQgSSd2ZSBkaXZpbmVkIG91dCB3aGF0IGlz
IGhhcHBlbmluZyBoZXJlLi4uDQo+IElzIHRoaXMgZXZlbiByZWFsbHkgYWJvdXQgRU5EQlIgYXQg
YWxsPyBJIHRob3VnaHQgdGhhdCBjbGFuZyBoYXMgc29tZQ0KPiBDRkkgY2hlY2tpbmcgdGhhdCdz
IGNvbXBsZXRlbHkgaW5kZXBlbmRlbnQgZnJvbSBDRVQvSUJUIGFuZCB0aHVzIEVOREJSLg0KPiBX
b3VsZG4ndCB0aGlzIGFsc28gYnJlYWsgd2l0aCB0aGF0Pw0KDQpJdCBkb2Vzbid0IHNlZW0gdGhp
cyB3b3VsZCBicmVhayBhbnl0aGluZyB0byBtZSwgYXMgcmVwbGllZCBhYm92ZS4NCg0KQnV0IGl0
IHdvdWxkIGJlIGdyZWF0IGlmIFBldGVyIGNhbiBqdW1wIGluIHRvIGNvbmZpcm0uDQoNCj4gDQo+
IEF0IHRoZSByaXNrIG9mIGdpdmluZyBhIG1hbiBhIGZpc2guLi7CoA0KPiANCg0KVGhhbmtzIGZv
ciB0aGUgZmlzaC4gOi0pDQoNCj4gSXNuJ3QgdGhpcyBhIG11Y2ggbW9yZSBjb2hlcmVudA0KPiBj
aGFuZ2Vsb2cgYXQgYWJvdXQgMS80IHRoZSBzaXplPw0KDQpZZXMgaXQncyBtb3JlIGNvbmNpc2Uu
ICBJJ2xsIHVzZSBpdCBpbiBuZXh0IHZlcnNpb24uDQoNCkNvdWxkIHlvdSBhbHNvIGxldCBtZSBr
bm93IHdoZXRoZXIgSSBzaG91bGQga2VlcCB0aGUgRml4ZXMgdGFnLCBhbmQgdGhlDQpoaXN0b3J5
IGluIHRoZSBjaGFuZ2Vsb2c/DQoNClRoYW5rcy4NCg0KPiANCj4gLS0NCj4gDQo+IFN1YmplY3Q6
IHg4Ni92aXJ0L3RkeDogQW5ub3RhdGUgVERYIGFzc2VtYmx5IHRvIGFsbG93IGluZGlyZWN0IGNh
bGxzDQo+IA0KPiBBIFREWCBoZWxwZXIgZnVuY3Rpb24gKHNjX3JldHJ5KCkpIHBhc3NlcyBhcm91
bmQgZnVuY3Rpb24gcG9pbnRlcnMgdG8NCj4gYXNzZW1ibHkgZnVuY3Rpb25zLiBOb3JtYWxseSwg
dGhlIGNvbXBpbGVyIHJlYWxpemVzIHRoYXQgdGhlIGZ1bmN0aW9uDQo+IHBvaW50ZXIgdGFyZ2V0
cyBhcmUgY29tcGxldGVseSBzdGF0aWMsIGNhbiBiZSByZXNvbHZlZCBhdCBjb21waWxlIHRpbWUs
DQo+IGFuZCBnZW5lcmF0ZXMgZGlyZWN0IGNhbGwgaW5zdHJ1Y3Rpb25zLg0KPiANCj4gQnV0LCBv
dGhlciB0aW1lcyAobGlrZSB3aGVuIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15KSwgdGhl
IGNvbXBpbGVyDQo+IHdpbGwgaW5zdGVhZCBnZW5lcmF0ZSBpbmRpcmVjdCBjYWxsIGluc3RydWN0
aW9ucy4NCj4gDQo+IEluZGlyZWN0IGNhbGxzIHRvIGFzc2VtYmx5IGZ1bmN0aW9ucyByZXF1aXJl
IHNwZWNpYWwgYW5ub3RhdGlvbiBzbyB0aGF0DQo+IGJvdGggaGFyZHdhcmUgYW5kIHNvZnR3YXJl
IGltcGxlbWVudGF0aW9ucyBvZiBDb250cm9sIEZsb3cgSW50ZWdyaXR5DQo+IG1lY2hhbmlzbXMg
Y2FuIHdvcmsgY29ycmVjdGx5Lg0KPiANCj4gVGhlIFREWCBmdW5jdGlvbnMgYXJlIGRlY2xhcmVk
IGFzIGlmIHRoZXkgYXJlIG9ubHkgY2FsbGVkIGRpcmVjdGx5ICh2aWENCj4gU1lNX0ZVTkNfU1RB
UlQpLiBNb3ZlIHRoZW0gb3ZlciB0byBhbm90aGVyIG1hY3JvIChTWU1fVFlQRURfRlVOQ19TVEFS
VCkNCj4gd2hpY2ggd2lsbCBhbm5vdGF0ZSB0aGVtIGFzIGJlaW5nIGNhbGxlZCBpbmRpcmVjdGx5
IChzZWUNCj4gaW5jbHVkZS9saW51eC9jZmlfdHlwZXMuaCkuDQo+IA0KPiBUaGlzIHdhcyBmb3Vu
ZCB0aHJvdWdoIHJhbmRjb25maWcgdGVzdGluZywgcHJlc3VtYWJseSBzZXR0aW5nDQo+IENPTkZJ
R19DQ19PUFRJTUlaRV9GT1JfU0laRT0xIHdoZW4gb2JqdG9vbCBzcGV3ZWQgYSBidW5jaCBvZiB0
aGVzZToNCj4gDQo+IHZtbGludXgubzogd2FybmluZzogb2JqdG9vbDogdGRoX21lbV9yYW5nZV9i
bG9jaysweDdlOiByZWxvY2F0aW9uIHRvDQo+ICFFTkRCUjogX19zZWFtY2FsbF9yZXQrMHgwDQo+
IA0KDQoNCg==


Return-Path: <linux-kernel+bounces-673880-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6817241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:17:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 154F21669DD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:17:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9237326B95B;
Wed, 4 Jun 2025 23:17:45 +0000 (UTC)
Received: from finn.localdomain (finn.gateworks.com [108.161.129.64])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC1DF49659;
Wed, 4 Jun 2025 23:17:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=108.161.129.64
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749079065; cv=none; b=bfG7oZpcb6VXvmYw+c6kEd2TFjHR10WuKK4ETdFX95ZPbObTOZqia/bEZTGj8ZaPQoarQXeHWqZsjOmPjTHKyzAX5gsHIuZxpmSDHpH7NQroSECw2Ao6ehwUIHYvBrzedEBY8+fZ+GGH3eNmjiDnHWVtaIRjbx97U3KFHYr2Y28=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749079065; c=relaxed/simple;
bh=pM8CmrLz/FFL/2U/C4cXcKjLVMqnJpnjvoUhceHqFmM=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=d2ocm7A1c1M5Npct1CcIRGO1gxicham5u8aYUptlhGiMf6esQ1Gvnyba04lM1ck6vZAiMG0597NcChwwBxe+FUTnGsV7n76tAFRhe3/5sVlYYbRSjxlYLkuhWak5vZ04hsGScINugtsVu84Y/FY1sRiRhIi6+1rifq9ET17JDPI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com; spf=pass smtp.mailfrom=gateworks.com; arc=none smtp.client-ip=108.161.129.64
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gateworks.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gateworks.com
Received: from syn-068-189-091-139.biz.spectrum.com ([68.189.91.139] helo=tharvey.pdc.gateworks.com)
by finn.localdomain with esmtp (Exim 4.95)
(envelope-from <tharvey@xxxxxxxxxxxxx>)
id 1uMwwC-007Xnc-DK;
Wed, 04 Jun 2025 22:50:24 +0000
From: Tim Harvey <tharvey@xxxxxxxxxxxxx>
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
Cc: imx@xxxxxxxxxxxxxxx,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>,
Tim Harvey <tharvey@xxxxxxxxxxxxx>
Subject: [PATCH] arm64: dts: imx8mp-venice-gw74xx: update name of M2SKT_WDIS2# gpio
Date: Wed, 4 Jun 2025 15:50:22 -0700
Message-Id: <20250604225022.1429093-1-tharvey@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The GW74xx D revision has added a M2SKT_WDIS2# GPIO which routes to the
W_DISABLE2# pin of the M.2 socket. Update the gpio name for consistency.

Fixes: 6a5d95b06d93 ("arm64: dts: imx8mp-venice-gw74xx: add M2SKT_GPIO10 gpio configuration")
Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx>
---
v2: update commit log to clarify we are just renaming a gpio
---
arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
index 6daa2313f879..f00099f0cd4e 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
@@ -301,7 +301,7 @@ &gpio2 {
&gpio3 {
gpio-line-names =
"", "", "", "", "", "", "m2_rst", "",
- "", "", "", "", "", "", "m2_gpio10", "",
+ "", "", "", "", "", "", "m2_wdis2#", "",
"", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "";
};
@@ -310,7 +310,7 @@ &gpio4 {
gpio-line-names =
"", "", "m2_off#", "", "", "", "", "",
"", "", "", "", "", "", "", "",
- "", "", "m2_wdis#", "", "", "", "", "",
+ "", "", "m2_wdis1#", "", "", "", "", "",
"", "", "", "", "", "", "", "rs485_en";
};

@@ -811,14 +811,14 @@ pinctrl_hog: hoggrp {
MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x40000040 /* DIO0 */
MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11 0x40000040 /* DIO1 */
MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x40000040 /* M2SKT_OFF# */
- MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x40000150 /* M2SKT_WDIS# */
+ MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x40000150 /* M2SKT_WDIS1# */
MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x40000040 /* M2SKT_PIN20 */
MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x40000040 /* M2SKT_PIN22 */
MX8MP_IOMUXC_SD2_CLK__GPIO2_IO13 0x40000150 /* PCIE1_WDIS# */
MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14 0x40000150 /* PCIE3_WDIS# */
MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18 0x40000150 /* PCIE2_WDIS# */
MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06 0x40000040 /* M2SKT_RST# */
- MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x40000040 /* M2SKT_GPIO10 */
+ MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x40000150 /* M2KST_WDIS2# */
MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01 0x40000104 /* UART_TERM */
MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31 0x40000104 /* UART_RS485 */
MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00 0x40000104 /* UART_HALF */
--
2.25.1



Return-Path: <linux-kernel+bounces-673881-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6A5F941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:19:47 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1BE3618937F7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:20:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5EF702701DC;
Wed, 4 Jun 2025 23:19:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="RMKiTRxs"
Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 281D3224AF2;
Wed, 4 Jun 2025 23:19:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749079175; cv=none; b=P7DeGoCnGAxagX6NUsKL4aQnBf06AMNewA2Ep6z1kDtiKu7rgLyn1mMguPm/tjcpvukK8RPVUMYEW2mQiWEIZTWvCnDtZBuQKL1Iu13pdUEIam7eaRr3tWBr0zPaX5i3AySMECsmtOhnLbIlQER3AieBWowUzGMFjrCjDDEjZDQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749079175; c=relaxed/simple;
bh=mTRCvc258jkudvZvomecwN9xV5gLl5CSYCwEsxmMdMM=;
h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References:
Content-Type:MIME-Version; b=BCceDa4jlYrQ2bYa40Rxe3QiHvoPtL2sfqZVE2sM0nf40ooQewm1hU4a+QoXw252xjjdKpBofK2wa8jHvSI+fgbF2+AIeF39RcKYaGZ04F01lWSufDEdyhVbZJDKj5+d3X8Bd8eeAjKj/IWoSoVZjRX+f+Eu8K7JRlDCeRPVN5w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=RMKiTRxs; arc=none smtp.client-ip=148.251.105.195
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
s=mail; t=1749079170;
bh=mTRCvc258jkudvZvomecwN9xV5gLl5CSYCwEsxmMdMM=;
h=Subject:From:To:Cc:Date:In-Reply-To:References:From;
b=RMKiTRxsYuw/7GqgTwTKf2FGIC6xn9hC8jXJpdjWoeRNyZzpy4VWbA/EGF6h9TTMb
Ul+bq6Aawq37SBSD1Yod370/JmRXw4XG4Vrphip81LTQXi9DpeqgfcK0A/QDN/Il9x
RUy/nogkNeFbkdbEdJPxVRMc+i52pMEqKqSDVZdjCUxgAnpKNZvH58LKmVKuu3CnZX
8Nf3viuXiISMThnhBHtAjVtDpocVI1FdVA4EKYuMO3n3pNYY0dmdjth3ekn8jmiKwf
hT4bxc6zKtZ/XvocozUJb3CKLRlt7AL5/nbXjy/A6s/j9bsybJ+br7aw7sa9QTIRvt
RJdqC61qIuGxg==
Received: from [IPv6:2606:6d00:10:5285::c41] (unknown [IPv6:2606:6d00:10:5285::c41])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
(Authenticated sender: nicolas)
by bali.collaboradmins.com (Postfix) with ESMTPSA id B824F17E0C87;
Thu, 5 Jun 2025 01:19:28 +0200 (CEST)
Message-ID: <1ccaaec7f782afc71bae5c3b0f60a786a907555c.camel@xxxxxxxxxxxxx>
Subject: Re: [PATCH v3 1/5] media: mc: add manual request completion
From: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
To: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>, Mauro Carvalho
Chehab <mchehab@xxxxxxxxxx>, Hans Verkuil <hverkuil@xxxxxxxxx>, Tiffany Lin
<tiffany.lin@xxxxxxxxxxxx>, Andrew-CT Chen <andrew-ct.chen@xxxxxxxxxxxx>,
Yunfei Dong <yunfei.dong@xxxxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-mediatek@xxxxxxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxx, linux-media@xxxxxxxxxxxxxxx, Sebastian Fricke
<sebastian.fricke@xxxxxxxxxxxxx>
Date: Wed, 04 Jun 2025 19:19:27 -0400
In-Reply-To: <aEC05991kEIIifDB@kekkonen.localdomain>
References:
<20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-0-603db4749d90@xxxxxxxxxxxxx>
<20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-1-603db4749d90@xxxxxxxxxxxxx>
<aEC05991kEIIifDB@kekkonen.localdomain>
Organization: Collabora Canada
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.56.2 (3.56.2-1.fc42)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Le mercredi 04 juin 2025 à 21:04 +0000, Sakari Ailus a écrit :
> Hi Nicolas,
>
> Thanks for the update.
>
> On Wed, Jun 04, 2025 at 04:09:35PM -0400, Nicolas Dufresne wrote:
> > From: Hans Verkuil <hverkuil@xxxxxxxxx>
> >
> > By default when the last request object is completed, the whole
> > request completes as well.
> >
> > But sometimes you want to delay this completion to an arbitrary point in
> > time so add a manual complete mode for this.
> >
> > In req_queue the driver marks the request for manual completion by
> > calling media_request_mark_manual_completion, and when the driver
> > wants to manually complete the request it calls
> > media_request_manual_complete().
> >
> > Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> > Signed-off-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> > ---
> >  drivers/media/mc/mc-request.c | 38 ++++++++++++++++++++++++++++++++++++--
> >  include/media/media-request.h | 38 +++++++++++++++++++++++++++++++++++++-
> >  2 files changed, 73 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/media/mc/mc-request.c b/drivers/media/mc/mc-request.c
> > index 5edfc2791ce7c7485def5db675bbf53ee223d837..398d0806d1d274eb8c454fc5c37b77476abe1e74 100644
> > --- a/drivers/media/mc/mc-request.c
> > +++ b/drivers/media/mc/mc-request.c
> > @@ -54,6 +54,7 @@ static void media_request_clean(struct media_request *req)
> >   req->access_count = 0;
> >   WARN_ON(req->num_incomplete_objects);
> >   req->num_incomplete_objects = 0;
> > + req->manual_completion = false;
> >   wake_up_interruptible_all(&req->poll_wait);
> >  }
> >  
> > @@ -313,6 +314,7 @@ int media_request_alloc(struct media_device *mdev, int *alloc_fd)
> >   req->mdev = mdev;
> >   req->state = MEDIA_REQUEST_STATE_IDLE;
> >   req->num_incomplete_objects = 0;
> > + req->manual_completion = false;
> >   kref_init(&req->kref);
> >   INIT_LIST_HEAD(&req->objects);
> >   spin_lock_init(&req->lock);
> > @@ -459,7 +461,7 @@ void media_request_object_unbind(struct media_request_object *obj)
> >  
> >   req->num_incomplete_objects--;
> >   if (req->state == MEDIA_REQUEST_STATE_QUEUED &&
> > -     !req->num_incomplete_objects) {
> > +     !req->num_incomplete_objects && !req->manual_completion) {
> >   req->state = MEDIA_REQUEST_STATE_COMPLETE;
> >   completed = true;
> >   wake_up_interruptible_all(&req->poll_wait);
> > @@ -488,7 +490,7 @@ void media_request_object_complete(struct media_request_object *obj)
> >       WARN_ON(req->state != MEDIA_REQUEST_STATE_QUEUED))
> >   goto unlock;
> >  
> > - if (!--req->num_incomplete_objects) {
> > + if (!--req->num_incomplete_objects && !req->manual_completion) {
> >   req->state = MEDIA_REQUEST_STATE_COMPLETE;
> >   wake_up_interruptible_all(&req->poll_wait);
> >   completed = true;
> > @@ -499,3 +501,35 @@ void media_request_object_complete(struct media_request_object *obj)
> >   media_request_put(req);
> >  }
> >  EXPORT_SYMBOL_GPL(media_request_object_complete);
> > +
> > +void media_request_manual_complete(struct media_request *req)
> > +{
> > + unsigned long flags;
>
> I'd declare flags as last.
>
> > + bool completed = false;
> > +
> > + if (WARN_ON(!req))
> > + return;
> > + if (WARN_ON(!req->manual_completion))
> > + return;
>
> I think I'd use WARN_ON_ONCE() consistently: this is a driver (or
> framework) bug and telling once about it is very probably enough.

Just to be sure, you only mean for the two checks above ? Or did
you mean for the entire function ?

>
> > +
> > + spin_lock_irqsave(&req->lock, flags);

In practice, if you call this specific function from two places at the same
time you have a bug, but I realize that moving the the warning on the check
manual_completion inside that lock would massively help detect that case.

What do you think ?

> > + if (WARN_ON(req->state != MEDIA_REQUEST_STATE_QUEUED))
> > + goto unlock;
> > +
> > + req->manual_completion = false;
> > + /*
> > + * It is expected that all other objects in this request are
> > + * completed when this function is called. WARN if that is
> > + * not the case.
> > + */
> > + if (!WARN_ON(req->num_incomplete_objects)) {
> > + req->state = MEDIA_REQUEST_STATE_COMPLETE;
> > + wake_up_interruptible_all(&req->poll_wait);
> > + completed = true;
> > + }
>
> A newline would be nice here.
>
> > +unlock:
> > + spin_unlock_irqrestore(&req->lock, flags);
> > + if (completed)
> > + media_request_put(req);
> > +}
> > +EXPORT_SYMBOL_GPL(media_request_manual_complete);
> > diff --git a/include/media/media-request.h b/include/media/media-request.h
> > index d4ac557678a78372222704400c8c96cf3150b9d9..7f9af68ef19ac6de0184bbb0c0827dc59777c6dc 100644
> > --- a/include/media/media-request.h
> > +++ b/include/media/media-request.h
> > @@ -56,6 +56,9 @@ struct media_request_object;
> >   * @access_count: count the number of request accesses that are in progress
> >   * @objects: List of @struct media_request_object request objects
> >   * @num_incomplete_objects: The number of incomplete objects in the request
> > + * @manual_completion: if true, then the request won't be marked as completed
> > + * when @num_incomplete_objects reaches 0. Call media_request_manual_complete()
> > + * to complete the request after @num_incomplete_objects == 0.
> >   * @poll_wait: Wait queue for poll
> >   * @lock: Serializes access to this struct
> >   */
> > @@ -68,6 +71,7 @@ struct media_request {
> >   unsigned int access_count;
> >   struct list_head objects;
> >   unsigned int num_incomplete_objects;
> > + bool manual_completion;
> >   wait_queue_head_t poll_wait;
> >   spinlock_t lock;
> >  };
> > @@ -218,6 +222,38 @@ media_request_get_by_fd(struct media_device *mdev, int request_fd);
> >  int media_request_alloc(struct media_device *mdev,
> >   int *alloc_fd);
> >  
> > +/**
> > + * media_request_mark_manual_completion - Enable manual completion
> > + *
> > + * @req: The request
> > + *
> > + * Mark that the request has to be manually completed by calling
> > + * media_request_manual_complete().
> > + *
> > + * This function shall be called in the req_queue callback.
> > + */
> > +static inline void
> > +media_request_mark_manual_completion(struct media_request *req)
> > +{
> > + req->manual_completion = true;
> > +}
> > +
> > +/**
> > + * media_request_manual_complete - Mark the request as completed
> > + *
> > + * @req: The request
> > + *
> > + * This function completes a request that was marked for manual completion by an
> > + * earlier call to media_request_mark_manual_completion(). The request's
> > + * @manual_completion flag is reset to false.
>
> s/flag/field/
>
> > + *
> > + * All objects contained in the request must have been completed previously. It
> > + * is an error to call this function otherwise. If such an error occurred, the
> > + * function will WARN and the object completion will be delayed until
> > + * @num_incomplete_objects is 0.
> > + */
> > +void media_request_manual_complete(struct media_request *req);
> > +
> >  #else
> >  
> >  static inline void media_request_get(struct media_request *req)
> > @@ -336,7 +372,7 @@ void media_request_object_init(struct media_request_object *obj);
> >   * @req: The media request
> >   * @ops: The object ops for this object
> >   * @priv: A driver-specific priv pointer associated with this object
> > - * @is_buffer: Set to true if the object a buffer object.
> > + * @is_buffer: Set to true if the object is a buffer object.
> >   * @obj: The object
> >   *
> >   * Bind this object to the request and set the ops and priv values of
> >


Return-Path: <linux-kernel+bounces-673882-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CECFD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:21:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 1AFE1169CCE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:21:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F374B2701D0;
Wed, 4 Jun 2025 23:21:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Neb5tKoA"
Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171])
(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 96E19224AF2;
Wed, 4 Jun 2025 23:21:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.171
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749079262; cv=none; b=OgsB6gisj+bC9iQZhBLe2vuN4qYzo0LmUwo+pxFaL4VWELKB96ZyGw1bIBBveS9SWihmS0l5HCFicrhg3dFvUJzIi22AD1uini652M2GPZhbUFwbyGAamisA7d60m92BuojPVV70G+0jjcHD1YgA0qjPoAKcoiQo8uI/qKo5NVc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749079262; c=relaxed/simple;
bh=6BGMLTyI9Ec3Kg+cz9cQUC2Bo3OQ73n6D16zPOw6tag=;
h=MIME-Version:From:Date:Message-ID:Subject:To:Cc:Content-Type; b=bzm9aUee7XTeLFonSlx1b99u7UxuHJ2fml2IZEFi2DWiR9tRivdQk4T+uzLfO0bnfpeC4gk6s3I4KG4IIyNK85k/4YEpLPITDz7kNEQFIarFWtpYsomFbmG9TiyU7bk/GMhJsJfpfsI658wy9BWkF/IZrCos8sO+W1kWnF+vCcc=
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=Neb5tKoA; arc=none smtp.client-ip=209.85.208.171
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
Received: by mail-lj1-f171.google.com with SMTP id 38308e7fff4ca-32aabfd3813so3410191fa.3;
Wed, 04 Jun 2025 16:21:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749079258; x=1749684058; darn=vger.kernel.org;
h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=UcMlhn223WOqcIHrp/y1AR8lknYH1/5nhJEfUOf9IMI=;
b=Neb5tKoAVeSdJ6gKM6u/QX7Bg2/6Mv6EMJ229sjeWjwCe3QRdXznsARtscO3KLyV2j
r7SambjyclkPWKt5vIwALVP3dwo2DJmXPZ8RvODaXiPw2vDWmQW4hfnwZT3zZTC4rTnp
ugDl/N56U/O48GEAJmquyTtEd7SGB1M1ptEwA4cUWWY6rwGiogMncOhxy8DEnQFzcVo4
Qa0rEmrUF5wmzMoFId5zHafUtWi/6kcsZmJ2YNAxwqW4X1yF1g09yBl1tvVjfhEBnK8a
0N9uTUhtW7DqsIUwMKeqvYSZa5Qn7ohWj+D+y7ziHBSI6pamw76dAdK2RNyJUah5gNzp
DbWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749079258; x=1749684058;
h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=UcMlhn223WOqcIHrp/y1AR8lknYH1/5nhJEfUOf9IMI=;
b=BFeL459vKQUJRMpV+NgQjIEHGKuVAXVHRx7/dQ8iRv0IIsRBZP34JbdkA+Ui3d02YI
SyU49NlxH8hCxs2WTRFLK7ydq5oRd4xAbfS69t+SE7qOeAkOOJYLZCj2p0XjN21RViQN
pEjn56xBYbDRiLtx5JPum4GB0c4Pn3czTYvwjPngjPzPOV4HYDr9GTor1xnwLs6pnu8Y
oQOM6QdBu31BFldYz2JK+gzGkvom5howDP4qRH/bK19F/hUbOTP3t6jY4O8APDhnbM2s
prquLyEKFGYJwQi3M1KCu+cWcfDEljQ59T9pdVoMw3QMXpFQ1KuniBIe9n4cFJzu9rfQ
Kg7w==
X-Forwarded-Encrypted: i=1; AJvYcCWMpvBaFRBpzcqUWVCtgQ2RCuWbvJvZ/zUbogYK0mRPUAMG9HRBN5AUM/6J268Og/nX6+cg0RpqRM8U@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0Yy+pldaXSYRj2H4O/Y5o13jmNjn99Ewyfql7sqUkO9sQu71KCXM
HlnTQkOqQfQwyqT3z5ExNcDeRkS5BWJSwUFv+z5biYyeFniTJtU8kY8VMZ9QZGQMuClybErHLhx
CqEK4tyvmrAo45v3CL9TUvhtY9F6hfBsgUzEK
X-Gm-Gg: ASbGnctrPsYSPLmeLG1uoWAa/kI66/fKRoKNBG1YXS7Il3lVph0fdlouwYF9YE4+gE4
jP9sAO6Jb2R9gLnIx3a7zmhCQP2wbMe0kXQeG0e9eSacmyUTGU+Xc5Qf60wuTLSCstUu38AICpi
6cthsD1xdmE20bh25gK2HiGCl8TmamQuZXEvt5jyQph9SYpSBH5K0eshc1NUjXup7Fsdg=
X-Google-Smtp-Source: AGHT+IFL2Qw6EsGAEuRXuJAmoNr5yp53DHvRWgBZPHf+Ix91ruEjntk+8gIX1QcwGtGYq7Hoaf+2qRbanUVs+n+qBwI=
X-Received: by 2002:a05:651c:221a:b0:32a:739d:fac with SMTP id
38308e7fff4ca-32ac71f622emr15383591fa.36.1749079258404; Wed, 04 Jun 2025
16:20:58 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
From: Steve French <smfrench@xxxxxxxxx>
Date: Wed, 4 Jun 2025 18:20:46 -0500
X-Gm-Features: AX0GCFuI4gwd-C54TyFnZ12WsmWNzGe6gNjA5_gF8xWRTIxrxe0mf7oAXH5PbUM
Message-ID: <CAH2r5muDAU9fFmkDERtE_Dvrt2HgC4s9t1wH-uHG6B4vQH39iw@xxxxxxxxxxxxxx>
Subject: [GIT PULL] ksmbd sever fixes
To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>, CIFS <linux-cifs@xxxxxxxxxxxxxxx>,
Namjae Jeon <linkinjeon@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Please pull the following changes since commit
0ff41df1cb268fc69e703a08a57ee14ae967d0ca:

Linux 6.15 (2025-05-25 16:09:23 -0700)

are available in the Git repository at:

git://git.samba.org/ksmbd.git tags/6.16-rc-ksmbd-server-fixes

for you to fetch changes up to dc3e0f17f74558e8a2fce00608855f050de10230:

ksmbd: allow a filename to contain special characters on SMB3.1.1
posix extension (2025-05-27 10:25:12 -0500)

----------------------------------------------------------------
four smb3 server fixes
- Fix for special character handling when mounting with "posix"
- Fix for mounts from Mac for fs that don't provide unique inode numbers
- Two cleanup patches (e.g. for crypto calls)
-----------------------------------------------------------------
Eric Biggers (2):
ksmbd: use SHA-256 library API instead of crypto_shash API
ksmbd: remove unnecessary softdep on crc32

Namjae Jeon (2):
ksmbd: provide zero as a unique ID to the Mac client
ksmbd: allow a filename to contain special characters on
SMB3.1.1 posix extension

fs/smb/server/Kconfig | 1 +
fs/smb/server/auth.c | 34 ---------------------
fs/smb/server/auth.h | 2 --
fs/smb/server/connection.h | 1 +
fs/smb/server/crypto_ctx.c | 8 -----
fs/smb/server/crypto_ctx.h | 4 ---
fs/smb/server/server.c | 1 -
fs/smb/server/smb2pdu.c | 72 +++++++++++++++++++++++++++------------------
fs/smb/server/smb2pdu.h | 3 ++
fs/smb/server/vfs.c | 20 +++----------
10 files changed, 53 insertions(+), 93 deletions(-)

--
Thanks,

Steve


Return-Path: <linux-kernel+bounces-673883-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CBD4241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:22:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 461991893A04
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:22:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 86E31270545;
Wed, 4 Jun 2025 23:22:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Md8K6/ql"
Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46])
(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 1F235224AF2;
Wed, 4 Jun 2025 23:22:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749079325; cv=none; b=QOk0oZMmaJZYpjYBF255bnzncSv50ZvhaBaz1oJKTpGkuxdlwerejvfMCh0UexhthpybzvAito7mSyZUdqXur1fPWlC1EEX4n87itAq/dkz5WF6LpcXiSPK11nSZs47H24Hduy+AzCM0wll+lxjYgj/lRNCwr/gUyVnPO2m99tw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749079325; c=relaxed/simple;
bh=DavXPLOA4qBd5zWmNksvx+nP6XzrqdzB4n6SWig+8aI=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=qNaKpHj23MT+oO9VDQd8lD8waEOb9yPfMLJ7kSPdYOLhBhSIPIoYWWfJwWVVAixPnIVWphSLuH80wbc0d97zHo9LDk5aIqW9KaDvGHWbcyaDXATGoRaj0jkzp+6fpnYUNAIfAPpvSGL411IpK835y73OHeH5uAaCwLI0yvzQuMQ=
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=Md8K6/ql; arc=none smtp.client-ip=209.85.128.46
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
Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-442f9043f56so1810025e9.0;
Wed, 04 Jun 2025 16:22:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749079322; x=1749684122; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=KwwXcq9SvqSxAwcrttqQ535pq1SI2qaKboj674NPGys=;
b=Md8K6/qlv7yH+KUkzCxAuz+yHf9AUCFvRG2QIAh24SzuHxcZqG2NzjLXGErui94SFW
kS8eGf0IFrH8BnfY/wMmhHbI1LI+NW6nWEz1aupMn5O4WLDzhZeylXVX6C1W5sB36wGH
hbYdECdP6QJjUVlUvS2R8XZw1kTTxo7FZmJyviXHtQ8nGPftdfaXxzANT++BHmzkI/WV
E9R/BoFwXQIsGC0tmK6gFEnHr3e0UY13HEdYfxRmgoKoRfv3P2bSRbr4ZBH3nbv9411W
tSzLVyXbdAhQdnQ1nRbvW90/kU3AxHPdtMGGkiOyJ64aKl7gdLq3vQD4qLFZWHrwpkIP
mfow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749079322; x=1749684122;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=KwwXcq9SvqSxAwcrttqQ535pq1SI2qaKboj674NPGys=;
b=CQhTVB83452YBRmf/89+6F9yxkDJ8Xy1riiSZK/Iw5LjA6D5VUEQzGBuMqo+Dd0zAO
tVnvihzvaVF6wM+7AET4BYWMTeBY5nJ9Jdfd2idZIwrLsomiiUELvOxKd+Fx8G+IlZcK
qXChsVrw9dKeah48hNxIpqQB75WrrzKeoilaiSVGGT6eZ+Q8x5927Zo8P6rxerE27ouu
RtySklYXZiZtD97ml16+XCIZtOrDgpZHbuC34QLzmhyNES29AwJQzBmBbaEhgB3EOkFQ
WM1I8drwh6rzrmXMKkRMJrpXtLQ8t0r47ME62ob4lzV+61ms0fRJM4JqvBU6FLQkzd02
ClRQ==
X-Forwarded-Encrypted: i=1; AJvYcCVAmFbFW39gl8uh6yaLuHRR0jaXju6Ql6E14Ftcrh60HpXpTbjgUrHB6NzsaCGtYfC9kmcXCJEpcfp4ww8RBitz1w==@vger.kernel.org, AJvYcCWws7sDP7D7LHDU82XnBXlYSdyCQmjWb/TDLp1PH+1Us4hFHB5WSmlXCCWqkGIzA5obdDIbLVXmYFupR0k=@vger.kernel.org
X-Gm-Message-State: AOJu0YwRNuHtVnu+MN7gu/dMzSj0ty5EJvGz87LXN07VO5ZJyXOL1lDj
4Q2iQDWyGDJ+p0OksvR4q6lDJIzW3nLcNuxSuJVx89JVWNnRsV/HnbPtgADM3K7JefmN2UEG3qM
Gl6AaIUN9Hf8THAT93RSMp93XJjomb7g=
X-Gm-Gg: ASbGncukabOtACQUcZ2juI0vmMjuqi4JXyciPe/WK03sorVDdOwFhJmqr6sdhWbagzp
PxHx0o6ua2TLWCzmCNe7N+PlIi5VCqlkkoRz0ylvsd7Dj/0LMgrR+c4j0fC217T7w6GuwoAbLaf
UP73U3iFnzWW9DWbKDApvzk60TIk5puZko4mnRva6Afz+WU9FZ
X-Google-Smtp-Source: AGHT+IESbyuxQraVYPxC7wpdKWHwDK9pwgCCWfCOD7IoCQsTYj+Al+j0Kzzq3CvQmANW2Q3K2lnOCzTfeKnvHVH7vkE=
X-Received: by 2002:a05:600c:350b:b0:43d:17f1:2640 with SMTP id
5b1f17b1804b1-451f0b209d8mr41552955e9.26.1749079322021; Wed, 04 Jun 2025
16:22:02 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250604171554.3909897-1-kan.liang@xxxxxxxxxxxxxxx>
In-Reply-To: <20250604171554.3909897-1-kan.liang@xxxxxxxxxxxxxxx>
From: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>
Date: Wed, 4 Jun 2025 16:21:50 -0700
X-Gm-Features: AX0GCFvq1shVE6kWYl-CEbSodT79t9asLkPcyvM5S6YpTFccl-wiy-eQ6M8qwhk
Message-ID: <CAADnVQKjyzdNVR_+WCMzORPJAX00tD3HK0vaCz13ZprWaG72Tg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH V3] perf: Fix the throttle error of some clock events
To: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>,
Namhyung Kim <namhyung@xxxxxxxxxx>, Ian Rogers <irogers@xxxxxxxxxx>,
Mark Rutland <mark.rutland@xxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>,
"linux-perf-use." <linux-perf-users@xxxxxxxxxxxxxxx>, Stephane Eranian <eranian@xxxxxxxxxx>,
Chun-Tse Shao <ctshao@xxxxxxxxxx>, Thomas Richter <tmricht@xxxxxxxxxxxxx>, Leo Yan <leo.yan@xxxxxxx>,
Aishwarya TCV <aishwarya.tcv@xxxxxxx>, Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 4, 2025 at 10:16=E2=80=AFAM <kan.liang@xxxxxxxxxxxxxxx> wrote:
>
> From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
>
> Both ARM and IBM CI reports RCU stall, which can be reproduced by the
> below perf command.
> perf record -a -e cpu-clock -- sleep 2
>
> The issue is introduced by the generic throttle patch set, which
> unconditionally invoke the event_stop() when throttle is triggered.
>
> The cpu-clock and task-clock are two special SW events, which rely on
> the hrtimer. The throttle is invoked in the hrtimer handler. The
> event_stop()->hrtimer_cancel() waits for the handler to finish, which is
> a deadlock. Instead of invoking the stop(), the HRTIMER_NORESTART should
> be used to stop the timer.
>
> There may be two ways to fix it.
> - Introduce a PMU flag to track the case. Avoid the event_stop in
> perf_event_throttle() if the flag is detected.
> It has been implemented in the
> https://lore.kernel.org/lkml/20250528175832.2999139-1-kan.liang@linux.i=
ntel.com/
> The new flag was thought to be an overkill for the issue.
> - Add a check in the event_stop. Return immediately if the throttle is
> invoked in the hrtimer handler. Rely on the existing HRTIMER_NORESTART
> method to stop the timer.
>
> The latter is implemented here.
>
> Move event->hw.interrupts =3D MAX_INTERRUPTS before the stop(). It makes
> the order the same as perf_event_unthrottle(). Except the patch, no one
> checks the hw.interrupts in the stop(). There is no impact from the
> order change.
>
> Reported-by: Leo Yan <leo.yan@xxxxxxx>
> Reported-by: Aishwarya TCV <aishwarya.tcv@xxxxxxx>
> Closes: https://lore.kernel.org/lkml/20250527161656.GJ2566836@xxxxxxxxxxx=
.com/
> Reported-by: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>
> Closes: https://lore.kernel.org/lkml/djxlh5fx326gcenwrr52ry3pk4wxmugu4jcc=
djysza7tlc5fef@ktp4rffawgcw/
> Reported-by: Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx>
> Closes: https://lore.kernel.org/lkml/8e8f51d8-af64-4d9e-934b-c0ee9f131293=
@linux.ibm.com/
> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>

It seems the patch fixes one issue and introduces another ?

Looks like the throttle event is sticky.
Once it's reached the perf_event no longer works ?
Repro:
test_progs -t perf_branches/perf_branches_no_hw
#250/2 perf_branches/perf_branches_no_hw:OK

test_progs -t stacktrace_build_id_nmi
#393 stacktrace_build_id_nmi:OK

test_progs -t perf_branches/perf_branches_no_hw
perf_branches/perf_branches_no_hw:FAIL

Maybe it's an unrelated bug.


Return-Path: <linux-kernel+bounces-673884-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B7AE441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:24:08 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B1FD83A9AD4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:23:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4A7D72701CF;
Wed, 4 Jun 2025 23:24:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="JbxHHMuL"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED612224AF2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:24:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.15
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749079442; cv=none; b=g+SR72eSZ/O/n2fS1RVRe3jhE+Uve/FcE24S8TKX3adCpeR98mLM7sWHhUvsF/L3qCyndda6veLN/+NSntGyE1/pb5C7S+aW2j9MPzIov+d7UvItGw0XMepkQFrDyqzB+bursPjwokfPyUwzgSvzXixdysadvsEHZWZWI7a4r8U=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749079442; c=relaxed/simple;
bh=rv9HHNsytFm+P/QHtVS3Ly+xoyU2WHqZE++hOxHUaF4=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=d0e1X7T/Tftv4zFdbPOagywfiI7diC/M1NaV4Wb3vbYPdaZNl0Yyu7BG+11NCYe/Y0M3ZFlVIKm8kbE7WmCAvnV2fcV64L5gb/fQZ28fF2qGEkAuthTZ4xBavsrcZl4ai5Sn1DmDu4teSw2TxotJRHLAYX6NmX/VOX+4ohyNfyA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=JbxHHMuL; arc=none smtp.client-ip=192.198.163.15
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749079441; x=1780615441;
h=message-id:date:mime-version:subject:to:cc:references:
from:in-reply-to:content-transfer-encoding;
bh=rv9HHNsytFm+P/QHtVS3Ly+xoyU2WHqZE++hOxHUaF4=;
b=JbxHHMuLu3yg4wYbE13ksYsC6eHA0ngTwEUeBHQs4pDtYi5g4sPoxhDP
mGpkbKcsCHskNz6KBEqBVzDPpu5DAEiQLts8fDan6oklXJsr7cfgCXLZi
N0if7HzEvvHEU2op9QjOkDAfnZ8rFDOG4Cyzn1+ym3aXRIUQx2MA+awjV
E3h0v1UdAZ30+ejZ9/z5ZcgXWIyTH5gdqICHce5N3tQWxm8JNf9HWEaYE
xUSIqWrLPQfcwSuCAvK03C3uVcy63A6Q7k090mpZYdC3pMBixKuiUjPtY
1lGiqt+8Wu5yIfIs2MvHegw0KLikUicpIlw8nXu9ai+ACjwldIHZsJKHL
w==;
X-CSE-ConnectionGUID: PqyELTZwS/eAKpiLSC5zKA==
X-CSE-MsgGUID: 14kdgHFvRNiSyYH905mkcw==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51329141"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51329141"
Received: from orviesa006.jf.intel.com ([10.64.159.146])
by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:24:00 -0700
X-CSE-ConnectionGUID: PyfrpkbBRfWzaVNRqdR/eA==
X-CSE-MsgGUID: vzXfWAeSTdOxTF4IY+vZQA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145223628"
Received: from puneetse-mobl.amr.corp.intel.com (HELO [10.125.110.229]) ([10.125.110.229])
by orviesa006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:23:59 -0700
Message-ID: <5876fb5f-dc8c-401a-833a-a33265ff1fc1@xxxxxxxxx>
Date: Wed, 4 Jun 2025 16:23:59 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/virt/tdx: Add ENDBR for low level SEAMCALL assembly
functions
To: "Huang, Kai" <kai.huang@xxxxxxxxx>,
"tglx@xxxxxxxxxxxxx" <tglx@xxxxxxxxxxxxx>,
"peterz@xxxxxxxxxxxxx" <peterz@xxxxxxxxxxxxx>,
"mingo@xxxxxxxxxx" <mingo@xxxxxxxxxx>,
"kirill.shutemov@xxxxxxxxxxxxxxx" <kirill.shutemov@xxxxxxxxxxxxxxx>,
"bp@xxxxxxxxx" <bp@xxxxxxxxx>, "hpa@xxxxxxxxx" <hpa@xxxxxxxxx>
Cc: "samitolvanen@xxxxxxxxxx" <samitolvanen@xxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"Edgecombe, Rick P" <rick.p.edgecombe@xxxxxxxxx>,
"x86@xxxxxxxxxx" <x86@xxxxxxxxxx>
References: <20250604003848.13154-1-kai.huang@xxxxxxxxx>
<55e5b3f8-3e17-4962-af2f-75c98ccd414f@xxxxxxxxx>
<f442380c2d8cc51b38105c6316cbe224a248fdfe.camel@xxxxxxxxx>
From: Dave Hansen <dave.hansen@xxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=dave.hansen@xxxxxxxxx; keydata=
xsFNBE6HMP0BEADIMA3XYkQfF3dwHlj58Yjsc4E5y5G67cfbt8dvaUq2fx1lR0K9h1bOI6fC
oAiUXvGAOxPDsB/P6UEOISPpLl5IuYsSwAeZGkdQ5g6m1xq7AlDJQZddhr/1DC/nMVa/2BoY
2UnKuZuSBu7lgOE193+7Uks3416N2hTkyKUSNkduyoZ9F5twiBhxPJwPtn/wnch6n5RsoXsb
ygOEDxLEsSk/7eyFycjE+btUtAWZtx+HseyaGfqkZK0Z9bT1lsaHecmB203xShwCPT49Blxz
VOab8668QpaEOdLGhtvrVYVK7x4skyT3nGWcgDCl5/Vp3TWA4K+IofwvXzX2ON/Mj7aQwf5W
iC+3nWC7q0uxKwwsddJ0Nu+dpA/UORQWa1NiAftEoSpk5+nUUi0WE+5DRm0H+TXKBWMGNCFn
c6+EKg5zQaa8KqymHcOrSXNPmzJuXvDQ8uj2J8XuzCZfK4uy1+YdIr0yyEMI7mdh4KX50LO1
pmowEqDh7dLShTOif/7UtQYrzYq9cPnjU2ZW4qd5Qz2joSGTG9eCXLz5PRe5SqHxv6ljk8mb
ApNuY7bOXO/A7T2j5RwXIlcmssqIjBcxsRRoIbpCwWWGjkYjzYCjgsNFL6rt4OL11OUF37wL
QcTl7fbCGv53KfKPdYD5hcbguLKi/aCccJK18ZwNjFhqr4MliQARAQABzUVEYXZpZCBDaHJp
c3RvcGhlciBIYW5zZW4gKEludGVsIFdvcmsgQWRkcmVzcykgPGRhdmUuaGFuc2VuQGludGVs
LmNvbT7CwXgEEwECACIFAlQ+9J0CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGg1
lTBwyZKwLZUP/0dnbhDc229u2u6WtK1s1cSd9WsflGXGagkR6liJ4um3XCfYWDHvIdkHYC1t
MNcVHFBwmQkawxsYvgO8kXT3SaFZe4ISfB4K4CL2qp4JO+nJdlFUbZI7cz/Td9z8nHjMcWYF
IQuTsWOLs/LBMTs+ANumibtw6UkiGVD3dfHJAOPNApjVr+M0P/lVmTeP8w0uVcd2syiaU5jB
aht9CYATn+ytFGWZnBEEQFnqcibIaOrmoBLu2b3fKJEd8Jp7NHDSIdrvrMjYynmc6sZKUqH2
I1qOevaa8jUg7wlLJAWGfIqnu85kkqrVOkbNbk4TPub7VOqA6qG5GCNEIv6ZY7HLYd/vAkVY
E8Plzq/NwLAuOWxvGrOl7OPuwVeR4hBDfcrNb990MFPpjGgACzAZyjdmYoMu8j3/MAEW4P0z
F5+EYJAOZ+z212y1pchNNauehORXgjrNKsZwxwKpPY9qb84E3O9KYpwfATsqOoQ6tTgr+1BR
CCwP712H+E9U5HJ0iibN/CDZFVPL1bRerHziuwuQuvE0qWg0+0SChFe9oq0KAwEkVs6ZDMB2
P16MieEEQ6StQRlvy2YBv80L1TMl3T90Bo1UUn6ARXEpcbFE0/aORH/jEXcRteb+vuik5UGY
5TsyLYdPur3TXm7XDBdmmyQVJjnJKYK9AQxj95KlXLVO38lczsFNBFRjzmoBEACyAxbvUEhd
GDGNg0JhDdezyTdN8C9BFsdxyTLnSH31NRiyp1QtuxvcqGZjb2trDVuCbIzRrgMZLVgo3upr
MIOx1CXEgmn23Zhh0EpdVHM8IKx9Z7V0r+rrpRWFE8/wQZngKYVi49PGoZj50ZEifEJ5qn/H
Nsp2+Y+bTUjDdgWMATg9DiFMyv8fvoqgNsNyrrZTnSgoLzdxr89FGHZCoSoAK8gfgFHuO54B
lI8QOfPDG9WDPJ66HCodjTlBEr/Cwq6GruxS5i2Y33YVqxvFvDa1tUtl+iJ2SWKS9kCai2DR
3BwVONJEYSDQaven/EHMlY1q8Vln3lGPsS11vSUK3QcNJjmrgYxH5KsVsf6PNRj9mp8Z1kIG
qjRx08+nnyStWC0gZH6NrYyS9rpqH3j+hA2WcI7De51L4Rv9pFwzp161mvtc6eC/GxaiUGuH
BNAVP0PY0fqvIC68p3rLIAW3f97uv4ce2RSQ7LbsPsimOeCo/5vgS6YQsj83E+AipPr09Caj
0hloj+hFoqiticNpmsxdWKoOsV0PftcQvBCCYuhKbZV9s5hjt9qn8CE86A5g5KqDf83Fxqm/
vXKgHNFHE5zgXGZnrmaf6resQzbvJHO0Fb0CcIohzrpPaL3YepcLDoCCgElGMGQjdCcSQ+Ci
FCRl0Bvyj1YZUql+ZkptgGjikQARAQABwsFfBBgBAgAJBQJUY85qAhsMAAoJEGg1lTBwyZKw
l4IQAIKHs/9po4spZDFyfDjunimEhVHqlUt7ggR1Hsl/tkvTSze8pI1P6dGp2XW6AnH1iayn
yRcoyT0ZJ+Zmm4xAH1zqKjWplzqdb/dO28qk0bPso8+1oPO8oDhLm1+tY+cOvufXkBTm+whm
+AyNTjaCRt6aSMnA/QHVGSJ8grrTJCoACVNhnXg/R0g90g8iV8Q+IBZyDkG0tBThaDdw1B2l
asInUTeb9EiVfL/Zjdg5VWiF9LL7iS+9hTeVdR09vThQ/DhVbCNxVk+DtyBHsjOKifrVsYep
WpRGBIAu3bK8eXtyvrw1igWTNs2wazJ71+0z2jMzbclKAyRHKU9JdN6Hkkgr2nPb561yjcB8
sIq1pFXKyO+nKy6SZYxOvHxCcjk2fkw6UmPU6/j/nQlj2lfOAgNVKuDLothIxzi8pndB8Jju
KktE5HJqUUMXePkAYIxEQ0mMc8Po7tuXdejgPMwgP7x65xtfEqI0RuzbUioFltsp1jUaRwQZ
MTsCeQDdjpgHsj+P2ZDeEKCbma4m6Ez/YWs4+zDm1X8uZDkZcfQlD9NldbKDJEXLIjYWo1PH
hYepSffIWPyvBMBTW2W5FRjJ4vLRrJSUoEfJuPQ3vW9Y73foyo/qFoURHO48AinGPZ7PC7TF
vUaNOTjKedrqHkaOcqB185ahG2had0xnFsDPlx5y
In-Reply-To: <f442380c2d8cc51b38105c6316cbe224a248fdfe.camel@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/4/25 16:16, Huang, Kai wrote:
> Could you also let me know whether I should keep the Fixes tag, and the
> history in the changelog?

Yeah, I think you should keep the Fixes: tag, unless I'm missing something.

As for the history lesson, you can just say that you think that the TDX
code was OK when merged, but wasn't converted with the rest of the
Fixes: commit. That's all you need.


Return-Path: <linux-kernel+bounces-673885-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9768241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:26:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 1C0787A7FC9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:24:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C1B072701D2;
Wed, 4 Jun 2025 23:25:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mqlLCa7g"
Received: from mail-yw1-f172.google.com (mail-yw1-f172.google.com [209.85.128.172])
(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 A6B171DC9BB
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:25:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749079555; cv=none; b=HmvJG+7EUItdfarFlatD1rCpBeZ8/mc2FFrkiVPNcHhsyc6UzMKQ54o2GldqYsmtr2tbQe49FR2NX9tdVBA6KSoup5P3b9YTeQWV2HiHaXKdGdRn3xOve3SGuD7/dOLqGFmWH4WUSo/F1vde9+hmvYDp8TQZCRVtsA9YylMJd+c=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749079555; c=relaxed/simple;
bh=Vwu4TJ/HvFXdXHkNqXk/zVSddth2RQ3EoD1ZjKR/Xuw=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=j0MK09BgP/yCy35WvyZGyVjgimddRX+l0vAndK42pMhYwOMW9XImczpg7G6sJORG+5zh7HKsCoI677kcWCPGfQ3EV6CsjQ20AmkpSUuyRPceHUvTGmAeQwsBfXuBcSCT1MRRdOR/vBUcPm1qhd7vY+cHX0m3PJ1uwRtHQ+bwR5g=
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=mqlLCa7g; arc=none smtp.client-ip=209.85.128.172
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
Received: by mail-yw1-f172.google.com with SMTP id 00721157ae682-70e3980757bso3955497b3.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:25:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749079552; x=1749684352; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=kM/3Db02CilzNEun5cvgT1m6Xyu3oxCMObMXqf4IsrQ=;
b=mqlLCa7gOUmRC/vqjX6XMY+KbqZJM1xu+jlwdyQ2dlhU8oTQM5mKwyFLr3ww6XAqrJ
x+vLADKFTGuUsEZXiBetDwCLQ7AfkapqTu8pVUp/tSE72dwLbgLea8a+keivHOK45Ueu
xW6mvXwVfd1tvVP0LkKtfILHEz0dDBCpcqvmGl3Ch6i5vLXhD7jrD2on62WEEh/DP3wr
ReptYnwE2h8MEDXv2bUccpbc2sGbSQZJ2WiKeE7h219czACa+WcngDNHgSQt/RGMACMH
7elOjQfm7beVJ6pGpbzSdkOJqaRS/xOheIEzBVeCKgmNQVEfPOL9u+TNIayHK6zIR+Mt
qsNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749079552; x=1749684352;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=kM/3Db02CilzNEun5cvgT1m6Xyu3oxCMObMXqf4IsrQ=;
b=Af4lCAhlfDld+6XT9VSWThlg62tstPRWdpN/BGhPKdLzqI9Oefoymnlnq/dKUpVa3P
DpzBiy3wRh8Ce6GewXTo/Eucb8P75KQ8Z6xaEArKAAe5xaGIDn5p6ZWTNbDics7Oj8jE
e/kexAPDHD3xmeuRhPDddQ1T8Baszn5EQdWtKg+AhfmRvfQZW06Xcn8t/h7JaIKoAgl2
Z+6WuXSiZtMhYLNL05cEklpbe09XT71bJU0ipbXYMpc6PsExQJV6KjynUIljssTjdNN+
btZQ3iZdta1mNfcXlo4tQ96wmIqiR2Ku+wAdrOyaQfwvFjNLAYPQ1n2FZZn0vAz3dp4p
D6YA==
X-Gm-Message-State: AOJu0YyFElJY3LcJTc8DyCdCr1HejQgZnEHQOIcaNi2mUmD3xDNvVrQl
8j+4z6NL7blBJX4w83gkAjcmH+pBex8RlPr/Yz7xWfZKsr8SMaKnOyQoe0gZTQ==
X-Gm-Gg: ASbGnctIx80be5frDtQmYt1xgdNG85o0qP9cwesOPeeBezX5NDn+qYZPzrIjDcCs8+e
QBV0zEvu8dRvBTdNmJoDbfatW8PBtVwmbR2QK9qnU2EA71YzvgtAzSpTNHbxIdduyXD+crI23W0
hqPUfevoeaCEnSTyYOOvwHlFXEfB1gE0kF3jyRDvLOkgbHTj/OU2tzaCyV+Tv2GhM0SJf8Gr0AR
xJHkPowtLc3uRM1Ro+74YeYGo8PiGufTCbtY8r0Fq66UjUkML5VcRVkcEmSSjgz2ZCXq9YpOGkM
X/U5Ev8aoZtW4y2Y7oFeBkDVwM1qcLrq+JR/MYs7hjDkUeG5eGKjcWAVtZb3lysfT97k005FHrV
K12NaFthW4hI=
X-Google-Smtp-Source: AGHT+IEqQ6aeB9JspUZcphGc0fYJ7NSXL3yLfPKnkJgCb5esBZXUjB4GymNOZNZpBp3CAmiGC0jHqw==
X-Received: by 2002:a05:690c:6e8c:b0:70e:7e33:fbd6 with SMTP id 00721157ae682-710e7ed8674mr21882667b3.17.1749079552517;
Wed, 04 Jun 2025 16:25:52 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8abeed16sm32164577b3.48.2025.06.04.16.25.51
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 16:25:51 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx,
John Stultz <jstultz@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>
Cc: "Yury Norov [NVIDIA]" <yury.norov@xxxxxxxxx>
Subject: [PATCH 0/2] clocksource: use better cpumask API where appropriate
Date: Wed, 4 Jun 2025 19:25:46 -0400
Message-ID: <20250604232550.40491-1-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>

The dedicated API works better and improves on readability.

Yury Norov [NVIDIA] (2):
clocksource: fix opencoded cpumask_any_but() in
clocksource_verify_choose_cpus()
clocksource: fix opencoded cpumask_next_wrap()

kernel/time/clocksource.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)

--
2.43.0



Return-Path: <linux-kernel+bounces-673886-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B69D041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:26:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 438FB1895CF4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:26:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2122A27055C;
Wed, 4 Jun 2025 23:25:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PAWM4KZ+"
Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177])
(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 051061DDC08
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:25:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.177
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749079556; cv=none; b=MgKx2TAzBIJpKC0BynIY3HgFZggyXbJNfWVfkRTK8j1VAuQqGu+FA3O108fxy1kFFQSLGcNowzW/m5iveQduOn11ykR1JAOWmqHKsh1He+zSmuL2IpvvE/JL+pw107tLbIU9iF24uCgbHXXxjklHJMF4Q00LH0mrhTbPPDF5/7A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749079556; c=relaxed/simple;
bh=aNWUmxufhSQLQrBnFlE6ppLVsbEWf2/wWffhXN99rwI=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=SkjQQRaaYoKfOX3AXl66LgEisvqKg0e2XXZWWmYSrlSZuUiySW2q7DJHRDY7yXGr6/fSyT2r1FoXvMn6Bh3hbfF1PST5FWdkFKLd1p67WMWyFVIZ5S2YOC2Ny3Wuh2gyPsds4ydj5HqfQFUbTTZRZJI+Gps9OBRFBbvNccLRM3o=
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=PAWM4KZ+; arc=none smtp.client-ip=209.85.128.177
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
Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-70e5e6ab7b8so4610497b3.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:25:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749079554; x=1749684354; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=7gG+ZEjZcQCNcIRG3cnncfztX67FBxlYy1K2/YgyWq8=;
b=PAWM4KZ+c0NgyeGS5BGI0z000cRLNEfp7S6dhkukWv+jiZH8uIMjzPXmh8sjY/OLSe
+QxvejS2to+PFK2IJ5xL/u22CtOGhtZ0HFM+XA4Vf1fjTg8/7TvuEOnQTZTrbYB2GumS
iuJJx26p7ey8FVxIE6Y0mINNtKPMAhiGit/7uyKQdk5oO7dh9KdBKg49w3uYhVPEo37O
U7QsdCJIC6gHhelYftgEJNZov5qYNATY0k4dmo18fJ2PJWVi688vxB8rtAEHQcLDCU8y
Qe8mC4oNhTsL8o5oJgoIRcgc50ey9aarJMrwPkbBgkkdJKv4I61o6b7jyLOjJ9Et0r7Y
3/1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749079554; x=1749684354;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=7gG+ZEjZcQCNcIRG3cnncfztX67FBxlYy1K2/YgyWq8=;
b=IB8E0V+g2Wrw91Ss07biOUuln1/J+mA11OBUrExsTman+iPueed435PkhlgBDFrS7S
eh0+3DwP/dxz4qVI4MqTaWZjrx2lCajNDRw96QGD88zIUuNXl9Omi124bjJQPGi3OiqD
Wk5Y8rKiALqk7jDXqxxyKri/lW+YZIlB/1YlWcBlVMIVDE3+iqrEE9M9MS/TfTmqR1CM
rL69NYE6w1xsXw7RCStCy8WYp47J6MRPASA9mODYzfOuBP4nHFUBEGADp9Z0RgcQAcCg
6vdw5UnFnVDlD+BcJIUHK2oMy2rD0uzqSORRBECxIgfTFb64oHS9FZl7EnHl9maLkHqi
VGvg==
X-Gm-Message-State: AOJu0YwkExuJtGuiCm/zpXXDUzBFtOSFA4Zo3pQN//rhx3xTEngUQGSK
QSYXNcT8mzCtxpnBbdm1gOfatp4cG7MzKl5HHCvbzsHPp6sojhkFuQUQy7uD3A==
X-Gm-Gg: ASbGnctK6WTqj2MWchMUUcqxd4269MRXejY8SvUbtrmkUTCt3hDU28AQrmFHINjuP9l
ZmmR7mUBtE0n5rR0gwIV8NTjtv0J+aqF630gYjnR/Ge9nXvW/fZn1JzRysK5/YM5WE/KDbkFB4Z
Akd+Hh6zF35J/jy9O8wIvPcA9XVCyItBW/FrpAofJi+6F07uhkR/pzmeSVOIp4rk4BAR8rY9o3U
49Ue2Lswr/R99QkDwdvp7MaGyfWN93M35S66vNK1PbqGMbCgzruMXsd5MWDE0fJTr5EpDV1XNAC
HT7QGwcMWRKW7Xvina/DQxEtriGMvmGyzm/bIGXG6IadiP0lLsZKSQOhoUVhuGmKriqDwR1S6RK
alpnaxAAoXyBq2lATMX+0Ew==
X-Google-Smtp-Source: AGHT+IG9YlaGTFMDtvExKnIXSCm5Z6XTxWt/SVGG5f7HlM1J3/m10UYuymBbHMQv3DKHSPFiIdBeIg==
X-Received: by 2002:a05:690c:7008:b0:70e:7638:a3a9 with SMTP id 00721157ae682-710da1cea1amr71466467b3.18.1749079553930;
Wed, 04 Jun 2025 16:25:53 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8ad01703sm32192297b3.115.2025.06.04.16.25.53
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 16:25:53 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx,
John Stultz <jstultz@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>
Cc: "Yury Norov [NVIDIA]" <yury.norov@xxxxxxxxx>
Subject: [PATCH 1/2] clocksource: fix opencoded cpumask_any_but() in clocksource_verify_choose_cpus()
Date: Wed, 4 Jun 2025 19:25:47 -0400
Message-ID: <20250604232550.40491-2-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604232550.40491-1-yury.norov@xxxxxxxxx>
References: <20250604232550.40491-1-yury.norov@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>

cpumask_any_but() is more verbose than cpumask_first() followed by
cpumask_next(). Use it in clocksource_verify_choose_cpus().

Signed-off-by: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>
---
kernel/time/clocksource.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 4b005b2f3ef5..2e24ce884272 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -323,9 +323,7 @@ static void clocksource_verify_choose_cpus(void)
return;

/* Make sure to select at least one CPU other than the current CPU. */
- cpu = cpumask_first(cpu_online_mask);
- if (cpu == smp_processor_id())
- cpu = cpumask_next(cpu, cpu_online_mask);
+ cpu = cpumask_any_but(cpu_online_mask, smp_processor_id());
if (WARN_ON_ONCE(cpu >= nr_cpu_ids))
return;
cpumask_set_cpu(cpu, &cpus_chosen);
--
2.43.0



Return-Path: <linux-kernel+bounces-673887-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 824DF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:26:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 03F6F7A802F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:25:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 77095270EBB;
Wed, 4 Jun 2025 23:25:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IJHXDY0s"
Received: from mail-yb1-f181.google.com (mail-yb1-f181.google.com [209.85.219.181])
(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 56E2C270542
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:25:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.181
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749079557; cv=none; b=g/vpAT/A/Oac8zFpxOGTsUpRXf1msr6JHcgsib8nOy5fetIO73GV56NljqoT+NL7C1BF9O15DmMMQ0EL+z6myKVJDPGKmPVGAM1Y93vXW7vZFg6kcfPviuKQbxj96qhhsJ3ZS6dnK8Gb5s6J7To8JMiDZQNY9avibKkMLkDPDdw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749079557; c=relaxed/simple;
bh=SOMXEMyfljyF0iAAfVBGlx56si47T0lOo/QgJ/MFF2A=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=PopW0LX0qUJ/LaI+/08Cr39FaL9E2CxhHAFZbCNEDM0MI1bG/FWUKJfPOTT8LyJBSObEKDRfsIkz9t9IIDnVSQMxWCwHZ/gm4tjnBf7Iq0Q7gRmiSS2xQ7ujL+RnmuDyi7ousFraX2IAfzWFuDIUHiS6wZ9Tk9onhf9/XYM5aFs=
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=IJHXDY0s; arc=none smtp.client-ip=209.85.219.181
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
Received: by mail-yb1-f181.google.com with SMTP id 3f1490d57ef6-e7dc83224d5so1440865276.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:25:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749079555; x=1749684355; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=k2DRd0KKsntFWDvsPq/TUA9Er2c1Qv95Qf8sEiaIsXI=;
b=IJHXDY0slKKrP608g2cCJj8rml8m6MOhwmnPn7Zfz9obJD8n40DdYva2KZA+RDxSBq
x6LfKJ2MShwdrJLIqR7RLZC/Se0tVfHzXs6AWPVSrI/FoLq7M5aKBtjSuSibPo5F4Ss/
VDGlOIL5sjj1omXccapy0U6YN8PgLXI1PvkOW2dh1ww/I6vv9TMzI0w9DVMrGiVMtHiI
bYnRk5g5itQLlEB0EksG/iz+dj4q/iDts+5yl513V/VJ87+EJl0geCfYqeOHolAp3sis
kJcrUkAl/JPfwAj/ZAbuPmyfRdNle6zCE6/LbZpJAPDeZ1R6ZDG5o+mf/Sp4f1/ek6LX
hsJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749079555; x=1749684355;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=k2DRd0KKsntFWDvsPq/TUA9Er2c1Qv95Qf8sEiaIsXI=;
b=XH/zFF00W3g8L6lruNiyCOK26v6wzH41u9Jro4futqS6r8icEZpwebpyp+K7GkK5TC
s3ga2Jrntoyrs0U4fyqiMsnbrfzwtEseGk+3mUz4o5XluMSI7bVPyEfGwGfndU1lJ/Ld
vpqslYD7CCp7888DEedEvTUnX51nbKpgIZDYRY53WaoD8IPGRNQH3Q8+wHzB07/NqBcx
pAw//n8MVd+QbYPhv6qmyUPUNgxD58u/ZvMmQAXyUN06wWdaYGfLaBqVZIca1y7C0Z4F
xTaUGQz1haSLIk5JmDz3AJN0QX51pQtYeKAqYRbtgmlilsFLaXWEPPKDBW8rP1Mi3CK0
r4Hg==
X-Gm-Message-State: AOJu0Yxsa3Y9e2VNTDjve3kf7xbj7LoNGhmoVUN1IijhR9A1yVKHe06M
onP0TH63S9nY8AT7UQTw7z/8cOAE6NhkDc2JHSKZPlV1LfDdx+aPCBtW4fFl8Q==
X-Gm-Gg: ASbGncta75RvSsEMS+y67t1X6g41ls1L+ft7UCJnVFN9P/Ydcvf3IqLk5ifMKQe7XBC
8FLeISDyH6oxDw69VtuGpD3//wsVSDsPfaYKnaIl5WXqrudGsy5fP5L+YYA3SiakDyFmDzs5Ams
iBNwutnrSysNfR8taQV5EyQjm2p3DXuoNa5beHXHA0coz95s0NsuE9b5wwjORyz38bnYOT7vAPX
05in/xvIP2OdGWPzbBdKOEZrLHEBzPheAOAvhn6bEDk+G2dujojhbxcVtQdtjUlaSeR0tpZm5qV
HkYrSCBtGcT4QHcDWCEInH8vCeqOOc6AIWcY2IO59lY5pZKI2EnVUfhqKo0gaaBdOXWSITeomr/
KCsPvH2juq7tMRYM+SY2gKQ==
X-Google-Smtp-Source: AGHT+IFcPUsklFgYAAbvMkabCX9s6waLCDSa9y7wG/Zrs8h0D5zV0/LraLhKziO56+NkuiIVJF4Ygw==
X-Received: by 2002:a05:6902:2e0c:b0:e7d:75e8:d909 with SMTP id 3f1490d57ef6-e81882ab37emr2144633276.7.1749079555220;
Wed, 04 Jun 2025 16:25:55 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-e8183c6eae7sm313987276.29.2025.06.04.16.25.54
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 16:25:54 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx,
John Stultz <jstultz@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>
Cc: "Yury Norov [NVIDIA]" <yury.norov@xxxxxxxxx>
Subject: [PATCH 2/2] clocksource: fix opencoded cpumask_next_wrap()
Date: Wed, 4 Jun 2025 19:25:48 -0400
Message-ID: <20250604232550.40491-3-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604232550.40491-1-yury.norov@xxxxxxxxx>
References: <20250604232550.40491-1-yury.norov@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>

cpumask_next_wrap() is more verbose and efficient comparing to
cpumask_next() followed by cpumask_first().

Signed-off-by: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>
---
kernel/time/clocksource.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 2e24ce884272..0aef0e349e49 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -584,9 +584,7 @@ static void clocksource_watchdog(struct timer_list *unused)
* Cycle through CPUs to check if the CPUs stay synchronized
* to each other.
*/
- next_cpu = cpumask_next(raw_smp_processor_id(), cpu_online_mask);
- if (next_cpu >= nr_cpu_ids)
- next_cpu = cpumask_first(cpu_online_mask);
+ next_cpu = cpumask_next_wrap(raw_smp_processor_id(), cpu_online_mask);

/*
* Arm timer if not already pending: could race with concurrent
--
2.43.0



Return-Path: <linux-kernel+bounces-673888-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6521D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:28:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 58CC8171047
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:28:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 281152701CF;
Wed, 4 Jun 2025 23:27:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="IksFLUhi"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C4CA11DC9BB
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:27:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.17
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749079676; cv=fail; b=BgDEyPVgs+PCXLKH4UG1voNn2XFgrfDBPtKs6lxtswVQgR6tCQ5RJOjXkHE/Oar99RtAs+AT8tCDveIXLZzAqpncltPzRJvnfSBLpG/+vZEmBaHey1B1sfdlcZLKqI24Gv5sYI7s8UxxUf3CC3j3kCEsrRyXXnHNWf7qEK1+y9k=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749079676; c=relaxed/simple;
bh=GAnAxkrb9GoQQ9MGhiOJVfXuLt4hta/zxfwnnFOGRg4=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=Zk0KCf+JXuQkx0qVEA96NgIIaLW3/NVgxT4h/8OceGXO8DhjIckjLHcXh6d6w2I255+SVpRgWfQjAbWGW/K1VIS5ymQ7SrDaywPXmE0S5tXGxZn2ItosQxbpL9FP7FjutM1qS3KdUGSbtNOjLF8/B+LArLRHik9QGR9Gg8gBFGQ=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=IksFLUhi; arc=fail smtp.client-ip=192.198.163.17
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749079675; x=1780615675;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-id:content-transfer-encoding:
mime-version;
bh=GAnAxkrb9GoQQ9MGhiOJVfXuLt4hta/zxfwnnFOGRg4=;
b=IksFLUhiMT281jaUCDRuUrV5WZMyjjUiqsmLBrldq33QOJcPkKN3RAFv
bqmOJcI9HQVXTGDnKMMJKnu4YfXuse3ZIMfp5XBGsmjRD6t2Kuk0VVbgS
jhvmhQRFMBNgYpdURiePoEAI6julY8vYskzdEercTIGaG6+K7vuwxtY1o
6uaTVyk9zwv4M0OoB6OruZcSPjDtMFfLZAIc7qRBfy1IGiF7Iu/r7/xJk
xpJyQ8sswsSGzL1kBEVfflDGhuYtjzz4mHksJA9qCjeb6I7yZlviJ9oL1
QsKzvxYTA/LI2b01v8r8NKbq8YgGQmYQj6vSUYURO6W2Lwc08RvwWSFgz
w==;
X-CSE-ConnectionGUID: DalZ2zlrTkqPaBSAocoqsQ==
X-CSE-MsgGUID: H7Y5t9ZvRKmUunXMsC4KfA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51099816"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51099816"
Received: from fmviesa010.fm.intel.com ([10.60.135.150])
by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:27:54 -0700
X-CSE-ConnectionGUID: 3t1sOcLFRCaSHkWw6eIthg==
X-CSE-MsgGUID: m74nkcP0TjyZa/KXYjDFXQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145818854"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by fmviesa010.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:27:53 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 16:27:53 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 16:27:53 -0700
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (40.107.236.83)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 16:27:53 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=gPfCQb2wKL+aC9AoWHcNOGRYp0sxgPDfpeFolLuWmAUovNQ7sATXXtYD2NBEnwY9+zWpC6GYvFVboU28DN0rud7ctziPRq1ttFV50CB/nFDImnRzJyQhyKt3s/WfjhIBRhTwU5V8j+6ds1K8Ia1f1J+qDOpw8/8ambIbC0VJZxTP/sq7JdscXXzVNOarDyLMItXoFh0DGX7SSNRGPlx01reY+2aArjIT+bO+HfErek5GmwsLLg4nf13B7kTrb+rRlekxF8CvPqxAsV1C/2seCUMPOEjx3mr9JF/ye+cM6ULMtvVOmHiGx8wtQbrA38KfKPQBEbV0uvoU0CyYd51SEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=GAnAxkrb9GoQQ9MGhiOJVfXuLt4hta/zxfwnnFOGRg4=;
b=xWZWqbJ3bG9D0M+E7Pbb9y3fvbcmo1v8IvA55i/P+t9BGlgrbi7zqsWiERpFM/hJeL+MxrXus9FTI1NxaaI7crf06UvsoLCzrgYhaTls/yFJosneIsVQeg3CEqwz0vQASIgwnPhGwJyUpekW9AOU95n2j8Q5Zj3hihfOjvglOj6IcVzh6JK/KMDrS2ARdhG1PN0zfDpwoz9DR3zG3rpwSfMrgV+A07wrGCUynd6df0YZ2DykixurVPmw3uBDS0NUgYEHDc0toTZdrb5tEgph1WfG12JVBOH5lXxb5VJmgmza/qvjAXuxjxiuEbzMn79Pk45jcWroVBP0d46j0irCSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Received: from BL1PR11MB5525.namprd11.prod.outlook.com (2603:10b6:208:31f::10)
by CH3PR11MB7275.namprd11.prod.outlook.com (2603:10b6:610:14c::20) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.19; Wed, 4 Jun
2025 23:27:50 +0000
Received: from BL1PR11MB5525.namprd11.prod.outlook.com
([fe80::1a2f:c489:24a5:da66]) by BL1PR11MB5525.namprd11.prod.outlook.com
([fe80::1a2f:c489:24a5:da66%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
23:27:50 +0000
From: "Huang, Kai" <kai.huang@xxxxxxxxx>
To: "tglx@xxxxxxxxxxxxx" <tglx@xxxxxxxxxxxxx>, "peterz@xxxxxxxxxxxxx"
<peterz@xxxxxxxxxxxxx>, "mingo@xxxxxxxxxx" <mingo@xxxxxxxxxx>, "Hansen, Dave"
<dave.hansen@xxxxxxxxx>, "hpa@xxxxxxxxx" <hpa@xxxxxxxxx>,
"kirill.shutemov@xxxxxxxxxxxxxxx" <kirill.shutemov@xxxxxxxxxxxxxxx>,
"bp@xxxxxxxxx" <bp@xxxxxxxxx>
CC: "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"samitolvanen@xxxxxxxxxx" <samitolvanen@xxxxxxxxxx>, "Edgecombe, Rick P"
<rick.p.edgecombe@xxxxxxxxx>, "x86@xxxxxxxxxx" <x86@xxxxxxxxxx>
Subject: Re: [PATCH] x86/virt/tdx: Add ENDBR for low level SEAMCALL assembly
functions
Thread-Topic: [PATCH] x86/virt/tdx: Add ENDBR for low level SEAMCALL assembly
functions
Thread-Index: AQHb1OklVaYPTytbT0efy84CnI49T7PzaN0AgAA6oQCAAAIvgIAAAQ4A
Date: Wed, 4 Jun 2025 23:27:50 +0000
Message-ID: <5ebc8a6497b7dd7029fd45e7516228e65eceb6ab.camel@xxxxxxxxx>
References: <20250604003848.13154-1-kai.huang@xxxxxxxxx>
<55e5b3f8-3e17-4962-af2f-75c98ccd414f@xxxxxxxxx>
<f442380c2d8cc51b38105c6316cbe224a248fdfe.camel@xxxxxxxxx>
<5876fb5f-dc8c-401a-833a-a33265ff1fc1@xxxxxxxxx>
In-Reply-To: <5876fb5f-dc8c-401a-833a-a33265ff1fc1@xxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Evolution 3.56.2 (3.56.2-1.fc42)
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR11MB5525:EE_|CH3PR11MB7275:EE_
x-ms-office365-filtering-correlation-id: 7afa0a34-4c44-4ee8-faa2-08dda3bf6c5f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?TElSZjFHTVNzSTZkU3ZGaERUMVdMOTkyWkx2bU1sOTYvcSsvTk5Rc0NDRXFV?=
=?utf-8?B?ZjREMXNSc0lsZkNidXF3aU9xOE15WXhxRUxzNm4zZkhRMTNSSGpZcGI4NWF2?=
=?utf-8?B?ZjdJZXJNRVNPRUV6bW4zSnV2UmdjMytvNVV4OVZ5MXRESHlsUzJ6QWNJZm1o?=
=?utf-8?B?c21YaDhlT3ZiaXVZTzdtRjlwZ0hFSGFUVU44SlkyY1NZb0l5RGtxcWN6QXhX?=
=?utf-8?B?bkJMNmMzWWZ2VSs3cVQxRmRibTltUTZSa0pxb1B1Ry9hVWdmWDBCNGhnR2kz?=
=?utf-8?B?SU9rVVlWZHRIYjY2Rkw5eE5mOTVNOVk0ejJjM1Rna2VXc0ZjZ0pNRXRrL1Vl?=
=?utf-8?B?aGFuZVdGbGlFYUdCUlFOa3czM3JLYlFNYXlXMy9IZG4vRjJKZ3NjcklZOGNr?=
=?utf-8?B?NFB4OERNVk5yTlEvUjlZR3hpQ1JxM3hoVFNhZ1oxcENoaDR4VkJtQVhXVmlY?=
=?utf-8?B?VStiUzBoTUx1RXp3QUNQQXd4RGtRQnQwMXIxcXdRL2JnRXpmdFdVQVZCbmxl?=
=?utf-8?B?UVMxOHpIR1ltRkhQSkE3K2VuWUxML2k3cHh5Y2ZRVGUwMC9TZ2VET0J1Mm9j?=
=?utf-8?B?YkliUHV4b2R3Y0t6Y3IwelI2VDJQVWkzNkRnU0djUkpQeGo4dHlXR3F2bjIx?=
=?utf-8?B?Zk5YQkdlT29saGU4VVRxYk9mTEEzSHFTa29WMU5CczMrRTBhZk13L2s2bnEv?=
=?utf-8?B?RmVEcmZYc2RSUnpGS0NBV0RkNHF5bFZ2bEViZFArWWpISzlkMUF5aTlEc3lW?=
=?utf-8?B?Rkc1WGNnTzJtOHVFTEU1R3RSbldKZmtZVmpyclM1OFlpRTUvVU9RK0I3Y2tD?=
=?utf-8?B?RGFEQkUwZWlkWW9lZVpUS2FDTjBQWDJGUGRRMFJZenpIYnF6bXgvR1FPWjI3?=
=?utf-8?B?UkhYTmo1Q1Bram1rcGxpY25xR3N2TSs0RlJoR1pURWlNL1htaEpLKzAwZGdm?=
=?utf-8?B?WnFrS25KMXlhTzhDM2NuZldFa0luc05Kay9oQUQyWlNQOEVyYTM2R2Y1YnhI?=
=?utf-8?B?bk1IZFdLdWlPZ00zZGpac04ycnhEVlVBUnZlT2dsU3FjaXN5cGU4WEwrRXBI?=
=?utf-8?B?TkRDVStnU3lEcFJFZUMzajVTYnJIRnZScUJ5U0wyR2lhajdFQTNZbXlYRkZ4?=
=?utf-8?B?ekhhNzVObVhLd2o5aXg1angzSFdUbHRSN3Jqc0FYVlBXYzl2UnNSdjRVTVZ5?=
=?utf-8?B?Mk5zdlZpK0NJVldDNHd4aWVQdFl3cHlJeXFrNCt3Y2ptQnNwRVQ2NlF1RlJB?=
=?utf-8?B?MTlsYXFRM1ZwWVBvOVhrVmtIRTREays2M0djUVFyemRBcjJYVktxU25uK2xQ?=
=?utf-8?B?TzdzUE03bGJCckVYaFp0WVMrUXhncnRkUjVTb0xYY092cW4wRVY1VmlqQWtu?=
=?utf-8?B?TmMva0tKak5iSkxtbHBoOVBCZVFKZ0pLbVZlK3ZpSDczdExQM0tGeG9JSEQy?=
=?utf-8?B?Z0VmS2ZTRDl3K1ROa3FXeTk1aU52MFVqY20wN0FYS0N4RUJRaGg5aHJ3dnRJ?=
=?utf-8?B?N0s0TGt4K2pQUStzVWVLUXQwRWxrZkUwelJoWVRCdFIwMDhOZ080bkM0MUR6?=
=?utf-8?B?anBOUzF4OWRwcURBb1k0Vkc3U29md2RHMVNKMzJKN2ZOZHBPc1RzZU14VHVq?=
=?utf-8?B?VnNpMmN3MUFzOHdZMGxGSXNQTUx5VEg4ZklpYmJvT1VJYWFRdVByWEZVZ2JB?=
=?utf-8?B?TS82NWZDeWVKRDByY1ZsdHk4Z1J1SXEvSHdNWmxVYWVuUWFrSmdWT3FMVmxF?=
=?utf-8?B?WWxNcTdWcFI4YndhK29ScWtCS3NrRlVVemk4RlRkK3M3R3VaVjFuK0FMOVNN?=
=?utf-8?B?bElZT3lKWExEa1JWVzM1Z1g5cjZOZlBVSmxLMExERlE5akZka0srVVBOQ3Fn?=
=?utf-8?B?V3VlRWhPYkdqNSt4cFJoMkFZdk9tcStkWDRjNVBpTGY3WDJkbDE1QnlwdUwr?=
=?utf-8?B?RXVXWWRMSk9DRUFIeEl0b1RkdEZBZUU4Mmw1QnFsVDhUVmxiaGpnVDhuN1Qx?=
=?utf-8?Q?i0chSiQb4/0xiWqjPJw5tK1IPxDeSs=3D?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5525.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bDhWUXpnckxqbUYra2VBOW5aQTV1ZzI4ZG01cy8rYlFEUnlZZlA3RkxocnRM?=
=?utf-8?B?MmxNRUQxZzdGa3gvRjVxYmlKcUtFNCtrMm1RajlNWnUrL2NTWnhxT1g3VzN3?=
=?utf-8?B?NkRNclRNV0Q4VFlkNWFLWGJybmxDNzhvWGg0RmhVdEFZakpVbWEwcEkrbWdT?=
=?utf-8?B?Z0RDd2kvQWpTeFAySnNMUUpCWHd0bzE3M2lmU1Y0aENyMGt6amhOUzhEVU9M?=
=?utf-8?B?cXFHWU5DQjdnM1U4UXM3TXo0Y1NSNklUc2ZOSnhPL1RLUUpkTUY5ZjlHaEpv?=
=?utf-8?B?bWZsTDB3aDdDMnBudW4ycUZrbGlITndMUytlM1N5WE9hazkzODRSOUpTYlBT?=
=?utf-8?B?Z3BIT09pWURXY0xLZnJZaUpwd2N2ay9wa0ZQazlFU1p3dDlrdFlJd09KR0hI?=
=?utf-8?B?djdTaDQra2hqTGdyNExtSU9wMW42UEd2KzMwNEZrL1MvWlh0bThoUFEycjJZ?=
=?utf-8?B?dHpRbmtBWXJxSFRGWitkVURSMjI3blVXcW42K2xvZjl5MHVBKzNKVHJ5amla?=
=?utf-8?B?M00vRWlWSUxybVhEVk4rYStyOHZvV2RSL0ZaMEdqZXJvTHcvVlBIZDZUMnRQ?=
=?utf-8?B?Rm03REJVbDBqYzZpb1VUam9vbGNRMmc5cGVaRmxoZWpXL1c1d2t5OVpKaVp0?=
=?utf-8?B?ODE1YzN3K29uRzZDOGtQVGw1dW03MHBFSVBBdWdUMUhIa1JvQzNsQWgzbW1l?=
=?utf-8?B?UGpLd2ZzcjVra0psUGVIREpFMklja05JMUdsL2NTYjE0QzRIZm5NMGtWT29n?=
=?utf-8?B?cklyTWVVNy85S0pET2pEeGliS00xa3QwbjduRldJMlE5QUdwYjY2LytpNjV1?=
=?utf-8?B?bnViR1RlL1ZBOTBabkRaQjZvTWttdXJqRWkrVDUxNjRVamVOWlp5WDlBUk16?=
=?utf-8?B?anFKdFJ0K0JiOVUzSjdiczhPYmw4TnVYYU1VNEdDdVZyWCt2RitycEpzQmtR?=
=?utf-8?B?bjdFRGpmQ25PWGI2b0UrZ05QbTN2VHY5VldNUllPMFZFZUhuTVpVSXk2S0Fk?=
=?utf-8?B?K1RYQU1haFJjOEwraXJNdTQ4WkVZMkZMekVWZVFPZGtzekpvMFY4d3l3MUto?=
=?utf-8?B?RkFCRlh1WmdDTUp6ald3di8vSXM0bUN2QnA3LzFGMWFtZzM2bDg1cUE1N0lE?=
=?utf-8?B?K24rWElMZ0FtVVZVbkhNcFl6UGJVQytjVko1Mjh2QjFtVUFDMjNkWHpscHVF?=
=?utf-8?B?TEJ2VUNPY0NjTFNBVDdSUEdkYmNJVDU1S1pZK09HSHRURTZ4L2JpZzRMK1lK?=
=?utf-8?B?dHVpT3V3djk4NmdBVXZOUDUvaHd2TS92WTZ6SEpvNmtiUlUwMlhEaFQ3MFdJ?=
=?utf-8?B?N0V4MDc2MnF4Wkx2R2VXSytGK0ttbFVqYS90R0VNc2tKRmVPSWVnOS80emY1?=
=?utf-8?B?MExKOUttZWFrN2h6L1BFeHVjTnM5T2lCV0Rwd2FFSE55Zld3VFo5WGljL2Zz?=
=?utf-8?B?cVB3UUFyYkM0bkh6V3B1ZThpQ2JBa3gyT2FhUWRhM0xkSFVadWVudXFlM1h5?=
=?utf-8?B?aHhDUXlUeHk3bk9oM3F0cEQ5QXBLZTU4OEgwbXM3NW5Ra3g0amlkRGQyUm1t?=
=?utf-8?B?dTBFRUw5SGxtcWtTUjkxQTZWdWhOelQxS3R6ZTZ6V1ZWcm9FZG9UNWI5T3NH?=
=?utf-8?B?bHJack9OV0JuaUJEckZNY1V2bDZPYjN5clBTcmtocE5zWHBSQTUzemRUT01t?=
=?utf-8?B?ZzRVRGRwWVlTeWpqczRCbWJRMlBoNUtQOVZuM3kwdHdPc3FhcjRMaktiNzlp?=
=?utf-8?B?NmdHTHFKM3d1OFpSc2gvV3RicW9KalVoZzVFWDVXSDNkTGZLUHpZMHdTZkN0?=
=?utf-8?B?dlFYV3FLR28vdDNScmY3bFQ0R1JmMGYrWEJRbDBsQmpPd2lqMFhIcFU3dW5D?=
=?utf-8?B?RktpWnNIWmdOSWRuVFdOT25CVVZKU0Z4Y1JXWkd0bnZuL1VpR3NYU21oWjhJ?=
=?utf-8?B?VlZMRFhKSTdNdEdLSlB0NjJnZk9iWXhoVVR3YytVNzRGYktLcEs2QTZYR3Fj?=
=?utf-8?B?eUxwZjlyR2ZUQWM1RVAxV1lMWjZUeTBVZlBuTjgwSlZrVkUvWi9tYVFlQjJh?=
=?utf-8?B?QTJUYjF5T2ZPd05wVkZNZmpGUTY4VmNrODJwdlU2N0ZLbDNQWEFoUXNhb2x3?=
=?utf-8?Q?XuDQxDTeHp/FsW6Fe0JIaD23Q?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D70BB71DAFD29E44BD775B34D0C5CCDB@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5525.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7afa0a34-4c44-4ee8-faa2-08dda3bf6c5f
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 23:27:50.8514
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: dooEdKyIom9+tsZCrSmEm+oUockrKqR9wylxWwqMdXivAYz+0GbiHhHu0LL+EqphQ4ri76yTQqaSW2ldJEZ2Pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB7275
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCAyMDI1LTA2LTA0IGF0IDE2OjIzIC0wNzAwLCBEYXZlIEhhbnNlbiB3cm90ZToNCj4g
T24gNi80LzI1IDE2OjE2LCBIdWFuZywgS2FpIHdyb3RlOg0KPiA+IENvdWxkIHlvdSBhbHNvIGxl
dCBtZSBrbm93IHdoZXRoZXIgSSBzaG91bGQga2VlcCB0aGUgRml4ZXMgdGFnLCBhbmQgdGhlDQo+
ID4gaGlzdG9yeSBpbiB0aGUgY2hhbmdlbG9nPw0KPiANCj4gWWVhaCwgSSB0aGluayB5b3Ugc2hv
dWxkIGtlZXAgdGhlIEZpeGVzOiB0YWcsIHVubGVzcyBJJ20gbWlzc2luZyBzb21ldGhpbmcuDQo+
IA0KPiBBcyBmb3IgdGhlIGhpc3RvcnkgbGVzc29uLCB5b3UgY2FuIGp1c3Qgc2F5IHRoYXQgeW91
IHRoaW5rIHRoYXQgdGhlIFREWA0KPiBjb2RlIHdhcyBPSyB3aGVuIG1lcmdlZCwgYnV0IHdhc24n
dCBjb252ZXJ0ZWQgd2l0aCB0aGUgcmVzdCBvZiB0aGUNCj4gRml4ZXM6IGNvbW1pdC4gVGhhdCdz
IGFsbCB5b3UgbmVlZC4NCg0KV2lsbCBkby4gIFRoYW5rcyBmb3IgcXVpY2sgZmVlZGJhY2suDQo=


Return-Path: <linux-kernel+bounces-673889-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C555B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:37:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id DE94A1896380
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:37:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CED6E274649;
Wed, 4 Jun 2025 23:37:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JsG83wOb"
Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180])
(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 AC3984C98;
Wed, 4 Jun 2025 23:36:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.180
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749080221; cv=none; b=hTPg3rB/X1iOKZCdGM34Xji27ALDCY307U5tZzRY2q1VmIHQNQTQnKq4aNAqPZu6+YQR7zmPNU1NrPbrJDUdQk7F95Te2ejNHTEU5afgEqr1aCMir6B7KW0g14u0YRNMfA1CnHg9GNZHxyJCtyocgyfA5c0/lzVUtv1VDZynfFE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749080221; c=relaxed/simple;
bh=JjM2XMlc+zdtPl9efpk58oVX9710joZ/taNOZEqLTvw=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=pCgzDm+O9UOzIXm5ajjSoxk2QgTLsoKB4/dOR7yXCVsvPZTzuw1EEunlKRI3h3ApmsfmyefEqmI5+l9o/B9luzjiVMxJ6wtSVfab3UEf6IaEOuhmXhToSgWDvzJvmMVMs7kv8qLpvwGwpa5RSfMclglyVauhuHgdEbH5m1oOc8w=
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=JsG83wOb; arc=none smtp.client-ip=209.85.128.180
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
Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-70e5599b795so4655727b3.3;
Wed, 04 Jun 2025 16:36:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749080218; x=1749685018; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=gBRqa9U/2heZAUJZPXCb7LrXPxk4R2Wa7FOgeDBgosM=;
b=JsG83wObbQd7kL3x44olog56TSSztjEF1Ijn4RHKx8g+mDjGO4J4tcgR44W35MeFv8
hoHuGoLpAv9q6lXvi7y4y0uxo0WuWO1WUSwuPfU/kQLk5EohZ+7RNxTL/HvZT33A7e3F
Gi+yOpZMOGWBzx/PCXlKIksnJ6kpVPnGNYIae48U4M2V7mNLHWCN5PGwb70tkfgOOIsB
F/rawiLiBJCqSwRH4PFdP3unBx/Nuyu71WoT83syg6iHsY4kmBUsCj60Z/vtnsSO3yT+
mPSbxrDXMBUE8ibRdD1E2OnRvF6G/DmLzzFBJ6ENcv/YWkGmJicpE+LV4jv3LF1kpQJL
21Lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749080218; x=1749685018;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=gBRqa9U/2heZAUJZPXCb7LrXPxk4R2Wa7FOgeDBgosM=;
b=P8xllGd9JCD7oDHnXs3aqhzUV6slOV682Pbt9by1ezTtiTb97ZVSz8uPHZfU/ssH+U
21INezQThvmPOYOHji1s5/pD9u6Syn/05aIfgsJn47Jwqwc5a3mdyo2KRqUqsR/m6dUK
aYM1g3ZKAfjB8sOuUjzx1wbCSHMXQF8R5s6X8ZjYtHqxMq94H7tFpGMLdp8/Xo+hF0su
JL6IiJaqs3RfqQ1VMfbcaJRyiKFN7B7aE0bRljHa6X5wgBm7VOqIxOuTW14UB91ooRS/
hVdo8UHXZfpDabBTzeCkdhyuQCguPWdR8S2SZXy5fs9l+peJIcRcFkHtTujrp88+iPjf
9sYg==
X-Forwarded-Encrypted: i=1; AJvYcCW/U5wbHzoiN85A/EOaulBvQklyh+2KXmDdvCxTG7l4ApgFLzkqTCPJX8vykZkzCuSqS0npAkiFafi/8P4=@vger.kernel.org, AJvYcCWTPbTCx/qmT2tls3U5DpFAVQaYAgITQFQtgmKGbNd+bK+h//gcuSJL4xSaVbdEWv3aFa0Q7zYE@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YySLIYDiWKNufeFsLF8fbIVeS8oRh6i006CN1Sa764R14jQJzKw
VfLHdJtqKSr32hpXSYLQ36k0CSwOHcSg+Xl5PCGBhtPXYdKjioqY6vWh
X-Gm-Gg: ASbGncuFWR3KQvhLwBl3NGHr4Ieu/lGyqO0Xm9FUj0QqI3uBt3BT9ElzNJOnRn1Y3DS
/sxazQVyMajGydlebOAC1NLwk/xU1RBbDsWi0EROFK7TlfQj/eaZeDMViw9KAS4ZzC80WFscp4c
0Ih4V3icSMewHNQt3LuiNxA2jRAJnPlz0UH/ZiZ+1Mitrn/dICoGzYxxQ6jnPFCdS5bb9TNRop0
FokD+XtqJNi6g2JUCgZFFOnv3Q1wI8awI4Cz/gy+UudLj9eCMdS0TuwA5MyX2QWcVmsCc0dlOnm
XRHdXCplyOXJIry4Zm3eB4Ouw2e+EVqC6NjOSxnPds/JYl6A+H/7XASuW8kGRjwPuRZHp5WiEGN
EMTc7vbBZMKE=
X-Google-Smtp-Source: AGHT+IG84WFtztMkrKBWhzmHd8MsAsgBDrOouQY73izuVIVBEUYmm2gffzeGDeXrH0VDTDPQsmMGvg==
X-Received: by 2002:a05:690c:7092:b0:6fb:b37f:2072 with SMTP id 00721157ae682-710d9f3120cmr68548817b3.22.1749080218488;
Wed, 04 Jun 2025 16:36:58 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8abed2basm32224477b3.36.2025.06.04.16.36.57
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 16:36:57 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: "Jason A. Donenfeld" <Jason@xxxxxxxxx>,
Andrew Lunn <andrew+netdev@xxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>,
Paolo Abeni <pabeni@xxxxxxxxxx>,
wireguard@xxxxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Cc: Yury Norov <yury.norov@xxxxxxxxx>
Subject: [PATCH] wireguard/queueing: simplify wg_cpumask_next_online()
Date: Wed, 4 Jun 2025 19:36:55 -0400
Message-ID: <20250604233656.41896-1-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

wg_cpumask_choose_online() opencodes cpumask_nth(). Use it and make the
function significantly simpler. While there, fix opencoded cpu_online()
too.

Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
---
drivers/net/wireguard/queueing.h | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireguard/queueing.h b/drivers/net/wireguard/queueing.h
index 7eb76724b3ed..3bfe16f71af0 100644
--- a/drivers/net/wireguard/queueing.h
+++ b/drivers/net/wireguard/queueing.h
@@ -104,17 +104,11 @@ static inline void wg_reset_packet(struct sk_buff *skb, bool encapsulating)

static inline int wg_cpumask_choose_online(int *stored_cpu, unsigned int id)
{
- unsigned int cpu = *stored_cpu, cpu_index, i;
+ if (likely(*stored_cpu < nr_cpu_ids && cpu_online(*stored_cpu)))
+ return cpu;

- if (unlikely(cpu >= nr_cpu_ids ||
- !cpumask_test_cpu(cpu, cpu_online_mask))) {
- cpu_index = id % cpumask_weight(cpu_online_mask);
- cpu = cpumask_first(cpu_online_mask);
- for (i = 0; i < cpu_index; ++i)
- cpu = cpumask_next(cpu, cpu_online_mask);
- *stored_cpu = cpu;
- }
- return cpu;
+ *stored_cpu = cpumask_nth(id % num_online_cpus(), cpu_online_mask);
+ return *stored_cpu;
}

/* This function is racy, in the sense that it's called while last_cpu is
--
2.43.0



Return-Path: <linux-kernel+bounces-673890-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 37EB941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:38:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2B0B63A9B2A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:38:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DD1A3274652;
Wed, 4 Jun 2025 23:38:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=BLAIZE.COM header.i=@BLAIZE.COM header.b="c4A5d3fD"
Received: from mx08-0063e101.pphosted.com (mx08-0063e101.pphosted.com [185.183.31.155])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0E6BB6F073;
Wed, 4 Jun 2025 23:38:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=185.183.31.155
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749080327; cv=fail; b=ACj48+tws5ltMjYaiSxL1ksUtVdpQFJjYzYWyx2rrVc8qrobvzRmuIHHoTbSs9JgKlATa94J3YJvs2fuBk6btmaeK/O81o977A1EkGXnLvlj7q3hqHFJArFrNm1RjKn/4aK3LTZpvIVT5NiyDi96QidwabIpRF45D71pgCS/FPE=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749080327; c=relaxed/simple;
bh=7uslHUMzE4kLdMN75OTXMv0yQl4+5eM1MboNQS9F82Y=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=O0zNQjDUL2Re8DvyQg/OQOvjkVmmfHlwVysEsDZGJN7yyVpcvtwJQuQDnnIqnALif4JtRjbyNS+syiapzGcpZ0J83vm4Sp+ucPjcWsw4PilaiTmo57tarPhagarEAN4akyZGq947VYfQ5ylN7VAqiV3a4bR8qCHCtVBUVMhdph4=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=blaize.com; spf=pass smtp.mailfrom=blaize.com; dkim=pass (1024-bit key) header.d=BLAIZE.COM header.i=@BLAIZE.COM header.b=c4A5d3fD; arc=fail smtp.client-ip=185.183.31.155
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=blaize.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=blaize.com
Received: from pps.filterd (m0247494.ppops.net [127.0.0.1])
by mx08-0063e101.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554NA2Nr029593;
Thu, 5 Jun 2025 00:14:17 +0100
Received: from pnzpr01cu001.outbound.protection.outlook.com (mail-centralindiaazon11021098.outbound.protection.outlook.com [40.107.51.98])
by mx08-0063e101.pphosted.com (PPS) with ESMTPS id 471g878xwu-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 05 Jun 2025 00:14:17 +0100 (BST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=XjqmVqNY39dBER/WNGkWuqmm0ddSdHkyVxjeU2hEYDOmkTphgGpmHAWzqSpZkLjVAodGlk4CXN7R+HJjxdr/gGApAx9W/weRkD3rj1TlOVzd39LCVbwTlB73N+fiTMY+QWFediU7tESOFTLiov+7+H3ZM5eQz15XqrZNBU+Fe/VVkokkHSorM/dNH6i9X1M5aL/SuR/92FSRqr4XQyBjO7OW60dVsnyGcTFhih3mVBLNkcloHmYaR+iHlqmgUFczi9KGHE/RB5NOUC6fUbUU6dlYu2gfvSHOJlcikvvDwxn0FJ6cEh8TZshou0PhPhhNL99ZrXQ0wptcxkCzcthEyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=XIv/tUbgIhG8wWGiy8YYT26hoHorgs7j2JSu4oCUK3M=;
b=YvGKaYIlf43b8VOPnybLWeDISuL8t53kPpTNcpsPeWc9o9meamDIbdkd5YuyivfjDdZTW85A/fdw+rw9tJnSFQclLEFOhrRtyC+N8jcwb6fA2b5Og+qT6upoEg2QdnXbfcyaEp2wDxMIYALvYYOfavp+pr3zrAoP17+VmAQ3MPvzivpQ+W0R+psZUhX4Ub8hSeEnSwWnPSb/Wu7sBFF8al0/4UDyknKNEsbr2ye+HXlNbe2iblXlVVnN8HLWcVB3+sflUcmpBcSu7hv2C0woymXXpUXlubxiqdyNJu+005QvfUv7h3rqsPCNEMhKAIJTlJC8VJlzRhhoFNNcu8LlBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=blaize.com; dmarc=pass action=none header.from=blaize.com;
dkim=pass header.d=blaize.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=BLAIZE.COM;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=XIv/tUbgIhG8wWGiy8YYT26hoHorgs7j2JSu4oCUK3M=;
b=c4A5d3fD+Bwy8PGxkKIjycu7ZiD7LUmFjedNQ39WFC3TeRH57LOOWHryYW0TUdfyncfBDsbsSrGV4uvF6cLNs3N7H/lzfcl6unGq9iMHnmuObnASvoMJSUU/wybR1wwP05bgYw8GVvBP8piwavk8kEhke3Ph8R4j+A2WY7OkFuo=
Received: from PN2PPF1CBE88495.INDPRD01.PROD.OUTLOOK.COM
(2603:1096:c04:1::18c) by PN2PPF51D96C9B0.INDPRD01.PROD.OUTLOOK.COM
(2603:1096:c04:1::595) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Wed, 4 Jun
2025 23:14:11 +0000
Received: from PN2PPF1CBE88495.INDPRD01.PROD.OUTLOOK.COM
([fe80::9f58:e643:db9:bf05]) by PN2PPF1CBE88495.INDPRD01.PROD.OUTLOOK.COM
([fe80::9f58:e643:db9:bf05%5]) with mapi id 15.20.8813.018; Wed, 4 Jun 2025
23:14:11 +0000
Message-ID: <c31d9556-7ace-432d-b50e-df566900f535@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 00:14:07 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] media: v4l2-ctrls: Fix H264 SEPARATE_COLOUR_PLANE check
To: Nicolas Dufresne <nicolas@xxxxxxxxxxxx>,
Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>,
Hans Verkuil
<hverkuil@xxxxxxxxx>,
Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx>
Cc: "linux-media@xxxxxxxxxxxxxxx" <linux-media@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
References: <20250604143552.2955475-1-james.cowgill@xxxxxxxxxx>
<254309f1c527d782e0c50c425602c94683f395b6.camel@xxxxxxxxxxxx>
Content-Language: en-US
From: James Cowgill <james.cowgill@xxxxxxxxxx>
In-Reply-To: <254309f1c527d782e0c50c425602c94683f395b6.camel@xxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0408.GBRP123.PROD.OUTLOOK.COM
(2603:10a6:600:189::17) To PN2PPF1CBE88495.INDPRD01.PROD.OUTLOOK.COM
(2603:1096:c04:1::18c)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PN2PPF1CBE88495:EE_|PN2PPF51D96C9B0:EE_
X-MS-Office365-Filtering-Correlation-Id: e2311a91-5174-4848-62dd-08dda3bd83f5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?SFhMSzQ2akU3K0FYM0JLb0llZmNrTHRWc3RqTksvSEJNb3NjUGt0TXg1S2NM?=
=?utf-8?B?M25OWXgxY0YzeXdDeUtKQWZkaTNzTTh1REVqZVBkejZXaHlxQUo5VG5GR000?=
=?utf-8?B?aGxlam5GeUp1WC9hbzNhRVk1S2tqcDlKdHRpS1BpTXAxeHc3RVdhK2tNL2tk?=
=?utf-8?B?djBmYTU1T1dVK0x6clVIMzhaK081NTkxaDNqMUNSb25sUklBZVVmRHZleU5y?=
=?utf-8?B?YXJFL2NmOElZRHlGYmFCZGFzbzIzZEIxTHlPRjhNMy9Vc2MxQWRyZ2VpWm1t?=
=?utf-8?B?UklGOWFoS1JKaTZGL1B2cWdqRmdueW1nTkhtczQ3cDMvMEZSb3FCUjg4Z3hp?=
=?utf-8?B?OThpZG9pdDZuaDF0d0FldjRUL3RvNDJRbE1aTFFVSDJyejJ5QVJjU3dzQTI0?=
=?utf-8?B?NXRmU1JwMXB3Q1FpN1g2Uk1pbThJV3BDaDd3Q1dod2Y1K1FxWEFsUS83RWZl?=
=?utf-8?B?U3pVcFpCRkRWTWlGL3lKZVc2WE9aaVBmUUQrdk1Ea3FaSndkdnR3QW45MnFs?=
=?utf-8?B?MHczTmplK3pTdG1qT0UrUTlPSllaQllqK085SlhhVlBFMFYveVozcFhuRDFw?=
=?utf-8?B?QnYxcmY3UTQyU0VSeTNnUjhzcnBXcWdJeFV5Y1hFYWJKUUl6UHRpWG9CNWVt?=
=?utf-8?B?ZnUzWFc1RXRRZ1lUdG95MGFtNGNYaCtmYzU1NDJDRUhqNGdHZzhuMFNTdXkv?=
=?utf-8?B?aFRIc3U1VDhrS0t0TVlmYVo4U3BVd28zSkpTWE10TmlWUVNKS1dSQ3dZSEU2?=
=?utf-8?B?cXpod3lUQVpMZnJYY2hRWWQzQkJJRnU5eG1zcVdNMFd5V3dqbE12QUFqZkl2?=
=?utf-8?B?ZDlCNG5HcjhxNXhCTkh6Ry9qUFJCNm12czM5WkxEVnkrSGlHcmxvdFJrengw?=
=?utf-8?B?bnpqUWF0OWl6dEF6L256YzlXWE9RTGR6NFdRd1FsUlJvQ1FqUkJDY1BXNXho?=
=?utf-8?B?eU9tY3dWUUFLR3R5T0J5QzNQbnQrRWMxamYxc3lSKzNGUkh2YVQrYXZIdElq?=
=?utf-8?B?SjUxZ1JZVzNoNHEwWVZiVXNPS1VrWmc2R3dKMmpHM2VqK2IxK0VnUUhyVXdx?=
=?utf-8?B?a0NPSnJrN09BMnlCZUZZRHo4N3BJL0NjQ1dRU015OEZ3d3ZSRVBNemNxRWxp?=
=?utf-8?B?K3gyVS9HckhnQjJ1TVRtTDVxUlVWNHFsUTdjNGdscW5BTW5HZjhqcXdiODlZ?=
=?utf-8?B?MWFCQ1dSb21abE13NHhXN1RSSXFHNERiUlN3dStMWUFjMTRZbnhkLzhkcjN2?=
=?utf-8?B?dUtoZkpXdEpKanp0OTBCUFgzSDA3YUtmN1dudTVsWTRTOGFrZytINUQ5RlR1?=
=?utf-8?B?ZytDbWZpbkRselNCanMxcnBYODdTaG5jaVpKOHFDQVlEeGovU1c5YzBpQUVa?=
=?utf-8?B?dHM2Y1kyeHVaZ09VM245ajlkMU9jTXJHZWxGeXhaeFhxaU1HWFJUa1daQ1JR?=
=?utf-8?B?YUt2aGlkVWVBT2dGcEZZYktlblRLNGJUbkUvOW15cVdCMU8yTDgwYkw0T3hF?=
=?utf-8?B?T1NYcHlYRFpDcDF3VEVVdTc1c2JBU3R4N0d1cURDb21wSFdmNlVoZ29Oa1h2?=
=?utf-8?B?K01YNHF0QktPOFQyRGNCZDhyait3MllHWU44UkxsR2tCc01EOWsxaXhyZXQv?=
=?utf-8?B?blRKdFUwQ0NjNDFQUnljeVdHMFllSVFjUndYWU9RRkFSNmt1dzNwQkJkN2w5?=
=?utf-8?B?TEk1SG9SZjhPbHIyeUk3bTR6Z1B2UXNYYU9SMCtyenpkZlJIWWZJWmJTOFZC?=
=?utf-8?B?a3FySWZzYVBoQnY3ZXN6M3JzZzd4ZWRIN2ZuK0p5VUZwUHRUVTUyNWhmOFpC?=
=?utf-8?B?aDJzYm9TRFlLVXRFVTBGM1Fidk9KZncwRVFaL2U2Qm5kYnh1SzBWdml4M3h5?=
=?utf-8?B?aWxqRnVNVzZOcHJQWGNLQW1DTFZBSHoyYUN2NExGOHZFdjNjQkVtcEJpeEcy?=
=?utf-8?Q?KUdJOPEeGs8=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PN2PPF1CBE88495.INDPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?QmthM2pxVGZoQklJNGFybVVqb2FUdThmbDJCZDY0aWRXQUJoZ3c5V01SSndx?=
=?utf-8?B?dGY3OGpUZjgyS3ltd1VUbWtDNTY5MUxYV09lcStLQ3NSY1VOOUx4c2xSUno1?=
=?utf-8?B?VDdBR1ZNc3daZldoR3B0ZjM2bnBDakFzRzIwZmhlVVI0bHQ5UkZoSzVPcUJT?=
=?utf-8?B?dTFHY2xYVUN0SVg3eStET3VDTlQrRVdzTFNNcUE3NC9UN2NYc21LK1VpQVM0?=
=?utf-8?B?cGJxZlhhdm9vRFVRMjZ6WExoVmN2eUM3Q3NnZFg4cWZhUUJKMVJmNE11NTdR?=
=?utf-8?B?NGtjV0oyNWhTdlZ3UTdwa2dtZXJqUENkY0VXbnp6ZW8vTDNRbkFFRy90bHlp?=
=?utf-8?B?bU5EaHl3NTFUQStjWWJtaWVZU3J4aFIrMGpwRjY4bkkwanlEQytQTGo4ME5a?=
=?utf-8?B?UTQ0a2dOeE44MjNTTlFrOVhJU1h2UU1tNzVYTkd1bTlLbGFEWXFNci9BaEFk?=
=?utf-8?B?SW9nVUZHOUFrWk5TeTZGWFRQbFN2RVV4SzArKzJJVTRpSFZWT2M2UVdaU25v?=
=?utf-8?B?REthY25EbWM2ZEdyMkhyY3dRY2RTRWZVY3ZtS3lpVnIvMmxQVVg3blhESHln?=
=?utf-8?B?Qmg2Z3NvNW9IaUM0TGk5NDZYU3l6aXdzc2F2UlJRRWFwVUFaOE5FRzg3aXhQ?=
=?utf-8?B?MnhoVnhReGVua1N6VXpCeXo0SzI1clhPWjhodUsybTFrcElBUXlrRTN3cFFQ?=
=?utf-8?B?UFRjMTh2Y0oyV2JrcWxpL2hIOU5nN0hMZkJFdnNDUHVJR09qRmZZRVEycHR1?=
=?utf-8?B?RW0yS1BBYk5aZDBRUVBSN1o2eGxEanFtNEFPTlhpd3JjVlJ6bW5BcU0veEhC?=
=?utf-8?B?UHJpYmYveGFiRndyRWJTd0ZGSUl3OXM1M1VqS2NCM3hiVGJTWTRMVGlXcW5w?=
=?utf-8?B?R0JNWDE1aFdZdmZCQjBvQ0k1R1djNFluMEpTVWRtV0x3TE5Gd2hkQkoxbzEz?=
=?utf-8?B?VjhyNjAvbXNkdDJ0R2I3K2ZHSzE1amRFTHlhTXNYS3llbUZUY1FiOWdYZXBX?=
=?utf-8?B?dGJWQ2U2N05UVjJHbFdjdFBtK0RYVmF3RmIrWndoZDJFT0pFSGlaUkxybDJ5?=
=?utf-8?B?Ukx1Z0dIeS9PWU5rOVNsRlp0K29SblFFOXFUKzNLdkFNV3VwQTJoUE0vOGZl?=
=?utf-8?B?Z0lqZm5wc0ZleTBFV2xWYXZWeHoycHlVWXRrbTl6SFEzbjhjYXNQT0FoMm9z?=
=?utf-8?B?YWJUaHJLdEtYbWZ3SitySUlrdXRpckxhQTg4anlGc212S2lNRkM2ZHpGN2tz?=
=?utf-8?B?bzFKQVUrakIzSW1ocGdUUjFWeStKelhXSXJwQUhONVV4QUw1NmxWOGVJK1hq?=
=?utf-8?B?UmF6WGNQUTRYalNxVmw0QTlvaDl2eThsVGZ5RlRNSTRoVXA1cWt4RnJCSGNU?=
=?utf-8?B?YUxtd2hqc1Z2MFhBak9UWG5QejJhR1Q3dE5ObXA1N2syTFJSN3VyQi9PUzRK?=
=?utf-8?B?WXFyNTFlRjQ5YmpCSGkrWXh1OWN0YVdTNHdtT3p0Q1g3WU1PNERHcjNtK0dk?=
=?utf-8?B?dmF0NmtVbzdPRDVtQzh1TTEyNGVCcjZLcFppcmlWMjJ4RXhzYUFYTWtPK2gv?=
=?utf-8?B?Ujl0UVJCZDVUaGxuM01td1BxU01WeEk2eTdaSHdsc3picVNpWnlQNUtCZGxv?=
=?utf-8?B?ejdqYXpwblk5czRjV0c1WmM3cUc5MDQ2enBidzk2VEZNdVZyQ1NHU295OWo3?=
=?utf-8?B?OHBzMW5IQ3RyZzBtaWUzVW1QZVNRcnNvMW85bklheEJxNVVqaFEzWVVYMklC?=
=?utf-8?B?bThrRHhkblI5VXdmaWtxNDhUZm1LMDBmQnlEWmV6K0plemNPYXVxcDBPdFBO?=
=?utf-8?B?RWFveWloUnZ5MGsyY01vcHRyeXRRZmRZcDNyUXFSWUpVNyt2VHVJNDZHaWd2?=
=?utf-8?B?YnRLditzM0tKMkdGbitwUmhmU3NpdEluVWxzZjA2Vy9sWEplWkRDRTBMQjV1?=
=?utf-8?B?REVsME1pc2w1TTFYWFFPZ0lEUXh1RjRyV0J6N0JmbnA3VDBiT3Y4RXB5QXZh?=
=?utf-8?B?aHZJQmRJSG1qZ1picmJpU1ArNlMxYVRTbEJUb2lSSmtkTU9OSmZvRXRJeSt0?=
=?utf-8?B?Rm1Kd094V2RNYmR2TlFEL0JZUkIwdzBDSW5na1cxb09LNEFnRnh5eEF2Q3lu?=
=?utf-8?B?TjBjaXZFak05anVtd2pNT2tpdjVweU9WNUlGZUxlajV1dG00cU5GYTNNTXVr?=
=?utf-8?B?RGc9PQ==?=
X-OriginatorOrg: blaize.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2311a91-5174-4848-62dd-08dda3bd83f5
X-MS-Exchange-CrossTenant-AuthSource: PN2PPF1CBE88495.INDPRD01.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 23:14:11.5525
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 9d1c3c89-8615-4064-88a7-bb1a8537c779
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3wTiZ1YEt27+CHVAFvdYFy2yZPW16ObkJw4cLZYSwbbhveOIR5hP/aMFjvFW6wbziuiGuQpXI9ee7gnpvgZKIIIj1F8+2IlRHEKQnEZ2/jk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PN2PPF51D96C9B0
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA0MDE5MyBTYWx0ZWRfX8CsRKiD8DAbh BNhxweezOABOK4296Vn4NQ5DTqrGNW944+FN93f0a+sATzjIXzyOSiYNNjXov1ZoHSi+4Hpuuz2 ggXpHgXmWbBvYrE6uTz+HCNnwZBbllbuLiEJWgMdMUcZdT3+hM5YrExbYH+vGmoerfQFEj4AItN
+k4a4xIlAU6I1VNW9RgmyjaUUDSVHM50zh8Kv6pF79rx++JBNsTSWPUJ/BCZxdiEQGuiLSEvar6 8NGiHwMKv0Ntk4HQ/QhaiDuzFZ607kJyk1Qh64/g3oNSYlRvyv6jwe8LQQDAAb0eh3QF7JaQilP oF+4+grsZctw4SRDq0t6Abx2xpYzR+vXiRv6enBVVrlycS5K5E760tHOszYx1UksLC/XPEP4ERS
B1AUqzmh0s34t4qOYfXzKQXwJ4pdtsOPY13v+L0MtA3ew1h37SuAy/tw1RDLCz8/571kWF1A
X-Proofpoint-GUID: tsnlw00dNHeDDxleY6IyP2-nvHIvMV0t
X-Authority-Analysis: v=2.4 cv=T/GMT+KQ c=1 sm=1 tr=0 ts=6840d349 cx=c_pps a=JIax31N6zdZwrNNW4sZSnA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19
a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=-5LYVjoNHPMA:10 a=qMsUxAKnpNKJFhcHM7YA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
X-Proofpoint-ORIG-GUID: tsnlw00dNHeDDxleY6IyP2-nvHIvMV0t
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-04_04,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Reason: orgsafe
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Nicolas,

On 04/06/2025 16:35, Nicolas Dufresne wrote:
> Le mercredi 04 juin 2025 à 14:38 +0000, James Cowgill a écrit :
>> The `separate_colour_plane_flag` element is only present in the SPS if
>> `chroma_format_idc == 3`, so the corresponding flag should be disabled
>> whenever that is not the case and not just on profiles where
>> `chroma_format_idc` is not present.
>
>
> The fix seems correct indeed. This has no incidence on any current driver, since
> there is nothing upstream that supports decoding 4:4:4. Would you mind if we
> extend the commit with something such as:
>
> This prevents invalid flags being passed, though no upstream drivers
> currently supports YCbCr 4:4:4 decoding.
>
> Feel free to to suggest a better edit. It will make stable people (and bot) aware
> of the patch priority. I can make the edit while applying.

That wording seems fine to me.

And yes this patch was just based on me reading the code - it doesn't
fix any actual breakage (at least for now).

Thanks,
James


Return-Path: <linux-kernel+bounces-673891-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9728A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:41:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 84C9B176B4A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:41:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 98B052741CE;
Wed, 4 Jun 2025 23:41:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="XozZKd0x"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 46C3126AAAB
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:41:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.19
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749080488; cv=fail; b=cfrmozzolCRZqSGBC9Yx+bDM49NfcVvxByK+dWYiQb9uC5eSj5Vz4gyVALChy5qks+XzKSmMhggcT09Egfzt2Ai3Vf7UsO396UrajU4o6PpvlVTC4P6lKmvySfR8UQdhQ4M/DNuG7+Iay6rKf3uRmUtTnJCZ+Wu/L5MOcrLMsq4=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749080488; c=relaxed/simple;
bh=YFl9nnh9+BO3QmgP+eBzjuacjXIT9geGxUcpBXyA1lI=;
h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To:
Content-Type:MIME-Version; b=r2DS3TmqZf4IH1DaRB81ERxPn2jJBfx8JnPrH/gUZie+4g0TaM59AaxITEjx1h27cxhpAv0Kv4ohtCUPP49Zv12EIcSRTitRUrMx8vwGWsujOjrWeqVcleOk+E2px/XPQRjyyn9rhE9w5Wu/gtUf3r+e/rn5X9i60DJTHxFMmus=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=XozZKd0x; arc=fail smtp.client-ip=192.198.163.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749080487; x=1780616487;
h=message-id:date:subject:to:cc:references:from:
in-reply-to:content-transfer-encoding:mime-version;
bh=YFl9nnh9+BO3QmgP+eBzjuacjXIT9geGxUcpBXyA1lI=;
b=XozZKd0xM85D3OnuOUywa9M7hfQ9lQM0K7K4XY+93MooqjjeJGbSwBpr
NEP6/hrTHi6Sux5tJS+ce568LMk9Oi69fMKiTZRPapSJrpmy72bwNtc2p
Vj2VbTf/UbGlsWE6hjAlTap7cOzP9sAWs1Cf3qC2T7bzRkeHhXPr1ZD+J
tdHWXSU1q/u+4nhn3vrbD5P6MEco38A8JIxsf/yiG8Gm6Ilr/K+il0OE4
ndOTP67HTVDZmyFJMNiAgsOZCM2YJ1sWGH83XcpLYbddLB+OA9nyeuUrQ
wTZtf8YWzJmhxGp6qRlzaXKMB72gWeaOzMFJH0VsPQusQnh6WjDaQi7G3
Q==;
X-CSE-ConnectionGUID: 7MhrhrLATGWtS3Ip54SnnQ==
X-CSE-MsgGUID: LjrjFP5kTyKs7IQ98ytlcQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="50299079"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="50299079"
Received: from fmviesa005.fm.intel.com ([10.60.135.145])
by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:41:26 -0700
X-CSE-ConnectionGUID: s76mMqA4Tq2LJUsSraLRRg==
X-CSE-MsgGUID: oeS+8nuqTSGzwqlrtBVzKw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150207957"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by fmviesa005.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:41:25 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 16:41:24 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 16:41:24 -0700
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (40.107.93.89) by
edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 16:41:24 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=l7eWAhSW/LgU/5ibA/JUJxb1/xQvIoEDsVaLsLmttc5uI565JnxZkmy+QWVcKz49tIm7ZGe3IEtx/5pPaTf79dXUbsyBtAopFsNpfFBJpcWC3wNf4j6gP5zwGWc6MlNr+HMnstExmZK6gFpQ6i11uzguqQFpNU4JafTMAkbK2Ag0triIVXm2n9BY8zIBxNKtikLixIBYBgehbKX2dxxapQO+w7+Kr/Nf+rYCQByOZjDtkHHvDEhuh18v2uMT5edCRYtYaQoZDmSysX8Tf7b2KcI3QIC7eDgF0m0PwA5o66wicY5AElXGrt4iLKQ8kN1pIe5w85oM79/SyrrvHNqMMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=5v6ZRdw5U3I6Aop3caU7oIEI0PPxrZzemPUhPF72NAA=;
b=ivkiX/tOj2ZYfZSo6pNq9qizFWFGtqwHRzd9D2m/HvWITFukSfoxhOfsPotOuJy3i6ILWjjGDoFcP9uLab9+GZEhlLJ7GuuRVZgoneMf73ff7LJiVQ8essFPp4WqqakBZrKKx1NU5Krc4JNRr0fTiuJV4H5k4+RhHfctIz6NLhZveT+x6TPn92uCoCaN5fvLGMIB7nMVfGGZr1T2fTkC4aw9PMRSadRxWGN6DKuhvMi2o/fhGp2efHFZd3Qk1hUB6OxLdjczr4iX3YoX3oAQTjZpSvHNJIKMSA6L8QwW3+JLkShyRf7XMMBlA/nYGfYg6cngIVJJUSyy+9sFwKNjDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from SJ2PR11MB7573.namprd11.prod.outlook.com (2603:10b6:a03:4d2::10)
by IA0PR11MB7838.namprd11.prod.outlook.com (2603:10b6:208:402::12) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Wed, 4 Jun
2025 23:40:54 +0000
Received: from SJ2PR11MB7573.namprd11.prod.outlook.com
([fe80::61a:aa57:1d81:a9cf]) by SJ2PR11MB7573.namprd11.prod.outlook.com
([fe80::61a:aa57:1d81:a9cf%6]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
23:40:54 +0000
Message-ID: <a1bb0fda-22ed-4510-b89f-73d5aa07110f@xxxxxxxxx>
Date: Wed, 4 Jun 2025 16:40:51 -0700
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 06/29] x86,fs/resctrl: Improve domain type checking
To: "Luck, Tony" <tony.luck@xxxxxxxxx>
CC: Fenghua Yu <fenghuay@xxxxxxxxxx>, Maciej Wieczor-Retman
<maciej.wieczor-retman@xxxxxxxxx>, Peter Newman <peternewman@xxxxxxxxxx>,
James Morse <james.morse@xxxxxxx>, Babu Moger <babu.moger@xxxxxxx>, "Drew
Fustini" <dfustini@xxxxxxxxxxxx>, Dave Martin <Dave.Martin@xxxxxxx>, "Anil
Keshavamurthy" <anil.s.keshavamurthy@xxxxxxxxx>, Chen Yu
<yu.c.chen@xxxxxxxxx>, <x86@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<patches@xxxxxxxxxxxxxxx>
References: <20250521225049.132551-1-tony.luck@xxxxxxxxx>
<20250521225049.132551-7-tony.luck@xxxxxxxxx>
<7de291ed-a29b-4768-9b27-7fd9f5602e37@xxxxxxxxx>
<aEDPhbwyjzeum_Km@agluck-desk3>
From: Reinette Chatre <reinette.chatre@xxxxxxxxx>
Content-Language: en-US
In-Reply-To: <aEDPhbwyjzeum_Km@agluck-desk3>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: BYAPR11CA0040.namprd11.prod.outlook.com
(2603:10b6:a03:80::17) To SJ2PR11MB7573.namprd11.prod.outlook.com
(2603:10b6:a03:4d2::10)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ2PR11MB7573:EE_|IA0PR11MB7838:EE_
X-MS-Office365-Filtering-Correlation-Id: 19b2c9ad-1cd3-40de-582c-08dda3c13f1e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?TXN4cDFpcGdBQStoTXBRMkRMeVZMenhKWm5ZRUJvT3BVTVRPMlp3QnlOUnM0?=
=?utf-8?B?M3liS2lBKzZEUGZXQzFZdkpxMEhwSE0yTVpVMHVXNUdQQlBBY20vTDU5clc2?=
=?utf-8?B?bUFPOXdRaDJXSkdrR0FUSko2ejFRa2t2OWV3cmRLcTlhbjVCalRSNUhQMDB3?=
=?utf-8?B?SFpiU0VrR1kyYm1sOURpb2NxeXB0Wko3Q3huWEpaVmJoOXBPd3IvbHFnOE1U?=
=?utf-8?B?aktST282NFNPd0FSZkpYMGZiNE44aXdhR1R1L0ExZ1hVRUIyeEl4RlNCU0hj?=
=?utf-8?B?eGl1OUxrZ1pOakJDN0ZhS29ZR2ZHWnlsVW9tSC9sd1ZuOVh3OHc4d1A4VmdK?=
=?utf-8?B?QXpYL0U1bEJzRU1Pc0NmOWZ6VHo3NC8yQjJ5RGo0cDlWcXVudEpMdjNPZEFN?=
=?utf-8?B?NnY3c2p1aEhqT1JicXM4L2k2ZDR5L1h5eDVxV1FGc0dHV21DOWR1alR5aVpa?=
=?utf-8?B?eHFWVFZPVnVCY0czS2tlekJpbXU1VlhTWDdyZUZhUHFITTdjYStEZm1pdVhM?=
=?utf-8?B?Z2Nib3pkL09Sc3dSa1N4RDdBYTNKM2FDZ2VYOVVWSW1SWmY0SWsvMFZLMXpw?=
=?utf-8?B?N0hDQ0FxQlJnSXpNRnlaSkFyWWlNY3ZONzYzOFFaMkE3WjAxUk5md00xNndF?=
=?utf-8?B?b3Y0RXRZdmptdkduSnBNdU1IQkVMZTdTNjBlNGhHYjZSNTBCWkxiNTdCUFFZ?=
=?utf-8?B?UkRGZ2ZGdzhweWZTSEpPcDUyWmpxN3ROZmZJZGpNWGpScXFYZzJKQkhrUStS?=
=?utf-8?B?N01wUGoyRG16c3Z1ZWNoeUNkNlJoUTBqTjVxZWdkV1Uydm03elhNNjdMYnh3?=
=?utf-8?B?bmZianNXaHdyTkZ1MHBRdXpKS2VBL2VrVVhPcllNUWRGZzdXa2xUQjdYL1Jw?=
=?utf-8?B?aml2RVQ2UjVkRkMvQkhyRG9CbFUwWXl1cDRGQStzV05sTkJTUTg4Y0U4cGFo?=
=?utf-8?B?WXJPZzhZclU3WGEvMmRPS2ZyQjZ0YlNkU2lLQ3NZUXJWMmg3aUFJbkticWsx?=
=?utf-8?B?MC93UldYd3VuS2QzTGVWZmVhcXYzZ1pidzUzUDZLVTJNMDY2N04wRlVoWTRG?=
=?utf-8?B?OXJUZTdFVC84VlNkcWxOdWp3TW5DQmVlT0Y0ZkVzamFaSnFtckltV2dybGxn?=
=?utf-8?B?bFk0M0Q3Ulc0R1BLWGRha3pvWUNKY21LeTV0aE5LTXRhRzVQRllKSStoNXVs?=
=?utf-8?B?MWwwZHZDdUNFZk1TVUdyOWtTUkJyZ3BnMkM4bHR2YlFZdUNHcXFlUzVaa1cx?=
=?utf-8?B?V3A3MVVkM0tEaXF5VDJHbU5jNGpDNWFTVllWeGlYZTFST0RjSEJqNjRDeENO?=
=?utf-8?B?RlpaVHdBTkZnWVRqaVZVY3ZRZk80Qm9Tb3JTOURieWo1T1lUWE42VFgzRks2?=
=?utf-8?B?dmJmWDYrdmV1d3pQRUl2QWtFa0xHazQ4bGVGVzFsMzc3T3JyKzNWSEJqL1N3?=
=?utf-8?B?UHRJejQ0UlZDcFNrTFhYSEFtV21iODhJbEpEK3ptVDQ5bGY3dUlhNmVTMjVp?=
=?utf-8?B?dVErQnhnOVEwbXBKNmpBaHIzQU1iZWxDOXZMSHN6VWs0dkRpVG1kQnZSTDFK?=
=?utf-8?B?WCtRR2tDQ2hna3BCemF2Z3JqUGZuRW02dnF0M1F6Zkh6YzBlelU0K3E3SHFJ?=
=?utf-8?B?K2dOZjFQWVF4TFNWb0NSVXV6U1VFSjdXTUJYem5BanFwTUd3ZERnNThOaEp5?=
=?utf-8?B?QVB3SGZ6emtvSkNueXpWZDJwK1J6TU53dzJwUmlvT254WXc4WWw1enZGWVdx?=
=?utf-8?B?U3lHYk5KUzUvT2ZYb0E3b0c3dzB3R0NOTnRqaGErTU8yWVB2VjYySVh2clBn?=
=?utf-8?B?RjY3dU93U0JwSlJsNkNGZEhNaWRKN1JTZDNrcXh1aytCSWVDU3FteXVzMFV6?=
=?utf-8?B?eVY3Yjl2TWhsbUtrTDVZMU96enhpTU5GK3ZBS3hOZWJxSUtIM3pZd0tMMEtp?=
=?utf-8?Q?Ucq1MwWu6AQ=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ2PR11MB7573.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YlZRZ3FsZFZXYXZwOE5jMjRUOWpBMUVJR2crNTRVdFp2TjlRYTJNaC8xZ2xr?=
=?utf-8?B?UXVCN3FKdmp3ejNGTHIzdEdLK1JpVHVNc1VEWXZ6K0FRWU13Z0lSaFdJYmJZ?=
=?utf-8?B?R1FTa3NNOG9nNnNjZmlMTG1TNkhsaGIxNGFyVmJIdUg1NUVDTnlSQzVwQ1hK?=
=?utf-8?B?cG0vVzltMVBWdlhEVGtla1RoWkVXWmcvSXg1dEVBWGNzVmhmOHRxcUZ4VWZJ?=
=?utf-8?B?cC9TKzJkYUdjVHVxdW5YdFlpcTlGTjd4UmZRTVRhZ2k1dWZyQ0dGTnVFZHRM?=
=?utf-8?B?czNQck1oT25ZSE9VYWVsMCtTMEkvbGthbjVReG9RL0xKbDE1WUlnNGpyM1VI?=
=?utf-8?B?SVNVdlM2aCtSb1NyNWU5cE9hM1RMczNjYVBES21UeCtNOWdHTEc0clRDVTVx?=
=?utf-8?B?NWR5TVBCazlLM1lFOSsyUW1NQ0hOcUdkME1rbUFmNWowNWkxeXVteHE2NWNk?=
=?utf-8?B?c1hIUGJCTmlSVm5LNXUyVVozMmFDMy9FZFR4NkVmWnYyZEp0dU54M2EzMTB0?=
=?utf-8?B?RUR5QWhTeTRRZzVLT2dJRWtnNlBEeFhkZ01sSm9zUEhZODFwOEZna2lSSkZO?=
=?utf-8?B?cWRQWU82RVJtNGRXWmtQR0w3WCtjMk5pVjIrM25uMmxBWTFpOUxSYUR6cFNL?=
=?utf-8?B?aDVtZWZBQ3BOT0MvbGlyaTJkdk81a0tkYVR3OVlZYUdDTjFCc0NhRGVwdnpO?=
=?utf-8?B?cVUxTDcwWVRuV0xXZTMrcFBzZHVldWZBRmhUL1ZTOFhEcVhpTklCYjAvU2xV?=
=?utf-8?B?M3FETDh3YjJ4SlZJcVRBRmZWR3l2cjJVblhHeWVVdmpKaWpaVVhvTVNCNXd4?=
=?utf-8?B?UDl6ZSsycnVkZkZCRTRRRVAyTWtpSk9qSVlnbWpLUzdIVUFsemIzYUdSeFph?=
=?utf-8?B?K2cyN0xVRU01RDN5M05kZnUxK0dWbE5LNitwVHdxYkhTQkJUQWh3ellLbGRj?=
=?utf-8?B?a0hIZ3ExL2Zlck5wOXo4RGlmNzlZY3F4L1BGUVJ6TzJjMGRPeU5nclBWbVgr?=
=?utf-8?B?U0RxOVdZdFBRcU8zVjA4ZkNtYU9OOHhYbmZXSmJzdC9BVmZ4U0c1cktuYXpP?=
=?utf-8?B?dStEcVNLNVU2RVBCV09ZWCtiK0g1bGMwM0hITjQ0WHFJb3BaRFpROE5VTnlR?=
=?utf-8?B?MVo3alBqQVJ2b0Y2R1NlTHoyTEJOcnB1SWxpbW9rNlM1REZRNTIxaHc0bHFn?=
=?utf-8?B?M2F2NzhhRW9KY2EwUFRpZGNrS0pDQ2NZcUVOSTg1M0xldXFiNFlJUkU5S3l5?=
=?utf-8?B?TExFRk5jT2oxbndSOUJ3QjRFelZyd090K1VzQUJMZGtJRlh4TnBla3NXVVE4?=
=?utf-8?B?VkpGVmwzYmZaSkFUL0VGVmJUZE1BN2Y2MFdDTkpZNzBrZXR0RWF4Ky9SeXRT?=
=?utf-8?B?L05OOEdySjFwRW5icXF3Z1o4UHdvUGt5alZmS2pmK0RveWViN1FzRUtiTDZI?=
=?utf-8?B?K1pta3VlODNXL0NBNFVIRk1kRWQ2VVBpOEo0TjF4UXBNUkFoeWhIcjdaV2Vt?=
=?utf-8?B?SW8rUkdJaEpHb1d4VWZHd01wbmh0ZjhvdCtaVEt4aVJkRkFUY1VZeWNHaFBm?=
=?utf-8?B?dks3OGJPRXp6U0pGVkpGUWdONnlrT05nL1NObm9CN0c4T1pRWnl6UnVkYmJU?=
=?utf-8?B?SnN4WnFYOExTZUg1YThiRVlXck5hekNEWitnd0kvUDdpbDFRNi9WUFNKYWtj?=
=?utf-8?B?R0lURFFPZEhNQWg3M0hyMFF5blBoakpJdEtkY24zeDgxbUtvQlV0NUtEelNL?=
=?utf-8?B?NlNvMFhoNm8wSnpwT096cGdMTmdFNFFNOW5JbUdDMDdvdUhUTnVFZlZGYUVj?=
=?utf-8?B?UGhGalM1Nmw3MFlrbVFmM0RZSmVmZmgzSW51UXB4MVhPbGF0RG5uOGJFQnVx?=
=?utf-8?B?VkM2Q2hLTE1SZjNLem5JaUFQMkY3VngrQnB5ZytsNGE1SG0rdzVBK1BUYjNj?=
=?utf-8?B?bTlrdmN1Mzg5NE8vSXQwRHlOaGEzT043STNrZHVzc3dtK1YxcVM4bllad2lt?=
=?utf-8?B?d1pDR1E3NmJjUEoxVkpYaDg4NGZwSFJwR2Jtc0R2N2lDNEtNaEkrVW5BcGtr?=
=?utf-8?B?RzFkK3VTaXo1QVN2UkdybmZnVG5iMFh5T0VoY1lvcStIK0VyR2JYQ0NxYXFl?=
=?utf-8?B?SGJxS3BlbHVFbjNPMVcrV3d5dTM5VFpJdlM2YWdaZ3pERjNIZlZZaTJSYkNs?=
=?utf-8?B?Smc9PQ==?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 19b2c9ad-1cd3-40de-582c-08dda3c13f1e
X-MS-Exchange-CrossTenant-AuthSource: SJ2PR11MB7573.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2025 23:40:54.1257
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Rnm0KReUKz5ZDaby4O01HaGwbRun8zkm6LRDtHqzXDT7R2xK8+zf3K9XGnBJSzTQYTh8wSZSvjgY06v8C28rj+NXGmcSr6sSLZpRYmholR4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR11MB7838
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Tony,

On 6/4/25 3:58 PM, Luck, Tony wrote:
> On Tue, Jun 03, 2025 at 08:31:07PM -0700, Reinette Chatre wrote:
>> Hi Tony,
>>
>> On 5/21/25 3:50 PM, Tony Luck wrote:
>>> The rdt_domain_hdr structure is used in both control and monitor
>>> domain structures to provide common methods for operations such as
>>> adding a CPU to a domain, removing a CPU from a domain, accessing
>>> the mask of all CPUs in a domain.
>>>
>>> The "type" field provides a simple check whether a domain is a
>>> control or monitor domain so that programming errors operating
>>> on domains will be quickly caught.
>>>
>>> To prepare for additional domain types that depend on the rdt_resource
>>> to which they are connected add the resource id into the header
>>> and check that in addition to the type.
>>>
>>> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
>>> ---
>>> include/linux/resctrl.h | 9 +++++++++
>>> arch/x86/kernel/cpu/resctrl/core.c | 10 ++++++----
>>> fs/resctrl/ctrlmondata.c | 2 +-
>>> 3 files changed, 16 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
>>> index 40f2d0d48d02..d6b09952ef92 100644
>>> --- a/include/linux/resctrl.h
>>> +++ b/include/linux/resctrl.h
>>> @@ -131,15 +131,24 @@ enum resctrl_domain_type {
>>> * @list: all instances of this resource
>>> * @id: unique id for this instance
>>> * @type: type of this instance
>>> + * @rid: index of resource for this domain
>>> * @cpu_mask: which CPUs share this resource
>>> */
>>> struct rdt_domain_hdr {
>>> struct list_head list;
>>> int id;
>>> enum resctrl_domain_type type;
>>> + enum resctrl_res_level rid;
>>> struct cpumask cpu_mask;
>>> };
>>>
>>> +static inline bool domain_header_is_valid(struct rdt_domain_hdr *hdr,
>>> + enum resctrl_domain_type type,
>>> + enum resctrl_res_level rid)
>>> +{
>>> + return !WARN_ON_ONCE(hdr->type != type || hdr->rid != rid);
>>> +}
>>> +
>>> /**
>>> * struct rdt_ctrl_domain - group of CPUs sharing a resctrl control resource
>>> * @hdr: common header for different domain types
>>> diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c
>>> index 4403a820db12..4983f6f81218 100644
>>> --- a/arch/x86/kernel/cpu/resctrl/core.c
>>> +++ b/arch/x86/kernel/cpu/resctrl/core.c
>>> @@ -456,7 +456,7 @@ static void domain_add_cpu_ctrl(int cpu, struct rdt_resource *r)
>>>
>>> hdr = resctrl_find_domain(&r->ctrl_domains, id, &add_pos);
>>> if (hdr) {
>>> - if (WARN_ON_ONCE(hdr->type != RESCTRL_CTRL_DOMAIN))
>>> + if (!domain_header_is_valid(hdr, RESCTRL_CTRL_DOMAIN, r->rid))
>>> return;
>
> This type check was added as part of the split of the rdt_domain
> structure into sepaarte ctrl and mon structures. I think the concern
> was that some code might look at the wrong rdt_resource list and
> try to operate on a ctrl domain structure that is actually a mon
> structure (or vice versa). This felt like a real possibility.
>
> Extending this to save and check the resource id seemed like a
> natural extension at the time. But I'm starting to doubt the value
> of doing so.
>
> For this new check to ever fail we would have to somehow add
> a domain for some resource type to a list on a different
> rdt_resource structure. I'm struggling to see how such an

I disagree with this statement. I do not see the failure as related
to the list to which the domain belongs but instead related to how
functions interpret a domain passed to it. There are a couple of functions
that are provided a domain pointer and the function is hardcoded to expect
the domain pointed to to be of a specific type.

For example, rdtgroup_mondata_show() is hardcoded to work with an
L3 resource domain. If my suggestion here is followed then
rdtgroup_mondata_show() would contain the specific check below because
it interprets the domain as belonging to a L3 resource:
domain_header_is_valid(hdr, RESCTRL_MON_DOMAIN, RDT_RESOURCE_L3)

With the check used as above the current issue would be exposed.

> error could ever occur. Domains are only added to an rdt_resource
> list by one of domain_add_cpu_ctrl() or domain_add_cpu_mon().
> But these same functions are the ones to allocate the domain
> structure and initialize the "d->hdr.id" field a dozen or so
> lines earlier in the function.
>
> Note that I'm not disputing your comments where my patches
> are still passing a rdt_l3_mon_domain structure down through
> several levels of function calls only to do:
>
> if (r->rid == RDT_RESOURCE_PERF_PKG)
> return intel_aet_read_event(d->hdr.id, rmid, eventid, val);
>
> revealing that it wasn't an rdt_l3_mon_domain at all!
>
> But these domain_header_is_valid() checks didn't help uncover
> that.

This is not because of the check itself but how it is used in this version
... it essentially gave the check the wrong value to check against.


> Bottom line: I'd like to just keep the "type" check and not
> extend to check the resource id.

Pointers to domains of different types are passed around (irrespective
of the list they belong to) but required to be of particular type
when acted on. The way I see it this check is required if this
design continues. If used correctly in this implementation it will help
to expose those places where L3 domain specific functions are used as
"generic" to operate on PERF_PKG domains.

Reinette



Return-Path: <linux-kernel+bounces-673892-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1456741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:42:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7824E3A9CC8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:41:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A6D5E274649;
Wed, 4 Jun 2025 23:42:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="k0o9ES7l"
Received: from mail-yb1-f176.google.com (mail-yb1-f176.google.com [209.85.219.176])
(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 843F46F073;
Wed, 4 Jun 2025 23:42:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.176
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749080527; cv=none; b=UKW/sNU5WftpSGIfmTOcwxC3PFVhc7q8wyO45h8MGPW0qZE8fGf8NTA7Rbd0E/ZIPaiF0RR+xV2r2GluEwEVC8hTDzSGyW6CoXDN2DcLR/cXuoSJEot4t+eMPoumqKwA7bGnFNlCPkC7wh2CTWnaWI/+DDBv4Optryv3c+JN/YA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749080527; c=relaxed/simple;
bh=TssufhLWCeePlGG2Z0MM13Ur1COb2ebvj5gdMsFKJJA=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=FtnWHAeF1fUcybHVH2s+p4GhnJtz2SkgPvV+VecB2ytUOqzFXJ5IEiWRvJ2RbW47K53cBMW4zJ73L1xmK4vFY/QZfLjHmFSnpq/B3Q02SVAxv8X37mMonXEjGqqDWqwYKzwDWhnvMbfUmCDl1ICIcaEKT8NieQUuH8Q+diQxa64=
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=k0o9ES7l; arc=none smtp.client-ip=209.85.219.176
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
Received: by mail-yb1-f176.google.com with SMTP id 3f1490d57ef6-e740a09eae0so415652276.1;
Wed, 04 Jun 2025 16:42:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749080524; x=1749685324; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=ogtPkHGBxY5aXjHm5ko6SRdjkhMwenqN1SLiQIlyNC0=;
b=k0o9ES7lPRzLFrnc8CT0juMnk5EgVSXF7hnE9BCqxg7zF4HVeEPmzY03oLfiurIhkK
rPshu1ku6BtsMQ0zN1IkDADkQiDtyNcZy7jweXgBVPmv8ALq348+oyfCnaxqJuGZQYZE
NvD3AaeCprvnfb4Yv3ItRYr8XPxgXnBNu/LIBvsGteLP0zIbYRXa7U6p25+yrDtnzfLs
PMyKKGz8RjTrw2klaVzh2lQlAI7C+mpZbqT3HeZ0P5xrgQlvKKL8STlGNgCkxz7dGfRo
zOW956I9H/9J9+aQkGNtQThkL1S61CcAQ2rqcxjbOHE4b5uwVnaViDjpP1zawG0nrVON
7b3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749080524; x=1749685324;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=ogtPkHGBxY5aXjHm5ko6SRdjkhMwenqN1SLiQIlyNC0=;
b=Woc9eX3HdeQjZeg8XPM5oWUqxouMZk+8fwKd9ta9kjdPxUjyUsu1sMuK7i93RyIVF7
v4T9Xo/huUsP0v+LgUflbct070eNFmzaDr3p3g0Zu1yOXXR/UvIldncBj3ix5DMR3eTF
8WCuUdQLqKGuIaGxq1SO0oBt90YnHpGJa0D0zeOvsZ2vYT76czNv3W0n9TUvH7wCSx37
ENQxbqYLeQonBzqDDrkIUjKV5vMV0rECWTwcVGZgVl/3ydsqmfG63XOKelZ9PzYT3Nrn
RzNMbKWUg+lx1Yw4KmmI6n3H0KzVpbPvdk9MMf2Cbs8Yai7dI/Fjd18a+IWKaszV7X8b
GfkQ==
X-Forwarded-Encrypted: i=1; AJvYcCUzjmwhI2y34H0MiIxC/U/t3k1EX6ep/Qc1vSu2LNrb8SYGSGwPa0auLeVr59lB1aB/0ehmTJHgYWu+WDo=@vger.kernel.org, AJvYcCVMBaz2GagXf8RBcafbKLX00eWUz6zU0qjakrwBvStG4/b5kgFL6btgMghDvmfQfCJqIVBiMHho3KPjxw==@vger.kernel.org
X-Gm-Message-State: AOJu0Yyx9u1z8dSe7IumOJxq0zffj3L1FO1kzDKYhHDoMGUkbeo4U+d5
g8fbvNycajDMtIIkqKAiwcQju1bCjfrCYAVOnQiF5sjcazL1z3Bjs1DZtfPFuw==
X-Gm-Gg: ASbGncvugHafpg+LLfXi7MXDINyB25LnOu75FCk7qnnsDhV/sIGjnz8nGx6yKboddTS
AkmeUeNBRZkLvyG/dR1LRYIzp4XS0lhozLD+T0mvECAtAqTn7WZHE3nVpLC8pu6a28YOSrJi0eZ
lLY0Pr30VV5puBeV3a0ZluEkiYmmlCfJGdbRo1jAf4ZMS3TpKQrizBkOOo1nIpq2cxi3jSrOM40
5yyAvS/flSFABzVodwNB6raNqoXuwF/tLBAfk3BYfFvmDTklXPKxYuk7tnH4jjiJDq1n9ODaonO
aZMs5vM3xHyZDwFLUigvmi8VL18awiY55JeiyCc9SVIsD+lp/tcgkNHx8pdmcU23PDtbIk1MT98
vbq7jM+xpySc=
X-Google-Smtp-Source: AGHT+IGYLFQSXYiQ1P74k/ZFrgZ+D8x/YLl+JJqMylp7u3vT/i81AKeVBGpIjDbKx265JQylSgO5jA==
X-Received: by 2002:a05:6902:2291:b0:e81:8639:c59b with SMTP id 3f1490d57ef6-e818639ce51mr3781407276.48.1749080524378;
Wed, 04 Jun 2025 16:42:04 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-e7f733c9f9csm3373822276.17.2025.06.04.16.42.02
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 16:42:03 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: Hannes Reinecke <hare@xxxxxxx>,
"James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>,
"Martin K. Petersen" <martin.petersen@xxxxxxxxxx>,
linux-scsi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Cc: Yury Norov <yury.norov@xxxxxxxxx>
Subject: [PATCH] scsi/fcoe: simplify fcoe_select_cpu()
Date: Wed, 4 Jun 2025 19:42:00 -0400
Message-ID: <20250604234201.42509-1-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

cpumask_next() followed by cpumask_first() opencodes
cpumask_next_wrap(). Fix it.

Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
---
drivers/scsi/fcoe/fcoe.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index b911fdb387f3..07eddafe52ff 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -1312,10 +1312,7 @@ static inline unsigned int fcoe_select_cpu(void)
{
static unsigned int selected_cpu;

- selected_cpu = cpumask_next(selected_cpu, cpu_online_mask);
- if (selected_cpu >= nr_cpu_ids)
- selected_cpu = cpumask_first(cpu_online_mask);
-
+ selected_cpu = cpumask_next_wrap(selected_cpu, cpu_online_mask);
return selected_cpu;
}

--
2.43.0



Return-Path: <linux-kernel+bounces-673893-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1582E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:44:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 7F4117A6855
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:43:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BEAFE274654;
Wed, 4 Jun 2025 23:44:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="fc99E2FI"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E98A6F073;
Wed, 4 Jun 2025 23:44:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749080669; cv=none; b=K0lnBvqdVcU9JsyVzUSMbol65aQKg/ocvczg/X9k7X9iC1+n5bPbYMg5lLwu1LuaepKQ3V8mmHjxyFM0cOcvC9YGV2iqwZnck1Rin/7v2bJprqSYuCg5mBbzV8Ej1Pw76qViNW6Q2FUa3YwhPv+jZApeQ0/zo1M3oBpleJwPz1o=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749080669; c=relaxed/simple;
bh=rwcuOfT1CA5poAxzq1khNwu+dKvGPkT+ivPyW0kINuA=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=CqThr9SZHyFwBvoHYGweC2MYedH57X3vSq5hgoZzOmZRu1L02CvYalnfmStgnIb97+FMCanju8B9pcArzvhFFkc/TX8mZioziocCOt5rCWMQP0NwdaBZt1r7ec/B2JrlyNrgBj3874bGlXjDXWKsiisE3lVIshsAosMHmqQ5YoE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=fc99E2FI; arc=none smtp.client-ip=192.198.163.12
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749080667; x=1780616667;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=rwcuOfT1CA5poAxzq1khNwu+dKvGPkT+ivPyW0kINuA=;
b=fc99E2FI2G9dizWLNTeJehK1xMxCiifDrjLEyOEEeG7/EgdzQjdLXLoj
JzEGypmuVUE8lvhd6Ol2iNd5piC/v4OkA5hw8iuWQVGTyCaBpR1Nz4lMt
gHwgdoON+RsgvZjLr6wRZtnL84YP3ZDTjDDzHkdSlo9H0034Swsqb0Kzr
Ka/bpb0HrrGUQuD+sQ26bQAELE69GG3WKnwAH14lfFmM1b4dNequfjDOa
9f7sfQSEZQ920L02ORvoc2doOZRewMXqHYOet6JJkUXRnRn0czqLGFoI3
AT1Y7rGMBpifvJjrxBLfpSI/FR0LksPUIS3eV4tXIwTeTDjXKQRbfYbzr
g==;
X-CSE-ConnectionGUID: D2R8QreUTcCkRUAwvSszKQ==
X-CSE-MsgGUID: dpwj04yQRTa5s4p4d5VVNA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="54975317"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="54975317"
Received: from fmviesa009.fm.intel.com ([10.60.135.149])
by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:44:26 -0700
X-CSE-ConnectionGUID: WJXhXchUQsmFazAPsiwa5g==
X-CSE-MsgGUID: OB62SZJpSyG16SNyMguRFw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="146274344"
Received: from agluck-desk3.sc.intel.com (HELO agluck-desk3) ([172.25.103.51])
by fmviesa009-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:44:26 -0700
Date: Wed, 4 Jun 2025 16:44:25 -0700
From: "Luck, Tony" <tony.luck@xxxxxxxxx>
To: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Cc: rafael@xxxxxxxxxx, lenb@xxxxxxxxxx, james.morse@xxxxxxx, bp@xxxxxxxxx,
kees@xxxxxxxxxx, gustavoars@xxxxxxxxxx, Jonathan.Cameron@xxxxxxxxxx,
sudeep.holla@xxxxxxx, u.kleine-koenig@xxxxxxxxxxxx,
jonathanh@xxxxxxxxxx, viro@xxxxxxxxxxxxxxxxxx, ira.weiny@xxxxxxxxx,
peterz@xxxxxxxxxxxxx, sthanneeru.opensrc@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx, Benjamin.Cheatham@xxxxxxx,
dave.jiang@xxxxxxxxx, linux-acpi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-hardening@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v8 0/7] Enable EINJv2 Support
Message-ID: <aEDaWWHKrM5hUt9M@agluck-desk3>
References: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604223804.842501-1-zaidal@xxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 03:37:57PM -0700, Zaid Alali wrote:
> The goal of this update is to allow the driver to simultaneously
> support EINJ and EINJv2. The implementation follows ACPI 6.6
> specs[1] that enables the driver to discover system capabilities
> through GET_ERROR_TYPE.
>
> Link: https://uefi.org/specs/ACPI/6.6/18_Platform_Error_Interfaces.html#error-injection [1]
>
> V8:
> *Update UI to use single value files for component array.
> *Update links to point to recent ACPI 6.6 spec release.
> *Updated commit messages and documentation patch.
> *Dropped the first two patches as they were merged via
> ACPICA project.

Some of the Signed-off-by tags in this series are wrong. Partially
my fault for an offline exchange of patches with Zaid to get this
series cleaned up.

1 Could have a Reviewed-by: Tony Luck instead of Signed-off
2 Could have a Reviewed-by: Tony Luck instead of Signed-off
3 Could have a Reviewed-by: Tony Luck instead of Signed-off
4 I rewrote the commit message, could have a Reviewed-by: Tony Luck instead of Signed-off
5 My patch, but Zaid forwarded it, so it should have his Signed-off after mine
6 Zaid's Signed-off should be after my Sign/Co-developed
7 Zaid's Signed-off should be after my Sign/Co-developed

Apart from that, all seems good in this version.

-Tony


Return-Path: <linux-kernel+bounces-673894-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6854C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:49:19 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 85A251786FD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:49:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 37AEA272E7F;
Wed, 4 Jun 2025 23:49:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="teKtqi7X"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 72E701C84C4;
Wed, 4 Jun 2025 23:49:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749080952; cv=none; b=RHl29gWVStGhL3hDrsqyfEvDNnLLwGoQDOpd3CkdTBop44ECluLfKuRm9XgNQaphtA0gA53v/FbLTEc19DtmzoAAxmeAOX/KT2lhLLZYumeXStgYLWHjAtSJzuf1MMPShjGLhYlATNbLt4sAKstElCazRMGhhPYO2+kwUDK9Lak=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749080952; c=relaxed/simple;
bh=YH8gDqXeD9oEDKoAo3hLwkwwj8v25fUyBDPYXNcy1cc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=Fe+5NJ30Pdv+Z8ga0gvOCxsEE6P+0unl4L1lkvINLBtX8HKniEfT2TAwF6FVgU3PWv+bNcHMuwuvIHkwi68OtzZFnAlfX9KQYVewqPTbDV2Ul9HTQPac5BsVxryYfQRi/m0mSp7N/wEwtBv5CkaqHID/GHVN7lRpY5kAPOjDdxs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=teKtqi7X; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5490DC4CEE4;
Wed, 4 Jun 2025 23:49:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749080950;
bh=YH8gDqXeD9oEDKoAo3hLwkwwj8v25fUyBDPYXNcy1cc=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=teKtqi7X8CGHIkqeMCrZJLLLxjB/SfWOfMIIgSPOh0DaLB3K7MhbUc0OL5iyeM53M
v00fP0ykpWopW0m615oJaXu3PVKUM2j6Dng3YZidHpLQDui+1r7OIesZUv619Tdhej
Np9rTFlcaFdnyQc0dfL+vu+OtmFTKiJP8ht55xpV3dv3SEE0OJZexNuzxkgmFHRsJU
LlEmn1ELg4Fw+lSMKYnXmM/L06AyA03z8a5T7zko6SABs4fe5JY3iww08waNWQ6Dx8
3zVU1orilBEw0BAeZIikbAh7ZEptzhp3Xps2c0IPbwZNSdRxkpTh89Mpgn+mw9nvP/
72cHWmM6YYTrQ==
Date: Wed, 4 Jun 2025 16:49:08 -0700
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
To: Joe Lawrence <joe.lawrence@xxxxxxxxxx>
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Petr Mladek <pmladek@xxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>, live-patching@xxxxxxxxxxxxxxx,
Song Liu <song@xxxxxxxxxx>, laokz <laokz@xxxxxxxxxxx>, Jiri Kosina <jikos@xxxxxxxxxx>,
Marcos Paulo de Souza <mpdesouza@xxxxxxxx>, Weinan Liu <wnliu@xxxxxxxxxx>,
Fazla Mehrab <a.mehrab@xxxxxxxxxxxxx>, Chen Zhongjin <chenzhongjin@xxxxxxxxxx>,
Puranjay Mohan <puranjay@xxxxxxxxxx>
Subject: Re: [PATCH v2 35/62] objtool: Refactor add_jump_destinations()
Message-ID: <f5ikl4hbijv6xkjktwply7zwgwyupxgbbln6ghpyy4boqrachy@gvjmjqbr675j>
References: <cover.1746821544.git.jpoimboe@xxxxxxxxxx>
<70bf4b499941a6b19c5f750f5c36afcd6ffd216f.1746821544.git.jpoimboe@xxxxxxxxxx>
<29b3d533-94cf-4949-90a1-4a8c9d698a8a@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <29b3d533-94cf-4949-90a1-4a8c9d698a8a@xxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Fri, May 23, 2025 at 07:46:19AM -0400, Joe Lawrence wrote:
> > - } else if (reloc->sym->sec->idx) {
> > - dest_sec = reloc->sym->sec;
> > - dest_off = reloc->sym->sym.st_value +
> > - arch_dest_reloc_offset(reloc_addend(reloc));
>
> Way back in ("[PATCH v2 18/62] objtool: Fix x86 addend calculation"),
> arch_dest_reloc_offset() was replaced with arch_insn_adjusted_addend(),
> so I think that patch missed this callsite and breaks bisectability.

Fixed, thanks.

--
Josh


Return-Path: <linux-kernel+bounces-673895-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 26A8141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:49:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 08DE27A63DE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:48:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4D42B2749CE;
Wed, 4 Jun 2025 23:49:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="eKSlsQB+"
Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45])
(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 E59BB2749CF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:49:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749080959; cv=none; b=VsG763PrrwlTH0nSi63Cq+MdRyFrAV5C/oRiNO0dIwhN2t3Vn6kignTe+rOqaw8BGNPsGlfmKFYLE55SDLN1KwxAVUvaQHAG4FsuX/bk90OryyoKqmuLSQiy0aA3ARCnWh97CX5eV+gaMOtn+qa0xhkIZQqDpZMmXtwhJFoGfOk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749080959; c=relaxed/simple;
bh=ZESbz4ELnO8zQblI3om9NB+hAW28VwXYgt6cEiXrarg=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=PkT4+P2piNJtoKxKcl3GfDjpgSj7QB5yucwTNgz2osbiEbwtQS/K8f++N5CTCnKSm66g0TC9/xkP79/jGOKbjJfO4WPPyt6YzIkyue34xcymkN6aJzdX5fEeSYKzEgRIRHjqb+oh4gulxe9MEymTIOaboevmeI92NmqIEFjLFmI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=eKSlsQB+; arc=none smtp.client-ip=209.85.128.45
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-451d3f72391so4027275e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 16:49:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1749080954; x=1749685754; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=LXMgX1rI0BiX2paFRHt2ngtjy2dYKyJCurcIJGGVP0I=;
b=eKSlsQB+axJ2wBrBCcutB3u/sEifgBhfgzUGAXXMdeQQEVtOpHlVvpd8O0jbeWn7nj
oiPgcvs7+si4r3rftBX02Ijlfw6LrW4jkD1rHsgm+BoG/2Jbmu2CJOAezK0/MkzlDLTF
ND2HOjbvFzq1krlSILyAn+ByDVinaD5ubP3s8qTludNEpGdVXQTMdpDsVYNZiJ4o+R/l
oFT5QmQaG2ggRpjrY1xuc017x6gJ3sr3mxY1qfcRDjMVMrDgltopcruGloUWrPuSNuxm
DcsFCV6IuMB+khXbT9ezTn3tk37dktAZMY5NCcqIcCSWsDz0TddBcQtkFeNYwxjPC3Fs
P/HQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749080954; x=1749685754;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=LXMgX1rI0BiX2paFRHt2ngtjy2dYKyJCurcIJGGVP0I=;
b=PXj09AFKoWB+a523vrPCLrVRidtrRg/PTpmQv9xQi0LEU9xov5ubprCmBRpFtfku8u
tSiL6JVE1/0lbmqgfEPatLep9xaBfMaF07V2id1Ob5hRRYXzFNYFtnXFrkK/BjxGb770
QeWhJLZ30S05Lvno0pZrND3fUEnh4YODWfF9OFMXBvpzALbOeYdoX3xReEHCcD/hcUzE
1KFCjjt5Klq0GFP0eFn3IoRfcO07XZ676xE5cfe6YAeyiq8yqLA9zNUu75n2z+wF6YLg
/oAGR7Xs1/m4u0SgslCc5lIxjeeTdmlwzpy2rK4wetuS28xyIjnSYtw0cp0w0iNbWlGU
8xMw==
X-Forwarded-Encrypted: i=1; AJvYcCUxe05Y0hIGtcGUTGmXsNdEdzmVeuPm9EZgskom895lmssGu8b1FK+V14VrsFi2PznMQCM3yaeK35zqPYI=@vger.kernel.org
X-Gm-Message-State: AOJu0Yyx/ci4CsadWMKY5f83eMz0gtBLRtWw4zSz02IMh+IBL0shrSu9
wf8LAsYT96fbEmUK/KyoV7Guo4AQEvd/8q9SJxw8J/2cKnp3Uuai5gP6Hp2U/SEc1Y5jWyFKqn3
6bHiVBgI=
X-Gm-Gg: ASbGncv/04Z2Gupm2Xshdx/RTuxTvIAyoWpZ+H3et93uJ85prGDP61acAzjArt/8lV1
ydzGjczLYJZYyQ29Vn4RuB1LvD4PlYHWsx8F4K2pMKLnZWgcpywlDnxvdUauzLLMtvF2gE6Con2
K4yZBmhi4I9CxpwIC/WvZ5dAYQhj/VJQxo5eRGKlp676KcA+XlRskgU5t6WmbK4Psh+DeOoeqQI
PFD8K7mzZb5dqRuU4akqT0rtioVjRRValMCsnHuETanxf0sd1kvCZaDTBmcnRmYF2P+FmpYwcO3
8411hAIEaX7na7m0uslRv7QByrjUi5U6LrJ/Qg9PZiaN3QeMYlY5fRJYwHxg5M+ye+Xp3VSKNLG
Na0IeW4fbZv0Y9sG3
X-Google-Smtp-Source: AGHT+IF1mChU7rsrPqSp02CZnJuBIHPZRlYSiml5HbxrDzi778Xa2HmHel+wqN5T3oDjSRgQCq7PnA==
X-Received: by 2002:a05:600c:3b01:b0:450:cf2e:7c92 with SMTP id 5b1f17b1804b1-451f0b0e796mr46847795e9.16.1749080954166;
Wed, 04 Jun 2025 16:49:14 -0700 (PDT)
Received: from [192.168.0.35] (188-141-3-146.dynamic.upc.ie. [188.141.3.146])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-451f9816cdasm5975275e9.13.2025.06.04.16.49.12
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 16:49:13 -0700 (PDT)
Message-ID: <bdcc3e48-ceee-45bf-bc4f-f0e63d44b333@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 00:49:11 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 6/8] serial: qcom-geni: move clock-rate logic to
separate function
To: Praveen Talari <quic_ptalari@xxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
Jiri Slaby <jirislaby@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, linux-arm-msm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-serial@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
Cc: psodagud@xxxxxxxxxxx, djaggi@xxxxxxxxxxx, quic_msavaliy@xxxxxxxxxxx,
quic_vtanuku@xxxxxxxxxxx, quic_arandive@xxxxxxxxxxx,
quic_mnaresh@xxxxxxxxxxx, quic_shazhuss@xxxxxxxxxxx
References: <20250506180232.1299-1-quic_ptalari@xxxxxxxxxxx>
<VkNsXqYDdmwW9dutwc76Dv8ks2pvgcUwpf1UREJXhbXDQRaobVZL8m0hLz6rsOG-v6CjyAW3vHbuKMiPc9kN_Q==@protonmail.internalid>
<20250506180232.1299-7-quic_ptalari@xxxxxxxxxxx>
<47d19ad8-37ad-462f-8cb3-d39c29008709@xxxxxxxxxx>
<8f18716f-cba2-4615-950a-63b6b73e23e9@xxxxxxxxxxx>
Content-Language: en-US
From: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
In-Reply-To: <8f18716f-cba2-4615-950a-63b6b73e23e9@xxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 04/06/2025 18:11, Praveen Talari wrote:
>> Separate this stuff out.
>>
>> Your code should match the commit log. If you want to convert %u to
>> %lu make a patch to do that, even if it seems trivial, it is better to
>> make granular submissions.
>
> It comes under newly added API. Do we still need to make separate patch?

Best practice is to split this stuff up.

If your commit log says "I'm moving code" then it should _only_ move
code, don't sneak any other changes in, no matter how seemingly innocuous.

---
bod


Return-Path: <linux-kernel+bounces-673896-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EC1B941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:53:16 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 2405218982A0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:53:30 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A255F274649;
Wed, 4 Jun 2025 23:53:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="M3S+JAQ/"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6B7979D0;
Wed, 4 Jun 2025 23:53:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749081187; cv=none; b=Ya344sxV3YsVId419JbusWBn6fNA8jQKQoL5jcJBD6gOi+kO2BW43vNX95qMOJ9HcC8Qtj6BzkvOPcDBcH0y+t3hsrk5Y5/KUdHq4vb9i/73Vzt72HbFiHgG+FuvhOEazDQVk5+ONK5OZRyeqvBJrsOQoQae7Ve2oxa8lLZ4t1M=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749081187; c=relaxed/simple;
bh=uHUGsqf5ZMZXheRER1HD5daqU3HlQsR4EkkzSEZSb8s=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=nokOd89/8h809ONjM7N68gBxTpBdj/fJZ3Y40gZfcwKc64DM2wXwkbbW1fDTY/Gqm0Tvtf3JktwkGdAQrwtOZh7nSlGYmk4m3g8I6i+qeY5SueYvvaf5w+bbNc9V0btTE/RhbzwZps95yzhF0Ij46oTK+Z7Ak8UogA7qRoykVdY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=M3S+JAQ/; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9835AC4CEE4;
Wed, 4 Jun 2025 23:53:06 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749081187;
bh=uHUGsqf5ZMZXheRER1HD5daqU3HlQsR4EkkzSEZSb8s=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=M3S+JAQ/d2afW4x7l30MX9OJsmIt8bLxLGfmz+Y1hrZgoLkWfSIIzNScSzIWKlNLJ
iSI6NN7tYkKecFqHeup2ezu3g++xwtcrAgXRAiLrOFKLifYLuraeNoQR9EABXvmuZo
wltya5BBow6tj2PelvgtGRtYmtONaOzD3/Ywc43gE4fgWge3cPSHMG8rIS5ld8Aa5l
Qh6djueuJbn+wIWFSew4WBCtwYhpxzwwXaMZZzogmm6h0ev/jAx+X6Ohal48HMnLH7
aUoP+u9J78HbTY6+OZwjBmvT1Y/jIrPwgHG9b1qLfPc2Q9l/79yU4iEBBqAYpBJx5v
UZVzVopW6jO5A==
Date: Wed, 4 Jun 2025 16:53:05 -0700
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Petr Mladek <pmladek@xxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>,
Joe Lawrence <joe.lawrence@xxxxxxxxxx>, live-patching@xxxxxxxxxxxxxxx, Song Liu <song@xxxxxxxxxx>,
laokz <laokz@xxxxxxxxxxx>, Jiri Kosina <jikos@xxxxxxxxxx>,
Marcos Paulo de Souza <mpdesouza@xxxxxxxx>, Weinan Liu <wnliu@xxxxxxxxxx>,
Fazla Mehrab <a.mehrab@xxxxxxxxxxxxx>, Chen Zhongjin <chenzhongjin@xxxxxxxxxx>,
Puranjay Mohan <puranjay@xxxxxxxxxx>
Subject: Re: [PATCH v2 18/62] objtool: Fix x86 addend calculation
Message-ID: <tvf7obye6afduyyefjrgicut2ehtyy4dkabxzxudtb55njsoba@4bhwzl3ftxeo>
References: <cover.1746821544.git.jpoimboe@xxxxxxxxxx>
<8064f40394e9f0438a36f53f54e3b56f8e5b5365.1746821544.git.jpoimboe@xxxxxxxxxx>
<20250526102315.GK24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250526102315.GK24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Mon, May 26, 2025 at 12:23:15PM +0200, Peter Zijlstra wrote:
> On Fri, May 09, 2025 at 01:16:42PM -0700, Josh Poimboeuf wrote:
> > On x86, arch_dest_reloc_offset() hardcodes the addend adjustment to
> > four, but the actual adjustment depends on the relocation type. Fix
> > that.
>
> > +s64 arch_insn_adjusted_addend(struct instruction *insn, struct reloc *reloc)
> > {
> > - return addend + 4;
> > + s64 addend = reloc_addend(reloc);
> > +
> > + switch (reloc_type(reloc)) {
> > + case R_X86_64_PC32:
> > + case R_X86_64_PLT32:
> > + addend += insn->offset + insn->len - reloc_offset(reloc);
> > + break;
> > + default:
> > + break;
> > + }
> > +
> > + return addend;
> > }
>
> Should this not be something like:
>
> s64 arch_insn_adjusted_addend(struct instruction *insn, struct reloc *reloc)
> {
> s64 addend = reloc_addend(reloc);
>
> if (arch_pc_relative_reloc(reloc))
> addend += insn->offset + insn->len - reloc_offset(reloc);
>
> return addend;
> }
>
> instead?
>
> AFAIU arch_pc_relative_reloc() is the exact same set of relocations.

Yeah that's better, thanks.

--
Josh


Return-Path: <linux-kernel+bounces-673897-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 08D8541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:57:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id A4F903A9B4E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:56:42 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3F76A274660;
Wed, 4 Jun 2025 23:56:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ufGXMi3H"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A38A7082D;
Wed, 4 Jun 2025 23:56:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749081418; cv=none; b=ezSJL0Vr0gojDQIb8YotJpfjwg7aB6BLqJWRjzVNFzizTpYOa8Rhs4n3GYY+6wyS+LpVga3iLfhsniwX16wY1XEv1dp2MazNm97u303swcZOsgJrUU2BpYdRvrHSoClB8VJdX/TMRtrsizCpPeYqxAO5oenFWSwnoobGxdW+UvM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749081418; c=relaxed/simple;
bh=vR8ihtjIY260/n5Kw5R0h+UZ0sam1j/PGAaSZ8dp7Wk=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=nQjymgMKntTTBgavih5IzDd6mobeckWuGueeCaN+Q/ZMlHSoJj3eFBR7oFIecfRlW4NR7sLV7cYZoL5Um8R0B4CVqXPVOCzFEaB3S1YpXhZ9NbhNQRaUEp0Sw6xKEhdlO87J41ju8lvIpqL/w2UvLmKSNANe/ZLHvc2uYEG3t+I=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ufGXMi3H; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 89773C4CEE4;
Wed, 4 Jun 2025 23:56:56 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749081417;
bh=vR8ihtjIY260/n5Kw5R0h+UZ0sam1j/PGAaSZ8dp7Wk=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=ufGXMi3HSkglT4W7QDxjOqroVcGIBAe5B+G/YxqRtUhbhNgstnt7Waq3QiLKLxXos
3iz0+MjcUwzM7W4LqU1U5CKH9QIVERgQBB7P2ma+4YKj0MsrvYwkP1jWxlduxl5aAL
Id6eQ+egMt58FZZZrIcGzH0PCSqc9vlMTQYC3blGe0lmmvsUjJj6Bmrpw6o8hxAbMQ
ZchjpEQUEmFx+DjLEKOHdPBjhG2puFrz3qySgqTdu6vf/GnZwWB7YkzWa1cLlEEmL5
/dl713VIKyCW+2AGq5Zskz3JPVAaFq9ff+DP26BwvD8mYBoAL5WqD6702BU6zTqJrV
pnSUYrq69Kp+g==
Date: Wed, 4 Jun 2025 16:56:54 -0700
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Petr Mladek <pmladek@xxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>,
Joe Lawrence <joe.lawrence@xxxxxxxxxx>, live-patching@xxxxxxxxxxxxxxx, Song Liu <song@xxxxxxxxxx>,
laokz <laokz@xxxxxxxxxxx>, Jiri Kosina <jikos@xxxxxxxxxx>,
Marcos Paulo de Souza <mpdesouza@xxxxxxxx>, Weinan Liu <wnliu@xxxxxxxxxx>,
Fazla Mehrab <a.mehrab@xxxxxxxxxxxxx>, Chen Zhongjin <chenzhongjin@xxxxxxxxxx>,
Puranjay Mohan <puranjay@xxxxxxxxxx>
Subject: Re: [PATCH v2 28/62] objtool: Fix weak symbol hole detection for
.cold functions
Message-ID: <dqetdbtdhkipt5ighko7omvupe34zo76jky6digezrlra2madv@5hrau7wxbcvm>
References: <cover.1746821544.git.jpoimboe@xxxxxxxxxx>
<8ae052ab65412c0fc0359e780dc382f9feb53ace.1746821544.git.jpoimboe@xxxxxxxxxx>
<20250526103822.GL24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250526103822.GL24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Mon, May 26, 2025 at 12:38:22PM +0200, Peter Zijlstra wrote:
> On Fri, May 09, 2025 at 01:16:52PM -0700, Josh Poimboeuf wrote:
> > When ignore_unreachable_insn() looks for weak function holes which jump
> > to their .cold functions, it assumes the parent function comes before
> > the corresponding .cold function in the symbol table. That's not
> > necessarily the case with -ffunction-sections.
> >
> > Mark all the holes beforehand (including .cold functions) so the
> > ordering of the discovery doesn't matter.
>
> One of the things I have a 'todo' entry on, is rewriting all sections
> that reference any one of these instructions.
>
> That is, things like fentry, alternatives, retpoline, static_call,
> jump_label. Everything that can cause runtime code patching.
>
> Once we are sure none of those sections will contain references to this
> dead code, we can go and wipe the actual code. Perhaps fill it with a
> UD1 instruction with some identifying immediate.

Yeah, that would be nice.

--
Josh


Return-Path: <linux-kernel+bounces-673898-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 66F4241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:57:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 955F2172728
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:57:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7C575274660;
Wed, 4 Jun 2025 23:57:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="PFOk9FTe"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5DC7F26AAAB
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:57:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.13
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749081434; cv=fail; b=rZOEs5HdPIIrXiHVtnQKkZTNvP8pCOJ/iqrvkYMnO+z/SnYje1Yg7ig3AdZoTkZYYBg35hzLJJWLEvIzkaBXBQIQECaTZaxt4VNXv3smAWbiSZW965XdPD1e8jBGfdDXW1jVEi5uxj5Nv+ewxraApLD3JbvG0yKegMfFMeSzLHI=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749081434; c=relaxed/simple;
bh=1tGafdWhpRodVrZGBfp+8cC5nS7SPVBpZ52NQVl099A=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=I7zr4kDuSar6NrDe1ZVupXDV0jxKaxZyc9Rp0kgD3H9OZ+C5BgETLrfbnhcLa5Y07ybtbb2B2vjdLSP4D+ZWL9LsX0p3Y9+vh7ZgctheIVHnfp3tcEWExtH8ToqSMWrjtDnxAgpl1R0EcTDwgXgrijWHXZOg851F2KALySTZOeg=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=PFOk9FTe; arc=fail smtp.client-ip=192.198.163.13
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749081432; x=1780617432;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-id:content-transfer-encoding:
mime-version;
bh=1tGafdWhpRodVrZGBfp+8cC5nS7SPVBpZ52NQVl099A=;
b=PFOk9FTe3Fttjxa4tf6iTCrrREYh5sznpo7F5me0dyxDNvi0gAOl39KP
4iV9OpbMBt6T1XnJKu7t6HVY1QM+2P6OAaOy5z1IqL/YMVXifrJL1PExg
J6d0p5XDjY+rFxe96SnOPpRg1vbEx/S6RgCrzn+HOWob3H+MBnZVIcokq
egDWqguCArziRzq9Srf+hYjScrvFDd3a4ZD+WW7r2uxZhSNLk6WLbX3mz
7dzj79BkodYE83NDjEPi1L8l+ADpQmZmOQCXen/iwlzC4WHw/ZklmpS3S
yYmEyl9VgP3HGeewqOQDx9FaY8qpf/2cDaMmdW3/Jx4gClCRsfh9JXPcv
w==;
X-CSE-ConnectionGUID: 8jBTHLKbQe+G8AZioDxEqA==
X-CSE-MsgGUID: xEilz8gQQcm99+f+KpwScQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="53815524"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="53815524"
Received: from orviesa010.jf.intel.com ([10.64.159.150])
by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:57:10 -0700
X-CSE-ConnectionGUID: hDBxzf4CQFiCPqmbsDRTBA==
X-CSE-MsgGUID: Zhqk8/CMRjOIDye7xpTkLg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145290976"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by orviesa010.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:57:10 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 16:57:09 -0700
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 16:57:09 -0700
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (40.107.92.75) by
edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 16:57:09 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=pHKHh+fC7txLRetWOPzFU80Hry3qUAD+eqXFELuL5+kXPdDT2ESMw0/dmdIJ4qQcqw7lBDvGCxLRy9+6N6wPi0U4QFT85wvp+/R+Y1+hkrIKyp1BAe3RfRRH/bA1kIMTR6SxO4ZooPHOdsvs58jHRbt/ORqOQVi/nC59PAZz5PmjN+Y8O0EcJZ0Om23cxiNTeopEs9ogCSnHbai+I9kJrF3fzIyuN5Me5+B9gokX7WCmUawNY8u3ZOmJjxxrSl+9ylB0BCUKW/wbX/q8u3+dqKc1PzLeoTmKJ3d+tMqpVIyAMLBbM9lodldRvms5ajcnxwOIN0uhmnRS1zJR9M/2CQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=1tGafdWhpRodVrZGBfp+8cC5nS7SPVBpZ52NQVl099A=;
b=p0ywZ7LgzmeP1WF+ZLbS7SNkzeUHZTxSsDFjsFCV1C4vaOxLy9eAIwJUsBxbvHw7bmOKPM9NvVdS3r/8fYTz5M+indTmvCWH2Urs7QWpIvfy3p6I+gNVl9ohpElT5RanlGy6Q2SGQDxSjflfWl4Gj7H88dfbFEmM/EF4nJcZq60IxH9YodwqEb7XUb0ITxlj18ocs3zvu2tAvdPXABrUFumsz5tG2jqZFJZ2K+92VMw2O6fEPTP+F3yXe/uonZM9ATHSBzNOgao3xZy4NzTMfou0+UmUNK8SGNC6pzYw3RPl+NJaoxPuAAQjQlOxjTSpxSWiaUiN2QDWn0hM5wZhww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Received: from BL1PR11MB5525.namprd11.prod.outlook.com (2603:10b6:208:31f::10)
by PH7PR11MB5957.namprd11.prod.outlook.com (2603:10b6:510:1e0::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Wed, 4 Jun
2025 23:57:06 +0000
Received: from BL1PR11MB5525.namprd11.prod.outlook.com
([fe80::1a2f:c489:24a5:da66]) by BL1PR11MB5525.namprd11.prod.outlook.com
([fe80::1a2f:c489:24a5:da66%5]) with mapi id 15.20.8792.034; Wed, 4 Jun 2025
23:57:06 +0000
From: "Huang, Kai" <kai.huang@xxxxxxxxx>
To: "tglx@xxxxxxxxxxxxx" <tglx@xxxxxxxxxxxxx>, "peterz@xxxxxxxxxxxxx"
<peterz@xxxxxxxxxxxxx>, "mingo@xxxxxxxxxx" <mingo@xxxxxxxxxx>, "Hansen, Dave"
<dave.hansen@xxxxxxxxx>, "bp@xxxxxxxxx" <bp@xxxxxxxxx>, "hpa@xxxxxxxxx"
<hpa@xxxxxxxxx>, "kirill.shutemov@xxxxxxxxxxxxxxx"
<kirill.shutemov@xxxxxxxxxxxxxxx>
CC: "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"samitolvanen@xxxxxxxxxx" <samitolvanen@xxxxxxxxxx>, "Edgecombe, Rick P"
<rick.p.edgecombe@xxxxxxxxx>, "x86@xxxxxxxxxx" <x86@xxxxxxxxxx>
Subject: Re: [PATCH] x86/virt/tdx: Add ENDBR for low level SEAMCALL assembly
functions
Thread-Topic: [PATCH] x86/virt/tdx: Add ENDBR for low level SEAMCALL assembly
functions
Thread-Index: AQHb1OklVaYPTytbT0efy84CnI49T7PzaN0AgAA6oQCAAAIvgIAAAQ4AgAAILIA=
Date: Wed, 4 Jun 2025 23:57:06 +0000
Message-ID: <9a3f20181244d6cd4eaac6db1d16c2afd555b2f2.camel@xxxxxxxxx>
References: <20250604003848.13154-1-kai.huang@xxxxxxxxx>
<55e5b3f8-3e17-4962-af2f-75c98ccd414f@xxxxxxxxx>
<f442380c2d8cc51b38105c6316cbe224a248fdfe.camel@xxxxxxxxx>
<5876fb5f-dc8c-401a-833a-a33265ff1fc1@xxxxxxxxx>
<5ebc8a6497b7dd7029fd45e7516228e65eceb6ab.camel@xxxxxxxxx>
In-Reply-To: <5ebc8a6497b7dd7029fd45e7516228e65eceb6ab.camel@xxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Evolution 3.56.2 (3.56.2-1.fc42)
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR11MB5525:EE_|PH7PR11MB5957:EE_
x-ms-office365-filtering-correlation-id: bf809982-e38f-402a-c9c8-08dda3c38295
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?cERudkwycW9rejJGSVdDU2l3MWFTN2drODhseTNiVVBkNWQ0ZlQ2NEJYcnFO?=
=?utf-8?B?RXdHOTIra25BMktZVEpLY0toandYWHZWbzYyZ214dG5UaFdybDZMMTN6ZDUz?=
=?utf-8?B?enJSbnhpS05KS3BQOXVRSytiU09MOGJTdVdKQ2paUnBYLzcyU0poL0paa05j?=
=?utf-8?B?b2x5R3NqM21ORVJnMXdFaXg0UE4vN3hmWmdzbm95TWlteFZobktrOEZFdWtq?=
=?utf-8?B?UmVseEx0Y01JbjNZdHZMYkltclBMS0wrYnVVMHBWeGZEdVFpM3NNa2ltTnZu?=
=?utf-8?B?WmhLcWNvWEt1TVlFYktveW12SjJsVlRtZ0w2T24wSFZHd3JBOFlpZERUQVAz?=
=?utf-8?B?MkloWXRBeGdjaTMvWmN6R21GV214SnFHZHJqTEtwRU9UQVJJOGdJbGNiY2xu?=
=?utf-8?B?K3k3M1ZoODUrWFJQR0JHc1YrL1ZLZkZmVlRsalkva2FNdWRoODBSeWp1ZkRV?=
=?utf-8?B?Y2tNSThPZENpbGNFUVFxbzVzbzFFdzRHK3hFaEJ4cWNsVlcxWkxkSkhXdGlY?=
=?utf-8?B?S2ppWFBaVTFRVkFVdHgzTWRRUUZYM1FPM0VDZ0dVN2ZHVDd2Wi9LSndkZXdn?=
=?utf-8?B?WW1zcFl0VUJqUmFPOEh2ZHRYMnAxSG1ORTZ1bHpQRkowL3dXWmNsbzlVR2k2?=
=?utf-8?B?VTREMU5FM1hEUDRMbXNreDViQlFMS1BvaHNtZGN4Z2JYazVUdG12R0hwMGZw?=
=?utf-8?B?WUg4NkpxamhVSENRRnY1NFpLMG1VZjBIbW1PbGY1Tys3OWxMKzQrd0ROc1pG?=
=?utf-8?B?cWJNaXlDdjUwNUIxWlBOdkZNb0k2QzNaV2tmRDFseVk0SlhGaW51Z25PR0ZU?=
=?utf-8?B?dlBLSjF0dkdxaGpVQ1VQUmc5NUZMM1doc2NQV3dkRDFGbkxVMHdmZlZobHVk?=
=?utf-8?B?MjB2SW1wZy9sWjk2UDhubDVMQ00rTUhTQnlBVHhUazdaWlZCRmNsVzBqcmVj?=
=?utf-8?B?Y3AvM2c0WDd6eTNiVDd6RGlBalZiWWhiYmpVSEVIb1NqTkxBQU44ZEU1d1Zk?=
=?utf-8?B?aW9XVTl1Ky9HWVU3ZXdZRlpQUWdHYmdpYXlicSt6b3JSWGFaVEdqNlE1eXk1?=
=?utf-8?B?MGZVRm5zaTh2NkNUU0xFcWlVMldDK3kxYkF0Sk5lOGFxaFRtcmJNVU1UZ0pM?=
=?utf-8?B?aEo1Tk9STk5ZNlpPc1RhbGdmV1NlR2RkYmcxRGJ6dk1nKzQ2QjNZM1BiY2oy?=
=?utf-8?B?NjVLRUJkQTNIeGxEb0MxV3N3YU41T2FoOEcyS2tyMEVLY1NweXlSKzB2aW54?=
=?utf-8?B?L2Q5ejVDRm11Y01NSGNBR1NiMk9SRXBVN2d3Uk9rYXRuZVo5VDE2czBwam43?=
=?utf-8?B?R0pkS2hDZUprY1VQMmR5MkdubEJnTHc2b2tOMVBsT0lCNWt1VnB5RmdhTnly?=
=?utf-8?B?SXlLMXh1eGdMTENlaitxWWlvd2VkL213QjhvdGgrNHQwMytlYUJYZ2xJZGt0?=
=?utf-8?B?VU1SS3F0Y3h3cHVJeDNsSWsxbUREditrMWo2MXV1OEZIY25NcG5Ic2lRV0tN?=
=?utf-8?B?MkF5dFhNKzB5ZEtjWCtuYTBFMkNoaEgwRmJOQ2IrVmhaWitpTnpqRm1zSkgx?=
=?utf-8?B?cDhMcVhHd0ZtazNMaHJNWFJ2b1h6b0k2ZHA1bVJVL2ZQQ2I5YVh0OHkwTlc2?=
=?utf-8?B?QjI0Q3MvVUtSeXRzUFhaS3A5M1QzT3J2c1Z4M21GRDdlSEUwb1J4eVNtQnpU?=
=?utf-8?B?a3ZOd0d0VnM3dlJFK015NEZJT1VvZE91U3l3NjhINEtlVTlwekhXNEJHcHdJ?=
=?utf-8?B?LzdVNVUvVkJIRC9zVVVUTW12SzhDZ05MYUFiZ1ptamhBbnVlcGYza1ZDeEo2?=
=?utf-8?B?d1B4Qno5dlBNYk15VVlNYjFpNVNUQjNxZGE1TklBL2VZK2x1eG1nbHJ5UXBQ?=
=?utf-8?B?aTNqWHlQVWNVU0R1aFVLaHcvNERqWTlqN0FDSzc3eTJPck11d1BZOVZOWVNG?=
=?utf-8?B?Q1hCSFpXUmlvcjJhSUdFVmZZWFNVQTN5VG53N0x3Vm5tTmRkQStKZW1iVEZk?=
=?utf-8?Q?pVnVNy6Wo6w3Nelxy8+nDPvxSlfKcY=3D?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5525.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RWxyTnVRK1dvbFduUHh6MlUrNEZidGN6bE1iMm13bm9mUjJYdjBxUmtkZHht?=
=?utf-8?B?WG1NMzZQUVJnL2puQ2JKZGw1VnhQMWphR21EK0E4SEZRcW1WZXZzRkp3dkdY?=
=?utf-8?B?Yy95WmZlMmZaRDgrdWlQd2pGcllBUWVQMXlLNnQ2Q1liNlNWdWdIMkdNMjZh?=
=?utf-8?B?cStmTncrMUR5ZTdkV2hIWUFQaU5Eeld0bmppUFVBS3c5TUtXdVBOKzNIMGg0?=
=?utf-8?B?RmMzSG5IWElCTndpTXhPZ0tES24zMGQybmtpQXJJbDFpMFRTSTBISGhKbVZt?=
=?utf-8?B?ckNKSUZtTnJ0eGY0bGJ5Sy95dWVtN3AvbFRUOEdvb1JONkh2Vkp4YVNqSi9s?=
=?utf-8?B?UE13a0JKcURQM0pxVjQ3cE9MdWMwa2lFUVdhbUlMQlExa09QelNPWnhRbzFa?=
=?utf-8?B?aFI2MkFSZXhJb0NKRmZMMnc1b3JZNjNRQmNBdGlwOThFeVlPVHJjMnFSd0d4?=
=?utf-8?B?ZmNDaTJZRDFFb25OdXkvcjdic0t1Y250eXZqcGQrREpudHFMengySXIwMFV3?=
=?utf-8?B?L2hyN0ZoQWNSTzlDUGtVZkJhSmdEY2JKbmcrNlhUaVNPWjhxTTBzZGNzMGNX?=
=?utf-8?B?bmkwbkwxYWtQbEJJaU9Vald1WVlqTmFWOFNNdU82cXAvUXN4eHNpRlV4ZkNz?=
=?utf-8?B?eE5DcUIrREhuU3E4UnBsQnJEcjRoUUt4eDNRNVQxbzZSQUpmVHFIS0N5b000?=
=?utf-8?B?dUkrcGdqUDFQNjVuZUlzb3NCVndmWGpST0NHQm9ZK1ZyMzUrMFJSZmRWbmNo?=
=?utf-8?B?WXVkRC92VHk0RWpBLzhGSlgyd1h4UVVhZ2ExVnRNamp1ZXBRM1pHL3h1ZzJv?=
=?utf-8?B?bTJ6MkJOdWtFZW5ibzZReG0xNmdjR2Uvc2tMYmtwai93Ly9LYVZUUHNLT29n?=
=?utf-8?B?by8rV09RYWJvd0VmcEM0OXJSUmF2MDBRZnNidEUzOFRLN2VqU1Jtc3BHbnRy?=
=?utf-8?B?TnFYdXlKWHRMSGFBcXIvTmxFTHFmc3ExclhlUXVhaTZCTHdoYnF2YWoyUjBH?=
=?utf-8?B?VFM3bXNDZjBrNXp3TmsxUG5ySUdrQmNYbFIzYjJIV2lFLzJ1UmxpeUZ0dWJX?=
=?utf-8?B?VTlOZ29zb0FUcFZBNXZzaldmMFBFbHM1RVZBZEZwU2x4YTF0MWRQZ3AwNThY?=
=?utf-8?B?VFdjYVhmZHAyaUF3QUU5YTVTT1dkNXBLMjNnaGZ4bUVYdFltWjV6dkd2WUhC?=
=?utf-8?B?RS9SSlc4OHlGdXJtQVRwTGI4KzVtbUFRWEdFNnJ1ZDl2ZjdkNVJGYUJKNm5w?=
=?utf-8?B?clNFdDJUVi9JTUo1SmpTcGFLMWI1di9lTjZWVHdZQ0lLd0p2V2lUVXRkcW50?=
=?utf-8?B?V01qQi9kdzErdEozelY4THAyZVhqSVdKVDFiNXRYaVVDeFAvQmw5cmdxSHQy?=
=?utf-8?B?b3ZsSktTZnJlVTVrcWphWlFYanErOFdIYVRKUnUyWUFDOEhUMjBGaXR6OXd5?=
=?utf-8?B?M3dTQ2RpUEd2R3lGWnlKZDFURURHY25zcU8vTmVsWjVWMW1KSWdMcGNHYTND?=
=?utf-8?B?K0JVYTZOYnhCYTlqU3lOQ2JrN1orN1U3emxhVmVwemZkRDJGMFYrVjljaFlu?=
=?utf-8?B?OFBuRUs3OEtENGN6ejBZYU9kR29ZdDQzcWZYSmhIZE9VeW1Gc3Y2ZTRvSThv?=
=?utf-8?B?MTVpejVnaGdjNVBMR0ZiSWt5L0s5Vzc3Zk56UGo0SHlNUi9WVFl3M3FDZHdy?=
=?utf-8?B?bElXRFlZQTZHWVkyOG00Q1YyT0hWNlo5aVNGcmYrYk1HVlZUam9oZXozZUhC?=
=?utf-8?B?TVg3Y3MwaHBQcFZsZDJuTGcvOFkwaWFhUS9HUGxVTHNhSUhlempNMDRpQ1Ri?=
=?utf-8?B?dGJxaEZHcktGZld5dU1mNE1GaVJTanljYlFtcjdJT2twTjdPejVuS0xtK21H?=
=?utf-8?B?T0VDd2Q3b3R3OGZGZnFaMFhaeDhKK2ttQmp6TmZBc3Z0aTFEZVdqU2NOZThI?=
=?utf-8?B?SzhtT2NrSUhBODg0VGpUWVBPL0tKTCt3T0IvYmJnYldFM2g3bkVFWWhmVjZL?=
=?utf-8?B?ZlJ2bkdPaCtTWkxYcC9nR2oyL0hPV1A2OG9JdmpuVkJNQWt2NE1JNlVzenJ4?=
=?utf-8?B?ckR5SFc4eE1SbGlCWDI2dCtXbEJFY1JpaytNcHRDcS93b0pTTktrVVB3anA4?=
=?utf-8?Q?vDT6/e1x9CmGJ00w316hbmlgp?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F28C49E373734241AE9CDE6F9C448584@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5525.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bf809982-e38f-402a-c9c8-08dda3c38295
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 23:57:06.0760
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: uZwaAEXm1Omq8+ghHzFm1px139zlLo5rX4u/khC1HCsDHVwy74a0+EKhjzkmFBp0jUx+iZ+0UmobQJcWiGvmUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB5957
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCAyMDI1LTA2LTA0IGF0IDIzOjI3ICswMDAwLCBIdWFuZywgS2FpIHdyb3RlOg0KPiBP
biBXZWQsIDIwMjUtMDYtMDQgYXQgMTY6MjMgLTA3MDAsIERhdmUgSGFuc2VuIHdyb3RlOg0KPiA+
IE9uIDYvNC8yNSAxNjoxNiwgSHVhbmcsIEthaSB3cm90ZToNCj4gPiA+IENvdWxkIHlvdSBhbHNv
IGxldCBtZSBrbm93IHdoZXRoZXIgSSBzaG91bGQga2VlcCB0aGUgRml4ZXMgdGFnLCBhbmQgdGhl
DQo+ID4gPiBoaXN0b3J5IGluIHRoZSBjaGFuZ2Vsb2c/DQo+ID4gDQo+ID4gWWVhaCwgSSB0aGlu
ayB5b3Ugc2hvdWxkIGtlZXAgdGhlIEZpeGVzOiB0YWcsIHVubGVzcyBJJ20gbWlzc2luZyBzb21l
dGhpbmcuDQo+ID4gDQo+ID4gQXMgZm9yIHRoZSBoaXN0b3J5IGxlc3NvbiwgeW91IGNhbiBqdXN0
IHNheSB0aGF0IHlvdSB0aGluayB0aGF0IHRoZSBURFgNCj4gPiBjb2RlIHdhcyBPSyB3aGVuIG1l
cmdlZCwgYnV0IHdhc24ndCBjb252ZXJ0ZWQgd2l0aCB0aGUgcmVzdCBvZiB0aGUNCj4gPiBGaXhl
czogY29tbWl0LiBUaGF0J3MgYWxsIHlvdSBuZWVkLg0KPiANCj4gV2lsbCBkby4gIFRoYW5rcyBm
b3IgcXVpY2sgZmVlZGJhY2suDQoNCkFmdGVyIHNlY29uZCB0aG91Z2h0LCBJIHRoaW5rIEkgd2Fz
IHdyb25nIGFib3V0IHRoZSB0YXJnZXQgY29tbWl0IHRvIEZpeGVzLA0KYmVjYXVzZSBhdCB0aGF0
IHRpbWUgSSBkaWRuJ3QgY29uc2lkZXIgQ0ZJIG9uIENMQU5HLg0KDQpXaGVuIFREWCBjb2RlIHdh
cyBtZXJnZWQsIHRoZSBTWU1fRlVOQ19TVEFSVCgpIGFuZCBTWU1fVFlQRURfRlVOQ19TVEFSVCgp
DQp3ZXJlIGFscmVhZHkgbGlrZSB0aGlzOg0KDQovKiBTWU1fVFlQRURfRlVOQ19TVEFSVCAtLSB1
c2UgZm9yIGluZGlyZWN0bHkgY2FsbGVkIGdsb2JhbHMsIHcvIENGSSB0eXBlICovDQojZGVmaW5l
IFNZTV9UWVBFRF9GVU5DX1NUQVJUKG5hbWUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XA0KICAgICAgICBTWU1fVFlQRURfU1RBUlQobmFtZSwgU1lNX0xfR0xPQkFMLCBTWU1fRl9BTElH
TikgICAgICAgIFwNCiAgICAgICAgRU5EQlINCg0KLyogU1lNX0ZVTkNfU1RBUlQgLS0gdXNlIGZv
ciBnbG9iYWwgZnVuY3Rpb25zICovDQojZGVmaW5lIFNZTV9GVU5DX1NUQVJUKG5hbWUpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwNCiAgICAgICAgU1lNX1NUQVJUKG5hbWUsIFNZTV9MX0dM
T0JBTCwgU1lNX0ZfQUxJR04pICAgICAgXA0KICAgICAgICBFTkRCUg0KDQpTbyB0aGUgVERYIGNv
ZGUgd2FzIHN1cHBvc2VkIHRvIHVzZSBTWU1fVFlQRURfRlVOQ19TVEFSVCgpIGF0IHRoZSBmaXJz
dA0KcGxhY2Ugd2hlbiBzY19yZXRyeSgpIGxvZ2ljIHdhcyBpbnRyb2R1Y2VkIGluIGNvbW1pdA0K
DQogIDFlNjZhN2UyNzUzOSAoIng4Ni92aXJ0L3RkeDogSGFuZGxlIFNFQU1DQUxMIG5vIGVudHJv
cHkgZXJyb3IgaW4gY29tbW9uDQpjb2RlIikNCg0KTm90ZSwgdGhlIHNlYW1jYWxsKigpIGFzc2Vt
Ymx5IHdhcyBpbnRyb2R1Y2VkIGF0IGFuIGVhcmxpZXIgY29tbWl0DQoNCiAgYzMzNjIxYjRjNWFk
ICgieDg2L3ZpcnQvdGR4OiBXaXJlIHVwIGJhc2ljIFNFQU1DQUxMIGZ1bmN0aW9ucyIpDQoNCkJ1
dCBhcmd1YWJseSB0aGF0IGNvbW1pdCBkaWRuJ3Qga25vdyBTRUFNQ0FMTCBoZWxwZXJzIGNvdWxk
IGJlIGNhbGxlZA0KaW5kaXJlY3RseS4NCg0KU28sIHRoYW5rcyBmb3IgYnJpbmdpbmcgdXAgdGhl
IENGSS4NCg0KQW5kIGlmIHlvdSBkb24ndCBoYXZlIGZ1cnRoZXIgY29tbWVudHMsIEkgdGhpbmsg
SSB3aWxsIGFkZCBiZWxvdyBhcyBGaXhlcw0KY29tbWl0IHcvbyBtZW50aW9uaW5nIGhpc3Rvcnkg
aW4gdGhlIGNoYW5nZWxvZy4NCg0KRml4ZXM6IDFlNjZhN2UyNzUzOSAoIng4Ni92aXJ0L3RkeDog
SGFuZGxlIFNFQU1DQUxMIG5vIGVudHJvcHkgZXJyb3IgaW4NCmNvbW1vbiBjb2RlIikNCg==


Return-Path: <linux-kernel+bounces-673899-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B353641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:58:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 743583A9B97
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:57:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A39A9274669;
Wed, 4 Jun 2025 23:58:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DEqopVjf"
Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177])
(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 7694E79D0;
Wed, 4 Jun 2025 23:58:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.177
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749081488; cv=none; b=LwbskyKK7jNvYM3BjXe4r1NMpObT6vzaC2uCVJJAAkbe31y4jDrLkclMsN73duykaV9GpHNsDqRh222WzFBFC1GdfkUPSALSnA53O/VlvKRzCOjotoaf/blm0nPydShDu8KEbQ1G7Bgi6+wmHnot2DmDZLSXKcedF58Ah04N8q0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749081488; c=relaxed/simple;
bh=QzfZr39HeqY7H3B6TYyUxaMLUgwPEK0TtDJisXAYCmo=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Nz1njWwjq0Rk9anvh+UOTa+zRGxBYh2VRvN8pZUr8h0pKXLFqbiBCGyZiod+6djBLBXTPzZ65G1N5JC10DAKAmQaW4eirRCTa1JrI9hqvsglybnFU+cZf3ow5XHNG7GH3mRNG8P3jXyhSK/n0d8lPW7imlpt20LjmBOCAkMh+XY=
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=DEqopVjf; arc=none smtp.client-ip=209.85.128.177
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
Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-70e767ce72eso4732847b3.1;
Wed, 04 Jun 2025 16:58:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749081484; x=1749686284; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=D1urpv1CAifgJ6BNRWX3RtwUoCLKVqZzHUlUAbIF8kM=;
b=DEqopVjfifQKiXn6w03M1mWTIJAunPmdt5sEdxwYspninI7Su84xvdrI9uxr4Gk2LX
4i+nMWTm9xtR0SToAKsW2Q5rfUjN/rOl/NID5vz3GJ+JjZIBQkAunbode7J2llXijm8G
mSRpKG1g91vv1+4DiemC4QhI9NCog+zvfxlTrVcSgl0USIrfWOyfFsFW7OvTm4dHCm1p
AOWjifvqyyRWc7zO8NeM0fXara/105hQ6CNS4Ph75Z2wg7UN5jlpTfbaD1Sm2tVI68yC
jFIFUcbZwH3PdnR1zhF1Fxd9Uvin4+IrFt/QUUYAeIJnUeFSxosFDbQh+O6GI47kAHyZ
If+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749081484; x=1749686284;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=D1urpv1CAifgJ6BNRWX3RtwUoCLKVqZzHUlUAbIF8kM=;
b=hdGiNUsXWU7XjixeqSuOe7yE1WN52evcVRL9IefUswj5O/rx9jmkEc7uRkoW2uBXAl
R3WSPXJEhJTDcbNOCsGgwra592do3M8pjnkyWOILmKo8MJNhd+TOcJxDyxtIlDjzkcIX
FiQjEthYfypxnURKsIUWyMgK9IG1akYdi3rvEG4i7Qdyb4EV11EJrrE+zN+8HMyCZ/zF
zZl+PARf4jSXWukHC/yMeBO0Ss8snFGhTjiDddouuulZJ4C/apkMc6VUeYnKY00ynKKX
naJt/LgDJ1wFs7zz8vJtwT61azJkh9aackp+S2iWskjEw0D65wESK+PaazEYJwMknkj+
JhQg==
X-Forwarded-Encrypted: i=1; AJvYcCWCDxGz/ZSPoN0B6dDXKFZBNfxFifEdQRPlPtKTIDmnGTkHbZ24kSqqMwhyOroNokMNhexQoGLYNtaXhnE=@vger.kernel.org, AJvYcCX8AzH3WLquG4Ki+0BGxwGLCvy6jzrF+HxJhLkbEFLNTdUIFWhz7GdtW2kqNH4ymj1hMP69zu+IIW2XDsw5@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0Yx0+9o5N6QYNOJ04w2nOj4sbsKoGvwVeT2lTMywDJnSwTateEj9
3GPW5A74St2t5864ZD8j98u9tjY24zngkEWCRshx9ZdTbcwte/FmI2BS
X-Gm-Gg: ASbGncunehCW+WfNB4F5j8zAqWBVpQqUSVgUS72nXSIdlTpj8iOTXv1SvUvyxOrK8CD
jeswBcELRL6cj4GPIFCRAB2RHjlsYTzKLwngIt6TqEiRtmGLnJpQfrmvI45ZrLiOPaVqJ0awkqu
PVA4oiDg/IOmQQs/+IRo63/LC92SnFhoyK/wBjzwNAzLMcb3ZrJelpF0bNyJxJ6bePTQRtcPtt5
dAOtKZCoseaWym1H3cXQ9KNnbxuXfmEq3oYBp7M4XjQtgKbEwXYP7t2M2tWdxGZBH4zu0HnAZ8r
xguNAUBasrDKZQG0WY+vPBZ2IdaSMsdrEToPDM1G7nCWcXZ+JDfKgSNhnZo9v/HVcwubbpX3VnO
lxD1ABHkyt6XRs2Iy1pUT8/1YUQ2MA3Or
X-Google-Smtp-Source: AGHT+IFe3m1viL0iywi8an0eIFaeH0OkftD9KsusLITaB8ddgPDMqk3K3v2ets/7F+bm+WuhdzE3qA==
X-Received: by 2002:a05:690c:4c01:b0:708:21e9:a20d with SMTP id 00721157ae682-710d9dfb30fmr69922217b3.16.1749081484286;
Wed, 04 Jun 2025 16:58:04 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8abef1d0sm32587187b3.27.2025.06.04.16.58.03
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 16:58:03 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: Steffen Klassert <steffen.klassert@xxxxxxxxxxx>,
Daniel Jordan <daniel.m.jordan@xxxxxxxxxx>,
linux-crypto@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Cc: Yury Norov <yury.norov@xxxxxxxxx>
Subject: [PATCH] padata: use cpumask_nth()
Date: Wed, 4 Jun 2025 19:58:01 -0400
Message-ID: <20250604235802.44411-1-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

padata_do_parallel() and padata_index_to_cpu() duplicate cpumask_nth().
Fix both and use the generic helper.

Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
---
kernel/padata.c | 22 +++-------------------
1 file changed, 3 insertions(+), 19 deletions(-)

diff --git a/kernel/padata.c b/kernel/padata.c
index 7eee94166357..13084bbf4404 100644
--- a/kernel/padata.c
+++ b/kernel/padata.c
@@ -63,17 +63,6 @@ static inline void padata_put_pd(struct parallel_data *pd)
padata_put_pd_cnt(pd, 1);
}

-static int padata_index_to_cpu(struct parallel_data *pd, int cpu_index)
-{
- int cpu, target_cpu;
-
- target_cpu = cpumask_first(pd->cpumask.pcpu);
- for (cpu = 0; cpu < cpu_index; cpu++)
- target_cpu = cpumask_next(target_cpu, pd->cpumask.pcpu);
-
- return target_cpu;
-}
-
static int padata_cpu_hash(struct parallel_data *pd, unsigned int seq_nr)
{
/*
@@ -82,7 +71,7 @@ static int padata_cpu_hash(struct parallel_data *pd, unsigned int seq_nr)
*/
int cpu_index = seq_nr % cpumask_weight(pd->cpumask.pcpu);

- return padata_index_to_cpu(pd, cpu_index);
+ return cpumask_nth(cpu_index, pd->cpumask.pcpu);
}

static struct padata_work *padata_work_alloc(void)
@@ -192,9 +181,9 @@ int padata_do_parallel(struct padata_shell *ps,
struct padata_priv *padata, int *cb_cpu)
{
struct padata_instance *pinst = ps->pinst;
- int i, cpu, cpu_index, err;
struct parallel_data *pd;
struct padata_work *pw;
+ int cpu_index, err;

rcu_read_lock_bh();

@@ -210,12 +199,7 @@ int padata_do_parallel(struct padata_shell *ps,

/* Select an alternate fallback CPU and notify the caller. */
cpu_index = *cb_cpu % cpumask_weight(pd->cpumask.cbcpu);
-
- cpu = cpumask_first(pd->cpumask.cbcpu);
- for (i = 0; i < cpu_index; i++)
- cpu = cpumask_next(cpu, pd->cpumask.cbcpu);
-
- *cb_cpu = cpu;
+ *cb_cpu = cpumask_nth(cpu_index, pd->cpumask.cbcpu);
}

err = -EBUSY;
--
2.43.0



Return-Path: <linux-kernel+bounces-673900-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BE92141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 19:59:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 102283A9C2C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:58:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8B32F274674;
Wed, 4 Jun 2025 23:58:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="JkoM8sP0"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F73F1EDA3F;
Wed, 4 Jun 2025 23:58:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.9
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749081537; cv=none; b=R7TwC1a4QpERc6Qtqgf1r0sqCGSjp5hoirRhJXib63wiiGDm7GvXWSDI5syO02/2f89J6RJuVqrO7LJWnts7/ssrKiF7zwjLQQyx5oqnxFTFogiYpptHfidmlqizxlPoKdg51102P99ZPyIahmxt4zpf4HAqZ60KAcm4kmYV+Mw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749081537; c=relaxed/simple;
bh=fc6Ta5pbfKoNyE4SL922MjkzE305Idhs+yRGCI8zkVY=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=A97LkK6bJmbyI/KeL/0/xmZBpvIBYiIlsea0/ALQrOENX4+DB1xu6VHiUu+ZYCzR1CZquoX09gw19oYZSV87AYwgtCunaid8WTT9SHtrcDbIlOxKbni4m1os0eYTerp4x2ctsIyB5kMOhbMnBjN8V/ZjT4h2jjYQ4/EXTlJ1oMk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=JkoM8sP0; arc=none smtp.client-ip=198.175.65.9
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749081535; x=1780617535;
h=message-id:date:mime-version:subject:to:references:from:
in-reply-to:content-transfer-encoding;
bh=fc6Ta5pbfKoNyE4SL922MjkzE305Idhs+yRGCI8zkVY=;
b=JkoM8sP0IHZpWftCn0QW0gb7Hxc6ZVSfxrAjHo3jVhF+FxchPDqpnCd3
sOxuY31YCuxPJZab2ZBVjPijbVRj7nAqi+5y9qU8Dd6EVhiAJMH6HNka3
1ueS3tu0sQxgnuC08gmJeyHBCd0QNHSLSWnCm5KX6REIO9N6lg92QZELG
U7cY+U9gIzfxkBOJKatjmoo4OIcgl5Y13H5mY/f2pTBWtqFkSs2FZPRt0
0yyhl3xD7eCJlYtjgX3slvmM2Mz+AEwHYNQ7x8juAGfQ5HQzqD5bUmta5
oPQpYMoQzjk1W8p/iS3oUgnNDtsvXqPUXf9oOTtL66qWmfuIHxW8WTDF/
A==;
X-CSE-ConnectionGUID: /TmmVUlhSxOR1eHlW7lD0A==
X-CSE-MsgGUID: t4YAYPHtSK2tIM7oGLlx7w==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="73718292"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="73718292"
Received: from orviesa006.jf.intel.com ([10.64.159.146])
by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:58:52 -0700
X-CSE-ConnectionGUID: 5R1ZUrVSR46ylGp/kdvXCQ==
X-CSE-MsgGUID: iJloBj5BQ4+vH1duhYWVHA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145229852"
Received: from linux.intel.com ([10.54.29.200])
by orviesa006.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 16:58:53 -0700
Received: from [10.124.221.247] (unknown [10.124.221.247])
by linux.intel.com (Postfix) with ESMTP id 3BC6620B5736;
Wed, 4 Jun 2025 16:58:51 -0700 (PDT)
Message-ID: <451bbab4-59b3-4ac7-a894-b05198d7062f@xxxxxxxxxxxxxxx>
Date: Wed, 4 Jun 2025 16:58:50 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 04/16] PCI/AER: Dequeue forwarded CXL error
To: Terry Bowman <terry.bowman@xxxxxxx>, PradeepVineshReddy.Kodamati@xxxxxxx,
dave@xxxxxxxxxxxx, jonathan.cameron@xxxxxxxxxx, dave.jiang@xxxxxxxxx,
alison.schofield@xxxxxxxxx, vishal.l.verma@xxxxxxxxx, ira.weiny@xxxxxxxxx,
dan.j.williams@xxxxxxxxx, bhelgaas@xxxxxxxxxx, bp@xxxxxxxxx,
ming.li@xxxxxxxxxxxx, shiju.jose@xxxxxxxxxx, dan.carpenter@xxxxxxxxxx,
Smita.KoralahalliChannabasappa@xxxxxxx, kobayashi.da-06@xxxxxxxxxxx,
yanfei.xu@xxxxxxxxx, rrichter@xxxxxxx, peterz@xxxxxxxxxxxxx, colyli@xxxxxxx,
uaisheng.ye@xxxxxxxxx, fabio.m.de.francesco@xxxxxxxxxxxxxxx,
ilpo.jarvinen@xxxxxxxxxxxxxxx, yazen.ghannam@xxxxxxx,
linux-cxl@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-pci@xxxxxxxxxxxxxxx
References: <20250603172239.159260-1-terry.bowman@xxxxxxx>
<20250603172239.159260-5-terry.bowman@xxxxxxx>
Content-Language: en-US
From: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>
In-Reply-To: <20250603172239.159260-5-terry.bowman@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


On 6/3/25 10:22 AM, Terry Bowman wrote:
> The AER driver is now designed to forward CXL protocol errors to the CXL
> driver. Update the CXL driver with functionality to dequeue the forwarded
> CXL error from the kfifo. Also, update the CXL driver to begin the protocol
> error handling processing using the work received from the FIFO.
>
> Introduce function cxl_prot_err_work_fn() to dequeue work forwarded by the
> AER service driver. This will begin the CXL protocol error processing
> with a call to cxl_handle_prot_error().
>
> Update cxl/core/ras.c by adding cxl_rch_handle_error_iter() that was
> previously in the AER driver.
>
> Introduce sbdf_to_pci() to take the SBDF values from 'struct cxl_prot_error_info'
> and use in discovering the erring PCI device. Make scope based reference
> increments/decrements for the discovered PCI device and the associated
> CXL device.
>
> Implement cxl_handle_prot_error() to differentiate between Restricted CXL
> Host (RCH) protocol errors and CXL virtual host (VH) protocol errors.
> RCH errors will be processed with a call to walk the associated Root
> Complex Event Collector's (RCEC) secondary bus looking for the Root Complex
> Integrated Endpoint (RCiEP) to handle the RCH error. Export pcie_walk_rcec()
> so the CXL driver can walk the RCEC's downstream bus, searching for
> the RCiEP.
>
> VH correctable error (CE) processing will call the CXL CE handler. VH
> uncorrectable errors (UCE) will call cxl_do_recovery(), implemented as a
> stub for now and to be updated in future patch. Export pci_aer_clean_fatal_status()
> and pci_clean_device_status() used to clean up AER status after handling.
>
> Signed-off-by: Terry Bowman <terry.bowman@xxxxxxx>
> ---

Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>

> drivers/cxl/core/ras.c | 92 +++++++++++++++++++++++++++++++++++++++++
> drivers/pci/pci.c | 1 +
> drivers/pci/pci.h | 8 ----
> drivers/pci/pcie/aer.c | 1 +
> drivers/pci/pcie/rcec.c | 1 +
> include/linux/aer.h | 2 +
> include/linux/pci.h | 10 +++++
> 7 files changed, 107 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/cxl/core/ras.c b/drivers/cxl/core/ras.c
> index d35525e79e04..9ed5c682e128 100644
> --- a/drivers/cxl/core/ras.c
> +++ b/drivers/cxl/core/ras.c
> @@ -110,8 +110,100 @@ static DECLARE_WORK(cxl_cper_prot_err_work, cxl_cper_prot_err_work_fn);
>
> #ifdef CONFIG_PCIEAER_CXL
>
> +static void cxl_do_recovery(struct pci_dev *pdev)
> +{
> +}
> +
> +static int cxl_rch_handle_error_iter(struct pci_dev *pdev, void *data)
> +{
> + struct cxl_prot_error_info *err_info = data;
> + struct pci_dev *pdev_ref __free(pci_dev_put) = pci_dev_get(pdev);
> + struct cxl_dev_state *cxlds;
> +
> + /*
> + * The capability, status, and control fields in Device 0,
> + * Function 0 DVSEC control the CXL functionality of the
> + * entire device (CXL 3.0, 8.1.3).

Nit: I think you give spec references with different versions across your code (v3.0, v3.1, v3.2).
May be you can stick to the latest?

> + */
> + if (pdev->devfn != PCI_DEVFN(0, 0))
> + return 0;
> +
> + /*
> + * CXL Memory Devices must have the 502h class code set (CXL
> + * 3.0, 8.1.12.1).
> + */
> + if ((pdev->class >> 8) != PCI_CLASS_MEMORY_CXL)
> + return 0;
> +
> + if (!is_cxl_memdev(&pdev->dev) || !pdev->dev.driver)
> + return 0;
> +
> + cxlds = pci_get_drvdata(pdev);
> + struct device *dev __free(put_device) = get_device(&cxlds->cxlmd->dev);
> +
> + if (err_info->severity == AER_CORRECTABLE)
> + cxl_cor_error_detected(pdev);
> + else
> + cxl_do_recovery(pdev);
> +
> + return 1;
> +}
> +
> +static struct pci_dev *sbdf_to_pci(struct cxl_prot_error_info *err_info)
> +{
> + unsigned int devfn = PCI_DEVFN(err_info->device,
> + err_info->function);
> + struct pci_dev *pdev __free(pci_dev_put) =
> + pci_get_domain_bus_and_slot(err_info->segment,
> + err_info->bus,
> + devfn);
> + return pdev;
> +}
> +
> +static void cxl_handle_prot_error(struct cxl_prot_error_info *err_info)
> +{
> + struct pci_dev *pdev __free(pci_dev_put) = pci_dev_get(sbdf_to_pci(err_info));
> +
> + if (!pdev) {
> + pr_err("Failed to find the CXL device\n");

Nit: Maybe including BDF value is more informative.

> + return;
> + }
> +
> + /*
> + * Internal errors of an RCEC indicate an AER error in an
> + * RCH's downstream port. Check and handle them in the CXL.mem
> + * device driver.
> + */
> + if (pci_pcie_type(pdev) == PCI_EXP_TYPE_RC_EC)
> + return pcie_walk_rcec(pdev, cxl_rch_handle_error_iter, err_info);
> +
> + if (err_info->severity == AER_CORRECTABLE) {
> + int aer = pdev->aer_cap;
> + struct cxl_dev_state *cxlds = pci_get_drvdata(pdev);
> + struct device *dev __free(put_device) = get_device(&cxlds->cxlmd->dev);
> +
> + if (aer)
> + pci_clear_and_set_config_dword(pdev,
> + aer + PCI_ERR_COR_STATUS,
> + 0, PCI_ERR_COR_INTERNAL);
> +
> + cxl_cor_error_detected(pdev);
> +
> + pcie_clear_device_status(pdev);
> + } else {
> + cxl_do_recovery(pdev);
> + }
> +}
> +
> static void cxl_prot_err_work_fn(struct work_struct *work)
> {
> + struct cxl_prot_err_work_data wd;
> +
> + while (cxl_prot_err_kfifo_get(&wd)) {
> + struct cxl_prot_error_info *err_info = &wd.err_info;
> +
> + cxl_handle_prot_error(err_info);
> + }
> }
>
> #else
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index e77d5b53c0ce..524ac32b744a 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -2328,6 +2328,7 @@ void pcie_clear_device_status(struct pci_dev *dev)
> pcie_capability_read_word(dev, PCI_EXP_DEVSTA, &sta);
> pcie_capability_write_word(dev, PCI_EXP_DEVSTA, sta);
> }
> +EXPORT_SYMBOL_NS_GPL(pcie_clear_device_status, "CXL");
> #endif
>
> /**
> diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
> index d6296500b004..3c54a5ed803e 100644
> --- a/drivers/pci/pci.h
> +++ b/drivers/pci/pci.h
> @@ -649,16 +649,10 @@ static inline bool pci_dpc_recovered(struct pci_dev *pdev) { return false; }
> void pci_rcec_init(struct pci_dev *dev);
> void pci_rcec_exit(struct pci_dev *dev);
> void pcie_link_rcec(struct pci_dev *rcec);
> -void pcie_walk_rcec(struct pci_dev *rcec,
> - int (*cb)(struct pci_dev *, void *),
> - void *userdata);
> #else
> static inline void pci_rcec_init(struct pci_dev *dev) { }
> static inline void pci_rcec_exit(struct pci_dev *dev) { }
> static inline void pcie_link_rcec(struct pci_dev *rcec) { }
> -static inline void pcie_walk_rcec(struct pci_dev *rcec,
> - int (*cb)(struct pci_dev *, void *),
> - void *userdata) { }
> #endif
>
> #ifdef CONFIG_PCI_ATS
> @@ -967,7 +961,6 @@ void pci_no_aer(void);
> void pci_aer_init(struct pci_dev *dev);
> void pci_aer_exit(struct pci_dev *dev);
> extern const struct attribute_group aer_stats_attr_group;
> -void pci_aer_clear_fatal_status(struct pci_dev *dev);
> int pci_aer_clear_status(struct pci_dev *dev);
> int pci_aer_raw_clear_status(struct pci_dev *dev);
> void pci_save_aer_state(struct pci_dev *dev);
> @@ -976,7 +969,6 @@ void pci_restore_aer_state(struct pci_dev *dev);
> static inline void pci_no_aer(void) { }
> static inline void pci_aer_init(struct pci_dev *d) { }
> static inline void pci_aer_exit(struct pci_dev *d) { }
> -static inline void pci_aer_clear_fatal_status(struct pci_dev *dev) { }
> static inline int pci_aer_clear_status(struct pci_dev *dev) { return -EINVAL; }
> static inline int pci_aer_raw_clear_status(struct pci_dev *dev) { return -EINVAL; }
> static inline void pci_save_aer_state(struct pci_dev *dev) { }
> diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
> index 5350fa5be784..6e88331c6303 100644
> --- a/drivers/pci/pcie/aer.c
> +++ b/drivers/pci/pcie/aer.c
> @@ -290,6 +290,7 @@ void pci_aer_clear_fatal_status(struct pci_dev *dev)
> if (status)
> pci_write_config_dword(dev, aer + PCI_ERR_UNCOR_STATUS, status);
> }
> +EXPORT_SYMBOL_GPL(pci_aer_clear_fatal_status);
>
> /**
> * pci_aer_raw_clear_status - Clear AER error registers.
> diff --git a/drivers/pci/pcie/rcec.c b/drivers/pci/pcie/rcec.c
> index d0bcd141ac9c..fb6cf6449a1d 100644
> --- a/drivers/pci/pcie/rcec.c
> +++ b/drivers/pci/pcie/rcec.c
> @@ -145,6 +145,7 @@ void pcie_walk_rcec(struct pci_dev *rcec, int (*cb)(struct pci_dev *, void *),
>
> walk_rcec(walk_rcec_helper, &rcec_data);
> }
> +EXPORT_SYMBOL_NS_GPL(pcie_walk_rcec, "CXL");
>
> void pci_rcec_init(struct pci_dev *dev)
> {
> diff --git a/include/linux/aer.h b/include/linux/aer.h
> index 550407240ab5..c9a18eca16f8 100644
> --- a/include/linux/aer.h
> +++ b/include/linux/aer.h
> @@ -77,12 +77,14 @@ struct cxl_prot_err_work_data {
>
> #if defined(CONFIG_PCIEAER)
> int pci_aer_clear_nonfatal_status(struct pci_dev *dev);
> +void pci_aer_clear_fatal_status(struct pci_dev *dev);
> int pcie_aer_is_native(struct pci_dev *dev);
> #else
> static inline int pci_aer_clear_nonfatal_status(struct pci_dev *dev)
> {
> return -EINVAL;
> }
> +static inline void pci_aer_clear_fatal_status(struct pci_dev *dev) { }
> static inline int pcie_aer_is_native(struct pci_dev *dev) { return 0; }
> #endif
>
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index bff3009f9ff0..cd53715d53f3 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -1806,6 +1806,9 @@ extern bool pcie_ports_native;
>
> int pcie_set_target_speed(struct pci_dev *port, enum pci_bus_speed speed_req,
> bool use_lt);
> +void pcie_walk_rcec(struct pci_dev *rcec,
> + int (*cb)(struct pci_dev *, void *),
> + void *userdata);
> #else
> #define pcie_ports_disabled true
> #define pcie_ports_native false
> @@ -1816,8 +1819,15 @@ static inline int pcie_set_target_speed(struct pci_dev *port,
> {
> return -EOPNOTSUPP;
> }
> +
> +static inline void pcie_walk_rcec(struct pci_dev *rcec,
> + int (*cb)(struct pci_dev *, void *),
> + void *userdata) { }
> +
> #endif
>
> +void pcie_clear_device_status(struct pci_dev *dev);
> +
> #define PCIE_LINK_STATE_L0S (BIT(0) | BIT(1)) /* Upstr/dwnstr L0s */
> #define PCIE_LINK_STATE_L1 BIT(2) /* L1 state */
> #define PCIE_LINK_STATE_L1_1 BIT(3) /* ASPM L1.1 state */

--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer



Return-Path: <linux-kernel+bounces-673901-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C6D9D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:00:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 0691C18995D5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:00:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 628F5192598;
Thu, 5 Jun 2025 00:00:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="h58nhgdK"
Received: from esa10.fujitsucc.c3s2.iphmx.com (esa10.fujitsucc.c3s2.iphmx.com [68.232.159.247])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6714274673
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:00:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=68.232.159.247
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749081615; cv=fail; b=ABCmmE5TqUkPN9RQzq0JG78+ZyscSRGp7YZpw4ZVuJrsrN3CS7/GDkB/I9oRnQWjrI/WSXGgxT0Yg5xcctooXKgX0bywtU7iOi4HQA/L9mkbPEZno6vlS01EU48XccPOu18/8MASJy2qQVZQRk0NYio0Cdr4ZuH3ro3wat9wonc=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749081615; c=relaxed/simple;
bh=dwWFG5WbrDAnY0/MCr1qDyxCGXRkyTX78IsQV8qt/PM=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=LrXmnDfzADec5Ly7PEZLdvoVqpTn4juNabdjfKJ4Jy8moLadnuekWvFljuQHoB6xiehOTj4llmdEoMgyddxLRpB7XfX8EXnPfed6EYlikI1DauD/YZiZ2KbtQAO5x/wzscKTYKY6ZfqeDgsmtiYcPhBqKoAoeGSbJYHnJxcBct8=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=h58nhgdK; arc=fail smtp.client-ip=68.232.159.247
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fujitsu.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1;
t=1749081613; x=1780617613;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-transfer-encoding:mime-version;
bh=dwWFG5WbrDAnY0/MCr1qDyxCGXRkyTX78IsQV8qt/PM=;
b=h58nhgdKEBpMG4igmnGkwxWygmlqlMX65wxFr0GoDjDwsK1QSIYGojTV
dPITp7eldtGpgya475tBzrKrBvuy6H+FQi28fublM5Z0XcI97D5O3gqjK
ltPMcSE5tnHtVFXBERX3CPD1KE+D+UZi2iunWeu10D8xa1vyf0yQE6GZJ
wE5BbGPHKjE6b+7XNmSzSyNLj5C63/no8zM1JrDX9yiM48FE/gx5RNUhw
su0Y6KGWjfX02H24meRLDGB3vUFfQX8B0YH6J+T1D/X85iucDqHBjb0Of
b4q04o8D3KWUMlK+2pv/3vk4HyPr7wYcoRdiY0BOjqa/t+J8EAhIv+Ukr
g==;
X-CSE-ConnectionGUID: NxH5gmZoQoa7muQBmF0a6w==
X-CSE-MsgGUID: Gmlj3ZdaSEmvNXPrPqr2aA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="157715989"
X-IronPort-AV: E=Sophos;i="6.16,210,1744038000";
d="scan'208";a="157715989"
Received: from mail-japanwestazon11010070.outbound.protection.outlook.com (HELO OS0P286CU011.outbound.protection.outlook.com) ([52.101.228.70])
by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2025 08:58:58 +0900
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=k/7KuIgpV1jhr4En0WjZ30adoTy28eDatT8EJfFvcaDW+cSomTrdZS/+c+i6HC4Pvyu8gEnvwcTLGFWpO3YQICsKPUWf/SAAE6i8OO7P/5kjTsdDMRsaKH5nPotuq1ZQuhjWV6ILFEuCf87Vv5BfRQw8bnCancdlLXFpQYCOpKekU7YjdUeQm2D7OJsnhnota2LmRXiDhI5A5GLtkDDoL9eSUy1lQcCrvfYfw84ZUSodE1W9GHlxOvLgRYnnkIvHub2yZInFpGl1dXJtaiQVmGGtAgrgckTIF+qlPYynkzBjmi1QtBJy1oeVDcptooqkf0Le6r4hMf8armHeJ0gK7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=dwWFG5WbrDAnY0/MCr1qDyxCGXRkyTX78IsQV8qt/PM=;
b=xJo3M0AXQ6QBtNMP85gIsc82SMHdDLQZfvVD7SxuvYhxwP4ho2/n/BvzrRfak1tbm+yQdp/g27z0VVP2s+E9sW9UR6JXshTWSXFGeINY3EWZr68zhZ751MHvucSXlL0k+NXt0HyS76/ahXx5h/8+iXfly7xIYxGTv+BKldaYmdg8PdaGt30SUpVsFkWOomiRxLFHX+rqr4OFwO8vZmCIIROytAqNyB+MQIGzusGJg6Cpq9T1dLig0vj8ODEGs2T5VcO2+aT0wyhHkZJMz2RDhA2N54A/NSiAM3rQ6dbA9mwvWSmIxBfc4S79MuvRDbLTjUYNODAHc4jbtCcbWsQ3EA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com;
dkim=pass header.d=fujitsu.com; arc=none
Received: from TY4PR01MB13777.jpnprd01.prod.outlook.com (2603:1096:405:1f8::9)
by OS7PR01MB13601.jpnprd01.prod.outlook.com (2603:1096:604:35d::12) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Wed, 4 Jun
2025 23:58:55 +0000
Received: from TY4PR01MB13777.jpnprd01.prod.outlook.com
([fe80::60b7:270b:27c7:4fcc]) by TY4PR01MB13777.jpnprd01.prod.outlook.com
([fe80::60b7:270b:27c7:4fcc%7]) with mapi id 15.20.8813.018; Wed, 4 Jun 2025
23:58:54 +0000
From: "Toshiyuki Sato (Fujitsu)" <fj6611ie@xxxxxxxxxxx>
To: 'Dylan Hatch' <dylanbhatch@xxxxxxxxxx>
CC: Catalin Marinas <catalin.marinas@xxxxxxx>, Will Deacon <will@xxxxxxxxxx>,
Ard Biesheuvel <ardb@xxxxxxxxxx>, Sami Tolvanen <samitolvanen@xxxxxxxxxx>,
Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>, Song Liu <song@xxxxxxxxxx>,
"linux-arm-kernel@xxxxxxxxxxxxxxxxxxx"
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, Roman Gushchin <roman.gushchin@xxxxxxxxx>,
"Toshiyuki Sato (Fujitsu)" <fj6611ie@xxxxxxxxxxx>
Subject: RE: [PATCH v7] arm64/module: Use text-poke API for late relocations.
Thread-Topic: [PATCH v7] arm64/module: Use text-poke API for late relocations.
Thread-Index: AQHb1Ne6llKx9iIg+USQ1P1bg2PKN7PyeTWA
Date: Wed, 4 Jun 2025 23:58:54 +0000
Message-ID:
<TY4PR01MB1377782BFB947D317D643AAB6D76CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250603223417.3700218-1-dylanbhatch@xxxxxxxxxx>
In-Reply-To: <20250603223417.3700218-1-dylanbhatch@xxxxxxxxxx>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
=?utf-8?B?TVNJUF9MYWJlbF8xZTkyZWY3My0wYWQxLTQwYzUtYWQ1NS00NmRlMzM5Njgw?=
=?utf-8?B?MmZfQWN0aW9uSWQ9Y2ExNmI5M2UtZWE3MC00NjViLTk0YmMtNjExMTNhMjc5?=
=?utf-8?B?NWJjO01TSVBfTGFiZWxfMWU5MmVmNzMtMGFkMS00MGM1LWFkNTUtNDZkZTMz?=
=?utf-8?B?OTY4MDJmX0NvbnRlbnRCaXRzPTA7TVNJUF9MYWJlbF8xZTkyZWY3My0wYWQx?=
=?utf-8?B?LTQwYzUtYWQ1NS00NmRlMzM5NjgwMmZfRW5hYmxlZD10cnVlO01TSVBfTGFi?=
=?utf-8?B?ZWxfMWU5MmVmNzMtMGFkMS00MGM1LWFkNTUtNDZkZTMzOTY4MDJmX01ldGhv?=
=?utf-8?B?ZD1Qcml2aWxlZ2VkO01TSVBfTGFiZWxfMWU5MmVmNzMtMGFkMS00MGM1LWFk?=
=?utf-8?B?NTUtNDZkZTMzOTY4MDJmX05hbWU9RlVKSVRTVS1QVUJMSUPigIs7TVNJUF9M?=
=?utf-8?B?YWJlbF8xZTkyZWY3My0wYWQxLTQwYzUtYWQ1NS00NmRlMzM5NjgwMmZfU2V0?=
=?utf-8?B?RGF0ZT0yMDI1LTA2LTA0VDA1OjMwOjAwWjtNU0lQX0xhYmVsXzFlOTJlZjcz?=
=?utf-8?B?LTBhZDEtNDBjNS1hZDU1LTQ2ZGUzMzk2ODAyZl9TaXRlSWQ9YTE5ZjEyMWQt?=
=?utf-8?Q?81e1-4858-a9d8-736e267fd4c7;?=
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=fujitsu.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: TY4PR01MB13777:EE_|OS7PR01MB13601:EE_
x-ms-office365-filtering-correlation-id: 793658fa-2443-4543-4018-08dda3c3c335
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
BCL:0;ARA:13230040|376014|7416014|1800799024|366016|1580799027|38070700018;
x-microsoft-antispam-message-info:
=?utf-8?B?SW9LZGhsaS9YYUhCV0I4YU5RWWJ6TkxBRG9zbDVwQmlIVzk1OG9FNEZ5YjVO?=
=?utf-8?B?cjJxUmEyQU1wVXRuVFJ6QWxFdVFQSDZDNUJ5U0cyOXBPaTB0dXJ0SXMxaytq?=
=?utf-8?B?d0FyTitkQTdLZmR2MDVxNzExWUgxOGtjeHBrRVRqQnNnR04xNXRwcEtyajVD?=
=?utf-8?B?WDhuQVZqSzFhSnpIRHcwcmdVc3ZYZCtEaVllelYwYVVoYWRMUmlQclNCZ2tx?=
=?utf-8?B?anVKUmV4UGN3NW16ekE4Q0VCMEtLNzhpQzlKQmgyV1BXbmZVRlU0ZVIvY3BI?=
=?utf-8?B?S2NBWDZHejcxZm11OEEyWXZ5cENPZ21JbzZjbk44VGloVGNsWjNyVTB5UGRS?=
=?utf-8?B?L1hQRWJwa1NxNXZGYXpmdkkwcFJ3dGFKc2xLN1BDTmtKKzRtUHJsYlhvTmh0?=
=?utf-8?B?dzc5OGJlQ0lLSWFTSnJUWm9uTG9ZSjJvMU8rSERjdTltMDErUlQyUG1IT00w?=
=?utf-8?B?NHBLUnYzdUJpQ0hFYmo3MFBld2Y2ZjhRMlpqV0p2ZklPSmlkUWx4Z1ZVQkFn?=
=?utf-8?B?TlFLZTBMQm9PY2lib0xqTWF6RkttQ0QrNi9waGQxNDlVSWtvb2pJaGprS2Jl?=
=?utf-8?B?R2ZIdDBidk95eVJJZjFXNVpLcTlFMzd2cE03c2lXdGo0aG1VNlJYMSs2bHVr?=
=?utf-8?B?RnRUaHRvUTJMblRLTHhIZHNKeWVYVnVIR21NZU03SzB0MGVrK2NxZ3RpSUdu?=
=?utf-8?B?dTlNR1Q3Lys4Y1VUTHcyaTc0NTFkcEI0ZGNtMy9uVC92ZXJzMVh0d1NXd2hT?=
=?utf-8?B?N0lsU1dYK1ZMYmJHSHhMeTRBcjJLOExpaWhXeEZFMzJxMzJsaDZOVFVhakdk?=
=?utf-8?B?ejBxNTNxTmt2U1M1SEphT1E0WUZHcDNRcDArNHZoM2NKZUhHeERRMUhXUUR1?=
=?utf-8?B?NnRqQUdYZTRpbEdkWFRlVktIbnliaGZWRk45bzdRN29iWXZBd2hNNHBBaWhE?=
=?utf-8?B?U3RTWS9sVURWQWczYzRrb2tWOENMUHB4b0JmRnBGWEJkL25RK2ZTVU82ODhF?=
=?utf-8?B?aFVydmlGYkZ0YUNLZDNOKzBURVhaWU5NcklnZVREQXFYeWNsc20vaTJ2VkFt?=
=?utf-8?B?NDZrQnNLd3lKZ01Eb3QyamVpYkE5ajhDajZ6MjJzdEpocm9aems5SEU5MjVh?=
=?utf-8?B?ZXBmTHkwUGNORmRESW96RzFnQy9kZFN0OUMyWkdCWHdoSkRrKzlFTVRSQ0Y5?=
=?utf-8?B?UmtnSnVXRFVUUUdhWTdJdFQyYzRMSkNlOXNPOEtiZGpObStJR1krdDVITFcr?=
=?utf-8?B?YkVrc1dkd0o4VElnUkp2c1lMVmM2dWFHT1hvLzcyc0w5a2dVN2tadTVDZGFG?=
=?utf-8?B?bTV4TzhHbG1xeThBKzB1S2tPdUhibHQ1a3pTdVcxSTRlNXhabmJ5bVphR2tH?=
=?utf-8?B?b1h0cHY2dDVlMllPbTZzeTBobkZmb0lsK2o0ZnVGR2hlZk1OMUVTR1NDSmd1?=
=?utf-8?B?U3Y2NHlnOXpNQUVPL2NQSDNLVm9xUzdDeGhMcnNuRXdpelFoNG5peWdYWjJU?=
=?utf-8?B?a0ZPcjNORzB2RVJkcVdzNVpMZzFiSG15dXhFSnplK3dmU1RqTnNYYStNWUFo?=
=?utf-8?B?am1wbzdPNjRXU3VCOE5QN3NrRGJEbFRoUHlMYzQxdTJUVHpsMXJtN1NqTnhl?=
=?utf-8?B?NTBOYkd5QWM5T0RDem5TRzNmc1p6OVFPOVE4RnJydXZVekJoMFBDaHArUkdR?=
=?utf-8?B?QmVxeHhuSktBNFJERlpERzh6L2VJSUNqeXFnWGJCd05PUVRwT3Q5cmRSelJJ?=
=?utf-8?B?eXNBc3hhaXA1UEpROGM5cENOVHFSWG1zQlJhQVEwYmVyaUxteExTcTQ5cWtO?=
=?utf-8?B?emlZUlppcHN6TENQUC9IbW01WVIzSjdhNExSVnBJeTVDcEdsM1A5UHQ2YUlL?=
=?utf-8?B?MWpvWXExNlhzTE1ia0F0WDh1bEJ2YWUyalMvUjl1MWpxZ1VnWDhwSnBwQ0g5?=
=?utf-8?B?UmZMYjNpZ3ZKR21OcUc2RWdra1lXK3dZOGd4cGRYbm1ZRVhyQ0IreVVnTU9S?=
=?utf-8?B?dk9aOStrTmZ6RlpTKy9UQUVLZDFqTjVGWDQ4enVFd29EelVtejFKcGZOTTFF?=
=?utf-8?B?Z2lFekhmcTJ6akQ2V3ZGa0xPdnFjVEdPRmhzdz09?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY4PR01MB13777.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(1580799027)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?S1YzWnBzSzdsR0Y2UDR5Q3NxamZZVlpBYWl3WWxwTEg5QzNVbzZNbHRRMXY3?=
=?utf-8?B?SmhVNGl3L3E1MCtuOXQwT1ViR3ZyZ2QxODdva1lsVElyZHJ2VTZTUUxzd2tv?=
=?utf-8?B?bEFVeXlsSzVaQWdhU21lcldXS1J2SkFiQm9WUzlSbktHeVNnS2xUWlpTV0RK?=
=?utf-8?B?Mk5uZGtLa3J0SXpuN2FWK0thallvL3FOVmxuY3BVaVFSYzVIY0ppYTNxa2h2?=
=?utf-8?B?ZXBxdWxkMjN6WW16N2JJN3FGRFY3b2IwQm15NnI0YmRmeVNnNGxwRHREanRy?=
=?utf-8?B?MnBJSFhoQmpUTlJWeDRqc1ZtWDNiZUg5Rk1VaTkwLys1RVFoRWlrMkZuS3g5?=
=?utf-8?B?U3dGU0I0T1dvOWl5ZzFBUmZLSjFQREdzVjhKdDlBbU5hUWZYT2NrNjZZN0hX?=
=?utf-8?B?UllmT1FhV0RQakxFdEVzZmdLM05sRTV4TmVQUW9la05xY0F4Tjg0MG1SMGNN?=
=?utf-8?B?Qlk1cy9HZHV0Q3dJbU16MlkremZXU3RVTlN0U0dHREo3VDRoeWdPNG8zSytV?=
=?utf-8?B?NnNXL0E2RkZldDE5SXV6a0Q4cGwyM1JwS2lNY0dXVGlVZ3RDbXlHM051WHRi?=
=?utf-8?B?ZE5JdjdaNHhIckZ0aGdMd25jTitOS3dwT0hnb0Z5N3dKUFVrclRUUjh1Nk42?=
=?utf-8?B?cG0xVGw3alZqMFJOZ3NwSnZVcDZTaG5YZERXMmorbU9XN1BFaVVZM2JEQVRQ?=
=?utf-8?B?R0QvMzlPVld1Zk1ZcVY1V1VPK01TaGIzc3FhSlVDZDIvQVBUR1lJelN6OHN2?=
=?utf-8?B?VkovQm5wcnU3RkVUU0h0UFBvaGlzOFZCU2NPT0Z2NHg5dnorMkZMcXRPRWZ3?=
=?utf-8?B?R0dQMlBqZFozK2VPVFM3bXR1NEtkRnNMK1lUQmFCQzVTSFhEeVBuUHE4NTln?=
=?utf-8?B?dkhvaWJxV3ZjSjN3M3UrOXFVV0xpNXdHNlFUVXYyZnAvcFpQN2dZbHBtMmVv?=
=?utf-8?B?Nmg1aFVFRmJwN1pycjlyeFlqZWNkSUZZMVR1ZmRRMVlQYy9BVjBJbkRqQ0J2?=
=?utf-8?B?QVlzZWpTckJWeis0NURxNjIyTXRQNktjd28wcW1VQ2FubmdyNXptK3pBMGNB?=
=?utf-8?B?cXBDRG44eFpFb3dkTVFNQ3drYzl0K2JucDFRaFJIRFBuVjN4czhzWXhSQzBT?=
=?utf-8?B?WTFNZTBPVmFwQXJJdXBLUkdVLys2V29VUE5RRUtPd1ZsdDJDWS9pUWxJMmc2?=
=?utf-8?B?Y1RJQUEyK003eUI1R3J1TytvZGpibWdYVml1Rk00eWt0b1BWOTByaE1OU2xX?=
=?utf-8?B?NThScmROTnF6eWNQVkRWMTBKSE9nSGpxUlE2OVBjUCtVVjVOcmJkNzBucnNI?=
=?utf-8?B?Uzh6NW9EVC9icWRDL1pWbVpDbGF3N1ZYZkYwMTJ4bjEwcHNCVXVhd1FvNXo0?=
=?utf-8?B?ZmJGbysvV2JJWlpTbmZudnZtMWFaTjZXd0xjeTNwUit1TmRTZEpibkd0R2lX?=
=?utf-8?B?TXRUT0hxczZsTTZHdnA1MTQrNDdhMTNzbzlIYko2VVdXY09GNnlLdmJ2SHpp?=
=?utf-8?B?WkN4bm5SM1VXU2VwM2I2cjBtUUpKNVdsOWE0Q1JFNEJqeGdWMWNqRU1IQldB?=
=?utf-8?B?cG95VjZiSElHYVFaYytSQjJrSjd2NE83cmFyRm91VTFLK256eHREaVUzWlRW?=
=?utf-8?B?ODQ4Z0ZqcFpYSW5Fb0tiZG15MjM4c3ZEVEo0OWRtOXNTNG1ZYXlkdW42ZndJ?=
=?utf-8?B?M0NCeGJvSkZjTEo4Y0E3a3pjSFZ3b25IZERVZlZRL1BaWTJ3UWNvM0FYQmhu?=
=?utf-8?B?MnM3clFRVW5aNVVOSmFMR3pWNEZ1UG1tNkJyZDBXT00zSDhaQ0twUDh0YmV3?=
=?utf-8?B?SUx4M2d3Y0FwUUg2VnRVZUdyM0FPSG5wSXJWbjZ4R292YStpSm1sbmFoblZG?=
=?utf-8?B?cjltNzFQWGt3WUVMMVdtUjFsYXpyT1Q4WWhBL0ZuRU4yVGdlL0hBOW5qeEUr?=
=?utf-8?B?V05pa3N5dnhtNW9sbC9RQ21KUWRHNVUwZTBmMW9CUzRyY1FiaDZlNGpuSkJH?=
=?utf-8?B?cGMyUmFPMmluNXQvaTJEeVFUQ3hoeXZudUNwK2tpY1pXMEU5SjlIcmJidjlE?=
=?utf-8?B?aCtXOTZEWStvZ1ZlTEVodkgrRE5pcWhKWGJTV21qVDFKNE9IWmtrcEZXRTRN?=
=?utf-8?B?MVRuZnRpTnF3dTJxVFBDbHluUzZvc3RncVVQeEhLZWJaWDJjWk0zU2dldGpP?=
=?utf-8?B?eUE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
Y3QyP94qf4uUskqDzJM2DPx+IeICRn1JyGHnJ847bns6nsCMmyybDPy5s2S/Wzk2uiQsn8xkKafuTT8BtpL8X5kYLPXd5PCKRkWRUSlipZZUupdEyc7KkOG/YbvPZfPAAakkaNnJyrlw8tM0YzXCe3jZRW9tL0McOHnCge6WZHF0ooSfjqugK1wo6XDxrwgn7QWf/ckW9Sq6dIsftWLv1OEsOHbTJaKAvZCmPKTmlOzuYY6y/lnPoDnlm99rLENV1CjGeFJYZNkWcOQR4nJPngJmYQQhfV7AuxYilLi5HHzS/y2YzzTfDlmRcpPKO/nwB5TQ0htWT04CB+PxKvaxJ+Cf+MIDon5xJm8VwA96W6gSpz9L5LQgn8W9fWnif0HBHfRVb3hHWTbWORPWEZr0U3jQj3hLycNE6dtCCNqKXyuRORqdmkNKR7TS55LwtzzArw1mzABk7hAjPh+KZLJ1Fyou0hPzPVK5J6LHfcVzZ85YePRIQHSuXlKwfHRFx3p2PhlpW70h20u+gKcfDLkj5bZRXI59WpSQW6b1KfkmdV4ac82SSKjlzE1Z6/xh4AtS1jROgBYlNSLK8UP7RKd7zUiEcIMRm6KN/xaN/a3KkU2WvbKKi0/VjHigsIHrM5g+
X-OriginatorOrg: fujitsu.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: TY4PR01MB13777.jpnprd01.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 793658fa-2443-4543-4018-08dda3c3c335
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jun 2025 23:58:54.5219
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: MWvjNz9Vc0uWTgmYBa6I6N/AOP0ymgN0pF8r+c7xHkfNsiPpq2u+7PdRAuZ+Rl7AoaL6dLtNFslj/rAZ678hWLC9F3rfDG/r9KUITOstVDs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS7PR01MB13601
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

SGkgRHlsYW4sDQoNCj4gVG8gZW5hYmxlIGxhdGUgbW9kdWxlIHBhdGNoaW5nLCBsaXZlcGF0Y2gg
bW9kdWxlcyBuZWVkIHRvIGJlIGFibGUgdG8NCj4gYXBwbHkgc29tZSBvZiB0aGVpciByZWxvY2F0
aW9ucyB3ZWxsIGFmdGVyIGJlaW5nIGxvYWRlZC4gSW4gdGhpcw0KPiBzY2VuYXJpbyBob3dldmVy
LCB0aGUgbGl2ZXBhdGNoIG1vZHVsZSB0ZXh0IGFuZCBkYXRhIGlzIGFscmVhZHkgUlgtb25seSwN
Cj4gc28gc3BlY2lhbCB0cmVhdG1lbnQgaXMgbmVlZGVkIHRvIG1ha2UgdGhlIGxhdGUgcmVsb2Nh
dGlvbnMgcG9zc2libGUuIFRvDQo+IGRvIHRoaXMsIHVzZSB0aGUgdGV4dC1wb2tpbmcgQVBJIGZv
ciB0aGVzZSBsYXRlIHJlbG9jYXRpb25zLg0KPiANCj4gVGhpcyBwYXRjaCBpcyBwYXJ0aWFsbHkg
YmFzZWQgb2ZmIGNvbW1pdCA4OGZjMDc4YTdhOGY2ICgieDg2L21vZHVsZTogVXNlDQo+IHRleHRf
cG9rZSgpIGZvciBsYXRlIHJlbG9jYXRpb25zIikuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBEeWxh
biBIYXRjaCA8ZHlsYW5iaGF0Y2hAZ29vZ2xlLmNvbT4NCj4gQWNrZWQtYnk6IFNvbmcgTGl1IDxz
b25nQGtlcm5lbC5vcmc+DQo+IC0tLQ0KPiAgYXJjaC9hcm02NC9rZXJuZWwvbW9kdWxlLmMgfCAx
MDEgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQ0KPiAgMSBmaWxlIGNoYW5n
ZWQsIDU3IGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBh
L2FyY2gvYXJtNjQva2VybmVsL21vZHVsZS5jIGIvYXJjaC9hcm02NC9rZXJuZWwvbW9kdWxlLmMN
Cj4gaW5kZXggMDZiYjY4MGJmZTk3NS4uNWI3OTNlYzZmMmUwMyAxMDA2NDQNCj4gLS0tIGEvYXJj
aC9hcm02NC9rZXJuZWwvbW9kdWxlLmMNCj4gKysrIGIvYXJjaC9hcm02NC9rZXJuZWwvbW9kdWxl
LmMNCj4gQEAgLTIzLDYgKzIzLDcgQEANCj4gICNpbmNsdWRlIDxhc20vaW5zbi5oPg0KPiAgI2lu
Y2x1ZGUgPGFzbS9zY3MuaD4NCj4gICNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4NCj4gKyNpbmNs
dWRlIDxhc20vdGV4dC1wYXRjaGluZy5oPg0KPiANCj4gIGVudW0gYWFyY2g2NF9yZWxvY19vcCB7
DQo+ICAJUkVMT0NfT1BfTk9ORSwNCj4gQEAgLTQ4LDcgKzQ5LDE3IEBAIHN0YXRpYyB1NjQgZG9f
cmVsb2MoZW51bSBhYXJjaDY0X3JlbG9jX29wIHJlbG9jX29wLCBfX2xlMzIgKnBsYWNlLCB1NjQg
dmFsKQ0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiANCj4gLXN0YXRpYyBpbnQgcmVsb2NfZGF0YShl
bnVtIGFhcmNoNjRfcmVsb2Nfb3Agb3AsIHZvaWQgKnBsYWNlLCB1NjQgdmFsLCBpbnQgbGVuKQ0K
PiArI2RlZmluZSBXUklURV9QTEFDRShwbGFjZSwgdmFsLCBtb2QpIGRvIHsJCQkJXA0KPiArCV9f
dHlwZW9mX18odmFsKSBfX3ZhbCA9ICh2YWwpOwkJCQkJXA0KPiArCQkJCQkJCQkJXA0KPiArCWlm
IChtb2QtPnN0YXRlID09IE1PRFVMRV9TVEFURV9VTkZPUk1FRCkJCQlcDQo+ICsJCSoocGxhY2Up
ID0gX192YWw7CQkJCQlcDQo+ICsJZWxzZQkJCQkJCQkJXA0KPiArCQlhYXJjaDY0X2luc25fY29w
eShwbGFjZSwgJihfX3ZhbCksIHNpemVvZigqcGxhY2UpKTsJXA0KPiArfSB3aGlsZSAoMCkNCj4g
Kw0KPiArc3RhdGljIGludCByZWxvY19kYXRhKGVudW0gYWFyY2g2NF9yZWxvY19vcCBvcCwgdm9p
ZCAqcGxhY2UsIHU2NCB2YWwsIGludCBsZW4sDQo+ICsJCSAgICAgIHN0cnVjdCBtb2R1bGUgKm1l
KQ0KPiAgew0KPiAgCXM2NCBzdmFsID0gZG9fcmVsb2Mob3AsIHBsYWNlLCB2YWwpOw0KPiANCj4g
QEAgLTY2LDcgKzc3LDcgQEAgc3RhdGljIGludCByZWxvY19kYXRhKGVudW0gYWFyY2g2NF9yZWxv
Y19vcCBvcCwgdm9pZCAqcGxhY2UsIHU2NCB2YWwsIGludCBsZW4pDQo+IA0KPiAgCXN3aXRjaCAo
bGVuKSB7DQo+ICAJY2FzZSAxNjoNCj4gLQkJKihzMTYgKilwbGFjZSA9IHN2YWw7DQo+ICsJCVdS
SVRFX1BMQUNFKChzMTYgKilwbGFjZSwgc3ZhbCwgbWUpOw0KPiAgCQlzd2l0Y2ggKG9wKSB7DQo+
ICAJCWNhc2UgUkVMT0NfT1BfQUJTOg0KPiAgCQkJaWYgKHN2YWwgPCAwIHx8IHN2YWwgPiBVMTZf
TUFYKQ0KPiBAQCAtODIsNyArOTMsNyBAQCBzdGF0aWMgaW50IHJlbG9jX2RhdGEoZW51bSBhYXJj
aDY0X3JlbG9jX29wIG9wLCB2b2lkICpwbGFjZSwgdTY0IHZhbCwgaW50IGxlbikNCj4gIAkJfQ0K
PiAgCQlicmVhazsNCj4gIAljYXNlIDMyOg0KPiAtCQkqKHMzMiAqKXBsYWNlID0gc3ZhbDsNCj4g
KwkJV1JJVEVfUExBQ0UoKHMzMiAqKXBsYWNlLCBzdmFsLCBtZSk7DQo+ICAJCXN3aXRjaCAob3Ap
IHsNCj4gIAkJY2FzZSBSRUxPQ19PUF9BQlM6DQo+ICAJCQlpZiAoc3ZhbCA8IDAgfHwgc3ZhbCA+
IFUzMl9NQVgpDQo+IEBAIC05OCw3ICsxMDksNyBAQCBzdGF0aWMgaW50IHJlbG9jX2RhdGEoZW51
bSBhYXJjaDY0X3JlbG9jX29wIG9wLCB2b2lkICpwbGFjZSwgdTY0IHZhbCwgaW50IGxlbikNCj4g
IAkJfQ0KPiAgCQlicmVhazsNCj4gIAljYXNlIDY0Og0KPiAtCQkqKHM2NCAqKXBsYWNlID0gc3Zh
bDsNCj4gKwkJV1JJVEVfUExBQ0UoKHM2NCAqKXBsYWNlLCBzdmFsLCBtZSk7DQo+ICAJCWJyZWFr
Ow0KPiAgCWRlZmF1bHQ6DQo+ICAJCXByX2VycigiSW52YWxpZCBsZW5ndGggKCVkKSBmb3IgZGF0
YSByZWxvY2F0aW9uXG4iLCBsZW4pOw0KPiBAQCAtMTEzLDcgKzEyNCw4IEBAIGVudW0gYWFyY2g2
NF9pbnNuX21vdndfaW1tX3R5cGUgew0KPiAgfTsNCj4gDQo+ICBzdGF0aWMgaW50IHJlbG9jX2lu
c25fbW92dyhlbnVtIGFhcmNoNjRfcmVsb2Nfb3Agb3AsIF9fbGUzMiAqcGxhY2UsIHU2NCB2YWws
DQo+IC0JCQkgICBpbnQgbHNiLCBlbnVtIGFhcmNoNjRfaW5zbl9tb3Z3X2ltbV90eXBlIGltbV90
eXBlKQ0KPiArCQkJICAgaW50IGxzYiwgZW51bSBhYXJjaDY0X2luc25fbW92d19pbW1fdHlwZSBp
bW1fdHlwZSwNCj4gKwkJCSAgIHN0cnVjdCBtb2R1bGUgKm1lKQ0KPiAgew0KPiAgCXU2NCBpbW07
DQo+ICAJczY0IHN2YWw7DQo+IEBAIC0xNDUsNyArMTU3LDcgQEAgc3RhdGljIGludCByZWxvY19p
bnNuX21vdncoZW51bSBhYXJjaDY0X3JlbG9jX29wIG9wLCBfX2xlMzIgKnBsYWNlLCB1NjQgdmFs
LA0KPiANCj4gIAkvKiBVcGRhdGUgdGhlIGluc3RydWN0aW9uIHdpdGggdGhlIG5ldyBlbmNvZGlu
Zy4gKi8NCj4gIAlpbnNuID0gYWFyY2g2NF9pbnNuX2VuY29kZV9pbW1lZGlhdGUoQUFSQ0g2NF9J
TlNOX0lNTV8xNiwgaW5zbiwgaW1tKTsNCj4gLQkqcGxhY2UgPSBjcHVfdG9fbGUzMihpbnNuKTsN
Cj4gKwlXUklURV9QTEFDRShwbGFjZSwgY3B1X3RvX2xlMzIoaW5zbiksIG1lKTsNCj4gDQo+ICAJ
aWYgKGltbSA+IFUxNl9NQVgpDQo+ICAJCXJldHVybiAtRVJBTkdFOw0KPiBAQCAtMTU0LDcgKzE2
Niw4IEBAIHN0YXRpYyBpbnQgcmVsb2NfaW5zbl9tb3Z3KGVudW0gYWFyY2g2NF9yZWxvY19vcCBv
cCwgX19sZTMyICpwbGFjZSwgdTY0IHZhbCwNCj4gIH0NCj4gDQo+ICBzdGF0aWMgaW50IHJlbG9j
X2luc25faW1tKGVudW0gYWFyY2g2NF9yZWxvY19vcCBvcCwgX19sZTMyICpwbGFjZSwgdTY0IHZh
bCwNCj4gLQkJCSAgaW50IGxzYiwgaW50IGxlbiwgZW51bSBhYXJjaDY0X2luc25faW1tX3R5cGUg
aW1tX3R5cGUpDQo+ICsJCQkgIGludCBsc2IsIGludCBsZW4sIGVudW0gYWFyY2g2NF9pbnNuX2lt
bV90eXBlIGltbV90eXBlLA0KPiArCQkJICBzdHJ1Y3QgbW9kdWxlICptZSkNCj4gIHsNCj4gIAl1
NjQgaW1tLCBpbW1fbWFzazsNCj4gIAlzNjQgc3ZhbDsNCj4gQEAgLTE3MCw3ICsxODMsNyBAQCBz
dGF0aWMgaW50IHJlbG9jX2luc25faW1tKGVudW0gYWFyY2g2NF9yZWxvY19vcCBvcCwgX19sZTMy
ICpwbGFjZSwgdTY0IHZhbCwNCj4gDQo+ICAJLyogVXBkYXRlIHRoZSBpbnN0cnVjdGlvbidzIGlt
bWVkaWF0ZSBmaWVsZC4gKi8NCj4gIAlpbnNuID0gYWFyY2g2NF9pbnNuX2VuY29kZV9pbW1lZGlh
dGUoaW1tX3R5cGUsIGluc24sIGltbSk7DQo+IC0JKnBsYWNlID0gY3B1X3RvX2xlMzIoaW5zbik7
DQo+ICsJV1JJVEVfUExBQ0UocGxhY2UsIGNwdV90b19sZTMyKGluc24pLCBtZSk7DQo+IA0KPiAg
CS8qDQo+ICAJICogRXh0cmFjdCB0aGUgdXBwZXIgdmFsdWUgYml0cyAoaW5jbHVkaW5nIHRoZSBz
aWduIGJpdCkgYW5kDQo+IEBAIC0xODksMTcgKzIwMiwxNyBAQCBzdGF0aWMgaW50IHJlbG9jX2lu
c25faW1tKGVudW0gYWFyY2g2NF9yZWxvY19vcCBvcCwgX19sZTMyICpwbGFjZSwgdTY0IHZhbCwN
Cj4gIH0NCj4gDQo+ICBzdGF0aWMgaW50IHJlbG9jX2luc25fYWRycChzdHJ1Y3QgbW9kdWxlICpt
b2QsIEVsZjY0X1NoZHIgKnNlY2hkcnMsDQo+IC0JCQkgICBfX2xlMzIgKnBsYWNlLCB1NjQgdmFs
KQ0KPiArCQkJICAgX19sZTMyICpwbGFjZSwgdTY0IHZhbCwgc3RydWN0IG1vZHVsZSAqbWUpDQo+
ICB7DQo+ICAJdTMyIGluc247DQo+IA0KPiAgCWlmICghaXNfZm9yYmlkZGVuX29mZnNldF9mb3Jf
YWRycChwbGFjZSkpDQo+ICAJCXJldHVybiByZWxvY19pbnNuX2ltbShSRUxPQ19PUF9QQUdFLCBw
bGFjZSwgdmFsLCAxMiwgMjEsDQo+IC0JCQkJICAgICAgQUFSQ0g2NF9JTlNOX0lNTV9BRFIpOw0K
PiArCQkJCSAgICAgIEFBUkNINjRfSU5TTl9JTU1fQURSLCBtZSk7DQo+IA0KPiAgCS8qIHBhdGNo
IEFEUlAgdG8gQURSIGlmIGl0IGlzIGluIHJhbmdlICovDQo+ICAJaWYgKCFyZWxvY19pbnNuX2lt
bShSRUxPQ19PUF9QUkVMLCBwbGFjZSwgdmFsICYgfjB4ZmZmLCAwLCAyMSwNCj4gLQkJCSAgICBB
QVJDSDY0X0lOU05fSU1NX0FEUikpIHsNCj4gKwkJCSAgICBBQVJDSDY0X0lOU05fSU1NX0FEUiwg
bWUpKSB7DQo+ICAJCWluc24gPSBsZTMyX3RvX2NwdSgqcGxhY2UpOw0KPiAgCQlpbnNuICY9IH5C
SVQoMzEpOw0KPiAgCX0gZWxzZSB7DQo+IEBAIC0yMTEsNyArMjI0LDcgQEAgc3RhdGljIGludCBy
ZWxvY19pbnNuX2FkcnAoc3RydWN0IG1vZHVsZSAqbW9kLCBFbGY2NF9TaGRyICpzZWNoZHJzLA0K
PiAgCQkJCQkJICAgQUFSQ0g2NF9JTlNOX0JSQU5DSF9OT0xJTkspOw0KPiAgCX0NCj4gDQo+IC0J
KnBsYWNlID0gY3B1X3RvX2xlMzIoaW5zbik7DQo+ICsJV1JJVEVfUExBQ0UocGxhY2UsIGNwdV90
b19sZTMyKGluc24pLCBtZSk7DQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+IA0KPiBAQCAtMjU1LDIz
ICsyNjgsMjMgQEAgaW50IGFwcGx5X3JlbG9jYXRlX2FkZChFbGY2NF9TaGRyICpzZWNoZHJzLA0K
PiAgCQkvKiBEYXRhIHJlbG9jYXRpb25zLiAqLw0KPiAgCQljYXNlIFJfQUFSQ0g2NF9BQlM2NDoN
Cj4gIAkJCW92ZXJmbG93X2NoZWNrID0gZmFsc2U7DQo+IC0JCQlvdmYgPSByZWxvY19kYXRhKFJF
TE9DX09QX0FCUywgbG9jLCB2YWwsIDY0KTsNCj4gKwkJCW92ZiA9IHJlbG9jX2RhdGEoUkVMT0Nf
T1BfQUJTLCBsb2MsIHZhbCwgNjQsIG1lKTsNCj4gIAkJCWJyZWFrOw0KPiAgCQljYXNlIFJfQUFS
Q0g2NF9BQlMzMjoNCj4gLQkJCW92ZiA9IHJlbG9jX2RhdGEoUkVMT0NfT1BfQUJTLCBsb2MsIHZh
bCwgMzIpOw0KPiArCQkJb3ZmID0gcmVsb2NfZGF0YShSRUxPQ19PUF9BQlMsIGxvYywgdmFsLCAz
MiwgbWUpOw0KPiAgCQkJYnJlYWs7DQo+ICAJCWNhc2UgUl9BQVJDSDY0X0FCUzE2Og0KPiAtCQkJ
b3ZmID0gcmVsb2NfZGF0YShSRUxPQ19PUF9BQlMsIGxvYywgdmFsLCAxNik7DQo+ICsJCQlvdmYg
PSByZWxvY19kYXRhKFJFTE9DX09QX0FCUywgbG9jLCB2YWwsIDE2LCBtZSk7DQo+ICAJCQlicmVh
azsNCj4gIAkJY2FzZSBSX0FBUkNINjRfUFJFTDY0Og0KPiAgCQkJb3ZlcmZsb3dfY2hlY2sgPSBm
YWxzZTsNCj4gLQkJCW92ZiA9IHJlbG9jX2RhdGEoUkVMT0NfT1BfUFJFTCwgbG9jLCB2YWwsIDY0
KTsNCj4gKwkJCW92ZiA9IHJlbG9jX2RhdGEoUkVMT0NfT1BfUFJFTCwgbG9jLCB2YWwsIDY0LCBt
ZSk7DQo+ICAJCQlicmVhazsNCj4gIAkJY2FzZSBSX0FBUkNINjRfUFJFTDMyOg0KPiAtCQkJb3Zm
ID0gcmVsb2NfZGF0YShSRUxPQ19PUF9QUkVMLCBsb2MsIHZhbCwgMzIpOw0KPiArCQkJb3ZmID0g
cmVsb2NfZGF0YShSRUxPQ19PUF9QUkVMLCBsb2MsIHZhbCwgMzIsIG1lKTsNCj4gIAkJCWJyZWFr
Ow0KPiAgCQljYXNlIFJfQUFSQ0g2NF9QUkVMMTY6DQo+IC0JCQlvdmYgPSByZWxvY19kYXRhKFJF
TE9DX09QX1BSRUwsIGxvYywgdmFsLCAxNik7DQo+ICsJCQlvdmYgPSByZWxvY19kYXRhKFJFTE9D
X09QX1BSRUwsIGxvYywgdmFsLCAxNiwgbWUpOw0KPiAgCQkJYnJlYWs7DQo+IA0KPiAgCQkvKiBN
T1ZXIGluc3RydWN0aW9uIHJlbG9jYXRpb25zLiAqLw0KPiBAQCAtMjgwLDg4ICsyOTMsODggQEAg
aW50IGFwcGx5X3JlbG9jYXRlX2FkZChFbGY2NF9TaGRyICpzZWNoZHJzLA0KPiAgCQkJZmFsbHRo
cm91Z2g7DQo+ICAJCWNhc2UgUl9BQVJDSDY0X01PVldfVUFCU19HMDoNCj4gIAkJCW92ZiA9IHJl
bG9jX2luc25fbW92dyhSRUxPQ19PUF9BQlMsIGxvYywgdmFsLCAwLA0KPiAtCQkJCQkgICAgICBB
QVJDSDY0X0lOU05fSU1NX01PVktaKTsNCj4gKwkJCQkJICAgICAgQUFSQ0g2NF9JTlNOX0lNTV9N
T1ZLWiwgbWUpOw0KPiAgCQkJYnJlYWs7DQo+ICAJCWNhc2UgUl9BQVJDSDY0X01PVldfVUFCU19H
MV9OQzoNCj4gIAkJCW92ZXJmbG93X2NoZWNrID0gZmFsc2U7DQo+ICAJCQlmYWxsdGhyb3VnaDsN
Cj4gIAkJY2FzZSBSX0FBUkNINjRfTU9WV19VQUJTX0cxOg0KPiAgCQkJb3ZmID0gcmVsb2NfaW5z
bl9tb3Z3KFJFTE9DX09QX0FCUywgbG9jLCB2YWwsIDE2LA0KPiAtCQkJCQkgICAgICBBQVJDSDY0
X0lOU05fSU1NX01PVktaKTsNCj4gKwkJCQkJICAgICAgQUFSQ0g2NF9JTlNOX0lNTV9NT1ZLWiwg
bWUpOw0KPiAgCQkJYnJlYWs7DQo+ICAJCWNhc2UgUl9BQVJDSDY0X01PVldfVUFCU19HMl9OQzoN
Cj4gIAkJCW92ZXJmbG93X2NoZWNrID0gZmFsc2U7DQo+ICAJCQlmYWxsdGhyb3VnaDsNCj4gIAkJ
Y2FzZSBSX0FBUkNINjRfTU9WV19VQUJTX0cyOg0KPiAgCQkJb3ZmID0gcmVsb2NfaW5zbl9tb3Z3
KFJFTE9DX09QX0FCUywgbG9jLCB2YWwsIDMyLA0KPiAtCQkJCQkgICAgICBBQVJDSDY0X0lOU05f
SU1NX01PVktaKTsNCj4gKwkJCQkJICAgICAgQUFSQ0g2NF9JTlNOX0lNTV9NT1ZLWiwgbWUpOw0K
PiAgCQkJYnJlYWs7DQo+ICAJCWNhc2UgUl9BQVJDSDY0X01PVldfVUFCU19HMzoNCj4gIAkJCS8q
IFdlJ3JlIHVzaW5nIHRoZSB0b3AgYml0cyBzbyB3ZSBjYW4ndCBvdmVyZmxvdy4gKi8NCj4gIAkJ
CW92ZXJmbG93X2NoZWNrID0gZmFsc2U7DQo+ICAJCQlvdmYgPSByZWxvY19pbnNuX21vdncoUkVM
T0NfT1BfQUJTLCBsb2MsIHZhbCwgNDgsDQo+IC0JCQkJCSAgICAgIEFBUkNINjRfSU5TTl9JTU1f
TU9WS1opOw0KPiArCQkJCQkgICAgICBBQVJDSDY0X0lOU05fSU1NX01PVktaLCBtZSk7DQo+ICAJ
CQlicmVhazsNCj4gIAkJY2FzZSBSX0FBUkNINjRfTU9WV19TQUJTX0cwOg0KPiAgCQkJb3ZmID0g
cmVsb2NfaW5zbl9tb3Z3KFJFTE9DX09QX0FCUywgbG9jLCB2YWwsIDAsDQo+IC0JCQkJCSAgICAg
IEFBUkNINjRfSU5TTl9JTU1fTU9WTlopOw0KPiArCQkJCQkgICAgICBBQVJDSDY0X0lOU05fSU1N
X01PVk5aLCBtZSk7DQo+ICAJCQlicmVhazsNCj4gIAkJY2FzZSBSX0FBUkNINjRfTU9WV19TQUJT
X0cxOg0KPiAgCQkJb3ZmID0gcmVsb2NfaW5zbl9tb3Z3KFJFTE9DX09QX0FCUywgbG9jLCB2YWws
IDE2LA0KPiAtCQkJCQkgICAgICBBQVJDSDY0X0lOU05fSU1NX01PVk5aKTsNCj4gKwkJCQkJICAg
ICAgQUFSQ0g2NF9JTlNOX0lNTV9NT1ZOWiwgbWUpOw0KPiAgCQkJYnJlYWs7DQo+ICAJCWNhc2Ug
Ul9BQVJDSDY0X01PVldfU0FCU19HMjoNCj4gIAkJCW92ZiA9IHJlbG9jX2luc25fbW92dyhSRUxP
Q19PUF9BQlMsIGxvYywgdmFsLCAzMiwNCj4gLQkJCQkJICAgICAgQUFSQ0g2NF9JTlNOX0lNTV9N
T1ZOWik7DQo+ICsJCQkJCSAgICAgIEFBUkNINjRfSU5TTl9JTU1fTU9WTlosIG1lKTsNCj4gIAkJ
CWJyZWFrOw0KPiAgCQljYXNlIFJfQUFSQ0g2NF9NT1ZXX1BSRUxfRzBfTkM6DQo+ICAJCQlvdmVy
Zmxvd19jaGVjayA9IGZhbHNlOw0KPiAgCQkJb3ZmID0gcmVsb2NfaW5zbl9tb3Z3KFJFTE9DX09Q
X1BSRUwsIGxvYywgdmFsLCAwLA0KPiAtCQkJCQkgICAgICBBQVJDSDY0X0lOU05fSU1NX01PVkta
KTsNCj4gKwkJCQkJICAgICAgQUFSQ0g2NF9JTlNOX0lNTV9NT1ZLWiwgbWUpOw0KPiAgCQkJYnJl
YWs7DQo+ICAJCWNhc2UgUl9BQVJDSDY0X01PVldfUFJFTF9HMDoNCj4gIAkJCW92ZiA9IHJlbG9j
X2luc25fbW92dyhSRUxPQ19PUF9QUkVMLCBsb2MsIHZhbCwgMCwNCj4gLQkJCQkJICAgICAgQUFS
Q0g2NF9JTlNOX0lNTV9NT1ZOWik7DQo+ICsJCQkJCSAgICAgIEFBUkNINjRfSU5TTl9JTU1fTU9W
TlosIG1lKTsNCj4gIAkJCWJyZWFrOw0KPiAgCQljYXNlIFJfQUFSQ0g2NF9NT1ZXX1BSRUxfRzFf
TkM6DQo+ICAJCQlvdmVyZmxvd19jaGVjayA9IGZhbHNlOw0KPiAgCQkJb3ZmID0gcmVsb2NfaW5z
bl9tb3Z3KFJFTE9DX09QX1BSRUwsIGxvYywgdmFsLCAxNiwNCj4gLQkJCQkJICAgICAgQUFSQ0g2
NF9JTlNOX0lNTV9NT1ZLWik7DQo+ICsJCQkJCSAgICAgIEFBUkNINjRfSU5TTl9JTU1fTU9WS1os
IG1lKTsNCj4gIAkJCWJyZWFrOw0KPiAgCQljYXNlIFJfQUFSQ0g2NF9NT1ZXX1BSRUxfRzE6DQo+
ICAJCQlvdmYgPSByZWxvY19pbnNuX21vdncoUkVMT0NfT1BfUFJFTCwgbG9jLCB2YWwsIDE2LA0K
PiAtCQkJCQkgICAgICBBQVJDSDY0X0lOU05fSU1NX01PVk5aKTsNCj4gKwkJCQkJICAgICAgQUFS
Q0g2NF9JTlNOX0lNTV9NT1ZOWiwgbWUpOw0KPiAgCQkJYnJlYWs7DQo+ICAJCWNhc2UgUl9BQVJD
SDY0X01PVldfUFJFTF9HMl9OQzoNCj4gIAkJCW92ZXJmbG93X2NoZWNrID0gZmFsc2U7DQo+ICAJ
CQlvdmYgPSByZWxvY19pbnNuX21vdncoUkVMT0NfT1BfUFJFTCwgbG9jLCB2YWwsIDMyLA0KPiAt
CQkJCQkgICAgICBBQVJDSDY0X0lOU05fSU1NX01PVktaKTsNCj4gKwkJCQkJICAgICAgQUFSQ0g2
NF9JTlNOX0lNTV9NT1ZLWiwgbWUpOw0KPiAgCQkJYnJlYWs7DQo+ICAJCWNhc2UgUl9BQVJDSDY0
X01PVldfUFJFTF9HMjoNCj4gIAkJCW92ZiA9IHJlbG9jX2luc25fbW92dyhSRUxPQ19PUF9QUkVM
LCBsb2MsIHZhbCwgMzIsDQo+IC0JCQkJCSAgICAgIEFBUkNINjRfSU5TTl9JTU1fTU9WTlopOw0K
PiArCQkJCQkgICAgICBBQVJDSDY0X0lOU05fSU1NX01PVk5aLCBtZSk7DQo+ICAJCQlicmVhazsN
Cj4gIAkJY2FzZSBSX0FBUkNINjRfTU9WV19QUkVMX0czOg0KPiAgCQkJLyogV2UncmUgdXNpbmcg
dGhlIHRvcCBiaXRzIHNvIHdlIGNhbid0IG92ZXJmbG93LiAqLw0KPiAgCQkJb3ZlcmZsb3dfY2hl
Y2sgPSBmYWxzZTsNCj4gIAkJCW92ZiA9IHJlbG9jX2luc25fbW92dyhSRUxPQ19PUF9QUkVMLCBs
b2MsIHZhbCwgNDgsDQo+IC0JCQkJCSAgICAgIEFBUkNINjRfSU5TTl9JTU1fTU9WTlopOw0KPiAr
CQkJCQkgICAgICBBQVJDSDY0X0lOU05fSU1NX01PVk5aLCBtZSk7DQo+ICAJCQlicmVhazsNCj4g
DQo+ICAJCS8qIEltbWVkaWF0ZSBpbnN0cnVjdGlvbiByZWxvY2F0aW9ucy4gKi8NCj4gIAkJY2Fz
ZSBSX0FBUkNINjRfTERfUFJFTF9MTzE5Og0KPiAgCQkJb3ZmID0gcmVsb2NfaW5zbl9pbW0oUkVM
T0NfT1BfUFJFTCwgbG9jLCB2YWwsIDIsIDE5LA0KPiAtCQkJCQkgICAgIEFBUkNINjRfSU5TTl9J
TU1fMTkpOw0KPiArCQkJCQkgICAgIEFBUkNINjRfSU5TTl9JTU1fMTksIG1lKTsNCj4gIAkJCWJy
ZWFrOw0KPiAgCQljYXNlIFJfQUFSQ0g2NF9BRFJfUFJFTF9MTzIxOg0KPiAgCQkJb3ZmID0gcmVs
b2NfaW5zbl9pbW0oUkVMT0NfT1BfUFJFTCwgbG9jLCB2YWwsIDAsIDIxLA0KPiAtCQkJCQkgICAg
IEFBUkNINjRfSU5TTl9JTU1fQURSKTsNCj4gKwkJCQkJICAgICBBQVJDSDY0X0lOU05fSU1NX0FE
UiwgbWUpOw0KPiAgCQkJYnJlYWs7DQo+ICAJCWNhc2UgUl9BQVJDSDY0X0FEUl9QUkVMX1BHX0hJ
MjFfTkM6DQo+ICAJCQlvdmVyZmxvd19jaGVjayA9IGZhbHNlOw0KPiAgCQkJZmFsbHRocm91Z2g7
DQo+ICAJCWNhc2UgUl9BQVJDSDY0X0FEUl9QUkVMX1BHX0hJMjE6DQo+IC0JCQlvdmYgPSByZWxv
Y19pbnNuX2FkcnAobWUsIHNlY2hkcnMsIGxvYywgdmFsKTsNCj4gKwkJCW92ZiA9IHJlbG9jX2lu
c25fYWRycChtZSwgc2VjaGRycywgbG9jLCB2YWwsIG1lKTsNCj4gIAkJCWlmIChvdmYgJiYgb3Zm
ICE9IC1FUkFOR0UpDQo+ICAJCQkJcmV0dXJuIG92ZjsNCj4gIAkJCWJyZWFrOw0KPiBAQCAtMzY5
LDQ2ICszODIsNDYgQEAgaW50IGFwcGx5X3JlbG9jYXRlX2FkZChFbGY2NF9TaGRyICpzZWNoZHJz
LA0KPiAgCQljYXNlIFJfQUFSQ0g2NF9MRFNUOF9BQlNfTE8xMl9OQzoNCj4gIAkJCW92ZXJmbG93
X2NoZWNrID0gZmFsc2U7DQo+ICAJCQlvdmYgPSByZWxvY19pbnNuX2ltbShSRUxPQ19PUF9BQlMs
IGxvYywgdmFsLCAwLCAxMiwNCj4gLQkJCQkJICAgICBBQVJDSDY0X0lOU05fSU1NXzEyKTsNCj4g
KwkJCQkJICAgICBBQVJDSDY0X0lOU05fSU1NXzEyLCBtZSk7DQo+ICAJCQlicmVhazsNCj4gIAkJ
Y2FzZSBSX0FBUkNINjRfTERTVDE2X0FCU19MTzEyX05DOg0KPiAgCQkJb3ZlcmZsb3dfY2hlY2sg
PSBmYWxzZTsNCj4gIAkJCW92ZiA9IHJlbG9jX2luc25faW1tKFJFTE9DX09QX0FCUywgbG9jLCB2
YWwsIDEsIDExLA0KPiAtCQkJCQkgICAgIEFBUkNINjRfSU5TTl9JTU1fMTIpOw0KPiArCQkJCQkg
ICAgIEFBUkNINjRfSU5TTl9JTU1fMTIsIG1lKTsNCj4gIAkJCWJyZWFrOw0KPiAgCQljYXNlIFJf
QUFSQ0g2NF9MRFNUMzJfQUJTX0xPMTJfTkM6DQo+ICAJCQlvdmVyZmxvd19jaGVjayA9IGZhbHNl
Ow0KPiAgCQkJb3ZmID0gcmVsb2NfaW5zbl9pbW0oUkVMT0NfT1BfQUJTLCBsb2MsIHZhbCwgMiwg
MTAsDQo+IC0JCQkJCSAgICAgQUFSQ0g2NF9JTlNOX0lNTV8xMik7DQo+ICsJCQkJCSAgICAgQUFS
Q0g2NF9JTlNOX0lNTV8xMiwgbWUpOw0KPiAgCQkJYnJlYWs7DQo+ICAJCWNhc2UgUl9BQVJDSDY0
X0xEU1Q2NF9BQlNfTE8xMl9OQzoNCj4gIAkJCW92ZXJmbG93X2NoZWNrID0gZmFsc2U7DQo+ICAJ
CQlvdmYgPSByZWxvY19pbnNuX2ltbShSRUxPQ19PUF9BQlMsIGxvYywgdmFsLCAzLCA5LA0KPiAt
CQkJCQkgICAgIEFBUkNINjRfSU5TTl9JTU1fMTIpOw0KPiArCQkJCQkgICAgIEFBUkNINjRfSU5T
Tl9JTU1fMTIsIG1lKTsNCj4gIAkJCWJyZWFrOw0KPiAgCQljYXNlIFJfQUFSQ0g2NF9MRFNUMTI4
X0FCU19MTzEyX05DOg0KPiAgCQkJb3ZlcmZsb3dfY2hlY2sgPSBmYWxzZTsNCj4gIAkJCW92ZiA9
IHJlbG9jX2luc25faW1tKFJFTE9DX09QX0FCUywgbG9jLCB2YWwsIDQsIDgsDQo+IC0JCQkJCSAg
ICAgQUFSQ0g2NF9JTlNOX0lNTV8xMik7DQo+ICsJCQkJCSAgICAgQUFSQ0g2NF9JTlNOX0lNTV8x
MiwgbWUpOw0KPiAgCQkJYnJlYWs7DQo+ICAJCWNhc2UgUl9BQVJDSDY0X1RTVEJSMTQ6DQo+ICAJ
CQlvdmYgPSByZWxvY19pbnNuX2ltbShSRUxPQ19PUF9QUkVMLCBsb2MsIHZhbCwgMiwgMTQsDQo+
IC0JCQkJCSAgICAgQUFSQ0g2NF9JTlNOX0lNTV8xNCk7DQo+ICsJCQkJCSAgICAgQUFSQ0g2NF9J
TlNOX0lNTV8xNCwgbWUpOw0KPiAgCQkJYnJlYWs7DQo+ICAJCWNhc2UgUl9BQVJDSDY0X0NPTkRC
UjE5Og0KPiAgCQkJb3ZmID0gcmVsb2NfaW5zbl9pbW0oUkVMT0NfT1BfUFJFTCwgbG9jLCB2YWws
IDIsIDE5LA0KPiAtCQkJCQkgICAgIEFBUkNINjRfSU5TTl9JTU1fMTkpOw0KPiArCQkJCQkgICAg
IEFBUkNINjRfSU5TTl9JTU1fMTksIG1lKTsNCj4gIAkJCWJyZWFrOw0KPiAgCQljYXNlIFJfQUFS
Q0g2NF9KVU1QMjY6DQo+ICAJCWNhc2UgUl9BQVJDSDY0X0NBTEwyNjoNCj4gIAkJCW92ZiA9IHJl
bG9jX2luc25faW1tKFJFTE9DX09QX1BSRUwsIGxvYywgdmFsLCAyLCAyNiwNCj4gLQkJCQkJICAg
ICBBQVJDSDY0X0lOU05fSU1NXzI2KTsNCj4gKwkJCQkJICAgICBBQVJDSDY0X0lOU05fSU1NXzI2
LCBtZSk7DQo+ICAJCQlpZiAob3ZmID09IC1FUkFOR0UpIHsNCj4gIAkJCQl2YWwgPSBtb2R1bGVf
ZW1pdF9wbHRfZW50cnkobWUsIHNlY2hkcnMsIGxvYywgJnJlbFtpXSwgc3ltKTsNCj4gIAkJCQlp
ZiAoIXZhbCkNCj4gIAkJCQkJcmV0dXJuIC1FTk9FWEVDOw0KPiAgCQkJCW92ZiA9IHJlbG9jX2lu
c25faW1tKFJFTE9DX09QX1BSRUwsIGxvYywgdmFsLCAyLA0KPiAtCQkJCQkJICAgICAyNiwgQUFS
Q0g2NF9JTlNOX0lNTV8yNik7DQo+ICsJCQkJCQkgICAgIDI2LCBBQVJDSDY0X0lOU05fSU1NXzI2
LCBtZSk7DQo+ICAJCQl9DQo+ICAJCQlicmVhazsNCj4gDQo+IC0tDQo+IDIuNDkuMC4xMjA0Lmc3
MTY4N2M3YzFkLWdvb2cNCg0KVGhhbmtzIGZvciBwb3N0aW5nIHRoZSBuZXcgcGF0Y2guDQoNCkkg
cmFuIGtwYXRjaCdzIGludGVncmF0aW9uIHRlc3RzIGFuZCBubyBpc3N1ZXMgd2VyZSBkZXRlY3Rl
ZC4NCg0KVGhlIGxpdmVwYXRjaCBwYXRjaGVzIFsxXVsyXSAoTWFudWFsbHkgYWRqdXN0aW5nIGFy
Y2gvYXJtNjQvS2NvbmZpZykgaGF2ZSBiZWVuIGFwcGxpZWQgdG8gdGhlIGtlcm5lbCAoNi4xNS4w
KS4NClRoZSBrcGF0Y2ggdXNlcyB0aGUgc2FtZSBvbmUgYXMgdGhlIHByZXZpb3VzIHRlc3QgWzNd
WzRdLg0KDQpbMV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjUwNTIxMTExMDAwLjIy
Mzc0NzAtMS1tYXJrLnJ1dGxhbmRAYXJtLmNvbS8NClsyXSBodHRwczovL2xvcmUua2VybmVsLm9y
Zy9hbGwvMjAyNTAzMjAxNzE1NTkuMzQyMzIyNC0zLXNvbmdAa2VybmVsLm9yZy8NClszXSBodHRw
czovL2xvcmUua2VybmVsLm9yZy9hbGwvVFk0UFIwMU1CMTM3NzczOUYxQ0MwODU0OUE2MTlDODYz
NUQ3QkEyQFRZNFBSMDFNQjEzNzc3LmpwbnByZDAxLnByb2Qub3V0bG9vay5jb20vDQpbNF0gaHR0
cHM6Ly9naXRodWIuY29tL2R5bnVwL2twYXRjaC9wdWxsLzE0MzkNCg0KVGVzdGVkLWJ5OiBUb3No
aXl1a2kgU2F0byA8Zmo2NjExaWVAYWEuanAuZnVqaXRzdS5jb20+DQoNClJlZ2FyZHMsDQpUb3No
aXl1a2kgU2F0bw0K


Return-Path: <linux-kernel+bounces-673902-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0B9F641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:04:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id A6E8F3A91B0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:04:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6702528EB;
Thu, 5 Jun 2025 00:04:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aafXWzSe"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3AF936D;
Thu, 5 Jun 2025 00:04:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749081876; cv=none; b=e6G84a4Nrz4Fz+OQ1LNaQRQmCLtzp41Mdnop6sZUqE90nR7GsMnjPvZyHf090rOblSeWdp9orMXIID5yXMlYGW3SEY/cxM3nefknH4lVN6VaHCtcnKLv7kCKme5KVXXlkP3dnJDKbKp924+FcfLO0OOEVPdvyjrOGuUltPzxg9w=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749081876; c=relaxed/simple;
bh=fG7CS8UcFYi2yhT/A7/PcuUjtV5PNse5wW8m63oIo6M=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=LRli95HU8OaKDXxrXmxYDk6AgCob2/JU2y6VCHPB4xlJ/gHnlz0X04mWrtm35OrbvRgGwQbu5oEQFRIXvWlHs8bLpKHRlU8RyoiP0l/exPvqGgsgRDLshb7en0ZDYB6H/XQZOpHO7DwX7X/qM2PVi6+Cmu578T7ff5QI29MGtOg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aafXWzSe; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AA0D9C4CEE4;
Thu, 5 Jun 2025 00:04:34 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749081876;
bh=fG7CS8UcFYi2yhT/A7/PcuUjtV5PNse5wW8m63oIo6M=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=aafXWzSeJXugkmFi+0coGA34S0bHRfPuDaSg1KGxhfunjvgF4e0KQjVTFjow29o7R
9Hn9wneqOQwpfseX1p/9QDUeTAwFJl4jmMv/TQLpU2pyFrri6NeDcSqcZjv+LiBx6J
PdL/bwC17CV3UOJ0+ddt6QcXFkEabdsP/6dJX95kV3vOnEu2fbYZhgeoBepMQMdIql
ivYYZjhbVla7hlYe95HYmd1onTg2tjGbj8XWHho4tlmWMaozaLOCyIFqMSTITRx+nB
K01ydjZ5yp484XnY+J/BocX/phcwKa//yycCGFW/anwFL4d5hIWZWgFHnpqmgHxkjX
k1GItrQgMIGKA==
Date: Wed, 4 Jun 2025 17:04:33 -0700
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Petr Mladek <pmladek@xxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>,
Joe Lawrence <joe.lawrence@xxxxxxxxxx>, live-patching@xxxxxxxxxxxxxxx, Song Liu <song@xxxxxxxxxx>,
laokz <laokz@xxxxxxxxxxx>, Jiri Kosina <jikos@xxxxxxxxxx>,
Marcos Paulo de Souza <mpdesouza@xxxxxxxx>, Weinan Liu <wnliu@xxxxxxxxxx>,
Fazla Mehrab <a.mehrab@xxxxxxxxxxxxx>, Chen Zhongjin <chenzhongjin@xxxxxxxxxx>,
Puranjay Mohan <puranjay@xxxxxxxxxx>
Subject: Re: [PATCH v2 29/62] objtool: Mark prefix functions
Message-ID: <e2hv6jkitxvbtaqj377dvpwtn5tyaoux53ofkkegxcn3fapbcx@kfqxactn4ogj>
References: <cover.1746821544.git.jpoimboe@xxxxxxxxxx>
<c4233972de0b0f2e6c94d4a225c953748d7c446b.1746821544.git.jpoimboe@xxxxxxxxxx>
<20250526104355.GM24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250526104355.GM24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Mon, May 26, 2025 at 12:43:55PM +0200, Peter Zijlstra wrote:
> > +++ b/tools/objtool/elf.c
> > @@ -442,6 +442,11 @@ static void elf_add_symbol(struct elf *elf, struct symbol *sym)
> > elf_hash_add(symbol, &sym->hash, sym->idx);
> > elf_hash_add(symbol_name, &sym->name_hash, str_hash(sym->name));
> >
> > + if (is_func_sym(sym) && sym->len == 16 &&
>
> Where did that 'sym->len == 16' thing come from? I mean, they are, but
> the old code didn't assert that.
>
> I would rather objtool issue a warn if not 16, but still consider these
> as prefix.

Ok:

diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c
index 9a1fc0392b7f..2953aa8d2b81 100644
--- a/tools/objtool/elf.c
+++ b/tools/objtool/elf.c
@@ -442,10 +442,12 @@ static void elf_add_symbol(struct elf *elf, struct symbol *sym)
elf_hash_add(symbol, &sym->hash, sym->idx);
elf_hash_add(symbol_name, &sym->name_hash, str_hash(sym->name));

- if (is_func_sym(sym) && sym->len == 16 &&
- (strstarts(sym->name, "__pfx") || strstarts(sym->name, "__cfi_")))
+ if (is_func_sym(sym) &&
+ (strstarts(sym->name, "__pfx_") || strstarts(sym->name, "__cfi_"))) {
+ if (sym->len != 16)
+ WARN("%s size %d != 16", sym->name, sym->len);
sym->prefix = 1;
-
+ }

if (is_func_sym(sym) && strstr(sym->name, ".cold"))
sym->cold = 1;


Return-Path: <linux-kernel+bounces-673903-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 237D241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:07:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 4ADE517249E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:07:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 75C512114;
Thu, 5 Jun 2025 00:06:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="juQKESK9"
Received: from mail-yb1-f175.google.com (mail-yb1-f175.google.com [209.85.219.175])
(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 534F3A32;
Thu, 5 Jun 2025 00:06:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.175
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082015; cv=none; b=YShlpIBe4xRFN304Yg9DHRaZbTfyXlAfqrvLRngGix790vRGcw7qVsyC38Lv9NYlVwCtg/t5VCEQUPtWs8Rum//0xqn5FRWRDmRXhKSBM7sKX7XOHjM/vs9V8Vg2YawKPgA2wxBaSVj3Hp3GYa9PDn5jQPLIQrbNs0AxsLlK8Ao=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082015; c=relaxed/simple;
bh=0CCPwPznTo8e1C80rD4v5dfasdzjtlizNqRqq4FZQd8=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=hihBpT204b07u9nXWEaQcUjLOll8u0KInTx5dwg/5MtPbLEY+5DwRR/fW5NL3kS/FWZFPcKFLrZ/hCbrucY7hBAn5xC19Pc0C7uVQIeYzdprlgnjSg8jVx87BCgvC8Ns8Vq3iZX3QK+V9ILQMEaHYi4WBJZXr3ZJKY6uCtFClks=
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=juQKESK9; arc=none smtp.client-ip=209.85.219.175
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
Received: by mail-yb1-f175.google.com with SMTP id 3f1490d57ef6-e818a572828so146825276.1;
Wed, 04 Jun 2025 17:06:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749082013; x=1749686813; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=jYGDWZp7STe9epYxyRZPry6LWZ2IgWRwn6tFibdzSAI=;
b=juQKESK9laPJeM6KQ50bS6f974JD81a7LZBeQw+mUoFQiYbonlplJOyuH7FwU5VI/h
Pv/wOpolRDJml/bKEo1/sA/V2qlQ0KNoMwtlvXXZi0Lu7LNWlZP2zGx79Ylzi/e0BLvn
5V+ieCmhdW8p+0mUP0rIgwdpPycRQUE2BX2pUrArRA+jBMFHgV0JDUOjV0bw/uIH5WD7
c0G6Zx26xzdCvfQd+ikcea9Ip1ihkTarV9C2Bow0AcNMGal2Vcy0UKbABURRdZgDyLVv
pNfAcPvDNOdD06Gy0TVZe/O2Vk6Ti9WCpUllbB2PWO2wY4Cgo5Emot82vo9xdAD7Q7K8
9IXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749082013; x=1749686813;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=jYGDWZp7STe9epYxyRZPry6LWZ2IgWRwn6tFibdzSAI=;
b=d8mNLqrN7N/I1w3NGNZ7YV0Cxw2qYeo/I+dYIFFZmoa+DvmzDKxpFVeDm+QkTPkvOm
9vUJ/CzhjHfFOiImCTeLZom/hWl9SthM0dwo0WSi4ZZQPcF3jDTvFWE/u5mN+TrpXrFn
1y5G3XFCmAo0zdV8fx3D/uujZ2PS5IxcteNYpzSRUEns/m0gKV4JplOtMkGIyp6FRQ1G
gzYmLP7O6yC+s8ahyycX3zkR6y7kzIPm7oWttnF7Llgrl8b0LtbhkWUV2tKff7iuITJd
jk2YpBua9j5MLeA9jTK/2UktoCztjcj24XGwV7dF9B0O70eyzoaEw9uOvYeKH/is4NPi
4QGw==
X-Forwarded-Encrypted: i=1; AJvYcCWmAdR06aMIyJUvnDcks8vIHZ52lHhpAR66X8fNo/3HYnRs6jIsoFKuMoKq3a2HS78+LlftG73g2ich0Ps=@vger.kernel.org, AJvYcCXtJli/Z+srVtYGwwQjiCdQCA4LUXdJkubK/y4YQDGbk1SCb1iheT39vqfF95WXNUWZlnrqKM/PgG0Fe0VW/lbc7wsf@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YyVK+d8auhWKYiaUNR+DyzxALn3IOPpwmv9C3XNyVF6dbvcj5gv
/HmOEpgKoB5byaCRV1a0ezg34X7+x2jPL6oV8luqOMnFlRelf2oD0Ubp
X-Gm-Gg: ASbGncsPLRWThtvCldt0VN73969MUvKp0x6x3hyMrGzH2UjFt6qvmZgWHG+OXWMPSgY
Pd+T+H7BLMY4fQpvxjRtRfDAHWJc+28z7be+obS863H0lxmNWzCXnJiNQX8HWtcsw6zyMjSTZNE
TGwqvd7gUNahI7a4cQqyAxB6cckTaYwj39+ECyXT3DUQJJ2XZ68muwJWDyWbY5allaTPHa7v7S/
cx3PZ3u2Au5wJR1e3FRMqHjvS/NedwHp2mJMOvbB8fEZvrbuIlCNysdAGDUiO6BYKpewS9Mq8fr
1EpeJ+y5WHD6nC7+1KTTxGPCPkf9mwueBCRx89F3tJvOua+gaKxa8Y+Qbyd/Gxd0+ADUt9tNQ+T
TzlbuN3zcAyo=
X-Google-Smtp-Source: AGHT+IEaTT2Odqt9s3aafh3eYQkQCU7ibTz4//UO8SfwKYgfxswGGtOn96hF2VfXOqO66zZ8OHpWnA==
X-Received: by 2002:a05:690c:6705:b0:710:a35d:1de6 with SMTP id 00721157ae682-710d9f35e08mr63781647b3.17.1749082013152;
Wed, 04 Jun 2025 17:06:53 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8abef114sm32531027b3.29.2025.06.04.17.06.52
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 17:06:52 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: Steven Rostedt <rostedt@xxxxxxxxxxx>,
Masami Hiramatsu <mhiramat@xxxxxxxxxx>,
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx,
linux-trace-kernel@xxxxxxxxxxxxxxx
Cc: Yury Norov <yury.norov@xxxxxxxxx>
Subject: [PATCH] trace: fix opencoded cpumask_next_wrap() in move_to_next_cpu()
Date: Wed, 4 Jun 2025 20:06:50 -0400
Message-ID: <20250605000651.45281-1-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The dedicated cpumask_next_wrap() is more verbose and effective than
cpumask_next() followed by cpumask_first().

Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
---
kernel/trace/trace_hwlat.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/kernel/trace/trace_hwlat.c b/kernel/trace/trace_hwlat.c
index b65353ec2837..2f7b94e98317 100644
--- a/kernel/trace/trace_hwlat.c
+++ b/kernel/trace/trace_hwlat.c
@@ -325,12 +325,9 @@ static void move_to_next_cpu(void)

cpus_read_lock();
cpumask_and(current_mask, cpu_online_mask, tr->tracing_cpumask);
- next_cpu = cpumask_next(raw_smp_processor_id(), current_mask);
+ next_cpu = cpumask_next_wrap(raw_smp_processor_id(), current_mask);
cpus_read_unlock();

- if (next_cpu >= nr_cpu_ids)
- next_cpu = cpumask_first(current_mask);
-
if (next_cpu >= nr_cpu_ids) /* Shouldn't happen! */
goto change_mode;

--
2.43.0



Return-Path: <linux-kernel+bounces-673904-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 12A3141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:09:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C318B3AA0B9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:08:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 530C723B0;
Thu, 5 Jun 2025 00:09:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="c5TFpfSb"
Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181])
(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 35B6736D;
Thu, 5 Jun 2025 00:09:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.181
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082152; cv=none; b=gcyTB5iBuYETQju+jWFWaCfSCUe1EDjnKW+zmamlNsapdVfk1F58EZfXg1FG3qM3OnKR2bFOfMDwd9bh3DI9avVyUP9341Ffi9kQzbFVX50daD7/Ty58THnYW+VIUg+WPpGcxYXhdhaFnyXctEh7n/kEUEi0udnZuw8dq/BHag0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082152; c=relaxed/simple;
bh=A+RZmgsrxtuSox57ZTAqyxC6Tj6CIRVoZcEv3Jpovaw=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=ZU/dkgjdKKm8He4V8odc9S4hZSs2wrGAxwoQ9/EelVL2SxEfLjMBFsRUqeS1s1o9z3uJiHyXIe5bz4PuLl6/gE4/dgoC1OcU526K0nkDtuflsSV0ORNNvB0y+BjlKNSHTRwzZH+a8O9tmUvj/8Uf/ixcwi3eTH5ArUdVJZRKvbs=
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=c5TFpfSb; arc=none smtp.client-ip=209.85.160.181
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
Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-4a5903bceffso3871991cf.3;
Wed, 04 Jun 2025 17:09:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749082150; x=1749686950; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=dhAm9Ru4hxpsou3o64mWUOvWKx3D3uWZ7WU7XX715pI=;
b=c5TFpfSb08QPvnv/JjcI2fc3pyeQzr9K5CWueiv8SZk5ZPmM+OUG3Vvm1aapq5p4KD
FdHWyt2M2Xa1uK+tPceg3mEagXim5mUfE+JIz1b7ZSYQetK4d3VWHL3sAGG0WNfExxwa
JYPG9rSHL04H4gtE49Z2Bk9AascJpUY8IFMl/4K9aWROW1m9K9I9MYov0kB4LU+DvRdf
DFqpIGaqF4LBbsyDuEbHuy2+ojUyoC4uybeLt/VGIeyatGgqWfacHngX1bXigFDwGp1U
vEUt8DtP+P/aC9RA7fCqIr1nWGimajWbbdwLVoELK0b85sRREjr9dyzapaYZTDT3QXcR
/s3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749082150; x=1749686950;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=dhAm9Ru4hxpsou3o64mWUOvWKx3D3uWZ7WU7XX715pI=;
b=tbpLke/s4vrh8E8KocfAhf56tj+TLTswwXsBSZ7CmFRel62vDwdgD13Xku1sDowv9a
DU3pPiOIAtpO8FCK2t0HVf74BHeRnfksHRBV5lxhSJ2rffzy6DIc0TS1AW+M1D+0p5ko
qGcdEgsHBEdmjExlOTnB5p+EeUn5pvi9MkncbSWfaxJlH98/ko0YoCoMiiekqAUAIr3Y
Z3mQuecCwUt1Tb6TzXrx0GefkqiH2qJaTYIedcj1ITHkEmKxF8xwBa7O6wBcETjz2qwC
iBGB5eIrkdd2QRCJKkDHmFjsnmsj2eO7lQHgK0arpeQYeTodDQblVNsD9nQbiB6ZmT6I
L7NQ==
X-Forwarded-Encrypted: i=1; AJvYcCU6g0b07F1fohNqvmNXmkAQ02Zz5RWIa+iygiOqRiet+qF8bCUqpsNkrhotvwxliGeYPx8kh0PwraXQYbM=@vger.kernel.org, AJvYcCX8BP+hBpH8rsvUO32kAqtNxvIlwq4CALWFVJ/A3M0iC/DMuANTWoG4JeF/U8DaHuJPLjyqdRgDOdKI/fU0@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YxX0NlDHgHEMP7XDPE92Ga8qICJJiZdjUtFlkNNI54mSCUkg2xY
/0b4M5ajkmGwts1bkm5Bqr3BEOkLloHhZ/ItTCOh+HkfFk2ZcwcDWBJQpA9JCyxl
X-Gm-Gg: ASbGncvEhx50d1yZZwUbzsQJnPDv6E6ug2pwU9IZnwjrB81fXQwBs3NL95ZR3cPU2sb
KN9p+Lqf866GQMHb47zEeWLTTHWOHavz7g1oE/daGQ7LxEYBvpA2Tep4ZGhHpe45PvaINVLZoQS
vExZjs195mh6RbZQTO3YDpFUKj4QX+onGoGp9EaPmFK/g1+muvNywKF/EcdvZl8uqZageXcRHDM
rsja6VgcuDcNlzueTXtatu/mOu+rgqEtSKDKjHpGqjRmfvHCNVc+nWfYkYd+0tl27LfL9H/UoMf
2O8yBDSCD0zulKFtPXVHoGuPEF+Mat8+o5LGTzOBPlXD9AD3HZ1WlUwdmp6kD/LxiYx6q9QPQuA
tCkhzSuymNn+282Pf
X-Google-Smtp-Source: AGHT+IEq2yryETuB+7PsA2RWKRoqJ5BSjEsJ1mwURZ3Q7KqUbWuTa8vFNf7WHvRL85nZ/O1X9Xb3hg==
X-Received: by 2002:a05:622a:5984:b0:494:a099:daee with SMTP id d75a77b69052e-4a5a6876380mr73522241cf.19.1749082149980;
Wed, 04 Jun 2025 17:09:09 -0700 (PDT)
Received: from node.. (dhcp-24-53-249-184.cable.user.start.ca. [24.53.249.184])
by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a4358eef6csm102740471cf.48.2025.06.04.17.09.09
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 17:09:09 -0700 (PDT)
From: shanmukh.iyer@xxxxxxxxx
X-Google-Original-From: shanmukh.iyer@xxxxxxxxxx
To: gregkh@xxxxxxxxxxxxxxxxxxx
Cc: jirislaby@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-serial@xxxxxxxxxxxxxxx,
trivial@xxxxxxxxxx,
Shanmukh Iyer <shanmukh.iyer@xxxxxxxxxx>
Subject: [PATCH] drivers/tty/moxa: Fix spelling mistake in comment
Date: Wed, 4 Jun 2025 20:09:03 -0400
Message-Id: <20250605000903.74242-1-shanmukh.iyer@xxxxxxxxxx>
X-Mailer: git-send-email 2.34.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Shanmukh Iyer <shanmukh.iyer@xxxxxxxxxx>

Corrected to "maximum" as my very first patch to the kernel.
Just to get used to the contribution workflow.

Signed-off-by: Shanmukh Iyer <shanmukh.iyer@xxxxxxxxxx>
---
drivers/tty/moxa.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
index 329b30fac8fc..d32fb37e2e1c 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -1628,9 +1628,9 @@ static void MoxaPortFlushData(struct moxa_port *port, int mode)
*
* return: 0 : this port is invalid or baud < 50
* 50 - 115200 : the real baud rate set to the port, if
- * the argument baud is large than maximun
+ * the argument baud is large than maximum
* available baud rate, the real setting
- * baud rate will be the maximun baud rate.
+ * baud rate will be the maximum baud rate.
*
*
* Function 12: Configure the port.
--
2.34.1



Return-Path: <linux-kernel+bounces-673905-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4C2B741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:13:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id EAD837A3C1A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:11:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8DD342CA9;
Thu, 5 Jun 2025 00:12:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="J7XK6+av"
Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175])
(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 6E1291FDA
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:12:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.175
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082377; cv=none; b=PzcFtlnHeKnGNfgcFXNl2euGYrBQgrouCqjRjjnvwSMAzv/j9aBLHAVRJOgMHiV5llO0HqX0D86pU2qKN4ettYIm8QR61PBNOwIWiNyLjzSWNgfTQzJqEF8/0yqtRfizhUVkwf8iIKEAqJAv2Dp/29ABYaR2oDgAOlSfNj1MuAY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082377; c=relaxed/simple;
bh=YJZMDDgQc/tb1CWECbjN53f528oXKyowfHYEh9X4nLY=;
h=From:To:Subject:Date:Message-ID:MIME-Version; b=asdLXgbIw51lXrCDhESBHTq1pMJmEs3lnDRal185Tannzc7VAueln3HD31c0GfRF3iF8PVCfPXeKFefM+LR1nLevu/ZBjJsDZUBsS13kRqvZX5J3pfGZfGCytxglEeoZSnizTEdtAUT7pW9aHG7axqFw1spbTBjvRHIXNEhxPYk=
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=J7XK6+av; arc=none smtp.client-ip=209.85.128.175
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
Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-70e5d953c0bso5251227b3.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 17:12:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749082375; x=1749687175; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:to
:from:from:to:cc:subject:date:message-id:reply-to;
bh=Vlm5LuAw0F30K4NgAcQzPC3OcpN/icRBRjLVeEN9Y98=;
b=J7XK6+av53M/Gws684hFSKC0mD1mcvpXoH55l2+Z5Q6UkGhithYyOFooIwgweAT7Vb
JFmTz67lT0/9Vy1FJR/DScUqfGBy52AhxNVdeaoGxCKMLl6suMF9ggQuHcn6qZGmeJd6
M85Z11SDSBivNO8anPxIynl2HGzOVQRln41Wwu4vH/++kgIhmWdlmph4sdQY9WZoLPfv
PH7pTOsXndkciY7HQmwGoNDDqOzCAaBEMPKkzCr0oZpi2rBheX55ZoOM1LkdZaTWxhK2
aWG/NXNjdURRuaM1GfAUzkZyDq6DLwnP62QGlzA6IsHJaN6mYkoi4qSmGNqhdbLOHoed
aTIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749082375; x=1749687175;
h=content-transfer-encoding:mime-version:message-id:date:subject:to
:from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=Vlm5LuAw0F30K4NgAcQzPC3OcpN/icRBRjLVeEN9Y98=;
b=UoOEOq45eVw4PJu60ucDnwMWJBt4xrzhKk2fmGQTs5vvnN+LjZP4kfA7mLw12NbL7U
5pSs9e2x4dqBOq6ib+7vD3TSv0iQBq8AJzfiLWYG2rlKYhLRCOoK2KD9HXQeGsB9uSFt
A9YtHfIyMAyDe1mHAnyefoWa4Wg6ZiqCgN85iJBu2uod5yysd5KVsFox5PDYYFx0r1I/
Si5bsCnyqMvOCOC8eR4vjsbpzpSThglqZibFYsvPX93WJ7LJohJjXhtqVz6JH7iNn6S4
vo0itD9XlSR6005Y7SoIG3shYLMaJFzXbe8NPtC69qQeQGuCLPPn2+uLhlGtHCrTeyfN
EJfw==
X-Forwarded-Encrypted: i=1; AJvYcCWdr8fFhQz35r97oPaJOVhlwQSYG+5601kvZqEhBzrMd0Qj8dqwrRUY0kOvamFAJnmTMFE4h6b2G9O2o1A=@vger.kernel.org
X-Gm-Message-State: AOJu0YxHrDXazN+cWUrmGO9KuPp9G0CHyzdbDs7B+m3bdGyzDfGjlUNV
t124Eftl7HLUP+VAIp1CLfFjzgPcRrq5vYrOq7qBOIQziIGz6EKgeWSezkVXUA==
X-Gm-Gg: ASbGncvxsUJERb+G590rYUYFwHoT7dpOQTtmCILJRdE4iGZMs68aluqmtU3EUG1oT5W
eGAV50X3s5uoY/0AOhFmXGvtj9fZywxQFCxMYwvgC5H7uyBV6j8t+Gfgtr2r9iuofa4hsVkFj2x
tFyg8zIw3v8w56jNF/vdSPoySnAaJuRcIZzHq2vpyliYkReSjcg5p9pUkAuSTkjJNvNZmCkwNRy
rvzTNOd/s00IUsRb3GkCOyzi+h05iuoS+g+Q8nOuxIGJJxnehDPc6emR0eozQ81q7V1cp6Od3wQ
j6nDVglkMShMAX4hSunAAyk3kRJFjDxLbj1fBNFrk+EWGBGbDNYCwtqIwVFm9njVptjLSjq+/91
QOMi+JX4UnzCquInIe92izw==
X-Google-Smtp-Source: AGHT+IF6zesAyyqbWv+wh5yA/pft9gVeSHofM9dgbJwAmX9S21FxoAcoddOyYfaoENiGKEaQrOHVBQ==
X-Received: by 2002:a05:690c:45c6:b0:6fb:91a9:94d9 with SMTP id 00721157ae682-710d9d6e428mr76793657b3.2.1749082375373;
Wed, 04 Jun 2025 17:12:55 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8abce4bbsm32743167b3.20.2025.06.04.17.12.54
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 17:12:54 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: Douglas Anderson <dianders@xxxxxxxxxxxx>,
"Yury Norov [NVIDIA]" <yury.norov@xxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH] watchdog: fix opencoded cpumask_next_wrap() in watchdog_next_cpu()
Date: Wed, 4 Jun 2025 20:12:52 -0400
Message-ID: <20250605001253.46084-1-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>

The dedicated helper is more verbose and efficient comparing to
cpumask_next() followed by cpumask_first().

Signed-off-by: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>
---
kernel/watchdog_buddy.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/kernel/watchdog_buddy.c b/kernel/watchdog_buddy.c
index 34dbfe091f4b..ee754d767c21 100644
--- a/kernel/watchdog_buddy.c
+++ b/kernel/watchdog_buddy.c
@@ -12,10 +12,7 @@ static unsigned int watchdog_next_cpu(unsigned int cpu)
{
unsigned int next_cpu;

- next_cpu = cpumask_next(cpu, &watchdog_cpus);
- if (next_cpu >= nr_cpu_ids)
- next_cpu = cpumask_first(&watchdog_cpus);
-
+ next_cpu = cpumask_next_wrap(cpu, &watchdog_cpus);
if (next_cpu == cpu)
return nr_cpu_ids;

--
2.43.0



Return-Path: <linux-kernel+bounces-673906-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9D9DF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:13:11 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id C762B189920D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:13:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 315DA4C83;
Thu, 5 Jun 2025 00:12:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="ipBpNkrV"
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2078.outbound.protection.outlook.com [40.107.220.78])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AA70220ED
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:12:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.78
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082378; cv=fail; b=fvqHWBFkTJCqoXYxy7IPmlvmLPlCwfbyiKcEjBr5Zo5SBtgJemu60ZvMq7oLDO+uOs5cS9jh0uE9ZOfFhDQJWHy4TvC7BmpL/zfrryFNaqg2JF90JsNv0M/IFvQdFzUXTUCJU9S7uxX+SYxs1fB2dNkeRdcdDftkbFjpnKRlgT0=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082378; c=relaxed/simple;
bh=rcEWmX63ieWh5xEd/UK1dSWOYcu1Oic4NJPN2naPhj8=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=H8JYsGBv0o112CaRFfbD5omm13/bWVzfV/JT61yefE0zMcQF1FreT0Qj6vRJQQjDTX68jYrp4pVVhIhcOfCClb07aiMTzpraCbRyRMTRrBMnKKcR2qFi4lXgz6uYvnmxl8xNfDuRHVZzpTgJgs9zp31gVSiRR8PaOKEd9KMmsuA=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=ipBpNkrV; arc=fail smtp.client-ip=40.107.220.78
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=uNS6yEkAK8zBZ/rO/sMypomhBl9HNV93YTHajKKkdKX6heWC/qIfS3KwnsIorNv2Unh4/YYAt0RgqbryKA8Z8DLgVc8VNKEtwqmhVOMaplmZhTT58w3qUAyarMfRbSHj+f7h7FkN3rF4NeaCYm+NP8+eZaU2XNTqIwXhW3pz8uyDPgczSa05IrTK+RAzrqWB2JzjsRbZ8eUq+TMsCkTIWNWtTHaxZXl6jM+PcSrq3rxSfNONtugAm5R58vK2aoHbFCdfzYW60F3zU//U7jYtTvjOE1KKvMSnkEomeuLmk73GgnovXbUd3PMqV7EkyfZt9oA5K/Dv/3bKgtQrtoloLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=dg1PWmIZC6x12sWBCPnqJjEYm62vk8l89AuY+V4pOA4=;
b=XlBBKkQaOnaOZVZ9qOSN95fCFdfha9+ou7Di/XggrTSowHYR3zld4jlNsfYWZ1FT+rW15RJ0mls1qM1kI2fJCJ+bJ5huwAXLGTIpYgS+jjBkfnKggq1S36sXL2HbeHn9JGwbaqV6gY8en7AFd53ozN8OtXrLqpUiiyr6RI6oCAjac/k/XvJpl3iIkvCGo4T9ozvSl14s3Y7tt+3E3ancz/KNnfRdfqyOhAj7ODHjE/HaMcpJ7OHGwxioip3L60GNK/D0AjVDsnJifcYNLvJPCkE+ZXHBkw6sPpuB32RItdFf/S0RRuub+d1WAIO3/FX44YuEEwe0jtsH895yZnwGvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
165.204.84.17) smtp.rcpttodomain=gmail.com smtp.mailfrom=amd.com; dmarc=pass
(p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=dg1PWmIZC6x12sWBCPnqJjEYm62vk8l89AuY+V4pOA4=;
b=ipBpNkrVrmi2tHf1vA5tkPeX3LpmUyS2s4ENhU8pApcOTZztWxdPTUtjgVqiQcGSvgjaL0K+Ev+TaaeamAqnwZJksPiwTmag+JdMVFJ1fKdLuwdHD3Q81FMrlmwNZFWbOB3ftZeUSyhz3j+dcffhpboFzBR0ppN7ccAGUmmc/qo=
Received: from BN9PR03CA0375.namprd03.prod.outlook.com (2603:10b6:408:f7::20)
by DS0PR12MB9400.namprd12.prod.outlook.com (2603:10b6:8:1b6::9) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 00:12:54 +0000
Received: from BL02EPF0001A106.namprd05.prod.outlook.com
(2603:10b6:408:f7:cafe::d) by BN9PR03CA0375.outlook.office365.com
(2603:10b6:408:f7::20) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8792.29 via Frontend Transport; Thu,
5 Jun 2025 00:12:54 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
smtp.mailfrom=amd.com; dkim=none (message not signed)
header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
165.204.84.17 as permitted sender) receiver=protection.outlook.com;
client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Received: from SATLEXMB04.amd.com (165.204.84.17) by
BL02EPF0001A106.mail.protection.outlook.com (10.167.241.139) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
15.20.8792.29 via Frontend Transport; Thu, 5 Jun 2025 00:12:54 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
(10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 4 Jun
2025 19:12:53 -0500
Received: from [172.19.71.207] (10.180.168.240) by SATLEXMB03.amd.com
(10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
Transport; Wed, 4 Jun 2025 19:12:53 -0500
Message-ID: <e70bdb30-66cc-7e9e-b666-efff3203bf27@xxxxxxx>
Date: Wed, 4 Jun 2025 17:12:47 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
Subject: Re: [PATCH V1] accel/amdxdna: Fix incorrect PSP firmware size
Content-Language: en-US
To: Alex Deucher <alexdeucher@xxxxxxxxx>
CC: <ogabbay@xxxxxxxxxx>, <quic_jhugo@xxxxxxxxxxx>,
<jacek.lawrynowicz@xxxxxxxxxxxxxxx>, <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <max.zhen@xxxxxxx>, <min.ma@xxxxxxx>,
<sonal.santan@xxxxxxx>, <mario.limonciello@xxxxxxx>
References: <20250604143217.1386272-1-lizhi.hou@xxxxxxx>
<CADnq5_NMamTAd0whqwr+xcokFThCNX7T7qFBfX+u3vnS6oc=tA@xxxxxxxxxxxxxx>
From: Lizhi Hou <lizhi.hou@xxxxxxx>
In-Reply-To: <CADnq5_NMamTAd0whqwr+xcokFThCNX7T7qFBfX+u3vnS6oc=tA@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB04.amd.com: lizhi.hou@xxxxxxx does not designate
permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A106:EE_|DS0PR12MB9400:EE_
X-MS-Office365-Filtering-Correlation-Id: db79d339-835e-4d0c-4299-08dda3c5b7b4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?R0FtUlhtV3FGcDlvWnFoUDR5SW9kMDJMQUcwS0p3QTB1U011ZkJRdzNZSFBZ?=
=?utf-8?B?d1dQSjNDbjB3eWNXRGU5amNOYnM2ZVpjL3U3TXplSFE3YzdvTEtOSnRnVlI1?=
=?utf-8?B?MkNFUzlUSzJXUzE3WU8xK0tQcHRnTzNyMElrcmtJbEJSMVlGcldZU3dUYmxF?=
=?utf-8?B?ekJpOE9HZkx3SzNtSklLaHRZS01Lb01rNXJqRzEySmJSWlplNnFDREl2OVZD?=
=?utf-8?B?S1hicW8rQlZiZmZPT1lzSUs1UjVKT0pLYVFmb0R3T3daU3lkNTRkdXU4SXZx?=
=?utf-8?B?ZFdIamcyd2tnSVI1TXBaWnkrd1NKeGFPNHMwM3JsWG9JM01wZTJ4UmlKVGZa?=
=?utf-8?B?d3d4cnQwbHRGczBwSnVjOUJFT252eXBRN1RrNyt3N0dvYjRMaERkYnhaMVdB?=
=?utf-8?B?bFFoM1RWRDREeGk5U1RCMzZHbksxOW9aQnF5OTBMcmh1dlk0ZXFBS3puazJS?=
=?utf-8?B?ditkUDBVYmdDd25rUzlid2xnUjNPNnpYU1VNY3Y1b0x4VnM3L1p4V1RTTW5i?=
=?utf-8?B?Tnh4c3drdkRRTmU3TXBzcmQzQjNVblhkcWxoYUEwUnc2NExOSmQ1cFdSamx0?=
=?utf-8?B?bVdJR0RuZ3Y0QWNIUEtIc2ljaDBIRFZBLyswejF6QzR1cVJsZ1NWdnUxcG84?=
=?utf-8?B?TGdMNHVrQmhPUjh0cUkwOTF1RUlLa04wb3RvMWdkS0gvR3Y5UVNSbk9YcC9D?=
=?utf-8?B?UWZJdWpVOCt0S2tNK0RLTDkyTG5qLzRwcEZzNjA1UHd5ekIwK2dya2Y5U2xt?=
=?utf-8?B?WjNwcHI1cjYvL1JpSTRnRERVUllKazlEVHVLWXZHQlgwQXVaQ1JLWUVOYWdU?=
=?utf-8?B?NmNydnJVZnBTbkNwb2U1aVJ1dnAzay9SdlZDTm92czJzUFZIdnNvS1BQMXRz?=
=?utf-8?B?TStobUxEREVMN3pNVzMwNWUzeUlvUFhGQ0VqYnh2ek50NldLQkNSdUJtVFh2?=
=?utf-8?B?MXdSdFpYU2hsMjJTV09vbkxSeFBmQmRkNEJHVXhVN0tMa0trTUNkaVdSTzNx?=
=?utf-8?B?dnUrcCtKcHE4a2U3c2hUQVV2L1pYUElQdkwzKzZxVVMvdTFOMG41YU5DNmV4?=
=?utf-8?B?ZXJwTFl2TmplYllqZUFOSnBEY1VndXd1aHR3MUl5NHJoUnJrb2x1R3dBcksy?=
=?utf-8?B?cjBhQUdJZ3FtUkc1UGJsaXZ2M2w2ay9CelgyTkFFUDJQYk1jeUp5SEZVVFZq?=
=?utf-8?B?dHpFUVBkbUlLQXVxRnlQVnQ4UlpDcTRXQkdGLzJ2cnNyQ0w3SU5ieDZuMHVN?=
=?utf-8?B?VDg4c1V0SXc0bFNtcEtkZXlPTjdNR3dXbStRL2NVMFV0T0JkKzZ3V05ET0NL?=
=?utf-8?B?ZkZBaXFhWFFvQzZvSlhnVElDcXFESnZNUnc1Q1VMeTltWE5NUVJwMGM2ZUtJ?=
=?utf-8?B?dDBIanovbjNocExSY3JJTTVkUkQ1eTFvQVVSVDZiUGlwWDJUQVJUaVV2OFBr?=
=?utf-8?B?M20wNTBFd28rRStvRGVRSnVLOGZxaTVCQWVkd094cEFERzAvWmF2cFBLc0NP?=
=?utf-8?B?SXV6eUVIREJaM0hyYnpMdUkwc0JlNFA4bHBQZmpiOVZ2eWpJRXk1Uzg5Qkhu?=
=?utf-8?B?eUtYNWhVSE4wOE12QnV2VmZJVFE4YjZ4WWNoMGpuS0NwbXhpd2RYOEVPcktw?=
=?utf-8?B?eEVKU2MwSFQ3Q05QRE9qSDFRNTZCMkk5QXRTbmVaWVpJZ0srNEpzdDhSUVZI?=
=?utf-8?B?ZTNHYmVsS3VDclBDbG5MY1lzT0lBaFBta2pRVU5qR0RNMEtoODlYV1p5MFRT?=
=?utf-8?B?NDZUeTJYaXJzWXVibzI5S2gvNXNzU1hKc0thVFNRWmUrNU8vRVY5YlBUQTFC?=
=?utf-8?B?ODVFZnd6K2dweEVsT3h0clZoSllORmFPUm5aUTF6Ui93d2pFNk56OFB0bmJL?=
=?utf-8?B?V3hHWVZPbFFNaFdENURGakkxbkJnNWdqUkF3dHBlRWZFRE1NZFVLdG1BSGhO?=
=?utf-8?B?djY0bS9xcUpFZm1KWXM3aWdpMk4vd0todXhOckpsdTBEdDRIWDBMeWRlVVR2?=
=?utf-8?B?VDl6SlNaZHhpcTBnVHFRSlZvMThnMGlRUU1CM3o4dWxMdTZ6MFdEU1pCUGsr?=
=?utf-8?Q?+XFyyz?=
X-Forefront-Antispam-Report:
CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 00:12:54.1989
(UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: db79d339-835e-4d0c-4299-08dda3c5b7b4
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
BL02EPF0001A106.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9400
X-Spam-Status: No, score=-6.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


On 6/4/25 07:51, Alex Deucher wrote:
> On Wed, Jun 4, 2025 at 10:42 AM Lizhi Hou <lizhi.hou@xxxxxxx> wrote:
>> The incorrect PSP firmware size is used for initializing. It may
>> cause error for newer version firmware.
>>
>> Fixes: 8c9ff1b181ba ("accel/amdxdna: Add a new driver for AMD AI Engine")
>> Signed-off-by: Lizhi Hou <lizhi.hou@xxxxxxx>
>> ---
>> drivers/accel/amdxdna/aie2_psp.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/accel/amdxdna/aie2_psp.c b/drivers/accel/amdxdna/aie2_psp.c
>> index dc3a072ce3b6..f28a060a8810 100644
>> --- a/drivers/accel/amdxdna/aie2_psp.c
>> +++ b/drivers/accel/amdxdna/aie2_psp.c
>> @@ -126,8 +126,8 @@ struct psp_device *aie2m_psp_create(struct drm_device *ddev, struct psp_config *
>> psp->ddev = ddev;
>> memcpy(psp->psp_regs, conf->psp_regs, sizeof(psp->psp_regs));
>>
>> - psp->fw_buf_sz = ALIGN(conf->fw_size, PSP_FW_ALIGN) + PSP_FW_ALIGN;
>> - psp->fw_buffer = drmm_kmalloc(ddev, psp->fw_buf_sz, GFP_KERNEL);
>> + psp->fw_buf_sz = ALIGN(conf->fw_size, PSP_FW_ALIGN);
>> + psp->fw_buffer = drmm_kmalloc(ddev, psp->fw_buf_sz + PSP_FW_ALIGN, GFP_KERNEL);
> Why do you need the extra PSP_FW_ALIGN in the allocation?

The start address of the firmware is also required to be PSP_FW_ALIGN
aligned.


Thanks,

Lizhi

>
> Alex
>
>> if (!psp->fw_buffer) {
>> drm_err(ddev, "no memory for fw buffer");
>> return NULL;
>> --
>> 2.34.1
>>


Return-Path: <linux-kernel+bounces-673907-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CEA2841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:14:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E9F1D3AA0A2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:13:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F1B5E2566;
Thu, 5 Jun 2025 00:14:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bm7FPQmU"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B3D310F2;
Thu, 5 Jun 2025 00:14:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082447; cv=none; b=uzNY1/cJgrX5qYbca7Mj6yHmROd73U8jR3yiwktQ6/I+OEcf6fn72v/eXaPf9Mc8a4or7CNMzOKt5RDI6HQ+mFQh7yc49nhMk+BIql49cS/qUidb/JsrVCUDC4/vasI2KOnhWAdqN1tfUedjG7vQxEOpvBd7Ns8wG038NoMgphg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082447; c=relaxed/simple;
bh=mlTrSydj2jGyyZ86G2tYuTK3bYvP3uK6PULl2Dx4/qU=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=oZidXv5KoYkgRldYjDM51qs0+u8utirP2a36BQgTtt9Iwxx9kc5iFFNj1+OLz61KCjIGPY9UBXmdG0zVemorcRNItg9qAUxoam9ypG5YnCFDNoC3/3FRzD95MFwy1txC5Fgk9rfZF9D7asZRDiC1/GYPBG/MmLrNsHuOnKD8HmU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bm7FPQmU; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 74B99C4CEE4;
Thu, 5 Jun 2025 00:14:05 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749082446;
bh=mlTrSydj2jGyyZ86G2tYuTK3bYvP3uK6PULl2Dx4/qU=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=bm7FPQmUuI3GFvJtimaBWKKYnP+5kcu2vGotHUVPS6okAV9GCMHt2V8Id0dQ1H59h
exH/+xmglG1ZZEFOyNGk+oaAM4+6gINmUqrh+vJ3yPV0eA0r+1KL+yIL8ANCHzzhve
PLEQYe0P3Ziyt39Ifu6mBnwpmrwKSdXJhgom4vZOS/wEa7Q5l6344157Hvi4q8X2++
m4ZVvYuwBPJC4a7zIHIJQwmXjbtyYZtS2B2rPkUyYsQYgGsBK3N9KSc0w6NdUilGFH
Cfo7P2+Ac/AhF7KqpBIVGd5gBeVsJqjDnnMlL2PORKyhWA2n7lDuS8xlpwwAzJX1lQ
7/+XmSIpNc7sg==
Date: Wed, 4 Jun 2025 17:14:03 -0700
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Petr Mladek <pmladek@xxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>,
Joe Lawrence <joe.lawrence@xxxxxxxxxx>, live-patching@xxxxxxxxxxxxxxx, Song Liu <song@xxxxxxxxxx>,
laokz <laokz@xxxxxxxxxxx>, Jiri Kosina <jikos@xxxxxxxxxx>,
Marcos Paulo de Souza <mpdesouza@xxxxxxxx>, Weinan Liu <wnliu@xxxxxxxxxx>,
Fazla Mehrab <a.mehrab@xxxxxxxxxxxxx>, Chen Zhongjin <chenzhongjin@xxxxxxxxxx>,
Puranjay Mohan <puranjay@xxxxxxxxxx>
Subject: Re: [PATCH v2 32/62] objtool: Suppress section skipping warnings
with --dryrun
Message-ID: <u7g72fiqwvkxl3hpl3l2jmbfhez5o7sjtlpxf73or6wh545you@z3xpzkeg45yf>
References: <cover.1746821544.git.jpoimboe@xxxxxxxxxx>
<7eccdb0b09eff581377e5efab8377b6a37596992.1746821544.git.jpoimboe@xxxxxxxxxx>
<20250526105240.GN24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250526105240.GN24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Mon, May 26, 2025 at 12:52:40PM +0200, Peter Zijlstra wrote:
> On Fri, May 09, 2025 at 01:16:56PM -0700, Josh Poimboeuf wrote:
> > It's common to use --dryrun on binaries that have already been
> > processed. Don't print the section skipping warnings in that case.
>
> Ah, I rather like this warning, it gives me an easy check to see if the
> file has already been processed.
>
> I typically do a OBJTOOL_ARGS="--backup" build and run dryrun debug
> sessions against those .orig files.

Ok.

Though, note that as of a few months ago, --backup no longer exists. A
backup is now automatically created with --verbose. But we can revive
it if you want.

--
Josh


Return-Path: <linux-kernel+bounces-673908-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6444741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:14:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E44FE188ECCA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:14:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C55522F5E;
Thu, 5 Jun 2025 00:14:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b="kd38s4ZY"
Received: from 003.mia.mailroute.net (003.mia.mailroute.net [199.89.3.6])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 255197494;
Thu, 5 Jun 2025 00:14:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=199.89.3.6
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082455; cv=none; b=QEdr8V8uJUSEPgWyRu3Qlp2skM/j4vEzxW/SimcFqMhQY3swQO0C72tRDve7dPGed4VkUUFpM4mJqXdjvhAZrPB45UaSFFDQoSgJ2R/tg5MInDcGm3EMUaOpbS8ECsN2GDom/92rf238MUZrPn5NCZ+q5el0Z4ZCcGJ1y+wPRdY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082455; c=relaxed/simple;
bh=OvPLCeB55L0RuDui/KZ+CQQzw8Bt/DaYKr8ttCBT4VY=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=YAcsvPM+rVmIyiBd59bSpiYgxCrx6YcQnjVvi8RIsczl624UhhnIuTneYe/nV28xsW4a6TTcRejDOCZxGkLQL3rMVyQq5HoiiSSu8/PuwV1720pUl4ReKK1HChe6WWA4JOVnY5kxcSB2X1GJzY+O6Psro+OluCPNIsWy2lJW6rY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org; spf=pass smtp.mailfrom=acm.org; dkim=pass (2048-bit key) header.d=acm.org header.i=@acm.org header.b=kd38s4ZY; arc=none smtp.client-ip=199.89.3.6
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=acm.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=acm.org
Received: from localhost (localhost [127.0.0.1])
by 003.mia.mailroute.net (Postfix) with ESMTP id 4bCQ0s5W72zlgqV2;
Thu, 5 Jun 2025 00:14:05 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=acm.org; h=
content-transfer-encoding:content-type:content-type:in-reply-to
:from:from:content-language:references:subject:subject
:user-agent:mime-version:date:date:message-id:received:received;
s=mr01; t=1749082444; x=1751674445; bh=J1hN6iDCB5et+MfuuqWoYZy/
UgxCtxyLw1S7Uy+ea8E=; b=kd38s4ZYYqGHNRTD6GPK3WFRz1LfU+991Bm8vzgd
aEy4flDgvmU+4I9ET7JUE4Tfv85zn3eaxyZibCLjiQONkYik/0u+A8SPP/9ySvSf
7/JILcYL0u54dNTyVlO++36Ta3TRtu4ie2e3Mfo9Fq6r6qO/wiQkHiRnC8F3rW50
LyALPYpPD6GKl1a9LlccW22BXFG5YfN4AtYxbI8SUx02TaRq6maJ7EpBNSG8Drtn
coT97345B2J176DTCq9sp5r2O5ZadgqV/AP61MlTqTRJGE1tx+WE73tbZm6tJHva
iQ8e2Ro+ikbHVlXR9Udhdnb99OveW2jkgNyQknSHuSTyKA==
X-Virus-Scanned: by MailRoute
Received: from 003.mia.mailroute.net ([127.0.0.1])
by localhost (003.mia [127.0.0.1]) (mroute_mailscanner, port 10029) with LMTP
id 0RMwR_oiVVUf; Thu, 5 Jun 2025 00:14:04 +0000 (UTC)
Received: from [192.168.15.124] (59-115-185-62.dynamic-ip.hinet.net [59.115.185.62])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
(Authenticated sender: bvanassche@xxxxxxx)
by 003.mia.mailroute.net (Postfix) with ESMTPSA id 4bCQ0k3zgdzlgqTy;
Thu, 5 Jun 2025 00:13:57 +0000 (UTC)
Message-ID: <0959d3c2-b849-4826-8edf-d72a89fbadff@xxxxxxx>
Date: Thu, 5 Jun 2025 08:13:53 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] scsi/fcoe: simplify fcoe_select_cpu()
To: Yury Norov <yury.norov@xxxxxxxxx>, Hannes Reinecke <hare@xxxxxxx>,
"James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>,
"Martin K. Petersen" <martin.petersen@xxxxxxxxxx>,
linux-scsi@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250604234201.42509-1-yury.norov@xxxxxxxxx>
Content-Language: en-US
From: Bart Van Assche <bvanassche@xxxxxxx>
In-Reply-To: <20250604234201.42509-1-yury.norov@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/5/25 7:42 AM, Yury Norov wrote:
> diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
> index b911fdb387f3..07eddafe52ff 100644
> --- a/drivers/scsi/fcoe/fcoe.c
> +++ b/drivers/scsi/fcoe/fcoe.c
> @@ -1312,10 +1312,7 @@ static inline unsigned int fcoe_select_cpu(void)
> {
> static unsigned int selected_cpu;
>
> - selected_cpu = cpumask_next(selected_cpu, cpu_online_mask);
> - if (selected_cpu >= nr_cpu_ids)
> - selected_cpu = cpumask_first(cpu_online_mask);
> -
> + selected_cpu = cpumask_next_wrap(selected_cpu, cpu_online_mask);
> return selected_cpu;
> }

Why does this algorithm occur in the FCoE driver? Isn't
WORK_CPU_UNBOUND good enough for this driver? And if it isn't
good enough, shouldn't this kind of functionality be integrated in
kernel/workqueue.c rather than having the above algorithm in a
kernel driver?

Thanks,

Bart.


Return-Path: <linux-kernel+bounces-673909-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DDDD641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:15:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B7F5A3AA11E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:14:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 131DD3C2F;
Thu, 5 Jun 2025 00:14:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="CIviIwfA"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4AF4F46BF;
Thu, 5 Jun 2025 00:14:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.17
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082493; cv=fail; b=DO7mChEHWdctdovWvTrb/VEbkI0eh4N3WmCx2WMEa8ANFQbTNqMkxv5alscEojo1GFKzP5y7ZCP1+ENWqwlJ8KmvIDDzMIep4r4ife+r1Jq6XnSYlIkzxlub2p/qifPMsEzbz+Ckc+Y7YbqfeAHTaxhlGH2ScX2p+MccsVc724U=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082493; c=relaxed/simple;
bh=X6/aBg5RPf38oAF4Z4GdabSFMmj+BNTbJZjLQDvMy8U=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=WcvJddUqj0TChBzgi4ALW/HpOfa5QSjbCF0zq9fxy4FEBrq3QUNrxcm+TmEMdi03YqDOx1AXTVEsudO3FWCXJ1CjkGzGvRB4+5oDcNO4n8+ea0azROJzl9yJnzjlbxp0E7nJg82rKPQIet8Wjn3GdoT5RwOwhFY4sUDoM3OWHes=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=CIviIwfA; arc=fail smtp.client-ip=192.198.163.17
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749082491; x=1780618491;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-id:content-transfer-encoding:
mime-version;
bh=X6/aBg5RPf38oAF4Z4GdabSFMmj+BNTbJZjLQDvMy8U=;
b=CIviIwfA8ZaJkxN9gZdMcSxzVfYe4YXobhZqVbRD1fBDuwN4w8W8gswf
tDU++wkrQlMRpVkU2emzI+yIrilgsK+NVsq6CLotay4E5icZJs2MGV5V2
HYfWK77nEqbqPFyJ+KgqyKjrZ8CT1nJXxXvSf6LqcrlUusx45fVeUU7gV
pFbPtUG4DM3vl1PEt+HjexE6bKsO8DsZ4BJ/kV9M0am+h+hhiH69lkO+p
su/slXnho5l2b8jLhtesq3rempZrMLETSUbc1MRCxE0/g2SIK4dOl3/3E
QTTV7Dg/0TN5JHw0WlXX4NNt1m11FAgceEa/Q24XAt+zR1HIOQjVPV8ma
Q==;
X-CSE-ConnectionGUID: SHJAqSAfQIq2h3fp9nXD+Q==
X-CSE-MsgGUID: 2N3IAqd/RD6dIuOuwgbZ+A==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51103633"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51103633"
Received: from fmviesa002.fm.intel.com ([10.60.135.142])
by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 17:14:50 -0700
X-CSE-ConnectionGUID: L+cbb7CPTX+w30S/aQX8SQ==
X-CSE-MsgGUID: YX8xFPIlS8e1R6ClzLDJCg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="168511502"
Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25])
by fmviesa002.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 17:14:50 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 17:14:49 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 17:14:49 -0700
Received: from NAM02-BN1-obe.outbound.protection.outlook.com (40.107.212.60)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 17:14:49 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=F9Pk9lQPyQ+4IzpcD80YONioNbwvU4kHlWjPB7RbvzKM/pQVJRiobK5Nqmecuc6UwbGh9N0kfZT88oaS4JlSXfeAUyBP7eOra7mT4woXS/y01uGB85O3axW7+Foa2Cn7SbK2ZNq9OzaaGetLO153SBlTpJxCJqOi/J6Uk2zqPzAph7DJnpMlxVx4mcVg2kN+06FBpDt33n79D3E83xMQ20hAC5u+TvK1gEhsJ/k+8Au/iKjgILDaLT7JIvrtinJrhvsQ/8osJmX/4f6CF+sLQIqZTMl/OtD+8J5UHbVnceCVlDgHXtJpnzHVoP59zdGuLn0f9lyZtwL2+NUpRRakkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=X6/aBg5RPf38oAF4Z4GdabSFMmj+BNTbJZjLQDvMy8U=;
b=l8ny5ABkKundbEfbSomOqTbHQ6bynbtuV0hC56zaxXuk1q+iGoM0puBJOs1Oh2QiebiENEbGuCo245a10yqw/R0SZs9UMc/fwblAb9pcqlM7VBOAR4wBX3/DWxLDoMbSn1fRd9Vt6e0iojdxniANFEQPy/dWirqdCwWWhSnH6vN/RIl7LnkzQbdDOz7TQUeoWIXeWZmt/OWLx0Q/bB2TEziHpHohhLwQLN4T1EHy6SqTNdbsq2uo61JHwoleHaIs9/7BtbjuT+kjGdWKSWvlRewhYmUlRKd7f70BAo9TVOicVqeeWR6YQ+alseq5TyJCfkCIjLLDzO2fpttbCgdrsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Received: from BL1PR11MB5525.namprd11.prod.outlook.com (2603:10b6:208:31f::10)
by DS0PR11MB7507.namprd11.prod.outlook.com (2603:10b6:8:150::10) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Thu, 5 Jun
2025 00:14:46 +0000
Received: from BL1PR11MB5525.namprd11.prod.outlook.com
([fe80::1a2f:c489:24a5:da66]) by BL1PR11MB5525.namprd11.prod.outlook.com
([fe80::1a2f:c489:24a5:da66%5]) with mapi id 15.20.8792.034; Thu, 5 Jun 2025
00:14:46 +0000
From: "Huang, Kai" <kai.huang@xxxxxxxxx>
To: "Gao, Chao" <chao.gao@xxxxxxxxx>
CC: "kvm@xxxxxxxxxxxxxxx" <kvm@xxxxxxxxxxxxxxx>, "linux-coco@xxxxxxxxxxxxxxx"
<linux-coco@xxxxxxxxxxxxxxx>, "Dong, Eddie" <eddie.dong@xxxxxxxxx>,
"Shutemov, Kirill" <kirill.shutemov@xxxxxxxxx>, "Hansen, Dave"
<dave.hansen@xxxxxxxxx>, "dave.hansen@xxxxxxxxxxxxxxx"
<dave.hansen@xxxxxxxxxxxxxxx>, "Reshetova, Elena"
<elena.reshetova@xxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "mingo@xxxxxxxxxx" <mingo@xxxxxxxxxx>,
"seanjc@xxxxxxxxxx" <seanjc@xxxxxxxxxx>, "pbonzini@xxxxxxxxxx"
<pbonzini@xxxxxxxxxx>, "tglx@xxxxxxxxxxxxx" <tglx@xxxxxxxxxxxxx>, "Yamahata,
Isaku" <isaku.yamahata@xxxxxxxxx>, "kirill.shutemov@xxxxxxxxxxxxxxx"
<kirill.shutemov@xxxxxxxxxxxxxxx>, "hpa@xxxxxxxxx" <hpa@xxxxxxxxx>, "Chen,
Farrah" <farrah.chen@xxxxxxxxx>, "Edgecombe, Rick P"
<rick.p.edgecombe@xxxxxxxxx>, "bp@xxxxxxxxx" <bp@xxxxxxxxx>, "x86@xxxxxxxxxx"
<x86@xxxxxxxxxx>, "Williams, Dan J" <dan.j.williams@xxxxxxxxx>
Subject: Re: [RFC PATCH 02/20] x86/virt/tdx: Prepare to support P-SEAMLDR
SEAMCALLs
Thread-Topic: [RFC PATCH 02/20] x86/virt/tdx: Prepare to support P-SEAMLDR
SEAMCALLs
Thread-Index: AQHby8iK5F9fOtaWc0+3IQP4NuCnfrPy/vcAgAAOjgCAALiTgA==
Date: Thu, 5 Jun 2025 00:14:46 +0000
Message-ID: <2969928a501a26c79e0b233e533a3ef5874da824.camel@xxxxxxxxx>
References: <20250523095322.88774-1-chao.gao@xxxxxxxxx>
<20250523095322.88774-3-chao.gao@xxxxxxxxx>
<95c57c6d14b495f92af6bd12651b8b5ae03be80a.camel@xxxxxxxxx>
<aEBGnC6g6D2tmBR5@xxxxxxxxx>
In-Reply-To: <aEBGnC6g6D2tmBR5@xxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Evolution 3.56.2 (3.56.2-1.fc42)
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR11MB5525:EE_|DS0PR11MB7507:EE_
x-ms-office365-filtering-correlation-id: 24b44e93-0ffe-479c-1f55-08dda3c5fa77
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?b3lOOXJUV1BtOE5qN1RGOTZ3WGUzQzBPUUJnOVBHVmIwMU5DVEkrUGxuQkdV?=
=?utf-8?B?bGdHY0YvZGNhdkh3cU9HY1lJZUIzN0F3NGp5eUluUzViMk4rMG5zb3FEeGJM?=
=?utf-8?B?TWtrS2JVVVMxZmxNZ1kwZXdLQnU0WUxCTyt3d2xVTWx2dEFRRUNOWFJBUGlN?=
=?utf-8?B?ZWhDVzJLMTZwKzhOcmhsQ0tZUFdvWWhuQWQrS21WTkJ4OUJQZHBFdXhvR1lO?=
=?utf-8?B?RVF6UDZFYUcrNEMvOExUS3V1akJMTExGaWI5YnBwbTczd0NWZEZncThHMlZB?=
=?utf-8?B?bmZtdkpNUFEram5oSm9nZzJubkp5UDZLQUtSK1dkWURQci9VODZWMUUxcGl6?=
=?utf-8?B?ZHpBbnBBQjVabGRJeWFHcmZ2Z1FVQm1xV3paZTIrbXdFRkQ4SFEraWVLNElx?=
=?utf-8?B?RVdpVDdQTUZZV2VsS3RHTCtNbkFTbkNXVWxqUkZ4RzhXWUQ0YjQ5WGlGdUlN?=
=?utf-8?B?MURYT2krOXpnRE52My9QWm9NbmhvYk00aDJ0NnUzZndlLzR6TmN0RnB2bHZ5?=
=?utf-8?B?TG5UbmlOSjhyeGVmNnBHWlFGNmVBNk1YQXQ2OXlUWlJwRjNiYjNhUFhDZGVY?=
=?utf-8?B?Mk9Pa0ZMeTRDR0ovZjdlMWdnMWQycituTW9XZS82ME00YU0xcDBIcUxxdENZ?=
=?utf-8?B?cWx1MHFWdi9hSnNXR04weU10ZEtkdTVWb2FsQVZpUVVLaHZHWlFoV1lDdWJJ?=
=?utf-8?B?ODlxWnhqYmJ5QXZUOFpqOWhvSzZTVkFxWmRTSzJjNW1nSWZYRnlsalh2c3pF?=
=?utf-8?B?RGdvcmlVdHhRNEN6OUY4eGtRb3hjeWthUDhTRnlFZUFlWXJPaWhOMkY1UGZY?=
=?utf-8?B?bVRUa3N6bEFyZ2loQjd2WWhtekFQYkp5Z1lSdlYzRDhtMlpmNWR5MzlFREpm?=
=?utf-8?B?Wi9wQzRIY055NHpTVGhGWjkxYkcwOGwvOW01WmgvbTBEVkRaQ0UxSy92dCtX?=
=?utf-8?B?RmFjOVo5VXFHNzIrOGN5SEZqRG1BOHMxZUk1b3U0U2FCSUREd3FyTjlkT1F6?=
=?utf-8?B?Nkd3dDg1U0pzY2Z5RHNCV3hEMVA0WVdYSUZTYUpQbVg5dkxMM1FpN1ZuckFF?=
=?utf-8?B?aytsUEkxK0pJSVhtb0lSYTFBZUZsZDlPQktubDU0ajNqRlgrOXdQOGVSUU9M?=
=?utf-8?B?M29sYnhNZjNRakFWNkFITzJlL3QvL0s4TXlpUzVzaVdSdk5uOGhtcHZpWWly?=
=?utf-8?B?dGI4M0RrWG9CT1pISmdDaDRyV0E4Q3RwMzNKTUQ2S0ROYzI3N2lZQk0yUjVo?=
=?utf-8?B?WSthS2FBNVFKUEVvQlFIeFBWb2dvVFpHQ2pqcmNXVnRFQ1lUNGVtVHNiakx3?=
=?utf-8?B?M2hoZml6L3p3N0k0amlqYy8rVlkzNWkvdkpKbDFFMytGT1ZNbEEzZU9vUW95?=
=?utf-8?B?MWppelVFQTdGQmFjZmx2UFAzQnp3UnhlckxUdkZSak5XUTdGa241eWVkNFc5?=
=?utf-8?B?emV6YlpMQWlEN2R1aGRyQ2NwZFFIM21kVEZoYjNjWS92bUp2ZFdqMDRDVXhH?=
=?utf-8?B?N0V4M0E4OFcveUhXTVAzck5Ra2JxcUpEUGp0RXRaQ1BaLzFIZ2l6OWFFZ01Z?=
=?utf-8?B?VkRabUEvK09PVjVYS0tZd1hXS1FuSWpMdWlram1pNTkybGJkRWJERWRnUVVM?=
=?utf-8?B?ZStDbFhBcHRhcU9BS0lzMnJGZVhsbXhYMFNqOGR3VUNlU0J5aFlyMDkvTndo?=
=?utf-8?B?dFo3Q0I1aUVjbzhxOVBKU3lyVTd6QmF2ZE1JZ1pVY0pjcWVSSmZGem1JRytD?=
=?utf-8?B?WXJ6MGxvVTNkT1dVcWk3Ym1yeW9JNGFpZkVYN3JwRzZDUStLaUhEeks0QWVH?=
=?utf-8?B?VEdpVzBFSlZmQ09tZnJTellCUkpZMzhlVzhPVTRYZ3BaK1g0Vmh0c3hFc3Fy?=
=?utf-8?B?SXRzM2J2czc0WUZ1bFppVWpSYkQxdFdIZXVHRGxxTHJYL20xVXh2QTFib3Jp?=
=?utf-8?B?d3NjS0lXcWR3VHFFaUpEb3Z5NFIraUxDUVVJazdxRElJZ09BRlU5MDFQZWxw?=
=?utf-8?Q?fxZg8VqMDm1pluBvpvLcca9qVr056s=3D?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5525.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TVQ2d3g3dm5DbVBSemZERG5QUEQwRi9pQ2xZbUhlSzAxYjZzYmZ2OVlDbk1m?=
=?utf-8?B?dnZ3Mm10TFIxV1FWT2ErOTA3SnRhcHI4THptbmdCcThyRHI5VnBBSDFFcVJK?=
=?utf-8?B?UVJJNzR3dUNlVHFlYUFkNlVJQjlXYkg2UmlVUy9JR2xGWjV3dlNCUTZTbnVh?=
=?utf-8?B?UWVxbExXa2FGM0sxOUpmUE1BZXYzSHVkN1pxNmROQzhHRE82aVVsbkp3S3Ev?=
=?utf-8?B?WDdJZFM2dmlSb1hvQVRacVpONnRpNFdPQm0vN053L08wSGVrVi9SOGp4VHJq?=
=?utf-8?B?K0tObzZhMGJmdkJqMDRXUmEydm9yU1J1ckhmVEk3VjgweW0yL0xZbmYzM3NX?=
=?utf-8?B?MjJ3b0xjOUFnTkRMYWRhTjh0SWI5bkZyWXp0a2dNOU1ESlpxYWtoemJoK3ZE?=
=?utf-8?B?cWVPck1YU3NmcTh4Y1pCMDhrOUNHQWNvSnZYTitrWjVmd204c0l4bTVycHJs?=
=?utf-8?B?aWk4QnMxY0xmdUpuOEFTSGhJSStVTUZ2aUJUaXZOYzlNTitIMkZXcmxldjBq?=
=?utf-8?B?ZUZDVGt3WE5QWkIwbXdEOExkdXpMK1kxYnB3SVRTSVF5THpyVkxKMkFpQWZG?=
=?utf-8?B?N0dIMkJuRlUrYTdMTjgzSlBQVzJuQlZYckRTWDRrMGhZeUtvZ2NHbFlLSGd3?=
=?utf-8?B?ZDF6R0Z2OCtBNlhTRTA1T2grTDkveUs1VDdLSDNiYmZZbFQ5UlVsdWljbFB2?=
=?utf-8?B?RU1ocnJ3ZFAwOUxDUzdTTFhNVnBwaXJIVk5CMzNVc1RQeGpmK2lCRmxpd3VZ?=
=?utf-8?B?UytqYStiTkNHaGdlZmZLa3pwazRTMnEydm5aUGNwamU0UmJaeXNlSk5nU2tV?=
=?utf-8?B?UUlMbDdsb2l2NGdoSktXTHppSFV1enlNU1VNanpuZFRPbi9TY3F2NGJtb1ZC?=
=?utf-8?B?RW5DWnBxSUlBQkhudFh5bEFqdGZ1bnZKTmFrSWpRSDlhN0RSQ2I1Q1JrQTdD?=
=?utf-8?B?bTI5bjdsc2wxWDlvclFxYW1hMzFHUzlXZk0reXh6eUVaQ3hzWnBWdzNDT1d1?=
=?utf-8?B?eCtpU1BQUnRtd2x2K1RGNk92bnZZT0ZGSExFMUQyNFZydHM5Zi9MUy96MVVM?=
=?utf-8?B?K0VML01rL0lLYWZiOG5uMUV4TDlIdVkzUlZqUGpoaTUyWXRFZ0tDd1hEc1BB?=
=?utf-8?B?Uk9aZTZvNktWVklMakJYMUJhL0x1R3BCQjBQd0RiakZJLzVSNE5xRlVlOHBp?=
=?utf-8?B?VDhtZUJ0ZGYyMXlDWEN6UVdWOTR4d293QmZwZS9NTUVuRXJoUWRMdENvN3V6?=
=?utf-8?B?cWpHWDdpL2hPTDZBWkNUbUpYdmJtVXpuWmRqT3RBZndFTEFBK2YvemI5d1RL?=
=?utf-8?B?NFpIY0NDejFhL1JaSW4xaGtpWkU2V2FsQitPQjN5S1JkcU1qYTlTUStXNkor?=
=?utf-8?B?VmI5NVZWOFJHQ1V3bDQ1WVpIRWdhMHppOUVsU0w5WkNPS3JTTXIzeDR6OXha?=
=?utf-8?B?YzZsUFVET1JYbVlNMTdEYnRxbEZ1NjJPRFlRWElLNGxTdWpmSUNCNDRLZUpk?=
=?utf-8?B?ZWo3Q3VyZW9wRmhKYStMTnZVSmFrVHYyWWJnZU8rd1VNZ0wzaERWcHVIYVFT?=
=?utf-8?B?VEc3SjcvL1JmaWF1bERJbFJtelZXQmhGQzg3UVRNa0FmRFFSZXk0NEJWd3Zp?=
=?utf-8?B?aW82cmhkSXNNa2dUSEF6cWxXaXc0U3hzVmR4ZWNwSG8rbVNvcWRDK21ESHlD?=
=?utf-8?B?S0Z1L01TRVpjeTlLVWY5TU5qN1VZWGZqRjFucHRlMlFkdU9MSGJaRUhZaEp0?=
=?utf-8?B?NG5SeHB0Yzg5QmlYN0J2K0gybjhLWUNHbE9uUy9tTWVHRDV4bkdJWjg3SHcw?=
=?utf-8?B?aEdySGhzTFAzaTBmc2VXc2hGSHR0SlgyQU80Tmd5dWdRem54VGZBOGJaTUZ3?=
=?utf-8?B?aitlOERRSXVPc015TDRqMWxZblUvMSt6a21ZM2Nxa2tOZ1VzOUd1Tk95WXFK?=
=?utf-8?B?U3JMbkNyK29mK1BVN2lJOCs1dU52VUdocWpWMlpLcDBocG5PKzRIM0JPb25E?=
=?utf-8?B?NGZISXRZZkN4K3BrY2Jrc3VUYVhzZjZ3ZVlVd2VVbFcwZXQ0bUpzSVkzNktT?=
=?utf-8?B?eDRZV3Z1VWFHRTViSmM3dmpYaTJVT0Y5d0ZkdTdXZktLQndHMDRBWEhEWFFO?=
=?utf-8?Q?7klhoaAyN7KxnmEx4fJ+j5WVw?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2E6CD47C0ABDBC4E9B3FD1320686390B@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5525.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24b44e93-0ffe-479c-1f55-08dda3c5fa77
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 00:14:46.2304
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ypwkdu/oHUy9Fwp395FIbDliamNIfQ9EthuJ/aQbKXvfVA/dHHevh7DZTUSK3uyDW1Oo5XF954jH+344Pt8qew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7507
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCAyMDI1LTA2LTA0IGF0IDIxOjE0ICswODAwLCBHYW8sIENoYW8gd3JvdGU6DQo+ID4g
R2l2ZW4gdGhlcmUgd2lsbCBiZSBhIGRlZGljYXRlZCBzZWFtbGRyLmMsIEkgZG9uJ3QgcXVpdGUg
bGlrZSBoYXZpbmcNCj4gPiBzZWFtbGRyX3ByZXJyKCkgaW4gInRkeC5oIiBhbmQgdGR4LmMuDQo+
ID4gDQo+ID4gTm93IGZvciBhbGwgU0VBTUNBTExzIHVzZWQgYnkgS1ZNLCB3ZSBoYXZlIGEgZGVk
aWNhdGVkIHdyYXBwZXIgaW1wbGVtZW50ZWQNCj4gPiBpbiB0ZHguYyBhbmQgZXhwb3J0ZWQgZm9y
IEtWTSB0byB1c2UuICBJIHRoaW5rIHdlIGNhbiBtb3ZlIHNlYW1jYWxsKigpIG91dA0KPiA+IG9m
IDxhc20vdGR4Lmg+IHRvIFREWCBob3N0IGxvY2FsIHNpbmNlIG5vIG90aGVyIGtlcm5lbCBjb2Rl
IGV4Y2VwdCB0aGUgVERYDQo+ID4gaG9zdCBjb3JlIGlzIHN1cHBvc2VkIHRvIHVzZSBzZWFtY2Fs
bCooKS4NCj4gPiANCj4gPiBUaGlzIGFsc28gY2xlYW5zIHVwIDxhc20vdGR4Lmg+IGEgbGl0dGxl
IGJpdCwgd2hpY2ggaW4gZ2VuZXJhbCBtYWtlcyBjb2RlDQo+ID4gY2xlYW5lciBJTUhPLg0KPiA+
IA0KPiA+IEUuZy4sIGhvdyBhYm91dCB3ZSBkbyBiZWxvdyBwYXRjaCwgYW5kIHRoZW4geW91IGNh
biBkbyBjaGFuZ2VzIHRvIHN1cHBvcnQNCj4gPiBQLVNFQU1MRFIgb24gdG9wIG9mIGl0Pw0KPiAN
Cj4gbG9va3MgZ29vZCB0byBtZS4gSSdkIGxpa2UgdG8gaW5jb3Jwb3JhdGUgdGhpcyBwYXRjaCBp
bnRvIG15IHNlcmllcyBpZg0KPiBLaXJpbGwgYW5kIERhdmUgaGF2ZSBubyBvYmplY3Rpb25zIHRv
IHRoaXMgY2xlYW51cC4gSSBhc3N1bWUNCj4gc2VhbWxkcl9wcmVycigpIGNhbiBiZSBhZGRlZCB0
byB0aGUgbmV3IHNlYW1jYWxsLmgNCj4gDQo+IFRoYW5rcyBmb3IgdGhpcyBzdWdnZXN0aW9uLg0K
DQpTZWVtcyB3ZSBib3RoIHRoaW5rIHRoaXMgaXMgYSBnb29kIGNsZWFudXAuICBNeSBURFggaG9z
dCBrZXhlYyBzZXJpZXMgYWxzbw0KY29uZmxpY3RzIHdpdGggdGhpcyBzbyBJIHRoaW5rIEkgY2Fu
IHNlbmQgdGhpcyBwYXRjaCBvdXQgZmlyc3QgdG8gc2VlIGhvdw0KdGhpbmdzIHdpbGwgZ28uICBB
dCB0aGUgbWVhbnRpbWUsIHllYWggcGxlYXNlIGNhcnJ5IGl0IGluIHlvdXIgc2VyaWVzLg0KDQo+
IA0KPiA+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni92aXJ0L3ZteC90ZHgvc2VhbWNhbGwuaCBiL2Fy
Y2gveDg2L3ZpcnQvdm14L3RkeC9zZWFtY2FsbC5oDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN
Cj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjU0OTIyZjdiZGEzYQ0KPiA+IC0tLSAvZGV2L251bGwN
Cj4gPiArKysgYi9hcmNoL3g4Ni92aXJ0L3ZteC90ZHgvc2VhbWNhbGwuaA0KPiA+IEBAIC0wLDAg
KzEsNzEgQEANCj4gPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8NCj4g
PiArLyogQ29weXJpZ2h0IChDKSAyMDI1IEludGVsIENvcnBvcmF0aW9uICovDQo+ID4gKyNpbmNs
dWRlIDxhc20vdGR4Lmg+DQo+IA0KPiBJZiBzZWFtY2FsbC5oIGlzIGludGVuZGVkIHRvIHByb3Zp
ZGUgbG93LWxldmVsIGhlbHBlcnMsIGluY2x1ZGluZw0KPiA8YXNtL3RkeC5oPiwgd2hpY2ggaXMg
bWVhbnQgdG8gb2ZmZXIgaGlnaC1sZXZlbCBBUElzIGZvciBvdGhlciBjb21wb25lbnRzDQo+IHN1
Y2ggYXMgS1ZNLCBzZWVtcyBhIGJpdCBvZGQgdG8gbWUuIEJ1dCBJIHN1cHBvc2Ugd2UgY2FuIGxp
dmUgd2l0aCB0aGlzLg0KDQpLaW5kYSBhZ3JlZSwgSSBjYW4gcmVtb3ZlIGl0IGFuZCBkbzoNCg0K
c3RydWN0IHRkeF9tb2R1bGVfYXJnczsNCg0KZXhwbGljaXRseS4NCg0KQnV0IHdlIGFsc28gbmVl
ZCB0byBpbmNsdWRlIDxhc20vYXJjaHJhbmRvbS5oPiBldGMsIHNvIEkgdGhpbmsgSSB3aWxsIGp1
c3QNCmxlYXZlIGl0IGFzLWlzIHVudGlsIG90aGVyIHBlb3BsZSBjb21pbmcgb3V0IHRvIGNvbXBs
YWluLg0K


Return-Path: <linux-kernel+bounces-673910-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4DA7141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:17:25 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CC46A1896C7A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:17:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 740A0DDC5;
Thu, 5 Jun 2025 00:17:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="5uUsr4LO"
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2073.outbound.protection.outlook.com [40.107.93.73])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C26417D7;
Thu, 5 Jun 2025 00:17:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.73
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082631; cv=fail; b=Tbi5j83sgDVJeGycFMW0B9ss8fzAmC2nJmIt0DxF0GcIky3izw8X6BqZDU5cpsUke6kpHkw24MJPRV1upEsIm3QKLPpJ32iLO+ZXjtwJqaoDetz3ui37O+TJU9E+ly42J6kRUB3nFzYWwKSNBUKbLC0iSpfrzPefRg0mB4/kLRk=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082631; c=relaxed/simple;
bh=tEsTkpeXuXPqKdwj9iIjigU9ON2O0WP7ZpnKj6LrC3M=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=aX0hbA6ZJ6WKjUUjuaNxocUbr7m9t4Smi2XLLfJRUA5u0AE3isev/tTDN+BP7rtES1eS+KseqUjvfwwTDIG4pwMjX1fYmx1E9eLTFfHuPJxgP6GDPqFls/TTphGCcJSBoOY3WTIliovGS9qUag5aV7QUrb7xl8Dyg9nHnqz4f28=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=5uUsr4LO; arc=fail smtp.client-ip=40.107.93.73
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Bjm53kMXfTeFmAtcuzSMQlm8z446OCmvcMjltA5/64WeeTibbpBi8owud6z9W87FQs48DTra1QNfeLz0nS84uHdm3X0FR+0z48cygS4+14lizysyee56VxsPbYHuVYAHqmwYHgtoBrVTevXql3H3YpZAT+t1lBe/joSKXRiMl4nRmd5JQ5UFpd8erU4IYFIVf8iwjMkltOGG9DsBbKqPkrB+Q1MJXR/1nttQZR5h4Hk+5IY4wVJUJ3J52UfsryuiLaY/1W9AVY/Q82vf4FtIb/9Yo1j2oKyZMoAACLM2L+jDC1DuMxaEDE/aDtZfUnWjLK5Sn7ll5FSqo/q1TIK4vg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=6A6aBvxMIbwcXMni4lrgwalqVfB/2Pkoats0SayziNI=;
b=c/zAfij6AMEIRDshNZzfWuVLptbmyQZocEfN5e1PxdzY3R/NCTA5LwUuYuifFCiwOzuyvgr0niBua9XgmqJeqLB19cZz1fLnWzbypOKBNwfSo6754pj55Wa/6f7vepSpxMk1yy0vRBfAElE8ms6pVwP8F1fZKsl9/r02f5VIeZCfT5fJB9AkHQQRXEbr5WO/ZKUTgd4Ff6utlx2TTz4ZSV6Y9tc+LRyWVRNKyWr/39LMAWPZkJWLtw4n8FUIpCUMH42BEpmZx9we5OdI5HZ8YPQGe2cEswovUl4/Bp4c6qjqFCKvpomM7avQbUthagMJYC/rOd8S+rg1xGNIdMtIkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=6A6aBvxMIbwcXMni4lrgwalqVfB/2Pkoats0SayziNI=;
b=5uUsr4LOjYrm2hujSvicrJEfMFFl5JzEIPeveo5ArY64lybqlDgG+CV/Y3aI5UUm1ptHXz+hkBP3N4wxAd/y83Boyj8EsFfhIxx2QVnfQkVmDoc5i+/zN+GvYufE/gscRLgSapP1Ogs3QRCSRMgQxZRcFSvDSTJBY6NM+Q2H9Oc=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from BL3PR12MB9049.namprd12.prod.outlook.com (2603:10b6:208:3b8::21)
by BL1PR12MB5923.namprd12.prod.outlook.com (2603:10b6:208:39a::22) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 00:17:06 +0000
Received: from BL3PR12MB9049.namprd12.prod.outlook.com
([fe80::c170:6906:9ef3:ecef]) by BL3PR12MB9049.namprd12.prod.outlook.com
([fe80::c170:6906:9ef3:ecef%5]) with mapi id 15.20.8792.034; Thu, 5 Jun 2025
00:17:06 +0000
Message-ID: <11700688-98a4-439e-bcd3-44ca51fcaa14@xxxxxxx>
Date: Wed, 4 Jun 2025 19:17:02 -0500
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 5/5] KVM: SEV: Add SEV-SNP CipherTextHiding support
To: Tom Lendacky <thomas.lendacky@xxxxxxx>, corbet@xxxxxxx,
seanjc@xxxxxxxxxx, pbonzini@xxxxxxxxxx, tglx@xxxxxxxxxxxxx,
mingo@xxxxxxxxxx, bp@xxxxxxxxx, dave.hansen@xxxxxxxxxxxxxxx, hpa@xxxxxxxxx,
herbert@xxxxxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, paulmck@xxxxxxxxxx,
rostedt@xxxxxxxxxxx
Cc: x86@xxxxxxxxxx, thuth@xxxxxxxxxx, ardb@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx, john.allen@xxxxxxx, davem@xxxxxxxxxxxxx,
michael.roth@xxxxxxx, kvm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-crypto@xxxxxxxxxxxxxxx, linux-doc@xxxxxxxxxxxxxxx
References: <cover.1747696092.git.ashish.kalra@xxxxxxx>
<e663930ca516aadbd71422af66e6939dd77e7b06.1747696092.git.ashish.kalra@xxxxxxx>
<a6b39023-447d-67bf-9502-4340f9d41c81@xxxxxxx>
Content-Language: en-US
From: "Kalra, Ashish" <ashish.kalra@xxxxxxx>
In-Reply-To: <a6b39023-447d-67bf-9502-4340f9d41c81@xxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SN1PR12CA0103.namprd12.prod.outlook.com
(2603:10b6:802:21::38) To BL3PR12MB9049.namprd12.prod.outlook.com
(2603:10b6:208:3b8::21)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL3PR12MB9049:EE_|BL1PR12MB5923:EE_
X-MS-Office365-Filtering-Correlation-Id: 871b2670-336b-4a8c-b1bd-08dda3c64dee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|7416014|376014|366016|921020;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?RzhxNml2dlJFL3BYY3hTQkVET3F3VkFndjBXWUxTL1FUckwySUNtaUdjQTQ4?=
=?utf-8?B?ekdpVWVDRlQ1c2RzT3FiVmpSWmxGMXV5SytWa0YvT2FINWU0MmdyVzVIUTVU?=
=?utf-8?B?UC8zYkl4eEZzNisyR0w1ZDdRelpGZldyMFhXLzZMQ2tIMDNxTmJWb3dJWGhI?=
=?utf-8?B?ek1YZ3hGUHpOcktoTWhmQ1BwUVl3WnR2Rk9uaXR1NDlrQnB1RitFSnRnQ3Js?=
=?utf-8?B?UU41TlJBT1c2c210cDErSTZyanlHaExQcHlseWFlVUQ3KzByZWJ4Vnk2dDdo?=
=?utf-8?B?UEpQSGtCVnNtOE9heGdZRUFwSjJqK1ltV043NGxrbnZObWhIN3JoMjZqa0R2?=
=?utf-8?B?bTFxTjF6YWdDT3JQcFVCRlNmM2ROd21ZeHQyaUFrZFdIR1Rya094VlB6ZzVB?=
=?utf-8?B?cmJ6Y0JEemRhS1FtYVVDOWFaQXMydTFDczhkR09YYjIvK0tGSjVPRGg0V3Nq?=
=?utf-8?B?Z1UwbkZUcE1RVXJtWWJjN1lLcGZ0RHBCaXdmTXNMc0liSkxBdHFlVGZGdGk4?=
=?utf-8?B?RHFiWFk0Z3VFVGZFUWFoWndkeitiWmlzeUhDNTRBazBnOGpDTzREZEtYWHJH?=
=?utf-8?B?Wi9rOWpiWWc2Tkk5N2ZJSzBYclR2WUhjbmVsbVNnWVU4TElISHZIcDBZNEEz?=
=?utf-8?B?TEZER3B6a0dXTWJ4ZGZZbWEvb2xQQXBJRmJPejZhdHdxTWZvTUJGKzI2ZjMy?=
=?utf-8?B?WWxHL29UYlNaTnh4bnBpUTZVZUJodEh2MTFzTnBINHR1VzhzMUZzUFQxYXhE?=
=?utf-8?B?Q29aTDRhTFhjUit3WERhV0lVbDkrbFErdVMwQzdGcGNKcW1XbkkrUmdOWk0w?=
=?utf-8?B?eTdlNzJWeUhSRTY3bHA4S3d0eGFmMFZVUVg5TnZCMkNucjRnYjAyV0JxSWZP?=
=?utf-8?B?Y2VFSXdvblkxNzFGRklWdmQ3N3FRTEtKZEN0T1FCcGM3QTN5eHZRNzNNeDky?=
=?utf-8?B?WjZNUVNmMno4c0tWdUM2WXEzdVhEUHYvMDhJcVZqdUM0UVROWFFZMEFOMHND?=
=?utf-8?B?ekhMeDZTVGpzeitoa0cvUXpLYm5rSW9WUTF1SzgwWjBFRGtrMkJGdnJnWXJt?=
=?utf-8?B?bDVBV2JUWXBNWjJHRzFRK1BvS3MxMi9lcmMyM2FTS2phaTN5VGVSVGpQWHdz?=
=?utf-8?B?N0l0K0oxcmZDZWY5SVFPaU5TTmM3cjc5cWZNS2VSVzBOeXNrbzBzWGo5UjAx?=
=?utf-8?B?T2h6bEQzL21BNUgvK0phbjlvRzVoQTVLRlZzaWxmU3ZRaDhKMWREWFEzWEF4?=
=?utf-8?B?RUhhZ0J1cW1GQTdNQ3UzS3hSdEo2cDhhSjBiS0lvalFvdmhMOGl5QTNqNHBE?=
=?utf-8?B?YUJVWDhoK2t1QjQ5MjY4LzNTSENMRXVOSUkzY3EzeTg2Zm5XUFM3ZzVWZGky?=
=?utf-8?B?bGJYWjBRVmliUGdQeE44Rlc0cDZjUk9ZVlg3ZmZmUEpKdll0MzFGYzdTMWY2?=
=?utf-8?B?RHJZR1NCMUVhRkRXSDVFbVJaTERCNVdZTm5hWFd1NWhFbHcwaTRiSHVUQXFP?=
=?utf-8?B?ZkZXNDlKNmdqOS9DSThvdDdHTjNRRjhzTFpBY1ZBam0rWEc1RUNRS0hEeU5R?=
=?utf-8?B?VktWa3djMFVWY004clBsMDdxR0VhaE1tekdtNVV6UTJEM3dhY21DV3RnamVJ?=
=?utf-8?B?ZUxsczNsY1lsUWJwTm9naTd2bFl3cWJKZ2t0d3BqMEx0VkRqcjVkcEg1UGZV?=
=?utf-8?B?VHp2MVlxY1E2SEJpZVlPR3JHSVBxYTE1V3BkczNlZ1p0Q2s1UmVrTjFxZ2lG?=
=?utf-8?B?aUQvWmUwVDZpeVJHK3lTRHg1M3IrNTduVnk4ZVIxVkhhMUlOWGw1RXlSVGFz?=
=?utf-8?B?aXNta1oxMmk1QzI1ZHJmN3B0QzZGQVV4MDZOQU9KOGd4cERTME8rZE4wTTdi?=
=?utf-8?B?cTkwamQwOHdSVHBVQkZXc3o5c1JyQVpOdzNWbktQQ1hpK1ZLSGdLczJwZzVr?=
=?utf-8?B?Nm1iSE1oVHZUU29iaVB6bnhwekt6VUpDMXpEQXkvalpWUTI4ZitUSlNINmF0?=
=?utf-8?B?UjJpMHNBWDhnPT0=?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL3PR12MB9049.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(921020);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?OU1sU1ZXQzBQS1VlNzRRTkZiTUpxSE1FSVMrUW50WXlLTXlhQitNVWlUZlNn?=
=?utf-8?B?QW03YXJneHN5R3lzRENlUUc4UU5KS1VZWTljd1c3SUNxSDVCblVQUGpLd2hD?=
=?utf-8?B?clZ1UU9QTzdXTm1ORk0ya1hrWnpjWWlOelFISDNra3M3dmxIZCt2UWRHWGVV?=
=?utf-8?B?bFFZbTFCbzAzTE1jZlBmc0pNeENVS0R5Wkk0OVRUSTJ3QldUbkh2NUxIUFBv?=
=?utf-8?B?NkRlZDVRb3F4bUVKOW5sYWtpcXVkQVNwNkQ5TkZ1dGZMMDVqN0xEdDdUeEds?=
=?utf-8?B?YStFQnhOUW1NMUtPU3YzRVF2NEJPalJaeFZYaFVUNU9hNTdOMitUT3FnMVVy?=
=?utf-8?B?UE9GcFdsUUFLSkZNcE9PdVBCN2wvTzFkcXZvNlBHV01la2psU1NXT293cjE5?=
=?utf-8?B?MS9MQTBEV2tYUUVTejgzNEppK25zSlhrRmJ4UXozRjhhdkFKcFpHZFFmMjNR?=
=?utf-8?B?elhMNk42T0swMGM3TExyOCtwTnB5Wkd3em9ZTHNVMVdLT09PbWJWanN3bmhY?=
=?utf-8?B?bUtzdGVIVlhhZ0FrMmxZNDZMMjdnbzJjeW4rL09DRkY3akRISE0xMDZpU2Y2?=
=?utf-8?B?eEY3VXV3SmxUZi9nQzJlcjRJN3psR1FXRzU3UmVVYjVCL0VSdHdYZ1I3em9M?=
=?utf-8?B?Z004WHNQcnJJYXRrSDJ4YnZkZTR3QnZBRE5oMTBFUUQ5dlR3eCtPRVZNR25Q?=
=?utf-8?B?ZitiaU9pdUxzOVpPMEU4eFdEbU4vU3ZKVjJwVERYS2hYZ0ZWOGxHRkZwYS93?=
=?utf-8?B?ZjVLMWRRV25ZZFlLamJEYzhnSUVXcE1VTEdiei84VzZvcTdENUhjK3FVcHZ0?=
=?utf-8?B?bUZweUpvdHZDV2dISGVnTUZlMnVSdHZCcEIyRmlYTnhyNWVOVjE2VU1Lcko3?=
=?utf-8?B?Nkd5WlV4UkZrVklLc0tjdHpQM3dlTFFXSDZzVXRxOEFCajM2dm41YWlwakdF?=
=?utf-8?B?VTY5Ris2bGNZTWluSUZBZm5hODlTOU5KcGNobWVzaGpJR1BrZzNXdzJ6SDdr?=
=?utf-8?B?c1AySlcrSDF2S1N5ZFdodHpsNlpMKzVSRG1GQXFsV1VNZ05pY1NtUmFrdGFr?=
=?utf-8?B?dnAvTTJrZXJ3NEh0bGdMNUYxL1FQSzZzSWtkSitoSHFpcy9wOVo0em1Qa21q?=
=?utf-8?B?VHpzN0QwNFhqeW1sWk4zUkxuTDQxc0FWMWtsOHJUR1RKK09zVFV5YklhdWw2?=
=?utf-8?B?T2FFMmFDRDBGVE9uVjNwNFFKOWZYL1pqVDZ2M3laU1VkZW43c0d4TUdlT2N6?=
=?utf-8?B?dXVMUmI5aFpyVU91aXJrR0JJNzZ4b3ZNbnBGNlVTWFlhakZEalNLem9SYXlp?=
=?utf-8?B?U002SUNXeGVZZHdEaUdkczhzQlA0NGExRWdlUnE5ejN3OGhCcFFJSVFtRXJu?=
=?utf-8?B?dzlJdy81QXMzVWJtUlZjamJRNk9EMG5FTVNISU1MRkpZbnRkY0lwRW9HUDNM?=
=?utf-8?B?Mnc3VHAvell4enNoNStyWEVqWEdwU1FjeGJWMS9kOVB5R1VDc2x2NHAzVmlh?=
=?utf-8?B?WnNqaFVubktQMVMySFBSczJIcVgzOTJsRXZacjh6QXo5cHpiYlFjaXFhbkRq?=
=?utf-8?B?Mk5IUUlNNzN6K1doV25GcFZvWWk3RFU0bHRiTzY0MERkV0ZtWkQrclphbFBJ?=
=?utf-8?B?TGxCWWVsZnNRb0liSWpNMjZ2d2ZEbWtza3lpT2J2Y3pvWTQySGZQeXBoeWwr?=
=?utf-8?B?Zzdmc0FaajdlNzVWUlZKY3VreVFrWS80clQ4VXlORGdTamNyY3drQkdvVVNN?=
=?utf-8?B?ZE5vM2thb3BlRSsrYkdaWGdxTHU1WW1Sd215cHhTcXRDT2Iyc2swT1BvbUdw?=
=?utf-8?B?UnJHd0F3VjhRT3NKQXlDNUNURy9mSlU4SzBJSlhQTk1ndHpVZnhDeUwwQmJH?=
=?utf-8?B?TGtmMzhWUDVZelJCRjZka2d1Tk1RaXdrVE45YnZEMWMzRmN3VGVTMG41WlFG?=
=?utf-8?B?dHcrVTc5NkZ1RWNYRS9mQ2EwZ2JrNjZnZkRwN1NKeEduNzNNcUk2a3ZXWEdN?=
=?utf-8?B?Nzd3N1RuMVJzNnRIam5EOVVHVXJIbG1Ia09OYmI4R3Fhckh5M2s5eFRobVVN?=
=?utf-8?B?dGxtUUNNWFdoOEI2R3lUd0tXQ2hOamFuTG0yRlFMeVI4QWRXU2t0M3lSSmRW?=
=?utf-8?Q?4R7/sCV6RfkeVKSnoagoZ3ime?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 871b2670-336b-4a8c-b1bd-08dda3c64dee
X-MS-Exchange-CrossTenant-AuthSource: BL3PR12MB9049.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 00:17:06.4516
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M7ixDJaRQ17ZIMl9QUcIYz3GcVpVGD2Q1k23Sk/68JvHlJkl59h4cDT7iHQJ8CY0dan8m5BNt0SqrKvhVD3cPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5923
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello Tom,

On 6/3/2025 11:26 AM, Tom Lendacky wrote:
> On 5/19/25 19:02, Ashish Kalra wrote:
>> From: Ashish Kalra <ashish.kalra@xxxxxxx>
>>
>> Ciphertext hiding prevents host accesses from reading the ciphertext of
>> SNP guest private memory. Instead of reading ciphertext, the host reads
>> will see constant default values (0xff).
>>
>> The SEV ASID space is basically split into legacy SEV and SEV-ES+.
>> CipherTextHiding further partitions the SEV-ES+ ASID space into SEV-ES
>
> s/CipherTextHiding/Ciphertext hiding/
>
>> and SEV-SNP.
>>
>> Add new module parameter to the KVM module to enable CipherTextHiding
>
> Ditto.

Ok.

>
>> support and a user configurable system-wide maximum SNP ASID value. If
>> the module parameter value is -1 then the ASID space is equally
>> divided between SEV-SNP and SEV-ES guests.
>>
>> Suggested-by: Sean Christopherson <seanjc@xxxxxxxxxx>
>> Signed-off-by: Ashish Kalra <ashish.kalra@xxxxxxx>
>> ---
>> .../admin-guide/kernel-parameters.txt | 10 ++++++
>> arch/x86/kvm/svm/sev.c | 31 +++++++++++++++++++
>> 2 files changed, 41 insertions(+)
>>
>> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
>> index 1e5e76bba9da..2cddb2b5c59d 100644
>> --- a/Documentation/admin-guide/kernel-parameters.txt
>> +++ b/Documentation/admin-guide/kernel-parameters.txt
>> @@ -2891,6 +2891,16 @@
>> (enabled). Disable by KVM if hardware lacks support
>> for NPT.
>>
>> + kvm-amd.ciphertext_hiding_nr_asids=
>
> s/ns_asids/asids/
>
> I'm not sure that the "nr" adds anything here.
>

Ok.

>> + [KVM,AMD] Enables SEV-SNP CipherTextHiding feature and
>> + controls show many ASIDs are available for SEV-SNP guests.
>> + The ASID space is basically split into legacy SEV and
>> + SEV-ES+. CipherTextHiding feature further splits the
>> + SEV-ES+ ASID space into SEV-ES and SEV-SNP.
>> + If the value is -1, then it is used as an auto flag
>> + and splits the ASID space equally between SEV-ES and
>> + SEV-SNP ASIDs.
>> +
>
> Ditto on Dave's comments.
>

Ok.

>> kvm-arm.mode=
>> [KVM,ARM,EARLY] Select one of KVM/arm64's modes of
>> operation.
>> diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
>> index 383db1da8699..68dcb13d98f2 100644
>> --- a/arch/x86/kvm/svm/sev.c
>> +++ b/arch/x86/kvm/svm/sev.c
>> @@ -59,6 +59,10 @@ static bool sev_es_debug_swap_enabled = true;
>> module_param_named(debug_swap, sev_es_debug_swap_enabled, bool, 0444);
>> static u64 sev_supported_vmsa_features;
>>
>> +static int ciphertext_hiding_nr_asids;
>> +module_param(ciphertext_hiding_nr_asids, int, 0444);
>> +MODULE_PARM_DESC(max_snp_asid, " Number of ASIDs available for SEV-SNP guests when CipherTextHiding is enabled");
>> +
>> #define AP_RESET_HOLD_NONE 0
>> #define AP_RESET_HOLD_NAE_EVENT 1
>> #define AP_RESET_HOLD_MSR_PROTO 2
>> @@ -200,6 +204,9 @@ static int sev_asid_new(struct kvm_sev_info *sev, unsigned long vm_type)
>> /*
>> * The min ASID can end up larger than the max if basic SEV support is
>> * effectively disabled by disallowing use of ASIDs for SEV guests.
>> + * Similarly for SEV-ES guests the min ASID can end up larger than the
>> + * max when CipherTextHiding is enabled, effectively disabling SEV-ES
>> + * support.
>> */
>>
>> if (min_asid > max_asid)
>> @@ -2955,6 +2962,7 @@ void __init sev_hardware_setup(void)
>> {
>> unsigned int eax, ebx, ecx, edx, sev_asid_count, sev_es_asid_count;
>> struct sev_platform_init_args init_args = {0};
>> + bool snp_cipher_text_hiding = false;
>> bool sev_snp_supported = false;
>> bool sev_es_supported = false;
>> bool sev_supported = false;
>> @@ -3052,6 +3060,27 @@ void __init sev_hardware_setup(void)
>> if (min_sev_asid == 1)
>> goto out;
>>
>> + /*
>> + * The ASID space is basically split into legacy SEV and SEV-ES+.
>> + * CipherTextHiding feature further partitions the SEV-ES+ ASID space
>> + * into ASIDs for SEV-ES and SEV-SNP guests.
>
> I think it is already understood that the ASID space is split between SEV
> and SEV-ES/SEV-SNP guests. So something like this maybe?
>
> The ciphertext hiding feature partions the joint SEV-ES/SEV-SNP ASID range
> into separate SEV-ES and SEV-SNP ASID ranges with teh SEV-SNP ASID range
> starting at 1.
>

Yes that sounds better.

>> + */
>> + if (ciphertext_hiding_nr_asids && sev_is_snp_ciphertext_hiding_supported()) {
>> + /* Do sanity checks on user-defined ciphertext_hiding_nr_asids */
>> + if (ciphertext_hiding_nr_asids != -1 &&
>> + ciphertext_hiding_nr_asids >= min_sev_asid) {
>> + pr_info("ciphertext_hiding_nr_asids module parameter invalid, limiting SEV-SNP ASIDs to %d\n",
>> + min_sev_asid);
>> + ciphertext_hiding_nr_asids = min_sev_asid - 1;
>
> So specifying a number greater than min_sev_asid will result in enabling
> ciphertext hiding and no SEV-ES guests allowed even though you report that
> the number is invalid?
>

Well, the user specified a non-zero ciphertext_hiding_nr_asids, so the intent is to enable ciphertext hiding and therefore
sanitize the user specified parameter and enable ciphertext hiding.

> I think the message can be worded better to convey what happens.
>
> "Requested ciphertext hiding ASIDs (%u) exceeds minimum SEV ASID (%u), setting ciphertext hiding ASID range to the maximum value (%u)\n"
>
> Or something a little more concise.
>

Ok.

>> + }
>> +
>> + min_sev_es_asid = ciphertext_hiding_nr_asids == -1 ? (min_sev_asid - 1) / 2 :
>
> Should this be (min_sev_asid - 1) / 2 + 1 ?
>
> Take min_sev_asid = 3, that means min_sev_es_asid would be 2 and
> max_snp_asid would be 1, right?

Yes.

>
> And if you set min_sev_es_asid before first you favor SEV-ES.
>

Ok.

> So should you do:
>
> max_snp_asid = ciphertext_hiding_asids != -1 ? : (min_sev_asid - 1) / 2 + 1;
> min_sev_es_asid = max_snp_asid + 1;
>

Considering the above example again, this will still be incorrect as with above change:

Taking, min_sev_asid == 3, max_snp_asid = 2 and min_sev_asid = 3.

So i believe it should be :

max_snp_asid = ciphertext_hiding_asids != -1 ? : (min_sev_asid - 1) / 2;
min_sev_es_asid = max_snp_asid + 1;


>
>> + ciphertext_hiding_nr_asids + 1;
>> + max_snp_asid = min_sev_es_asid - 1;
>> + snp_cipher_text_hiding = true;
>> + pr_info("SEV-SNP CipherTextHiding feature support enabled\n");
>
> "SEV-SNP ciphertext hiding enabled\n"
>
> No need to use the CipherTextHiding nomenclature everywhere.
>

Ok.

Thanks,
Ashish

> Thanks,
> Tom
>
>> + }
>> +
>> sev_es_asid_count = min_sev_asid - 1;
>> WARN_ON_ONCE(misc_cg_set_capacity(MISC_CG_RES_SEV_ES, sev_es_asid_count));
>> sev_es_supported = true;
>> @@ -3092,6 +3121,8 @@ void __init sev_hardware_setup(void)
>> * Do both SNP and SEV initialization at KVM module load.
>> */
>> init_args.probe = true;
>> + if (snp_cipher_text_hiding)
>> + init_args.snp_max_snp_asid = max_snp_asid;
>> sev_platform_init(&init_args);
>> }
>>



Return-Path: <linux-kernel+bounces-673911-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7840241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:19:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 7D0907A3880
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:18:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BEA5BC13B;
Thu, 5 Jun 2025 00:19:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="WgL8vUpD";
dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="kKhTXzk3";
dkim=fail reason="signature verification failed" (1024-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="FPDQ4yKB"
Received: from mx0b-00230701.pphosted.com (mx0b-00230701.pphosted.com [148.163.158.9])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EED3E1C28E;
Thu, 5 Jun 2025 00:19:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.158.9
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082753; cv=fail; b=sz3cOpa5HRiEcaJv3+LbZQDvpxKRsjit8R9m6Jo/D9urCYRZxCwuRXqlI4gt9dk/MWZEC7Lsb/0uQ5hjSJrCElvWaSGGqous3JAqd3LOutIGJ53GLiaINAy68j6UdnYWZnY+C/C12fjQfw3eAP8MezBicCGBxpVhkbMvebElf30=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082753; c=relaxed/simple;
bh=shUQA8G4baRGZQssNAdZ94M45v/yPmjNrv7F0vUZJsA=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=X7mWmSF+PI+Xqh8CDRGz68w5934jyFAvLsYGxSKhj9LXZeoaSQ0pYeorhg9s0HfWh2Yqo5qtXFUKb6u+Qq4/F7SfbbGYXGStZDJySdSP153j9k4fbQ9DcaPh97gmWEqdmNEqJVOsl8Bm8Pp6L4aWEgro6cTHGSMpiE/e4dU9rV0=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=synopsys.com; spf=pass smtp.mailfrom=synopsys.com; dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=WgL8vUpD; dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=kKhTXzk3; dkim=fail (1024-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=FPDQ4yKB reason="signature verification failed"; arc=fail smtp.client-ip=148.163.158.9
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=synopsys.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=synopsys.com
Received: from pps.filterd (m0297265.ppops.net [127.0.0.1])
by mx0a-00230701.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554Gv3jA022384;
Wed, 4 Jun 2025 17:18:57 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com; h=
cc:content-id:content-transfer-encoding:content-type:date:from
:in-reply-to:message-id:mime-version:references:subject:to; s=
pfptdkimsnps; bh=shUQA8G4baRGZQssNAdZ94M45v/yPmjNrv7F0vUZJsA=; b=
WgL8vUpDS5Xv6dYDd/IgB/uOa6nHjRiZzbq1uSEpeMdYY2Tc1enajzBQcr0OIzlb
QvhjNz/W77An0DqkakojP4AUZtSrEIaT2SgiE16BNgGVnrKg9tl3WU0FV2jnLwGb
N1ZuYJxkNaf7955azUrLHGDa+n07ejgaDQF9krGn9rSBdmwiXAHv+VaawJfB31EK
qhJ4YgS8DkZttKaHmHNIE2r2a7ecymEto9PtTQZlP0AdQlYICAEGluwy+CnvejE8
HnVVlEUb95wmveKYUf5hfqBpE8xfGDLqheC9G9Qctkp7UsqGCUAM26kKK6T7en1V
kT+TEWS4bY8ItHRgnqVpxg==
Received: from smtprelay-out1.synopsys.com (smtprelay-out1.synopsys.com [149.117.73.133])
by mx0a-00230701.pphosted.com (PPS) with ESMTPS id 471g9jvt2w-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 04 Jun 2025 17:18:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail;
t=1749082736; bh=shUQA8G4baRGZQssNAdZ94M45v/yPmjNrv7F0vUZJsA=;
h=From:To:CC:Subject:Date:References:In-Reply-To:From;
b=kKhTXzk3B26Y9FfBggsaP6TewijA9vkP5B1qoLWH0pgb4F91NW45pyZOfHxnxJqHG
Gv9EH0Dx+C0cBr1R7oejHbSrwEZryf07mBwrGN5jr+bMO1picL/TG63caa0rMlk6FW
jhZzYOVSs37wDW5viRcAqju1dPjIxcEjC7nkxc78O/mdbO4hzL8E1gMHkPK2h7zUYZ
SiULNeZPiDO2D1EzC7fSHpeYlLf/L0dylLHXY1F52n1M4vI6sv5nCcbRsIiucQYSCP
cuOcCGv2RdQPH8FQv48btfeRvAxvIBRUn7mjPju6AxtNwE6PLiQbulqbDt5P6lCNB0
Xx0OQHhZv72lA==
Received: from mailhost.synopsys.com (badc-mailhost4.synopsys.com [10.192.0.82])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits)
client-signature RSA-PSS (2048 bits))
(Client CN "mailhost.synopsys.com", Issuer "SNPSica2" (verified OK))
by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id AED6940114;
Thu, 5 Jun 2025 00:18:55 +0000 (UTC)
Received: from o365relay-in.synopsys.com (us03-o365relay1.synopsys.com [10.4.161.137])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
(Client CN "o365relay-in.synopsys.com", Issuer "Entrust Certification Authority - L1K" (not verified))
by mailhost.synopsys.com (Postfix) with ESMTPS id 036DEA00A7;
Thu, 5 Jun 2025 00:18:54 +0000 (UTC)
Authentication-Results: o365relay-in.synopsys.com; dmarc=pass (p=reject dis=none) header.from=synopsys.com
Authentication-Results: o365relay-in.synopsys.com; spf=pass smtp.mailfrom=synopsys.com
Authentication-Results: o365relay-in.synopsys.com;
dkim=pass (1024-bit key; unprotected) header.d=synopsys.com header.i=@synopsys.com header.a=rsa-sha256 header.s=selector1 header.b=FPDQ4yKB;
dkim-atps=neutral
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2047.outbound.protection.outlook.com [104.47.58.47])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange ECDHE (P-384) server-signature RSA-PSS (2048 bits) server-digest SHA256
client-signature RSA-PSS (2048 bits) client-digest SHA256)
(Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK))
by o365relay-in.synopsys.com (Postfix) with ESMTPS id 289D54056B;
Thu, 5 Jun 2025 00:18:54 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=TUwNOsh8vHN0bwSfYxRXFkEfntYaB0qcxm/qpp4KjpoiezZHeZtDscUokaGrbiu2RqotpvyyuJ1IEvtH2PEwS24lIGwSk1VSIWdlyvx4sst3bKuE9lIdiJUNJ0D+NF+EYakjeT8UVXXwo13OwcFmm2zMIMRec+r4ck8oVg99EfVTWQiv9vlaA/6yPPPiJiNpaXbnJQN4neJ7vilq97G4G9beJOY0ELj/CNkr5qSRLcYp0BKDxdZOH+OrC5gjT1njnwevWTHhB/YGuk/tDixq4acDoANls0aZ3G+/yPHKo9opkau+vcQgi5qsdfYqo94bLyDIF9pVXbevcoIPceHFuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=shUQA8G4baRGZQssNAdZ94M45v/yPmjNrv7F0vUZJsA=;
b=sOFDtzbH3gmR+rBBYqBOJlNZjIPtiq014fUaP6zhP8o1hiTt9Gl7XzDaR+i6wn8SQJMme3QJduTfPp0CSyz+1xa8HiqCarkZiYPH2QEzI04HulQcQykQJjISz4LVygaiA/FBp8UoJO4qqj40eqmhSgu4V83GsiSIlf+Mj8LdM1zWKFtFpxFIFkw2XPprjoG4Q3KiQy6O8Sp3harwrKLbjo58LLZJpD2TbDwMZQHVXSbo3WAwLe6v8qugR+kdyntXpBFmOJpnXDLFuQ4vJBYr+SogjeuLPNIe4hna5pblbgVo0m8twXAuzRuZa+EHyH+sLlJHXiql4CKDzdLQOcCdJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=synopsys.com; dmarc=pass action=none header.from=synopsys.com;
dkim=pass header.d=synopsys.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=shUQA8G4baRGZQssNAdZ94M45v/yPmjNrv7F0vUZJsA=;
b=FPDQ4yKBvTDTlzWpHm9nfx56VOMyEoT8BZtbJLDuR08ImbBUCG5YCgascHdaSYwmKC47+CxfxZSHuPAq+Mw9dfvvAAJMtzah2q7+odkQmpP0nlc2LUQJJSVKYVe3iduiHOpMLxdPSOFUkzkSPWDYmk2ZlswBAGEA/fP/A1C7rK4=
Received: from LV2PR12MB5990.namprd12.prod.outlook.com (2603:10b6:408:170::16)
by SJ0PR12MB6927.namprd12.prod.outlook.com (2603:10b6:a03:483::12) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.37; Thu, 5 Jun
2025 00:18:49 +0000
Received: from LV2PR12MB5990.namprd12.prod.outlook.com
([fe80::3d09:f15f:d888:33a8]) by LV2PR12MB5990.namprd12.prod.outlook.com
([fe80::3d09:f15f:d888:33a8%6]) with mapi id 15.20.8792.033; Thu, 5 Jun 2025
00:18:49 +0000
X-SNPS-Relay: synopsys.com
From: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>
To: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>
CC: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>,
"mathias.nyman@xxxxxxxxx" <mathias.nyman@xxxxxxxxx>,
Roy Luo <royluo@xxxxxxxxxx>,
"quic_ugoswami@xxxxxxxxxxx" <quic_ugoswami@xxxxxxxxxxx>,
"gregkh@xxxxxxxxxxxxxxxxxxx" <gregkh@xxxxxxxxxxxxxxxxxxx>,
"michal.pecio@xxxxxxxxx" <michal.pecio@xxxxxxxxx>,
"linux-usb@xxxxxxxxxxxxxxx" <linux-usb@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"stable@xxxxxxxxxxxxxxx" <stable@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH v1 1/2] usb: xhci: Skip xhci_reset in xhci_resume if xhci
is being removed
Thread-Topic: [PATCH v1 1/2] usb: xhci: Skip xhci_reset in xhci_resume if xhci
is being removed
Thread-Index: AQHby00IO9kpIg0s3ESarCv0vYf2UbPg2AyAgAO0D4CABExBgIAKR8YAgACoCAA=
Date: Thu, 5 Jun 2025 00:18:49 +0000
Message-ID: <20250605001838.yw633sgpn2fr65kc@xxxxxxxxxxxx>
References: <20250522190912.457583-1-royluo@xxxxxxxxxx>
<20250522190912.457583-2-royluo@xxxxxxxxxx>
<20250523230633.u46zpptaoob5jcdk@xxxxxxxxxxxx>
<b982ff0e-1ae8-429d-aa11-c3e81a9c14e5@xxxxxxxxxxxxxxx>
<20250529011745.xkssevnj2u44dxqm@xxxxxxxxxxxx>
<459184db-6fc6-453b-933d-299f827bdc55@xxxxxxxxxxxxxxx>
In-Reply-To: <459184db-6fc6-453b-933d-299f827bdc55@xxxxxxxxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV2PR12MB5990:EE_|SJ0PR12MB6927:EE_
x-ms-office365-filtering-correlation-id: ccd7c803-6f73-4da5-c4bd-08dda3c68b80
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
=?utf-8?B?NjBVcEEyU1YxZWtHaGE1dWtqMHZqSDQ0UHd0SjhxZmRlTnFHQkFKUDVyWkl1?=
=?utf-8?B?dk0yV2NGb1YzVk5SbUpzbVloYjlZUmxxcktHdi9zcnVoN25yTmdrTTlyMk9X?=
=?utf-8?B?eDU4NlNnZitmRXdPamh5S2Zzb2k2TCtJb2pqZlBweXBQWll3RW81R0hnNGxm?=
=?utf-8?B?SlFKOS9NRmhMN0sraEF3UXBLaE9hUzZ2WUFPSmRzbmN0dnQycFBaNG5ic3hW?=
=?utf-8?B?bTlMZ29pdlpZL3FSU2oxSDQrT0hXeDZGR2RvNHV1bGVqVGpsOVNoY3JCbUd1?=
=?utf-8?B?SElxR3FzaE9NaG1WZDM1aGNpRmhQdm4wNktnb24xNkI1V0NBSUFKTHVzT3hF?=
=?utf-8?B?dGM5YU40bmk0Rkxxci83RmhGWUNWbnpPdGR5OG9IRUdmc3VHdXBHUWlhWW1u?=
=?utf-8?B?U0E0R0Y0U0dOZE1KU2VUSmJ0ZUdZV2ROa0lFQ3hTQkVYQnlFRW5IcnBycGJu?=
=?utf-8?B?bG9EdzhaVFhLSEoxN28zWGEyZ2xIZVlDWDgvb1ZyYmNidnhhcjRraStDQkth?=
=?utf-8?B?QTRuV1ZZOW56bGQ4ekptaWlHWnpJTDlCdUJDVURMdHdVcHMvQ2hBaHNnemxl?=
=?utf-8?B?a0JTd0VjNEtxbDY5TXBYMHhLdUU4WGI1TFBvUlZYcmkvQUx3Vm0zRlVBZk5j?=
=?utf-8?B?UmRpclBTdDE2YUlLYVlrZDk4cERhU2YvOUV2SS8rSThMYXg1RTY3UFdaZmp2?=
=?utf-8?B?U0J6ZUpKVWxoSTgwekFDMnA5dHdCUXZPd2dDN0xQb2RBOFFzeDNsSWM5bHlT?=
=?utf-8?B?UDFzUW93ZkNHMWIxMDU3SUcyWHdCNkJrSmtycTN5bVhBSXFYOER4N3VJemw5?=
=?utf-8?B?ZDh5Vll2UlZ0WEMyZGxrS1N3djNOR05WYmQ3elJuTzg2ZmIxQWcrNENINTUy?=
=?utf-8?B?QTZaL28zQ1ZwVG9kQk1vOExiMHJTSkIySnBOQnlwd2JVYW1iUE52MGJTdXd1?=
=?utf-8?B?RHd5cVQwelBXVllLVU1hSVpQcVZwNTA0SldCbnBsZDNCOTBaaHc3ZE1GNDVM?=
=?utf-8?B?R0JHajZZOGtxM2FtYThvUTJHSkxDZHdLa2I2eEI2VmZnemFKOEorU1NIS1I2?=
=?utf-8?B?U0p4bXYxeWFEV0JvaDFPUHZzMHYzM1JpajZtV2hibjBCeUNLcTFrUWtXcWlP?=
=?utf-8?B?cEtoOVNhd3dteDVmaWJwTWRGVHhxNnhmL1d0eVZmU0I4OTgxakxpUXkzWFRj?=
=?utf-8?B?aTF0RElEREsvY2h2ai9LNXdncmxVeTZsUzI3ZGZQT05tS2hHS0hBeDE3dFZ5?=
=?utf-8?B?bitHMEtjSmNLcVRUTUJ4WEQ4YUxHTGRKUGx4UlV4TmczS0ZhMzgxVVI5R0J1?=
=?utf-8?B?eTk1NlBJVGYyNkc3QUtmUE0rQ1ZmdmlaRmFlWHhjRkc1OHNlOTRXY0xSZTIv?=
=?utf-8?B?ZndJQTROYlBEODhRV1V3NUtDVjJwMnhQZXA0SjJnQlpDaG8ycHA0bitIbW55?=
=?utf-8?B?eUlreUJ2bjJVZHNPMXNJcTRhcFhBZE51N2NlOExpMWlwVktlL2M2a2xkQTBi?=
=?utf-8?B?SWNMMThsZ3J3WS9hR3lyRGZod1VvZFpxWUxKejQ1cGlUU1dVY0gwMmYvSW0v?=
=?utf-8?B?czZvb0pVdGNnTFgvZzNsQ0ROeUloS3FLYjZockIzcHM5ZzFyV08wUXR1NEpq?=
=?utf-8?B?UUYvTHREYTNlbUhTRHdsbTFRcVdEMWxSZWxDS1gwTFBrdmhpZXBVQzBzVkw3?=
=?utf-8?B?bGtwYnJhUUFHejdGdjBiUlBFOWJzcWkydzh5Yy9mNlJYWTIycnVWU1V3T2FE?=
=?utf-8?B?cUVpWWNzOVV2T3l5cWRJMTExMXg1a3lrbjVUMlRnRStrYUQzcGtxaDdTcUMy?=
=?utf-8?B?YUJtVDN6TzNqVko2aUFPL2FGNVJzSkVCblFNQm9VNnJHWkZNMG54MXBkN0Ns?=
=?utf-8?B?Q0h0OFFBNDZlREVqVTZrcnE0ZHNPa0FKa080R3RZN0VFRThRQUdEcTREVC8x?=
=?utf-8?B?UGlxLzJSSENGbnd4Q2JsWkZZVDhrelE5eUlJTTFIZlNxNGlua2ZuMFlRTDZ4?=
=?utf-8?B?VHIzOThDbmtRPT0=?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?L3N2ODE1UUdJN3EwWHJUYWhDWGFBVXE3QVVUcklsVHY3eDhyVVVVcGF6N1RD?=
=?utf-8?B?elJwak4rYnpvaFdyREVqNFk0YXRjV25CakpzbUNLL3p5NGRxLy9meXlRbXFR?=
=?utf-8?B?ZURRMDNHbEQzbHN1SUVyQ3VYV3lBWmRydktHNW0vZElXc2NWMzg4UjVHellQ?=
=?utf-8?B?end5KzJoOW5sSUxEYnkreVBQbFFBTzZSa2pPcWpRaHh3cWZTdlY3WldHS1NL?=
=?utf-8?B?S0E3eGJkT0pkV0ZuTnU5cjY0RVhKTDlNU2dYTUN3a2VLWGNCczRrZlozOXdt?=
=?utf-8?B?VkE4VmhwNEU2TlZQMFh1clovV21vKzdYQnM5L2dCLzlVM0hVVEFRV056eUxX?=
=?utf-8?B?bVlEZVVmSThQKzF0U2VrVERxQlczQytkQ05HblFZdWU4SzBhcFlsb240U1dY?=
=?utf-8?B?M0tGM0tldVJuQ3NDM0IzQUNaeUdKaUFEdW1zVktnRkhpcDBETmhYQmN4dDJt?=
=?utf-8?B?OVdLazJuMVVzZHRhYStCdEthZVdpSzgrekJOQ0pTSFcxSStOVWFuWXJ4TnFK?=
=?utf-8?B?SjJSd3RpSmZjMU9RMGdvclM5SG5CYzh6SDBJL1dvZUxFaXZ5WG0wMzJNSVJ4?=
=?utf-8?B?UGljMDVGMEV1YS9taDVqZnFSWmdIVi9ENzMzYjFJK2VPelRxSDRtcGpleGU5?=
=?utf-8?B?cDlzbVRyUUhhL0dLY01CNTBWaXRhREc1MkhlSWJDK2N3UjBTV245dUJ6MUVP?=
=?utf-8?B?RmxtZGxRNmtsQmRnTTdvZjRuZWdQcnJhdlBTK3QyUXMySEV3cUxpQmhzbHVz?=
=?utf-8?B?R2tjSFhJKzIzS0RySlVwOTFVTXQzMklCYUZMSW1OVEM4L1RPUVc3aG9pNjcr?=
=?utf-8?B?K0Q0VWcvYWVQU2o0Vit0QUFuTk55RUF4VFJKWXVUSWg0ZWZURlBRVDFCbHNh?=
=?utf-8?B?MVdCWlZ2c3pHdnR4WGo2ZGxjREtaSFFOOXpveWROWHZXMHdaSjJaTkN6N1Z1?=
=?utf-8?B?b1NFOXl3ZVZrcU5lczlGMldmb24vbFl6SnVMVEY3TGJyOCtWV3FGRFVIdDUv?=
=?utf-8?B?TlhtRFdWNUVydVYxeGFRQ1RxM1o2UjVlRXRwYmJjeGh2eXVPdUZXQWc4OC90?=
=?utf-8?B?dHdPeDIwMEhIR0p2Tk1ZVXY1R0QxT2dHYUJaT2tyV3AzRU54NzB0aGlzTzdr?=
=?utf-8?B?YTUrVldSYjFKQmMzUnVWVUdTVUlvNmZsWjcwellMZ3dGSHR3bmdqbTNnekpJ?=
=?utf-8?B?Mk16Sk9NZm1ya1VVYW1PaUVEaHlyNkYreXBENXVST2FWZUZZR0J4ZU0zaHZt?=
=?utf-8?B?NDFDcFVhR00wYndYdnVGV0plMGJxQytaZ3RxbGUzRkt5T0NqaVFDRm9UUnVt?=
=?utf-8?B?aXFQWTE2aDNrMnN3ankybURqaEM1aEhSN0EvaFp6RTNjcGtKMGtleXRGOE9I?=
=?utf-8?B?MnRBc3JmaDNkbzV3cmV0M2phYVVrblZ3UThWdXpnWGRYcXVpdkpXQVFFbSt4?=
=?utf-8?B?T2gvMTFGU0hoakJiQkxrdXVpUW5vb25Fa3c3S1pVRHlzd1V4d2FIMGRyRk5X?=
=?utf-8?B?WmpvYjVVZ0pOZlJvOGljYTdHa0c3NUtuOE5EMy85TjZRUHFOMm1BZUdpRkJM?=
=?utf-8?B?N05LSDZBWGZ5NE9wMEpOT1hVNWE3MncxdHVZdEowVUR0cU0rdjVRbk5WeStp?=
=?utf-8?B?MmkzYnFnRERpcFF2RGlOZFlFNjI5bWd1NFkzclREOTIyME16QjhiVC9MejQw?=
=?utf-8?B?SnhXcndlMXBkK08yQWp5UVo5Um5naHNSa1FtcWlPZmFYTnMvSzhjL2lsWHpv?=
=?utf-8?B?aHNWVW5zeXJiSElhVTZxT0lYRWdSR1c5WGFPajl0YkR4V2MvZlZCVkxIL1ZB?=
=?utf-8?B?emIrMlBoVjgxYVlFckVVZElRVTV6Y1gyQ3Bza3p6aDZKTlBkdzl5L3o0VDNQ?=
=?utf-8?B?MUFWS1JybHZSMDMrNlRPeWY2QWo5TUpCNU5vQXNmcjd4MGdXZGhrQjZGOGNT?=
=?utf-8?B?SE9QWldxVFFxYVh3TTN2bHE2ZmprOUQ4QUJjOWM1K2JqdlpZeFlPTnJIdWVR?=
=?utf-8?B?Qmc0bVM0YkgrZEJhdlM2RUxOUFU0bDZETWJEL2lLQzF5Yk1ZalhLZ2drSUxE?=
=?utf-8?B?RjQvODdnTVh6eEJRZld5YUhZTndIakFjck5NRU50V25yOFE2TmptUzE2S1JQ?=
=?utf-8?Q?4yCKuyB4+m2PLyflah2cfj8tb?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C4AE499CC311FD429008BCAF23331FCF@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
/GUzQtnLQta+oNcePPmDZEk8e9G8nAGGeSeOVD7wDIK5BLN9MkcMgkt79WCUmhCnSk7JmullVAiW3AB9QCZmZdWuBu9ANj2IY4AfAH6pOmi7VKmJtZG5xgjWspSZm7axwNRJXBKPCktSh9eh9s+RYqDxu9Rf9+rNFT/GndDXLmHLbeJjPKBVHb7B7EipwS7yF/RkIy2wbuIX2Rtb0twcLPHqnfIklj12yV++HTsRb+G282bak2/mwHUOT58EIqcZRqcYLlPy3Jd+bwNFT7ooGt0X8uHQb5gRielbNFCwkMIimv2huAFRo/oKvMch1ykoS5rQQlV7LjcNrryU0Sgohu+SNhnFZXnvLhDlX69pOE9FSO1G7IjyDCLO6l3SAN6xocykL8c7ga93NuZ0KEJ7MCzt+CWtR9BNRuOQtW0nUem3mH1rSV5Tu98V2mN8HhuJcX0Gwj4w9GpvrWvVe8f3mR/gpz/qR1DKVsR+2LJ2+13/jLr01Kd8jIogV47QHUa/2yp/iZhetHAWTuptIjJR+RMgKtTvNhnoKw2Yc0lW2tZBxTrx92fOOdNfKerwTe2K5hNvxsboPEgvv1FOZFfXQ5Y49UAElhgbZGa9GsTFgVzujVAjGy1rdxkkdp52NgB45gmL+kVBxkCBFa4+/i5I1g==
X-OriginatorOrg: synopsys.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5990.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ccd7c803-6f73-4da5-c4bd-08dda3c68b80
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 00:18:49.5769
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: c33c9f88-1eb7-4099-9700-16013fd9e8aa
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Z1UqvRfA5DpdaEeMs5J4YeuNSkUCTnCZoS9Zgo4rqFSc0j8hmfvhlzYZGVHHc4JJoDCNnsO8q59pBNjnmJXO6Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6927
X-Proofpoint-ORIG-GUID: B4vsjL0wz0fzWDvsldG5-1SUGmrA3F3L
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDAwMSBTYWx0ZWRfX+J4AVv1MYRjF
11KzkWoiZ41SvcXyhp9LnWBgRt7OhMMalqclDea57givy2yROIRtDf3Ey8AfRH89lzck0nVfd6S
4xXD7QxzfDrq0/j9eE4h0pH57FxGNKaJ90OSZjbg5ZYRGbYVKIWAgXvaUQD3k4tTY2LzXj8F9CH
pwKTak4qEY4wMtzE2kb+G78lWXI6ey6lpA+sEcP/CkduY7rrN2b81QzHcRu3zlp4PH5XO+E9376
xmx2Eco/VCFw3Dm8lnABY2n+AX1iU/5eKH+vUaBJ//iwdjTDnySRgty3AibLpsbhthEneO6hrxH
PNL2ijU0bQ5hvUfyugc2xP+h77lACusg42J2tmuZc6AAVocqtKMX7U78mItYnRnc57JjxC9RZx6
YyBNKd6BKNayCQSNhFt7X8u0R92jTtcJme6Yg55qDmQBoEyZRsBSNDqEPqeN6NZIZKSxTyCy
X-Authority-Analysis: v=2.4 cv=VoYjA/2n c=1 sm=1 tr=0 ts=6840e271 cx=c_pps
a=8EbXvwLXkpGsT4ql/pYRAw==:117 a=8EbXvwLXkpGsT4ql/pYRAw==:17
a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19
a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10
a=6IFa9wvqVegA:10 a=qPHU084jO2kA:10 a=VwQbUJbxAAAA:8 a=QyXUC8HyAAAA:8
a=1XWaLZrsAAAA:8 a=8QUs_LkkJfGFSG9qAuwA:9 a=QEXdDO2ut3YA:10
X-Proofpoint-GUID: B4vsjL0wz0fzWDvsldG5-1SUGmrA3F3L
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-04_05,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_active_cloned_notspam
policy=outbound_active_cloned score=0 phishscore=0 lowpriorityscore=0
suspectscore=0 bulkscore=0 priorityscore=1501 clxscore=1015 adultscore=0
spamscore=0 mlxlogscore=999 malwarescore=0 impostorscore=0 mlxscore=0
classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0
reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506050001
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCBKdW4gMDQsIDIwMjUsIE1hdGhpYXMgTnltYW4gd3JvdGU6DQo+IE9uIDI5LjUuMjAy
NSA0LjE3LCBUaGluaCBOZ3V5ZW4gd3JvdGU6DQo+ID4gT24gTW9uLCBNYXkgMjYsIDIwMjUsIE1h
dGhpYXMgTnltYW4gd3JvdGU6DQo+ID4gPiBPbiAyNC41LjIwMjUgMi4wNiwgVGhpbmggTmd1eWVu
IHdyb3RlOg0KPiA+ID4gPiBIaSBNYXRoaWFzLCBSb3ksDQo+ID4gPiA+IA0KPiA+ID4gPiBPbiBU
aHUsIE1heSAyMiwgMjAyNSwgUm95IEx1byB3cm90ZToNCj4gPiA+ID4gPiB4aGNpX3Jlc2V0KCkg
Y3VycmVudGx5IHJldHVybnMgLUVOT0RFViBpZiBYSENJX1NUQVRFX1JFTU9WSU5HIGlzDQo+ID4g
PiA+ID4gc2V0LCB3aXRob3V0IGNvbXBsZXRpbmcgdGhlIHhoY2kgaGFuZHNoYWtlLCB1bmxlc3Mg
dGhlIHJlc2V0IGNvbXBsZXRlcw0KPiA+ID4gPiA+IGV4Y2VwdGlvbmFsbHkgcXVpY2tseS4gVGhp
cyBiZWhhdmlvciBjYXVzZXMgYSByZWdyZXNzaW9uIG9uIFN5bm9wc3lzDQo+ID4gPiA+ID4gRFdD
MyBVU0IgY29udHJvbGxlcnMgd2l0aCBkdWFsLXJvbGUgY2FwYWJpbGl0aWVzLg0KPiA+ID4gPiA+
IA0KPiA+ID4gPiA+IFNwZWNpZmljYWxseSwgd2hlbiBhIERXQzMgY29udHJvbGxlciBleGl0cyBo
b3N0IG1vZGUgYW5kIHJlbW92ZXMgeGhjaQ0KPiA+ID4gPiA+IHdoaWxlIGEgcmVzZXQgaXMgc3Rp
bGwgaW4gcHJvZ3Jlc3MsIGFuZCB0aGVuIGF0dGVtcHRzIHRvIGNvbmZpZ3VyZSBpdHMNCj4gPiA+
ID4gPiBoYXJkd2FyZSBmb3IgZGV2aWNlIG1vZGUsIHRoZSBvbmdvaW5nLCBpbmNvbXBsZXRlIHJl
c2V0IGxlYWRzIHRvDQo+ID4gPiA+ID4gY3JpdGljYWwgcmVnaXN0ZXIgYWNjZXNzIGlzc3Vlcy4g
QWxsIHJlZ2lzdGVyIHJlYWRzIHJldHVybiB6ZXJvLCBub3QNCj4gPiA+ID4gPiBqdXN0IHdpdGhp
biB0aGUgeEhDSSByZWdpc3RlciBzcGFjZSAod2hpY2ggbWlnaHQgYmUgZXhwZWN0ZWQgZHVyaW5n
IGENCj4gPiA+ID4gPiByZXNldCksIGJ1dCBhY3Jvc3MgdGhlIGVudGlyZSBEV0MzIElQIGJsb2Nr
Lg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IFRoaXMgcGF0Y2ggYWRkcmVzc2VzIHRoZSBpc3N1ZSBi
eSBwcmV2ZW50aW5nIHhoY2lfcmVzZXQoKSBmcm9tIGJlaW5nDQo+ID4gPiA+ID4gY2FsbGVkIGlu
IHhoY2lfcmVzdW1lKCkgYW5kIGJhaWxpbmcgb3V0IGVhcmx5IGluIHRoZSByZWluaXQgZmxvdyB3
aGVuDQo+ID4gPiA+ID4gWEhDSV9TVEFURV9SRU1PVklORyBpcyBzZXQuDQo+ID4gPiA+ID4gDQo+
ID4gPiA+ID4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcNCj4gPiA+ID4gPiBGaXhlczogNmNj
YjgzZDZjNDk3ICgidXNiOiB4aGNpOiBJbXBsZW1lbnQgeGhjaV9oYW5kc2hha2VfY2hlY2tfc3Rh
dGUoKSBoZWxwZXIiKQ0KPiA+ID4gPiA+IFN1Z2dlc3RlZC1ieTogTWF0aGlhcyBOeW1hbiA8bWF0
aGlhcy5ueW1hbkBpbnRlbC5jb20+DQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogUm95IEx1byA8
cm95bHVvQGdvb2dsZS5jb20+DQo+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gICAgZHJpdmVycy91
c2IvaG9zdC94aGNpLmMgfCA1ICsrKystDQo+ID4gPiA+ID4gICAgMSBmaWxlIGNoYW5nZWQsIDQg
aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IGRpZmYg
LS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2kuYyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS5j
DQo+ID4gPiA+ID4gaW5kZXggOTBlYjQ5MTI2N2I1Li4yNDRiMTJlYWZkOTUgMTAwNjQ0DQo+ID4g
PiA+ID4gLS0tIGEvZHJpdmVycy91c2IvaG9zdC94aGNpLmMNCj4gPiA+ID4gPiArKysgYi9kcml2
ZXJzL3VzYi9ob3N0L3hoY2kuYw0KPiA+ID4gPiA+IEBAIC0xMDg0LDcgKzEwODQsMTAgQEAgaW50
IHhoY2lfcmVzdW1lKHN0cnVjdCB4aGNpX2hjZCAqeGhjaSwgYm9vbCBwb3dlcl9sb3N0LCBib29s
IGlzX2F1dG9fcmVzdW1lKQ0KPiA+ID4gPiA+ICAgIAkJeGhjaV9kYmcoeGhjaSwgIlN0b3AgSENE
XG4iKTsNCj4gPiA+ID4gPiAgICAJCXhoY2lfaGFsdCh4aGNpKTsNCj4gPiA+ID4gPiAgICAJCXho
Y2lfemVyb182NGJfcmVncyh4aGNpKTsNCj4gPiA+ID4gPiAtCQlyZXR2YWwgPSB4aGNpX3Jlc2V0
KHhoY2ksIFhIQ0lfUkVTRVRfTE9OR19VU0VDKTsNCj4gPiA+ID4gPiArCQlpZiAoeGhjaS0+eGhj
X3N0YXRlICYgWEhDSV9TVEFURV9SRU1PVklORykNCj4gPiA+ID4gPiArCQkJcmV0dmFsID0gLUVO
T0RFVjsNCj4gPiA+ID4gPiArCQllbHNlDQo+ID4gPiA+ID4gKwkJCXJldHZhbCA9IHhoY2lfcmVz
ZXQoeGhjaSwgWEhDSV9SRVNFVF9MT05HX1VTRUMpOw0KPiA+ID4gPiANCj4gPiA+ID4gSG93IGNh
biB0aGlzIHByZXZlbnQgdGhlIHhoY19zdGF0ZSBmcm9tIGNoYW5naW5nIHdoaWxlIGluIHJlc2V0
PyBUaGVyZSdzDQo+ID4gPiA+IG5vIGxvY2tpbmcgaW4geGhjaS1wbGF0Lg0KPiA+ID4gDQo+ID4g
PiBQYXRjaCAyLzIsIHdoaWNoIGlzIHRoZSByZXZlcnQgb2YgNmNjYjgzZDZjNDk3IHByZXZlbnRz
IHhoY2lfcmVzZXQoKSBmcm9tDQo+ID4gPiBhYm9ydGluZyBkdWUgdG8geGhjX3N0YXRlIGZsYWdz
IGNoYW5nZS4NCj4gPiA+IA0KPiA+ID4gVGhpcyBwYXRjaCBtYWtlcyBzdXJlIHhIQyBpcyBub3Qg
cmVzZXQgdHdpY2UgaWYgeGhjaSBpcyByZXN1bWluZyBkdWUgdG8NCj4gPiA+IHJlbW92ZSBiZWlu
ZyBjYWxsZWQuIChYSENJX1NUQVRFX1JFTU9WSU5HIGlzIHNldCkuDQo+ID4gDQo+ID4gV291bGRu
J3QgaXQgc3RpbGwgYmUgcG9zc2libGUgZm9yIHhoY2kgdG8gYmUgcmVtb3ZlZCBpbiB0aGUgbWlk
ZGxlIG9mDQo+ID4gcmVzZXQgb24gcmVzdW1lPyBUaGUgd2F0Y2hkb2cgbWF5IHN0aWxsIHRpbWVv
dXQgYWZ0ZXJ3YXJkIGlmIHRoZXJlJ3MgYW4NCj4gPiBpc3N1ZSB3aXRoIHJlc2V0IHJpZ2h0Pw0K
PiA+IA0KPiANCj4gUHJvYmFibHkgeWVzLCBidXQgdGhhdCBwcm9ibGVtIGlzIHRoZSBzYW1lIGlm
IHdlIG9ubHkgcmV2ZXJ0IDZjY2I4M2Q2YzQ5Ny4NCj4gDQo+ID4gPiBXaHkgaW50ZW50aW9uYWxs
eSBicmluZyBiYWNrIHRoZSBRY29tIHdhdGNoZG9nIGlzc3VlIGJ5IG9ubHkgcmV2ZXJ0aW5nDQo+
ID4gPiA2Y2NiODNkNmM0OTcgPy4gQ2FuJ3Qgd2Ugc29sdmUgYm90aCBpbiBvbmUgZ28/DQo+ID4g
DQo+ID4gSSBmZWVsIHRoYXQgdGhlIGZpeCBpcyBkb2Vzbid0IGNvdmVyIGFsbCB0aGUgc2NlbmFy
aW9zLCB0aGF0J3Mgd2h5IEkNCj4gPiBzdWdnZXN0IHRoZSByZXZlcnQgZm9yIG5vdyBhbmQgd2Fp
dCB1bnRpbCB0aGUgZml4IGlzIHByb3Blcmx5IHRlc3RlZA0KPiA+IGJlZm9yZSBhcHBseWluZyBp
dCB0byBzdGFibGU/DQo+IA0KPiBPaywgd2UgaGF2ZSBkaWZmZXJlbnQgdmlld3Mgb24gdGhpcy4N
Cj4gDQo+IEkgdGhpbmsgd2Ugc2hvdWxkIGF2b2lkIGNhdXNpbmcgYXMgbXVjaCBrbm93biByZWdy
ZXNzaW9uIGFzIHBvc3NpYmxlIGV2ZW4NCj4gaWYgdGhlIHBhdGNoICBtaWdodCBub3QgY292ZXIg
YWxsIHNjZW5hcmlvcy4NCj4gDQo+IEJ5IHJldmVydGluZyA2Y2NiODNkNmM0OTcgd2UgZml4IGEg
U05QUyBEV0MzIHJlZ3Jlc3Npb24sIGJ1dCBhdCB0aGUgc2FtZQ0KPiB0aW1lIGJyaW5nIGJhY2sg
dGhlIFFjb20gaXNzdWUsIHNvIGNhdXNlIGFub3RoZXIgcmVncmVzc2lvbi4NCj4gDQo+IFdlIGNh
biBhdm9pZCB0aGUgbWFpbiBwYXJ0IG9yIHRoZSBRY29tIHJlZ3Jlc3Npb24gYnkgYWRkaW5nIHRo
aXMgcGF0Y2ggYXMNCj4gaXNzdWUgaXMgd2l0aCAobG9uZykgeGhjaSByZXNldCBkdXJpbmcgcmVz
dW1lIGlmIHhoY2kgaXMgYmVpbmcgcmVtb3ZlZCwgYW5kDQo+IGRyaXZlciBhbHdheXMgcmVzdW1l
cyB4aGNpIGR1cmluZyAtPnJlbW92ZSBjYWxsYmFjay4NCj4gDQo+IElmIHdlIGRpc2NvdmVyIHRo
ZSBwYXRjaCBpcyBub3QgcGVyZmVjdCB0aGVuIHdlIGZpeCBpdA0KPiANCg0KT2suIEZhaXIgZW5v
dWdoLg0KDQpCUiwNClRoaW5o


Return-Path: <linux-kernel+bounces-673912-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3CEFF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:20:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id AADF07A6FB1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:18:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2C0168460;
Thu, 5 Jun 2025 00:19:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="srTo5u8b"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 66BF63FFD;
Thu, 5 Jun 2025 00:19:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082795; cv=none; b=n4Uutlz/y16GJ55gM8uHxv7biAUsXzNUYCWiLbiGNF4jLKGXtP2IhytaMALNZDzME8qfGrYlNJAtOZB5TKyi6cn5lVon6klaiS+JgiBRSzjhqzgI/Pwx579Bxqn3KAfl4J0IMD+TxJser50zSWqXMwPBPshKWXAVJ27uO0o9d0I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082795; c=relaxed/simple;
bh=VlBPHKswdFhEZ3uF2RVOWoy66b5PdtafEBvGKyASFks=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=jSJmbVVqpCdfDSQrFP9u+NtA+jAPngE1bMDV25m8pCyIf+frp6WEoiZ8RyI/7VXyfvBA5w5eu490IIgSNO1JkiJGXFWpuepbqRflMrlTE2qJ3VLVuiKQmCqMfjC8jmGoCmCZk7aXi7fjFXvQjJdwoTI6TVocSv1bQOn2FoV0f8I=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=srTo5u8b; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7DF48C4CEE4;
Thu, 5 Jun 2025 00:19:53 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749082794;
bh=VlBPHKswdFhEZ3uF2RVOWoy66b5PdtafEBvGKyASFks=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=srTo5u8bdcK+mRQcTiVDZD2km4vcQ4GycZv4CBI3adRgnf1DO0xDM8Om2jPlybJ+m
qYJqFTCGWGdlifjAPMssjw1uTNDSdy39U0AxafS2BgXt+aUNXtX3hPARxJlE903jy5
WTZF12h+XLLBnCTbswDK5vN7jKEiKIftOxXVS+bujHAXy4hYe4O1BDZBKKI3ffpI4H
BxAk+IBfo/6UJwcgO+MqVnueMOiUKnxpdFZZ+TFOeICBcp+AwYMjoFKRBmsAOfCjZp
Ek4VOQzjhx+dxUW/UGlVHIxuYltVrIXjyTA5WaZyhaR+mI1+5XQQURTY1k9WlmxSIw
XmShEl5rWP+6w==
Date: Wed, 4 Jun 2025 17:19:51 -0700
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Petr Mladek <pmladek@xxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>,
Joe Lawrence <joe.lawrence@xxxxxxxxxx>, live-patching@xxxxxxxxxxxxxxx, Song Liu <song@xxxxxxxxxx>,
laokz <laokz@xxxxxxxxxxx>, Jiri Kosina <jikos@xxxxxxxxxx>,
Marcos Paulo de Souza <mpdesouza@xxxxxxxx>, Weinan Liu <wnliu@xxxxxxxxxx>,
Fazla Mehrab <a.mehrab@xxxxxxxxxxxxx>, Chen Zhongjin <chenzhongjin@xxxxxxxxxx>,
Puranjay Mohan <puranjay@xxxxxxxxxx>
Subject: Re: [PATCH v2 32/62] objtool: Suppress section skipping warnings
with --dryrun
Message-ID: <ycpdd352wztjux4wgduvwb7jgvt6djcb57gdepzai2gv5zkl3e@3igne4ssrjdm>
References: <cover.1746821544.git.jpoimboe@xxxxxxxxxx>
<7eccdb0b09eff581377e5efab8377b6a37596992.1746821544.git.jpoimboe@xxxxxxxxxx>
<20250526105240.GN24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<20250528103453.GF31726@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250528103453.GF31726@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, May 28, 2025 at 12:34:53PM +0200, Peter Zijlstra wrote:
> On Mon, May 26, 2025 at 12:52:40PM +0200, Peter Zijlstra wrote:
> > On Fri, May 09, 2025 at 01:16:56PM -0700, Josh Poimboeuf wrote:
> > > It's common to use --dryrun on binaries that have already been
> > > processed. Don't print the section skipping warnings in that case.
> >
> > Ah, I rather like this warning, it gives me an easy check to see if the
> > file has already been processed.
> >
> > I typically do a OBJTOOL_ARGS="--backup" build and run dryrun debug
> > sessions against those .orig files.
>
> Turns out, you already broke this.. :-(
>
> I'm now having a case where objtool fails on vmlinux.o and make happily
> deletes vmlinux.o and I'm left empty handed.
>
> Let me go resurrect --backup

Yeah, as I just mentioned in that other email, --verbose should give you
what you need. It also prints the cmdline args, which is nice.

But also, feel free to resurrect --backup, or you can yell at me to do
it as the backup code changed a bit.

--
Josh


Return-Path: <linux-kernel+bounces-673913-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2E45E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:20:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 6CF597A8784
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:19:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A8430C13B;
Thu, 5 Jun 2025 00:20:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="FYbo3ZHP"
Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013054.outbound.protection.outlook.com [40.107.159.54])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 86FA53FFD;
Thu, 5 Jun 2025 00:20:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.54
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082829; cv=fail; b=r2m+AIDCGzNyTAfiIFkh72wuMeeVwYZ57r+tEiVyyeaAr4l4uuJ4KHQRSdiIlisay/2Za653sLoQ9cH0MdkPQxxbvQvsm2rtHbeyYevZaV5IqwZ0k8nxsD5uM/K33d2zu553QSHDHwfh3QpRB0FtKcKoehx/PRNCG1+1mZIexn8=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082829; c=relaxed/simple;
bh=Sq4s3luz4PeJhYp1PBm+jl3IklKWHEmKqXaixHGPwns=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=nQpCIKQClur//nEI08Bvc37Ty9cysjlzzrm+uqrWznYEYO/YWt0Vz2K729D2csjXwA3g0emTMMLo0C4D05Gt0GzMn6GvK+6aBMjYS9aCFA9EKXhfbb6yD0pNfK95dsSuBgraFl6N+le8lmgDSd78xXuc8ZgT0d7AMqgEOh1kels=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=FYbo3ZHP; arc=fail smtp.client-ip=40.107.159.54
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=qaJiJ0ipFY+jrdFwaysUmz9gbWTTVNGOy2fiAx56KTIecIz2km8XhEshRMoHjZIu92tGLPkooeuPPYjKhWJOPRjU5eFKT0r0YqfD0PLImwRhyOXOw3r8ZVbsdp7yKoYI/6+3a968A71Q7yxeipmq4jeka/VFSGjvXRWwBZFsKI13vf1BUDrWy+OF7SJjYSNU9hM7nEzObGE59qXyiRSJissl6QNTY7vvooqpmDHtXdQ3yj/pyq0Pllnm/6DpAibO8ge96fwleMftDj0DB0RUTKFE152a5kQlvgvgo7RlaUrcSrxqXF3D1AGYh6zxUkYzGsIixWFYxaOLTO/JZ55+0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=Sq4s3luz4PeJhYp1PBm+jl3IklKWHEmKqXaixHGPwns=;
b=R+RTz3Cv6sxMN5HiRThP/J02FVHimh6OrnI5K8hDyR+HFsFiKhkz1FDnf+HKikk2JUFU0fUDInfpFUr6OwjwrI+pfVPVIVS8IhEtMdvsfoHPtROSYUhevcTjMITKVJde96122DvJI892if/FriK3uXY5xpxeoeDwhp1CpyVdJQ5v+u1jOz7leF+2IQVtnswL/9T9yxsOR1y/OuaNcrOf+M0YVc8C+2DZGX3/w6q1LkOxoHB9qezAAxu59tV2t9uFdkwBrjxNkBKdYZWYEAzoVOUqxPKaezflbCYjqoQ2JlIfsrJ8Ug1xHA7bol2oNuhS1rzBIJRbW+HwTRfl5L9Kag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
s=selector1-NXP1-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=Sq4s3luz4PeJhYp1PBm+jl3IklKWHEmKqXaixHGPwns=;
b=FYbo3ZHP+zEuuKTO2ZgXvWq+X2ZcVCJCAfqAOdVZUFAcz6EEjXuKOk8ZP3H1/SKMWsyJxF+83DU9H7s3+gkNlM33l8GCY/JKA5A9CvVxJQVEZrKfgjxp4HzOVW7gQq7egGAspo0TzSGS8Uv8kBKzlsa0TzcN0M8wRuUjMT9xPjaMgC/znIPILqISxFIh/+MRCsn1JlLCgszdJrba0PtzYD5I3bM85fvnns3bl+7+bqzV+OESngwyX8InHDpBsphHzt5mQiNOzZXbH66Cxb8YcxSIvPR9N2a+1W1IIVLgR4Kvk1PxzlidtpC7Wqd9MWJm62qiCapaWWKGacPYTMJjYg==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)
by DB4PR04MB11280.eurprd04.prod.outlook.com (2603:10a6:10:5e5::17) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Thu, 5 Jun
2025 00:20:24 +0000
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630%3]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
00:20:24 +0000
Date: Thu, 5 Jun 2025 09:30:23 +0800
From: Peng Fan <peng.fan@xxxxxxxxxxx>
To: Adam Ford <aford173@xxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, aford@xxxxxxxxxxxxxxxxxx,
m.felsch@xxxxxxxxxxxxxx, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 1/4] arm64: dts: imx8mp: drop gpcv2 vpu power-domains and
clocks
Message-ID: <20250605013023.GB29462@nxa18884-linux>
References: <20250530221713.54804-1-aford173@xxxxxxxxx>
<20250530221713.54804-2-aford173@xxxxxxxxx>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250530221713.54804-2-aford173@xxxxxxxxx>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-ClientProxiedBy: SI1PR02CA0003.apcprd02.prod.outlook.com
(2603:1096:4:1f7::20) To PAXPR04MB8459.eurprd04.prod.outlook.com
(2603:10a6:102:1da::15)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|DB4PR04MB11280:EE_
X-MS-Office365-Filtering-Correlation-Id: d3efd589-9572-497b-5f85-08dda3c6c3b4
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|366016|7416014|376014|52116014|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?IQk1ReAygbVHi5IrmuXuvSTMtX1jmtNyntO19YrTdzMKJSqDJk3dHfB5Mz+B?=
=?us-ascii?Q?AfmolQGENQ1k5cFWtEWbzyJryOWsXNarAFG2SocftXTm3T7sENjGJELQaIRS?=
=?us-ascii?Q?K6cZJc7k0R9pTP2Zt4ouZDFHxqDhAIXW5p38aD87TYFhUrPyVfEOkJfdB3Wq?=
=?us-ascii?Q?OcXw9NVe9vNKFCiUaBgRshteQzNQjgY8OzwobWOtb3+6A+eCtuJyteL9dOUw?=
=?us-ascii?Q?TvlPIGW2ljWVAN563rKujmPmtSqZrBPEITxWtLg+JWMBIaJNcV/Ch44pdHS+?=
=?us-ascii?Q?QucssFUoJBSQBt3UB55hzUinHvXQRkBqeMOQimV5MjPf++Snig4SL2PSBfIx?=
=?us-ascii?Q?U888aFMqSNgwqMmJGOHbp/hZugtmtxneBuS8LLyoO+9ttFv1DKMYjfC7Ny/+?=
=?us-ascii?Q?WroR/rv0/GJozphdFX2e6enouw+4/mNtnjE3TUheof4YUwPTDTsA48H7k8dc?=
=?us-ascii?Q?NXzCdNqi33CzwjLXnnKRwyyz3L9C6oM2Dmb+ZNW/0VNFDBb8LUllWJeW4qhL?=
=?us-ascii?Q?1jwYPg6uRcqWCQy6RcvQwrZaTsJ8q2Cw4ZaAHCWsJg4Gc3byEJXAnDHuzK9O?=
=?us-ascii?Q?HX3sM9sYwLgtATEf9Yy9i3XI8F4ioWVrE+KDPRqBi4Aretrl7bpNzFJjPe4m?=
=?us-ascii?Q?6PPajI0tnIzJJqX6F72yHlzQAQUQ2yFoaJxrcSfipElKheOADEtqi6ZXFenk?=
=?us-ascii?Q?1UKAUxaxfFfCkkWbzwly/NmyFmUTmpkRDvAvUKfKDnw9ZPsEcIGpyJCU9Qio?=
=?us-ascii?Q?XHoL9k1U38tyN49BMe/+Bt/r+iRry0TgZYLMQdutn//ut+oVQb6iu6rWebDZ?=
=?us-ascii?Q?BHl4CHKBIflTCxm9asO0Z6ZsEdOzT5dGr3/5deVAU4hxrvW28jTUSEa//TNm?=
=?us-ascii?Q?e3/ecBr7Mo+oCe8mR06sesaWV8H9GrqF17mdYS2xl2VxbeThfu1bGvUS2GBz?=
=?us-ascii?Q?/BqoR7mzr1LY0g9z2o93mZzW68oX+XaHbj4OsAv47ZOORH03adRbS3WFvtKp?=
=?us-ascii?Q?hwafBtJxNXlcUKyjLb3f/CYKZqT/fQDXI8KpGtv6BDvXT3Xcl6oa7hSfYqMr?=
=?us-ascii?Q?h/34Z/NjKPTzaOtOBhQ3aZguoJXOnljB0M/aN9ujvVIZbnb/Il/bZ/Dfz913?=
=?us-ascii?Q?/FRpxqHmP/sqBj7orrRz+pNuC+QMkQf99Ez+f4IQ/oefKNKsnDWk6z6zrFZS?=
=?us-ascii?Q?4ynkj0TlTu+/7NIDVkrmCj5HuJvqz5J5maqbzic7Y+q28YmdyRo2XtvUk2m6?=
=?us-ascii?Q?yO/oOICJ56JSmRxvaG3Ger727BrNvBJHJpCqylCmVcdKwVTWFhsCiZotCprb?=
=?us-ascii?Q?lvy1t5V85rxEYClwpya8tpEKyAIeG8Y6QtZW8Jf2ZaYq39v2CqbOmKGugTGG?=
=?us-ascii?Q?fX+j90HNO67eux9C0XvW7VRgBamCD2W+ZUUmC3fD0v1Dw3Mz4d+CoBdS7L+l?=
=?us-ascii?Q?UmiYex5O3jDFq0+N7UnO3bi/DU6pHcu9WiozuYpLDecjVPInYT2qGQ=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?H/wAhRuaLhj+s45lLtSzPawR5ToPLj26stUCsaftT44bovHCmr52KG00e98q?=
=?us-ascii?Q?BlWoN7tAVXdH5j6Ses4B68tAVQ7mStDKcurYASqoveV+4wGcubgcBus15X7p?=
=?us-ascii?Q?wqf3iQkZeP7Y2t1OKfD9lPiAcIGf2s7unxCmkCQRfthUsdP1grW1bAuOrQ4l?=
=?us-ascii?Q?hKKBHlzPTIallivy9K1z2moYRq5Nuq7IhTQmCDZZgrM8kbfDCF5MWfVBPrbC?=
=?us-ascii?Q?0eIGQxtRekPBSiI+OkRHHzTCUJIWTIFCyKFR73RKTnHYbHVT592lTh/pF8l/?=
=?us-ascii?Q?eqwOMtSJqrQn/oC+o3KnIip5mRN/ltkeBPWrl/kWeeZ12g8tD05NWEIaQakJ?=
=?us-ascii?Q?wn630/es/EFGgSyZavHfTjMlFWf+A40v0uHYONZbPXpCUVGXt3CrKx4pkL8L?=
=?us-ascii?Q?L0xOPHdkkshT8ljQGdvuTT3R319jIhBgmd7box50fo+b7uGFFQ/N1slGfFtb?=
=?us-ascii?Q?vNMPzaBcKpP81u9dn4h/q0amrxDgsmH1qCkshzGveJ9AwypgVnM2wMIj3Xvc?=
=?us-ascii?Q?EVerCPuZyyhNdqKvD15j8uB0MYTooRuYsGR/jXDQwfClbDpqzCrSmggfAk+p?=
=?us-ascii?Q?vZIYFSeovCh6bvGgThbmb+duck+PxUNmd1gdy0TTlBVUg7mXDtHdspuop281?=
=?us-ascii?Q?D2j7F4uyMNy0ZKoMpv2N+vv4D8aZzzG/0cGukvklAfeUoKeH31HAqe4SKTsw?=
=?us-ascii?Q?MZjmYm1qowb+Y8fFSiAlB6ncV/324TCF2ReauLXFP1GMYadqQYhASNQqk5rp?=
=?us-ascii?Q?LjJVzp9tykyjIBk4ctUss4S7yyVg1rLhJ8a7vyfrrOUb/alFKFhMEka3c2Ch?=
=?us-ascii?Q?PIcfaMhnwSd/+Jz9dIE9tOjm/HSXfn4BnVEnjemZp5PxB4w7sq/teWwaXmbl?=
=?us-ascii?Q?hwERuWB/rfmoHjL8qT+d0pCy9nzcAhh8mG7bDEJiQEYdRzE6cmuDKAkDoxSA?=
=?us-ascii?Q?Ma35U48+Y6DgJN5zB0MWHERJNeoH6ZyA5LDiTvz6jllydGiF9SWRQ4Qv3T6p?=
=?us-ascii?Q?d3Al8IUpQ+LF7fPSgT9/Id5Ou6QrWOcQwkGwIxmKgCt7VQuUm7fJ5qUh+Eb2?=
=?us-ascii?Q?PT1Jo+fUJTbVlcFzeC4RAZ+bm++z1wnnP8+CbalWnYoglWe5MedfaP9jPVSl?=
=?us-ascii?Q?fm69/Pit6yK6IY7dZ4j6QFqDvhEARTp4b3c2999QQsnwoqeQBbk5t8BdYkQU?=
=?us-ascii?Q?hbVrtQMF7NMRkyCFSorFvMC9jTWOqXnw9T/GXY2vyFCeC1GSKavAcHfcydfk?=
=?us-ascii?Q?ECrUGlITXu+u1JID8KnDPD/AUYbGHnbhcupuyEAd72DByVMm4o/qLgfR3Bc5?=
=?us-ascii?Q?UP9qzJ9Spbo5uTrUg/fznQAoB7otsNh8tz+F588UsxLHq8mdUmsI011qgRgX?=
=?us-ascii?Q?lKk75fD1oegd4c4hWoWg9iqqauH08PkjWXuShw5rTq4YlfVmyFAWxdDoKouW?=
=?us-ascii?Q?LvosUDVtqMbyGVl3+cQH7iYaTT23gJ5j8IL6gFea7ic5cCbAq0mAuhfXcvd2?=
=?us-ascii?Q?NpJ6Ja9aYkLJHwSiekLb7QNRlMrGwmA4xrBi3nWK+PIHwWYEsra42t//c5x3?=
=?us-ascii?Q?okbnwl+qkukV3aD93p4F8sxGvJICnfTqUTcb2k0a?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d3efd589-9572-497b-5f85-08dda3c6c3b4
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 00:20:24.0986
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sC4GZspf++qw/McjIUmmkrXaO5ksMQcONwstlKhwHBiw/uTDJmh3k9dBVAvN8oimdQoPmpsuOijrGOI15bI6fw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR04MB11280
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Fri, May 30, 2025 at 05:17:08PM -0500, Adam Ford wrote:
>From: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
>
>The GPCv2 G1, G2 and VC8000E power-domain don't need to reference the
>VPUMIX power-domain nor their module clocks since the power and reset
>handling is done by the VPUMIX blkctrl driver.
>
>Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>

LGTM: Reviewed-by: Peng Fan <peng.fan@xxxxxxx>

Just curious is there any issues without this change?

Regards,
Peng


Return-Path: <linux-kernel+bounces-673914-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 66D8E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:21:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 708193A82B9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:20:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4443A1F956;
Thu, 5 Jun 2025 00:20:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="JO0BD9Qa";
dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="QUwIZTwg";
dkim=fail reason="signature verification failed" (1024-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="wygaMb/j"
Received: from mx0a-00230701.pphosted.com (mx0a-00230701.pphosted.com [148.163.156.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C4589D2FB;
Thu, 5 Jun 2025 00:20:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.156.19
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082850; cv=fail; b=SN4B7q6fZ0j1P7LL7n4EAcPk/M9a8WA7u1JY0yOsyutdV0Ii/oyhoU8FA/WGMwIK2GZjI+Ph/Cp2CF0fVwsJnzZYHM83nP6OeagxF0XMIUCNoNQvXEAfaOt5sHPFiBupfvDTqvBCF2vYv5UGgrP9rO/rxpOqujj0H/lbJkRqwK8=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082850; c=relaxed/simple;
bh=WP24PW9SpHTDP6D/lgPqAvzQBeZFhXfllulT0r44P6M=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=OFU+aUezWQH2HJ+nYmOeCnM60Xcdl/twkeTYhWAbuaeJwj5/UGS06a44wBlbzPq5QTqbPD5czreEOJKPL6qeO6nOetFqbKWTuBPFEQKVzG0BWMU9zpbTHBHnqDbyt97wqv9kjs+V62osHCiFFM6Lv8rAVv/AVkvzCELey8GitTM=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=synopsys.com; spf=pass smtp.mailfrom=synopsys.com; dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=JO0BD9Qa; dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=QUwIZTwg; dkim=fail (1024-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=wygaMb/j reason="signature verification failed"; arc=fail smtp.client-ip=148.163.156.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=synopsys.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=synopsys.com
Received: from pps.filterd (m0098571.ppops.net [127.0.0.1])
by mx0a-00230701.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554Gv0mL029727;
Wed, 4 Jun 2025 17:20:23 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com; h=
cc:content-id:content-transfer-encoding:content-type:date:from
:in-reply-to:message-id:mime-version:references:subject:to; s=
pfptdkimsnps; bh=WP24PW9SpHTDP6D/lgPqAvzQBeZFhXfllulT0r44P6M=; b=
JO0BD9Qad4IQLpighN7QSDV3WpYGuh5XLF8zw1uAWtM0GmvgRxr4YqHyZ6CotnI6
jj1yHDPiGx5bTSN6dTqlZIfTa5ot/hgjD2kdv1y97w2fInxTW1vW/lVDN7MpWgJM
8gbJB3vgxfTW6ORfKXfiqdWCWECjQuwyR5x8sYaLsM2ffhuaH0N9kZWPemI/gCYs
l0UfZa16Gt2gSsSJkIDOuECoUwFryoBcrPPKvT2sp/vo9M1OCIMbHtyxq3c3Dkn0
bpw12vMpiyUn4RWb440WxceyFEwu5bNQSjv+B4eSc1pEp77aizY38kR486RaBlsM
QAFiMIM/6IHy53N2HeWFQQ==
Received: from smtprelay-out1.synopsys.com (smtprelay-out1.synopsys.com [149.117.87.133])
by mx0a-00230701.pphosted.com (PPS) with ESMTPS id 471g94mx29-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 04 Jun 2025 17:20:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail;
t=1749082822; bh=WP24PW9SpHTDP6D/lgPqAvzQBeZFhXfllulT0r44P6M=;
h=From:To:CC:Subject:Date:References:In-Reply-To:From;
b=QUwIZTwgenwJLkWdTFTKBWyRpUjZGWt0hOnrhel+gV82bbgku9JjqS7jTJq0qCWNl
BGz3+2cOCd0DSIljFMhZYbOlztNxWdl75Wcf3BaVxBy4/TNRluKRsOBoyGw121/UQf
PwUCM9bRfO7b7z81Hfii2jGMeVNrAHt6htQsPHBNQvh+AcZtFNznsofW0MdBGdzdNB
nJYNoZU0EusS1jjQe+JdU1m5P3sfLc0/Yf86o6x2ZwsRrkDZ8e9P5lhYcbYFoMOF5K
byaFgdd1lA8G1GBiYXtaSLsr4zFQCbqZ/yA1cTy2oTn8AQL4qRzfigHnSTVcGeK3Is
wRgYqZnRToB4w==
Received: from mailhost.synopsys.com (us03-mailhost2.synopsys.com [10.4.17.18])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits)
client-signature RSA-PSS (2048 bits))
(Client CN "mailhost.synopsys.com", Issuer "SNPSica2" (verified OK))
by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id 1F42840132;
Thu, 5 Jun 2025 00:20:20 +0000 (UTC)
Received: from o365relay-in.synopsys.com (sv2-o365relay3.synopsys.com [10.202.1.139])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits)
client-signature RSA-PSS (2048 bits))
(Client CN "o365relay-in.synopsys.com", Issuer "Entrust Certification Authority - L1K" (not verified))
by mailhost.synopsys.com (Postfix) with ESMTPS id 9863CA006F;
Thu, 5 Jun 2025 00:20:20 +0000 (UTC)
Authentication-Results: o365relay-in.synopsys.com; dmarc=pass (p=reject dis=none) header.from=synopsys.com
Authentication-Results: o365relay-in.synopsys.com; spf=pass smtp.mailfrom=synopsys.com
Authentication-Results: o365relay-in.synopsys.com;
dkim=pass (1024-bit key; unprotected) header.d=synopsys.com header.i=@synopsys.com header.a=rsa-sha256 header.s=selector1 header.b=wygaMb/j;
dkim-atps=neutral
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2175.outbound.protection.outlook.com [104.47.57.175])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange ECDHE (P-384) server-signature RSA-PSS (2048 bits) server-digest SHA256
client-signature RSA-PSS (2048 bits) client-digest SHA256)
(Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK))
by o365relay-in.synopsys.com (Postfix) with ESMTPS id 85CA940127;
Thu, 5 Jun 2025 00:20:18 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=KnkuN9MFKVjhZsUNAdvY6WXGi1U7OPWsuPWTRMtmUg3VXPFiUY0c8T5RcgD4yAwKROJ3NmkNiG5KLSz8rGhuWCO35SDO5Gt5aZ8QjQWbLvoCl8sabvIrx5Q/+jzD7VGSN0KSERYBNNvdU8KCGLAmfrb0NilfmyG3x51o2qdJmgCV5ZMGAJ4ouaj1RC4LwR3iAlb9USUiia6DjqDejaoOkVke3AL5QyHv2QMiubV09vKIiJ0gcipYUU0V3RbM5XeKxB5nSsn+RyRDypQ+r53nHQvRS6i2JecPiVZkqSjcC2Z9hth34QEbnEqh/GOBZ5GE6/uTmPVUIKggK0pKOaWYsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=WP24PW9SpHTDP6D/lgPqAvzQBeZFhXfllulT0r44P6M=;
b=MEi//QV/mvsDL7p8OzOaa65ONAyOFUsTp8WZclHjgOB+/PcN+Y51LlZ6CP5h+SoOM3udNXpAUHemGaQUzv12XoxMIlYl/61/8kl34kDruMpOga3SVpwGjrSNMvVbl1PSrbN3/AIckgmzvs71w4Sq04YkDz5dP4CoHRcPHTmp0QMClkc76hcju+dnxCqSoiuQvTiNb/VXoKLf0e6i6atvAsM4Tk9uw5zcCzGgGNOyiyxu72ybAuMGBzEE7YwEcthYtHsZhXnfA7uoHrZLXA3o2+DAPlB8t/RU7eIbnjUip09HQssRf+JbiKbgb8POaHPGqo9Qfvbr0h8CFH3bdPykiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=synopsys.com; dmarc=pass action=none header.from=synopsys.com;
dkim=pass header.d=synopsys.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=WP24PW9SpHTDP6D/lgPqAvzQBeZFhXfllulT0r44P6M=;
b=wygaMb/jbZQuP0LFk1+ESwQ82bx1d65kaU2eHq2hHAYVAmp2MLZ09YjWRvaYSTrhQuhAjvZG5l//4K0IFoqAjSPzwaInw6J9jiSvnalwcr61Yli0xvkirhemJYJ2HOFwSGhzm2Z0/mPLITf12HPNRxLkzZk6IwBOzkVAnWtf9iI=
Received: from LV2PR12MB5990.namprd12.prod.outlook.com (2603:10b6:408:170::16)
by SJ2PR12MB8977.namprd12.prod.outlook.com (2603:10b6:a03:539::20) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Thu, 5 Jun
2025 00:20:15 +0000
Received: from LV2PR12MB5990.namprd12.prod.outlook.com
([fe80::3d09:f15f:d888:33a8]) by LV2PR12MB5990.namprd12.prod.outlook.com
([fe80::3d09:f15f:d888:33a8%6]) with mapi id 15.20.8792.033; Thu, 5 Jun 2025
00:20:15 +0000
X-SNPS-Relay: synopsys.com
From: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>
To: Frank Li <Frank.li@xxxxxxx>
CC: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
"linux-usb@xxxxxxxxxxxxxxx" <linux-usb@xxxxxxxxxxxxxxx>,
"devicetree@xxxxxxxxxxxxxxx" <devicetree@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"linux-arm-kernel@xxxxxxxxxxxxxxxxxxx" <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
"bjorn.andersson@xxxxxxxxxxxxxxxx" <bjorn.andersson@xxxxxxxxxxxxxxxx>
Subject: Re: [PATCH 2/3] usb: dwc3: add layerscape dwc3 support
Thread-Topic: [PATCH 2/3] usb: dwc3: add layerscape dwc3 support
Thread-Index: AQHb1AnlUE7hkiv/E0uGFrAejSyRRLPwpAGAgADkEoCAAi8MgA==
Date: Thu, 5 Jun 2025 00:20:15 +0000
Message-ID: <20250605002011.d3qmst57d5zwtuow@xxxxxxxxxxxx>
References: <20250602-ls_dma_coherence-v1-0-c67484d6ab64@xxxxxxx>
<20250602-ls_dma_coherence-v1-2-c67484d6ab64@xxxxxxx>
<20250603012259.gyat6ungxyufhhbe@xxxxxxxxxxxx>
<aD8NxfmJjSMeQKOu@lizhi-Precision-Tower-5810>
In-Reply-To: <aD8NxfmJjSMeQKOu@lizhi-Precision-Tower-5810>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV2PR12MB5990:EE_|SJ2PR12MB8977:EE_
x-ms-office365-filtering-correlation-id: a192b1ed-7dd4-4107-2936-08dda3c6becd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
BCL:0;ARA:13230040|366016|1800799024|7416014|376014|38070700018;
x-microsoft-antispam-message-info:
=?utf-8?B?ZlpLZC91WmNtbVp6QnZJYmZJZnVUcUdjSVdUSlh0QUVxVVdheVd1Si9XY2Zl?=
=?utf-8?B?anJKMXg0WUZqdVJBZWQ4Yk94N1E3dS9uVXpra3lyWm9jaDlBOERSYzNtUXRl?=
=?utf-8?B?TVVJSHQzZFFhTDNReE1INEJ4ZUcrM1ZhYmNRZlBnVVNZb3dhM3NiQk92Z1V5?=
=?utf-8?B?Z0JhaTNIYkpzUlk3b3YxSkZZRkpoN1NSd3JCc3dhZXNuS3VTck9aaDl6RExs?=
=?utf-8?B?dU9GcS9Fb05PTzladVlaYitqajBCSTB5bmlJbWtmcDFnQkxnMnNKZlFTUHdz?=
=?utf-8?B?SUk5bktwTlp1ZVorSXpQU0w4UUF2Y3MvZlJtZ0ZnUlF5dmhSbDFwTm9hVThF?=
=?utf-8?B?THM1R21qeWp2TVlBOXYxZEtVano4YlBmSmxMdHM1SmRTT3ViaGNSUkxmWUY3?=
=?utf-8?B?djBHcmhFbFlwRDRoMTFDY1RuSmt2Ri9WKzdTRlVTa2NYT1pOV25Qb3BnQ3Ez?=
=?utf-8?B?UTBwQyt2TGsyT2N5RXk0bEZYM251YnhpeGpLMG1nL283czltQXc1ck9GZ21N?=
=?utf-8?B?MXp3SkY5WXYwUlJLYWIrOG5XOXRuYi9xaFhjN0g1eTJiNVZseWE2TzBFYjJO?=
=?utf-8?B?UnRXdW1ROW1VTHpYRlpQaDVuNk1mbmdmOVdpb1dFbW1oVmppeGh3VERoTFdP?=
=?utf-8?B?YzNUeTJ0cjlrWW9ma1BmbnE0TzlGUEJ4Q3ZOTU5lcFY3S2FOSXREQy9nck5i?=
=?utf-8?B?NW1yUVNqZW8yeUo2QTdUaFBGMmhXSjJiNkllUEg1R2tDQXUzczhsa2FWalBa?=
=?utf-8?B?b3VOUW9MTWN2cnlyakRJbzdMTU03dFN0NGVCZzFLa2ZyK2htblVHRFlUZUdK?=
=?utf-8?B?bitpU2JpMGQ3LytzYmZKcGpWZ0I0SW95UFZpTmlpNlNEeXl2THZUcmZ6THJt?=
=?utf-8?B?Y29DRUtwWGk1SjdaV3FucXRaWVZacDVkKy9tc0tLQnN4b3QyNFJ2UUxvamtO?=
=?utf-8?B?SXJHbEhsTkFTTTZ1R05CYitiZ0NuSEtxaVpsbVl2WWV3WGcvdWp0ejZKV0Y0?=
=?utf-8?B?R251MjNVbEk1UkZER1RiVmpEWFN5d1Z5OWMva0JTUE5CeW9MRERUU05IZEg3?=
=?utf-8?B?akRpbzJxM05pUDVwTHM0WXJreFBvMVhIWjVIMW1yZVFwNjl0NmJ5WVBNQ0lq?=
=?utf-8?B?WGxhU1p4T00rd0tPWnlXNVVQUEthTW13U1EwMHpWaFdxdW0yaEZ6ZmREYW0w?=
=?utf-8?B?M29vWWZ1SUs4N25vcnBkZWhWdkFqak9lNWwyN0xjWGhjK0lUMTRxcVBIc25v?=
=?utf-8?B?aXI5aU5peXAwVEp6VDdyQ3VTcWtWWVhiSWxQdi80b1lKM2ltR0M1MVg5Znpq?=
=?utf-8?B?UzNMczZDSExNM2JaVnY5MmkxZDEvUnF3M3J2MitlYzRMbkhBdXUvaTB1cGhE?=
=?utf-8?B?cm5CVkl2RktDeDZvV3dGZnNZalFiZzhKT2E4eGFWNU9ETUpvYU1iL2ZFRGhC?=
=?utf-8?B?cTBHaGFaOWh1ZVBDSE1hZllMUU02NHNlZUdsUUJrdnAyK3VmWHg4dSs2b2tx?=
=?utf-8?B?OHZsdENySXIyVlB5YlI5disvY1k4SjIrcFFRMHhEZnJzREFFY3BRc25QbHJh?=
=?utf-8?B?NVJpOUhyM0tTdmtMNDJHK2VEWmFxRVZqcmptZFhJOTBTbHhzMFFKUW5SMDJp?=
=?utf-8?B?UWxiQWhhdVpyd0VaOCs5MlU3TXlsQmRQYStrbWV1SlRLRUlsem1wVlhSUlhC?=
=?utf-8?B?eFBIQVBaVmg2RGI1bWU3eHJNajNQbVlkVC9PSzYwWVExOGNpV3g5V3lNMUVE?=
=?utf-8?B?R3Z6cWZ3aEZRVXcxTmhPMzdMczQzaFlNR3B6S2JkMDN4V3R3QXcrTDZTT0RB?=
=?utf-8?B?RmxUVmphcEIrYmdyVXpSN1dmNWhEYSsyUG14ekt3WVZIMDk2RFhCMHk5QTIv?=
=?utf-8?B?ZXV0YllJYVFBTTh2dVRtWXZjcVFqTk5oR1BUbXUvY1NOWE1uajlGRFArTlpt?=
=?utf-8?B?cTZlc29jNzNBSWtSSzFYektYN3lHaENQVEZRb1U1QmJwQXRncHlnc3AxZWZl?=
=?utf-8?Q?0oXImxntK2PB61bM656R/wm2Kbc9wI=3D?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?TW5DM3h4cU5nQlhkaENORk02ZzlXODBIQlJ1WjhlK1ArbFpiTVAwbmZ2VXFi?=
=?utf-8?B?anBsamFmMVg1VVd5ZGhRbWtZaExUaW5CL20wdTFveXJZUGpMOENXUWk0dHNz?=
=?utf-8?B?eHpJbmwreEg4YjEzM2pwL2V5TXkrUDhqeU5pNWY5MEpnR3ZNVFJUYkZPVElY?=
=?utf-8?B?NUdobENQSjdRZDBTNEJ1aS92ZmFMVDYrU0hYUlVIL29JazZOUHoxOFVjS3li?=
=?utf-8?B?eXJqOXhsblNYYTdyMUdXNnI4SnZhbmtZc2hJL0tMTXllOWRGU2FKWTFxMGt3?=
=?utf-8?B?ZTVRVWR5VlBjUXFxbkVBKy8xZ2MwMjFKUkNnM1pmbDN1STVROVFTOFlxNWlW?=
=?utf-8?B?VFFOclI2V3c1dXJCS054Z2h6SjI3RXoxRytGYkw2UzU4MFF6ckROU1J0TEV4?=
=?utf-8?B?ZXgxOFNNYStld0FzMnJKUnNJd2NlOGZMbjN3OE5IT21jSGlTQlNvTnpxNGVX?=
=?utf-8?B?RmY2K3BqaHVNOTZ5NDU0c3AxZSt5U1ZTSHFYZkJmSFh2ZVEvTXdQbjh1MjM2?=
=?utf-8?B?R0VYV0phU0JoZXgyRXB5WXYwK2N2YWNUTkoveGZBRjhpSnFkYUZsNE1rc0ZC?=
=?utf-8?B?RDhodUFPSnhKQVlCSUlDUmx5US9ORXdTQm9zZ1Zoa2dFbVVIZmhEM0U1aExj?=
=?utf-8?B?Wk1xdVlHSjhja2pHT3lFOHI2VWt4UStFdE0vWmNoMzFrUVZPZ1J3ZWNUaldh?=
=?utf-8?B?cHNDa3o5R2RUVHBjYjUzNUEyR09pR1dOYWJta0VNRUxBc2xYSmNTZzBaTlNW?=
=?utf-8?B?WitzQlR2K3NDY3NCVEZBM0ZaaVlVc3c4QmxGM2N4anQ0L0RQWUZUay94NHZG?=
=?utf-8?B?QzNxRmZaYnNnaklWZndubnAxZFhpTUxoU21PRHFPY0cySGNiaG9XRmw2NVJB?=
=?utf-8?B?Vk1SL0RiUERlYkx3S0ptV2VZa01abExUN0l6LzJUYlBWNDZyREFoZnRpbFdm?=
=?utf-8?B?TjI3N2hhcVBWQmp2WlhKRERISjZER3JLdllCVFJMV0syQkNLeGdiSWIwUjlF?=
=?utf-8?B?aU1yQndGRDFucUZySGc4YzF6M1BmL1h4MUxtemVPK2hmWEdrUksvK0NQVjcr?=
=?utf-8?B?a2tLN0ZSVXNTMER2QnVIVWI0Tm8vN01hMVdLNHdzNGtnekIxWC9OcGt4UHdq?=
=?utf-8?B?N0x5MXlCMGI3a0NaSS9JMytMK3BxblAxd1F2S2RNaHNoa1o2ai9UdXAydE9q?=
=?utf-8?B?dWdPRjVvQ1lKSFpmTmVEWENsNUlTWE9LQ0NFcCtHMnNqWnE5eUQ4SDNJMWV2?=
=?utf-8?B?Zy95d3l1NDJ2TW5qMGRiRFRycUZLbmtTSnZBWGp1Q0U1dmZieXM4b2JiREV4?=
=?utf-8?B?RnFtM1Z6TkRUbi9tT2MzQTlRMmFVM1hKc3lIajMzQUZRNUdCSDBlNVJuciti?=
=?utf-8?B?VUovL3pHRlRUM3QxU2NuYXFCSE0rbS83aG1EYU1OeXhod3ZrREE0Mkhxb2Yr?=
=?utf-8?B?dFF0eFZPTUhWQXZMUUNDNXdPZDdnMzFBdncrb3NpcHpOaldWdlpYZk1YbGd1?=
=?utf-8?B?S1R4YXJvNTRFMDcxRG9tMUdtRC9GYUZsMEhUaVdBNGxERUxoVUc3ZHVFZHVN?=
=?utf-8?B?QTk0WTFUR0lwTlY4TTY0eU9OQ2VmOHU5RW9JQWl4bTNGd0tNb1hpLytzNG45?=
=?utf-8?B?NnlGaG1uTDdUSmRiVnplemZYVUl4NkVXaGlDQ1BMbmNtb0RGVXR6aUVpRjVj?=
=?utf-8?B?cTVOM0taaHI5d1BrOCtwZi9oWHFWUEtQa2FQZmdFK0hvTTk4QnRYUFZObVpO?=
=?utf-8?B?ZisxS1VrRnJWL0xHV1BVZG92aUg2TVBaWVUzZVJKUjNWV1FRUWdyTTByUDk4?=
=?utf-8?B?N1ptenhnNTRmQVA4U3Vmd2pDeEkwaFFiMTNEaC9pblp5NGszWkpGVXo0T3lG?=
=?utf-8?B?V2RPTXJ5M1JyU0w4RmxrWklnNFpoMGdWTGlNYjBtR0t4bmE2R1ZqS2puK0V4?=
=?utf-8?B?eFljQU5KRmE3Z3dLY2Y5a2FsY1laTnlqMDZ2WDJldEI4b0NBQWp5clBpSXBV?=
=?utf-8?B?Y09icGRGWHNHOStnYXROdEJ3YkV5SFpVUGZDOEpUYjJKa01LTmxnVmJBQkEz?=
=?utf-8?B?RjZTaEwyTnc5L25YbHhabENlQWRvd3F2UXRmVktDa1o5LzJtUjkvZ0lNOFVx?=
=?utf-8?Q?3TcmpuAVLCKiSSAC8ldxrSLK2?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <DFFB22E2B5317F44BFEF916D7CD96624@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
EeE4PQdidLdVOXeOqWtpJc46H9MyEDv8K4I/qHlGnw2N+N0YNbhWt0sfV49uvdjqOZNYb95v8149odooYZeotwVpICRQjA2qcFgpSZqIVRdGvBmK4dHxTAICzOkFfUjQCPtIsHv5YcmdFcYgy+6g8e/iL9ga1Fzks/sS5TrpQkxVfJckwS3XgQtCOAGepbGrUZw+8nhar6++qVRqqHN2DXYP8lie6uI+/KLs3VrsDPiM8TtrHcjLQ+eQOWPsWimR3RTriofRM3cX2ehbWE7ivIsBDDUv75ri0gAxwRHz5mtnsdKQIoWSm/CtA156EGmphP7McJXAXujMtAvDsOj+4eeHUkKJf/63wRCHXIPiAGG9C7SJhCqmSzhKTL178GtQ2DVHcKnkTEa/am73y4chWdwv/aDVqJlzzzu5X5AyUyf00XvpVMA3p3R/1lbDHIophQfMB1jLO01Wno5r/NEI9DpOkMhXmDAsDgO58Sq93sK2JTQj/eMxWUDndg0SsaUNiTcxKdLMF6ja/s2YpGpwE2RkNwfe5BxproOq5xyfOSTMTt0Td2HAJY26bgDJS7t7tzaCdF/PuC+ygLAO38fTCA2xPm8X4G6NHt9T5JZ8jo3xMaOcHE1B4wp86pBaIFtxCnEQVpFATN0N799tdG1Wfw==
X-OriginatorOrg: synopsys.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5990.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a192b1ed-7dd4-4107-2936-08dda3c6becd
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 00:20:15.5880
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: c33c9f88-1eb7-4099-9700-16013fd9e8aa
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 0DzyvvcLfPcaru6H1VhX+bfvNKfgXhyuE402pKAaBfaVCXuplLw9meDEipdaWeqLP3qtGDqXy7/Qf+bp7JtNwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8977
X-Proofpoint-GUID: OVxErVPukTdYsKGrI3GHH0pi6w_cN8qv
X-Proofpoint-ORIG-GUID: OVxErVPukTdYsKGrI3GHH0pi6w_cN8qv
X-Authority-Analysis: v=2.4 cv=a4Yw9VSF c=1 sm=1 tr=0 ts=6840e2c6 cx=c_pps
a=t4gDRyhI9k+KZ5gXRQysFQ==:117 a=t4gDRyhI9k+KZ5gXRQysFQ==:17
a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19
a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10
a=6IFa9wvqVegA:10 a=qPHU084jO2kA:10 a=8AirrxEcAAAA:8 a=UtyII3912bwPhzYN4sgA:9
a=QEXdDO2ut3YA:10 a=ST-jHhOKWsTCqRlWije3:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDAwMiBTYWx0ZWRfX19JyzMB6RM+6
81iXA5bfhgmInz8AAa3onjmCWqEyNf0wh3gBslP68jotfbog1vhaJ8Q77W4+1GHQ95I6Q9Xxniz
shHOLZlxir9nY7/NkUsyHBfZX8pP5vQ/PJ2l6acRc+CbDoLAD7e3jWHuB7vCDgcPufGsZbrwChf
m5x4r6BCMzNelrhX2le3NIxxPq58SMKTryzqHMvgVrkKVJ08pYWMasUM/24kD49ZoRpqlFU4WWW
TT/D9zdQTVZYeiSjQazBPhzAo7wrK2RNRo8h1SSkoncHdk7P/WrP+tev4TRXnqJlAh+u9yYMh48
2ft5t3YCiWLbvfPnzf2vAvECQsJZEi1tm0UwJAOVf8NfP0heNFmtfn56P41pEXwFj/dfD3JNvxh
io2dI/ImYB6622fX7zhCxqmD7aPH8MeQ+iIUami3WKL2pNielvPF+rdT4oIJPk9zHGOx8B4J
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-04_05,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_active_cloned_notspam
policy=outbound_active_cloned score=0 priorityscore=1501 phishscore=0
impostorscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 adultscore=0
malwarescore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0
classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0
reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506050002
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gVHVlLCBKdW4gMDMsIDIwMjUsIEZyYW5rIExpIHdyb3RlOg0KPiBPbiBUdWUsIEp1biAwMywg
MjAyNSBhdCAwMToyMzowM0FNICswMDAwLCBUaGluaCBOZ3V5ZW4gd3JvdGU6DQo+ID4gSGksDQo+
ID4NCj4gPiBPbiBNb24sIEp1biAwMiwgMjAyNSwgRnJhbmsgTGkgd3JvdGU6DQo+ID4gPiBBZGQg
bGF5ZXJzY2FwZSBkd2MzIHN1cHBvcnQgYnkgdXNpbmcgZmxhdHRlbiBkd2MzIGNvcmUgbGlicmFy
eS4gTGF5ZXJzY2FwZQ0KPiA+ID4gZHdjMyBuZWVkIHNldCBzb2Z0d2FyZSBtYW5hZ2VkIHByb3Bl
cnR5IHNucHMsZ3NidXNjZmcwLXJlcWluZm8gYXMgMHgyMjIyDQo+ID4gPiB3aGVuIGRtYS1jb2hl
cmVuY2Ugc2V0Lg0KPiA+ID4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6IEZyYW5rIExpIDxGcmFuay5M
aUBueHAuY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgZHJpdmVycy91c2IvZHdjMy9LY29uZmlnICAg
ICAgICAgICB8IDEwICsrKysrDQo+ID4gPiAgZHJpdmVycy91c2IvZHdjMy9NYWtlZmlsZSAgICAg
ICAgICB8ICAxICsNCj4gPiA+ICBkcml2ZXJzL3VzYi9kd2MzL2R3YzMtbGF5ZXJzY2FwZS5jIHwg
ODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ICAzIGZpbGVz
IGNoYW5nZWQsIDk5IGluc2VydGlvbnMoKykNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJp
dmVycy91c2IvZHdjMy9LY29uZmlnIGIvZHJpdmVycy91c2IvZHdjMy9LY29uZmlnDQo+ID4gPiBp
bmRleCAzMTBkMTgyZTEwYjUwLi4xM2E4NmNmMDNiOTRiIDEwMDY0NA0KPiA+ID4gLS0tIGEvZHJp
dmVycy91c2IvZHdjMy9LY29uZmlnDQo+ID4gPiArKysgYi9kcml2ZXJzL3VzYi9kd2MzL0tjb25m
aWcNCj4gPiA+IEBAIC0xNTAsNiArMTUwLDE2IEBAIGNvbmZpZyBVU0JfRFdDM19JTVg4TVANCj4g
PiA+ICAJICBmdW5jdGlvbmFsaXR5Lg0KPiA+ID4gIAkgIFNheSAnWScgb3IgJ00nIGlmIHlvdSBo
YXZlIG9uZSBzdWNoIGRldmljZS4NCj4gPiA+DQo+ID4gPiArY29uZmlnIFVTQl9EV0MzX0xBWUVS
U0NBUEUNCj4gPiA+ICsJdHJpc3RhdGUgIk5YUCBMYXllcnNjYXBlIFBsYXRmb3JtIg0KPiA+ID4g
KwlkZXBlbmRzIG9uIE9GICYmIENPTU1PTl9DTEsNCj4gPiA+ICsJZGVwZW5kcyBvbiBBUkNIX0xB
WUVSU0NBUEUgfHwgQ09NUElMRV9URVNUDQo+ID4gPiArCWRlZmF1bHQgVVNCX0RXQzMNCj4gPiA+
ICsJaGVscA0KPiA+ID4gKwkgIE5YUCBMQVlFUlNDQVBFIFNvQyB1c2UgRGVzaWduV2FyZSBDb3Jl
IElQIGZvciBVU0IyLzMNCj4gPiA+ICsJICBmdW5jdGlvbmFsaXR5Lg0KPiA+ID4gKwkgIFNheSAn
WScgb3IgJ00nIGlmIHlvdSBoYXZlIG9uZSBzdWNoIGRldmljZS4NCj4gPiA+ICsNCj4gPiA+ICBj
b25maWcgVVNCX0RXQzNfWElMSU5YDQo+ID4gPiAgCXRyaXN0YXRlICJYaWxpbnggUGxhdGZvcm1z
Ig0KPiA+ID4gIAlkZXBlbmRzIG9uIChBUkNIX1pZTlFNUCB8fCBDT01QSUxFX1RFU1QpICYmIE9G
DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZHdjMy9NYWtlZmlsZSBiL2RyaXZlcnMv
dXNiL2R3YzMvTWFrZWZpbGUNCj4gPiA+IGluZGV4IDgzMGU2YzllNWZlMDcuLmNkNjM1Yjc3OTAy
ZmIgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL3VzYi9kd2MzL01ha2VmaWxlDQo+ID4gPiAr
KysgYi9kcml2ZXJzL3VzYi9kd2MzL01ha2VmaWxlDQo+ID4gPiBAQCAtNTQsNiArNTQsNyBAQCBv
YmotJChDT05GSUdfVVNCX0RXQzNfU1QpCQkrPSBkd2MzLXN0Lm8NCj4gPiA+ICBvYmotJChDT05G
SUdfVVNCX0RXQzNfUUNPTSkJCSs9IGR3YzMtcWNvbS5vDQo+ID4gPiAgb2JqLSQoQ09ORklHX1VT
Ql9EV0MzX1FDT00pCQkrPSBkd2MzLXFjb20tbGVnYWN5Lm8NCj4gPiA+ICBvYmotJChDT05GSUdf
VVNCX0RXQzNfSU1YOE1QKQkJKz0gZHdjMy1pbXg4bXAubw0KPiA+ID4gK29iai0kKENPTkZJR19V
U0JfRFdDM19MQVlFUlNDQVBFKQkrPSBkd2MzLWxheWVyc2NhcGUubw0KPiA+ID4gIG9iai0kKENP
TkZJR19VU0JfRFdDM19YSUxJTlgpCQkrPSBkd2MzLXhpbGlueC5vDQo+ID4gPiAgb2JqLSQoQ09O
RklHX1VTQl9EV0MzX09DVEVPTikJCSs9IGR3YzMtb2N0ZW9uLm8NCj4gPiA+ICBvYmotJChDT05G
SUdfVVNCX0RXQzNfUlRLKQkJKz0gZHdjMy1ydGsubw0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl
cnMvdXNiL2R3YzMvZHdjMy1sYXllcnNjYXBlLmMgYi9kcml2ZXJzL3VzYi9kd2MzL2R3YzMtbGF5
ZXJzY2FwZS5jDQo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gaW5kZXggMDAwMDAw
MDAwMDAwMC4uZDA5M2YxNzhlMWUzNQ0KPiA+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gKysrIGIv
ZHJpdmVycy91c2IvZHdjMy9kd2MzLWxheWVyc2NhcGUuYw0KPiA+ID4gQEAgLTAsMCArMSw4OCBA
QA0KPiA+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wDQo+ID4gPiArLyoN
Cj4gPiA+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjAgTlhQDQo+ID4gPiArICovDQo+ID4gPiArDQo+
ID4gPiArI2luY2x1ZGUgPGxpbnV4L29mLmg+DQo+ID4gPiArI2luY2x1ZGUgPGxpbnV4L29mX2Fk
ZHJlc3MuaD4NCj4gPiA+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQo+ID4g
PiArI2luY2x1ZGUgPGxpbnV4L3VzYi9vZi5oPg0KPiA+ID4gKw0KPiA+ID4gKyNpbmNsdWRlICJj
b3JlLmgiDQo+ID4gPiArI2luY2x1ZGUgImdsdWUuaCINCj4gPiA+ICsNCj4gPiA+ICtzdHJ1Y3Qg
ZHdjM19scyB7DQo+ID4gPiArCXN0cnVjdCBkZXZpY2UgKmRldjsNCj4gPiA+ICsJc3RydWN0IGR3
YzMgZHdjOw0KPiA+ID4gK307DQo+ID4gPiArDQo+ID4gPiArc3RhdGljIGludCBkd2MzX2xzX3By
b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ID4gPiArew0KPiA+ID4gKwlzdHJ1
Y3QgZGV2aWNlX25vZGUgKm5wID0gcGRldi0+ZGV2Lm9mX25vZGU7DQo+ID4gPiArCXN0cnVjdCBk
d2MzX3Byb2JlX2RhdGEgcHJvYmVfZGF0YSA9IHt9Ow0KPiA+ID4gKwlzdHJ1Y3QgcHJvcGVydHlf
ZW50cnkgcHJvcHNbMl0gPSB7fTsNCj4gPiA+ICsJc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYt
PmRldjsNCj4gPiA+ICsJc3RydWN0IHJlc291cmNlICpyZXM7DQo+ID4gPiArCXN0cnVjdCBkd2Mz
X2xzICpsczsNCj4gPiA+ICsJaW50IHByb3BfaWR4ID0gMDsNCj4gPiA+ICsJaW50IHJldCA9IDA7
DQo+ID4gPiArDQo+ID4gPiArCWxzID0gZGV2bV9remFsbG9jKCZwZGV2LT5kZXYsIHNpemVvZigq
bHMpLCBHRlBfS0VSTkVMKTsNCj4gPiA+ICsJaWYgKCFscykNCj4gPiA+ICsJCXJldHVybiAtRU5P
TUVNOw0KPiA+ID4gKw0KPiA+ID4gKwlscy0+ZGV2ID0gJnBkZXYtPmRldjsNCj4gPiA+ICsNCj4g
PiA+ICsJbHMtPmR3Yy5kZXYgPSBkZXY7DQo+ID4gPiArDQo+ID4gPiArCXJlcyA9IHBsYXRmb3Jt
X2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7DQo+ID4gPiArCWlmICghcmVz
KQ0KPiA+ID4gKwkJZGV2X2Vycl9wcm9iZSgmcGRldi0+ZGV2LCAtRU5PREVWLCAibWlzc2luZyBt
ZW1vcnkgcmVzb3VyY2VcbiIpOw0KPiA+ID4gKw0KPiA+ID4gKwlpZiAob2ZfZG1hX2lzX2NvaGVy
ZW50KG5wKSkNCj4gPiA+ICsJCXByb3BzW3Byb3BfaWR4KytdID0gUFJPUEVSVFlfRU5UUllfVTE2
KCJzbnBzLGdzYnVzY2ZnMC1yZXFpbmZvIiwgMHgyMjIyKTsNCj4gPiA+ICsNCj4gPiA+ICsJaWYg
KHByb3BfaWR4KQ0KPiA+ID4gKwkJcmV0ID0gZGV2aWNlX2NyZWF0ZV9tYW5hZ2VkX3NvZnR3YXJl
X25vZGUoZGV2LCBwcm9wcywgTlVMTCk7DQo+ID4gPiArDQo+ID4gPiArCWlmIChyZXQpDQo+ID4g
PiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIHJldCwgImZhaWwgY3JlYXRlIHNvZnR3YXJl
IG1hbmFnZWQgcHJvcGVydHkgbm9kZVxuIik7DQo+ID4gPiArDQo+ID4gPiArCXByb2JlX2RhdGEu
ZHdjID0gJmxzLT5kd2M7DQo+ID4gPiArCXByb2JlX2RhdGEucmVzID0gcmVzOw0KPiA+ID4gKwly
ZXQgPSBkd2MzX2NvcmVfcHJvYmUoJnByb2JlX2RhdGEpOw0KPiA+ID4gKwlpZiAocmV0KQ0KPiA+
ID4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCByZXQsICJmYWlsZWQgdG8gcmVnaXN0ZXIg
RFdDMyBDb3JlXG4iKTsNCj4gPiA+ICsNCj4gPiA+ICsJcmV0dXJuIDA7DQo+ID4gPiArfQ0KPiA+
ID4gKw0KPiA+ID4gK3N0YXRpYyB2b2lkIGR3YzNfbHNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9k
ZXZpY2UgKnBkZXYpDQo+ID4gPiArew0KPiA+ID4gKwlzdHJ1Y3QgZHdjMyAqZHdjID0gcGxhdGZv
cm1fZ2V0X2RydmRhdGEocGRldik7DQo+ID4gPiArDQo+ID4gPiArCWR3YzNfY29yZV9yZW1vdmUo
ZHdjKTsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9k
ZXZpY2VfaWQgb2ZfZHdjM19sc19tYXRjaFtdID0gew0KPiA+ID4gKwl7DQo+ID4gPiArCQkuY29t
cGF0aWJsZSA9ICJmc2wsbHMxMDI4YS1kd2MzIg0KPiA+ID4gKwl9LA0KPiA+ID4gKwl7fSwNCj4g
PiA+ICt9Ow0KPiA+ID4gK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG9mX2R3YzNfbHNfbWF0Y2gp
Ow0KPiA+ID4gKw0KPiA+ID4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGR3YzNfbHNf
ZHJpdmVyID0gew0KPiA+ID4gKwkucHJvYmUJICA9IGR3YzNfbHNfcHJvYmUsDQo+ID4gPiArCS5y
ZW1vdmUJID0gZHdjM19sc19yZW1vdmUsDQo+ID4gPiArCS5kcml2ZXIJID0gew0KPiA+ID4gKwkJ
Lm5hbWUgICA9ICJscy1kd2MzIiwNCj4gPiA+ICsJCS5vZl9tYXRjaF90YWJsZSA9IG9mX2R3YzNf
bHNfbWF0Y2gsDQo+ID4gPiArCX0sDQo+ID4gPiArfTsNCj4gPiA+ICsNCj4gPiA+ICttb2R1bGVf
cGxhdGZvcm1fZHJpdmVyKGR3YzNfbHNfZHJpdmVyKTsNCj4gPiA+ICsNCj4gPiA+ICtNT0RVTEVf
QVVUSE9SKCJGcmFuayBMaSA8ZnJhbmsubGlAbnhwLmNvbT4iKTsNCj4gPiA+ICtNT0RVTEVfTElD
RU5TRSgiR1BMIik7DQo+ID4gPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJGcmVlc2NhbGUgTGF5ZXJz
Y2FwZSBVU0IzIENvbnRyb2xsZXIgRHJpdmVyIik7DQo+ID4gPg0KPiA+ID4gLS0NCj4gPiA+IDIu
MzQuMQ0KPiA+ID4NCj4gPg0KPiA+IElzIHRoaXMgc29tZXRoaW5nIHRoYXQgY2FuIGJlIGVuaGFu
Y2VkIGluIGR3YzMtZ2VuZXJpYy1wbGF0IGdsdWUgZnJvbSBaZQ0KPiA+IEh1YW5nOg0KPiANCj4g
WWVzLCBJIGNhbiBiYXNlIG9uIFplaHVhbmcncyB3b3JrIHdpdGggbGl0dGxlIG1vZGlmeS4gUGxl
YXNlIGxldCBtZSBrbm93DQo+IHdoZW4gaGlzIHBhdGNoIG1lcmdlZC4NCj4gDQoNClN1cmUgdGhp
bmcuDQoNCkJSLA0KVGhpbmg=


Return-Path: <linux-kernel+bounces-673915-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 01D7E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:21:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 2E780176330
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:21:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 33A898F64;
Thu, 5 Jun 2025 00:21:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="i+0M8Fhq"
Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179])
(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 181691C695
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:21:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.179
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082903; cv=none; b=Qx4qNGuimtnDJ8NzTDc7OpohHdyVEgrLUWbz01Gs83eqIBhqkfanoSRYqv2qK4jY19EQt01HXN+M6OlFog47q8B9kDfJfw+h7ywehj3GU2GE5pLTX7L0senl1DpMdH27nchLyD1UDC2eTMCvLRZGKaPeLCbWBFT/T7CObyX/1+M=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082903; c=relaxed/simple;
bh=Rzc26UGss66HbG99AfC6Xrb6mr5yeBzZKHvJSIqoDx4=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=EsFhim1JLaWxuVv/Ji+ep7pg98aNUE1YEfLP+5R4RZmqCb5xG1Ue6v/y0SFqyYfM09Jd/HxD3vjsQaaNkHraIwSR2F6SwEyUDoKwyPcQMhTITMOgb7dhMr1wWqWKUvZtdKqlovFq6q1mmapFRZ8SYsks/W9XL+0HCGcfjiNwvVw=
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=i+0M8Fhq; arc=none smtp.client-ip=209.85.128.179
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
Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-70e5599b795so4937607b3.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 17:21:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749082901; x=1749687701; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=Vn+YpZ5oWgO6gZ9Q0emBGijkBmytA6hKk8jzRwcMZA8=;
b=i+0M8FhqOpQWbXlMRgHmkWiW0FKLuyX48DDUXMrqfN2Rm3wqFUv9Ie9dq4GS/A70qS
CZQOVy3vBlBQJ73YY8jOxO5tPCN1AfedivNN6NFxut5bF4FSqCUc0hT/MKGPMeSYME1/
MnDgkDB6B4g1nbCv+dq4fhurzdZcY53MUYOD2pVs4XFkD/dMTUakJIhVoT/VOxxXrEJF
42AknqnlBf74bIfw/7rdptgUsV3ISnuKK8XnyTsgGvV2IdW7GpMjI9T0z4glk0t0mZq5
PKrrDI166ncm7XmtB6MI0PeiDnnhvbQjTX0Pt9ZKJ9jq7W1B9fCnMWtdNlsaSMnAZ5/E
+4rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749082901; x=1749687701;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=Vn+YpZ5oWgO6gZ9Q0emBGijkBmytA6hKk8jzRwcMZA8=;
b=YsC0NKtfOXRv0t6gCvqNnK14/d+/TUxD0oi0fvsue6FjnKKEsFjJM12D73sRvhwKMy
7/FfbGmwEOUc+Env2l9Dd6uIO3G8r13vR7xmBKrD6RNMymH9PyIZ3acV1Ug/3ds4smAH
UIWz/BKTczLVd+REQ4e+r5UR/yNgNE8WTa0qHbyhliCdD5Wc5OomWfCGec1CC3kFEeTI
+rJT6hM5T4rTWCVnmLVQwChk8ngwcCxjpN06EfoD8rsviR+Qg+1H31VhB0dfIrEqjHsS
O6pwg5veccmfyJ7O3W3/Pr5Rdo0iPgGmxa1X2P7FLwK9mX06g9eRqareqkZQU0JiQVTs
XtBQ==
X-Forwarded-Encrypted: i=1; AJvYcCX64SWrxLkBMq1SApwEBAkSK/9sG0xilIDWeTS2NFZDd9S2eAaTF7Nms7Gr0U25dRS8Pzj4zzstuXavqko=@vger.kernel.org
X-Gm-Message-State: AOJu0YwKH4CHyQlvAEYajEUtFylH3emL1v6md42vYa1fu/9bbhRnHx39
xvrlU4/nxHXnorw5OAbidOQ0z5+9TlMJbeIu86Zq9wPhYL2qN2rxFmKc
X-Gm-Gg: ASbGncvjdng097t4eWzUr0efVUlYbGW8SjtnbId03D4k/iSiLo4vBOgciwuAqLyWOdD
8I660wD4Kh41MjRffLXNav58CZPoJtFXJNZEvBn8giZHLSBcVStDMl3clyIBAsP76cJx1vpOOvT
J2fFIw3Bzq78rudKgngDi8/7HM2jimly8Gid8I8hDtPnKR/CrSiqUcFMFHIe0N1tAefISkWXHyp
Ail1/gUNsBmCah+TdxacXaAAt6ZCr8gkFpfFRjwe3Qnb5QZVCSP7apZe/OhI6LPBwooPXaHQyi8
KEEF11mNeORhluquH0qbXkTzVAG/Kjh2qZOgiIBGkY4TGcBp+oaprBn0BT+SYJMc2M+v3p0tT8N
JT9mmup6rZaTaZjZN4xhHyA==
X-Google-Smtp-Source: AGHT+IFQt7fO9AECKZrf8OQSMHbCPAbYYxpHP3uMmGoGNb/ueCaBAW87Ibq1AW/FU41/+MnBGTaNrA==
X-Received: by 2002:a05:690c:d8f:b0:70e:7503:1181 with SMTP id 00721157ae682-710d9f2e395mr73630087b3.18.1749082900903;
Wed, 04 Jun 2025 17:21:40 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8ad005a6sm32221627b3.101.2025.06.04.17.21.40
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 17:21:40 -0700 (PDT)
From: Yury Norov <yury.norov@xxxxxxxxx>
To: Tejun Heo <tj@xxxxxxxxxx>,
Lai Jiangshan <jiangshanlai@xxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx
Cc: "Yury Norov [NVIDIA]" <yury.norov@xxxxxxxxx>
Subject: [PATCH] workque: fix opencoded cpumask_next_and_wrap() in wq_select_unbound_cpu()
Date: Wed, 4 Jun 2025 20:21:37 -0400
Message-ID: <20250605002138.47124-1-yury.norov@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>

The dedicated helper is more verbose and effective comparing to
cpumask_first() followed by cpumask_next().

Signed-off-by: Yury Norov [NVIDIA] <yury.norov@xxxxxxxxx>
---
kernel/workqueue.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 3bef0754cf73..3518ea5ec55f 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -2221,12 +2221,9 @@ static int wq_select_unbound_cpu(int cpu)
}

new_cpu = __this_cpu_read(wq_rr_cpu_last);
- new_cpu = cpumask_next_and(new_cpu, wq_unbound_cpumask, cpu_online_mask);
- if (unlikely(new_cpu >= nr_cpu_ids)) {
- new_cpu = cpumask_first_and(wq_unbound_cpumask, cpu_online_mask);
- if (unlikely(new_cpu >= nr_cpu_ids))
- return cpu;
- }
+ new_cpu = cpumask_next_and_wrap(new_cpu, wq_unbound_cpumask, cpu_online_mask);
+ if (unlikely(new_cpu >= nr_cpu_ids))
+ return cpu;
__this_cpu_write(wq_rr_cpu_last, new_cpu);

return new_cpu;
--
2.43.0



Return-Path: <linux-kernel+bounces-673916-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8D1B941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:22:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id C5BA0178001
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:22:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 74AD8DDC5;
Thu, 5 Jun 2025 00:22:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HTmnug0l"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B3DB82F43;
Thu, 5 Jun 2025 00:22:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082935; cv=none; b=INlYl1qNOTkB2lQ5Z+7kSVIZar/7k6UfX506WNNmIjmGOgB46UAgRxpkrY/wsIpjCxjzm20wE0MfIIxuWxbJZOHPDL8rJ2cW6Ll/WZ4T/1UkMAcQyZw1f41ydZb2W7Mc8NLwYYXkSCha0Uofi9sbtnvPZb/ddiAhkUwPJklc/+U=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082935; c=relaxed/simple;
bh=6/q73xe5zRQSNc9a93fuAwlkT85IVrJBXRq8AT/arok=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=MxaBvHGSIvoyRByBMafQ1jIi8U1TE2FzJC1nRbfBF7ILdvT9MJw+6fS2wqYkvdgI4wJpzY8+naECDKUaZ37rm4TfTEYwi0C6I/cEcOA1P9rPEUMo4dnWURihZ8pwZ8Lv5f6AdHhhrWZc+WqmKfgRJtD+YtNu75Y9kpVBfX+cpfM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HTmnug0l; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 83EA0C4CEE4;
Thu, 5 Jun 2025 00:22:13 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749082935;
bh=6/q73xe5zRQSNc9a93fuAwlkT85IVrJBXRq8AT/arok=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=HTmnug0l3MftKjinfBDulJrcGKbRxNQ0297A8tjDgtGxXhjLrJyeU8orTu13wiiVB
y7T/4rdZwfcBt/aYavkk3wejw0kVJLf6+KBKX1ZRF1efQJs92CqEFUxsXkHJpt2WSk
s6pYJooP58W9e7TLGt3C6wgWkLtkRFf8ExEwd1u+/Xe0dQ+U/vX3p92h2I3uGNVEtV
awZByAbb4r7sVpAXVytyWGZW2XCkYTNTDLPQJuiKrfBJfTGdPl2DfEOaquV2XCnJ6x
2zzUxfpzPWJGC3/mWjkQznX8T4acp06IxzB/oI9LcYryU1NA1GgzLAd0Vbc+Lk2KJe
/fxfLw1rDwcWg==
Date: Wed, 4 Jun 2025 17:22:11 -0700
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Petr Mladek <pmladek@xxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>,
Joe Lawrence <joe.lawrence@xxxxxxxxxx>, live-patching@xxxxxxxxxxxxxxx, Song Liu <song@xxxxxxxxxx>,
laokz <laokz@xxxxxxxxxxx>, Jiri Kosina <jikos@xxxxxxxxxx>,
Marcos Paulo de Souza <mpdesouza@xxxxxxxx>, Weinan Liu <wnliu@xxxxxxxxxx>,
Fazla Mehrab <a.mehrab@xxxxxxxxxxxxx>, Chen Zhongjin <chenzhongjin@xxxxxxxxxx>,
Puranjay Mohan <puranjay@xxxxxxxxxx>, Masahiro Yamada <masahiroy@xxxxxxxxxx>
Subject: Re: [PATCH v2 42/62] kbuild,x86: Fix module permissions for
__jump_table and __bug_table
Message-ID: <cv2xosjolcau7n3poyymo3yodhl4cokwmju53d3rwfsqhkbqym@rsvd5oqqhczk>
References: <cover.1746821544.git.jpoimboe@xxxxxxxxxx>
<9da1e9f592aadc8fbf48b7429e3fbcea4606a76a.1746821544.git.jpoimboe@xxxxxxxxxx>
<20250526110634.GO24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250526110634.GO24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Mon, May 26, 2025 at 01:06:34PM +0200, Peter Zijlstra wrote:
> On Fri, May 09, 2025 at 01:17:06PM -0700, Josh Poimboeuf wrote:
> > An upcoming patch will add the SHF_MERGE flag to x86 __jump_table and
> > __bug_table so their entry sizes can be defined in inline asm.
> >
> > However, those sections have SHF_WRITE, which the Clang linker (lld)
> > explicitly forbids combining with SHF_MERGE.
> >
> > Those sections are modified at runtime and must remain writable. While
> > SHF_WRITE is ignored by vmlinux, it's still needed for modules.
> >
> > To work around the linker interference, remove SHF_WRITE during
> > compilation and restore it after linking the module.
>
> *groan*
>
> This and the following patches marking a whole bunch of sections M,
> seems to suggest you're going to rely on sh_entsize actually working.
>
> There was an ld.lld bug, and IIRC you need to enforce llvm-20 or later
> if you want this to be so.

Hm, ISTR this working with clang 18, I'll go test that again.

--
Josh


Return-Path: <linux-kernel+bounces-673917-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B4A6741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:22:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 2E98A18996C9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:23:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 909D0101E6;
Thu, 5 Jun 2025 00:22:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=paul-moore.com header.i=@paul-moore.com header.b="angRW34m"
Received: from mail-yb1-f175.google.com (mail-yb1-f175.google.com [209.85.219.175])
(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 327C438DE1
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:22:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.175
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749082958; cv=none; b=fSY3dP0GQ7ZnUUrZxgjSFU6s9jguqbiZBbji+zWl52NmASYU6uCRj8Wo6MPSxkpVKNdlpgLRsowDi/iB/LDSNlatRuhtUoUqKjxJBN44cHiS5tyHNRzeHkC1h2lV8rod98arltvy6eUImnRTdSPkcJq48kOW8SjTa7kZ6c9EMJc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749082958; c=relaxed/simple;
bh=EHGIjtXSnhVWuj8W3if9/kBeCWZOJPIXUzlkSSJrcv8=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=uNIOWqzkpj/p011N75hjs5GTwVimT9bO94UKKGqL0dOyKuUx69DdC2PwKWLyXLmvrW1voZvKKs8tUimdY4KRK/BPQP7FCV7lSrtymuAnWFxVXIO1NmZKwrNzA8OIyyLJyoRI7Q0hrGVGZR3B2htsdV19BQvnWR4+2Zs2d/4Q7yk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=paul-moore.com; spf=pass smtp.mailfrom=paul-moore.com; dkim=pass (2048-bit key) header.d=paul-moore.com header.i=@paul-moore.com header.b=angRW34m; arc=none smtp.client-ip=209.85.219.175
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=paul-moore.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=paul-moore.com
Received: by mail-yb1-f175.google.com with SMTP id 3f1490d57ef6-e7569ccf04cso441722276.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 17:22:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=paul-moore.com; s=google; t=1749082955; x=1749687755; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=XvU2lNKxDYw6fCnyd5ZPbHAvFewoQW9WJ+3ogFjIWtk=;
b=angRW34maqZe/QKfbCk3Do7iigii3Ko8VT9ZnKngh3DmBp1RdHjlMrzxNCpYx3btPo
Us9B1J81+WK6n793fiBskFHl6csFL3B2D+FU6qVCrWDSPmcfTBcIXKTUZtum69yjh+nY
Of3v7bbpU2xQTRIS2jmtZo5GKMOFhLS3sKkmJkIrn+tk6ug+TJGjKkR2hvNt3jqO2Wxp
9EI5nJeG6HJ83fRKt9vZWvuttM+6/TOz7fjIuTC+a649gHOXQSLjlSnLRyvoqr7XeCdF
7QTD5B7zL0/T+8/4ZTjTDMoYH7kScoFDxfMub74VFDkBmW11iox8P8tkCHYsaULR6KFm
ZgIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749082955; x=1749687755;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=XvU2lNKxDYw6fCnyd5ZPbHAvFewoQW9WJ+3ogFjIWtk=;
b=JA6IMiEFqyHVulc/9JPL6W9lpf7Hql4x6MNphAaoKmKK0MrknxKzXZ2jPQ4qttIOh6
2fhvLz6xL9fUbpIu4cQ0VpozA5LjUg7n5flf11U/ZCA8jQsxA3i+BD/VFM3Tudz/I+84
C4PtcnAQzjvs1uxo03nWvRAOXhbetxDNjXzQ9Xh+1ECGdiTQ2BS8247xdpRn5t4911BE
5vkqxxyaNQSCqZMA3rAk5cjczZLJwipqxZU/HKQPEXkLdaLVJBrpZg8K7OHK5zsOOfpJ
9hRZDePjaZrxSCRONA3pPXWa2VWVOS06pfWxVa7mWnfvFo9+auHwvYsGbpp8IpGACKTh
zfEQ==
X-Forwarded-Encrypted: i=1; AJvYcCXXn7SruhhkBdGCx1xhoSLhsLBtm+MHOa0ctBp/giyd7sZgLKd8pyg96OBpS1B0V4d6PfvDty3ODZEnmMw=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw8yM1G455NXDcFKQ8FPZC02FaMCwtx/8FUQYntj+a+P3U7rxx2
sSvyFDOTJ56AeztO8VoAuyLDHL0vrlwXzgjlbO0nD9kXxq4qgCi0BgoyTWYhbUThMjiyoLOCrm1
jCEJe+YuUqTqaLG3O+CmFI/6NcnFoQb5wBnT/138R
X-Gm-Gg: ASbGncuYWSa6zkFv6gn4k1wWYz8+68Qs0+hd+PKISHOkS6/tsxe3hbmAdNaclou3V60
6XzQ5uMccEz8NnLNag0Zrw3wKwk+J1GlJ96KVF2jFuk0/E6XShMVDs4trdataTm+zgY6sc5Q/mR
QrYRwV5hq3TDO8/MhP8A3e5gUpdBsZWZH52TaAvvOo+1Q=
X-Google-Smtp-Source: AGHT+IHyeD9vA1nF1N0CsN+xv6bObN3Il3RSVuQijJN0bEgczCU08xaJqqCrRvDKJkd53t1PwCS+M9kMdUmEej7JZRY=
X-Received: by 2002:a05:6902:18d0:b0:e7d:c87a:6249 with SMTP id
3f1490d57ef6-e8179dbababmr7022769276.36.1749082955136; Wed, 04 Jun 2025
17:22:35 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <SCYP152MB62612944AD5E282EE26871DDB063A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
In-Reply-To: <SCYP152MB62612944AD5E282EE26871DDB063A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
From: Paul Moore <paul@xxxxxxxxxxxxxx>
Date: Wed, 4 Jun 2025 20:22:24 -0400
X-Gm-Features: AX0GCFvU4j5x9GEYGbLXyBKZlD9q6nwLVRHA0q2PfeW81xhSUMGxDfooZeZ462o
Message-ID: <CAHC9VhTcRP=7b3YAU+16twKX8jktDRAUyuzkn92O4ZVyPaTBxA@xxxxxxxxxxxxxx>
Subject: Re: PATCH 2/3] security: add Lilium - Linux Integrity Lock-In User
Module - Documentation
To: =?UTF-8?B?4oSw8J2Tg/Cdk4/ihLQg4oSx8J2TivCdk4DihK8=?= <milesonerd@xxxxxxxxxxx>
Cc: "serge@xxxxxxxxxx" <serge@xxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"linux-security-module@xxxxxxxxxxxxxxx" <linux-security-module@xxxxxxxxxxxxxxx>,
"linux-doc@xxxxxxxxxxxxxxx" <linux-doc@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Sat, May 31, 2025 at 9:07=E2=80=AFPM =E2=84=B0=F0=9D=93=83=F0=9D=93=8F=
=E2=84=B4 =E2=84=B1=F0=9D=93=8A=F0=9D=93=80=E2=84=AF <milesonerd@xxxxxxxxxx=
m> wrote:
>
> From 23d323f793b888bb2ad0d2a7a1ca095d5d64d0b8 Mon Sep 17 00:00:00 2001
> From: Enzo Fuke <milesonerd@xxxxxxxxxxx>
> Date: Sun, 1 Jun 2025 00:11:36 +0000
> Subject: [PATCH] Lilium Documentation
>
> ---
> Documentation/security/lilium.rst | 402 ++++++++++++++++++++++++++++++
> 1 file changed, 402 insertions(+)
> create mode 100644 Documentation/security/lilium.rst
>
> diff --git a/Documentation/security/lilium.rst b/Documentation/security/l=
ilium.rst
> new file mode 100644
> index 0000000..bd25ff6
> --- /dev/null
> +++ b/Documentation/security/lilium.rst
> @@ -0,0 +1,402 @@
> +.. SPDX-License-Identifier: GPL-2.0-only
> +
> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> +Lilium (Linux Integrity Lock-In User Module)
> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> +
> +:Author: Enzo Fuke
> +:Date: May 2025
> +:Version: 1.0
> +
> +Introduction
> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> +
> +Lilium (Linux Integrity Lock-In User Module) is a Linux Security Module =
(LSM)
> +designed to enhance system security by providing fine-grained control ov=
er
> +critical system operations. It implements a modular approach to security=
,
> +allowing administrators to selectively enable specific security mechanis=
ms
> +based on their requirements.
> +
> +The name "Lilium" is an acronym for "Linux Integrity Lock-In User Module=
",
> +reflecting its purpose of locking down various system operations to main=
tain
> +system integrity and security.
> +
> +Security Philosophy
> +------------------
> +
> +Lilium follows the principle of "secure by default but configurable". Al=
l
> +security mechanisms are disabled by default to ensure compatibility with
> +existing systems, but can be easily enabled individually through the sys=
fs
> +interface. This approach allows administrators to gradually implement se=
curity
> +measures without disrupting system functionality.
> +
> +The module is designed with the following principles in mind:
> +
> +1. **Modularity**: Each security mechanism can be enabled independently.
> +2. **Contextual Logic**: Security decisions consider the context of oper=
ations.
> +3. **Least Privilege**: Restrictions follow the principle of least privi=
lege.
> +4. **Compatibility**: Works alongside other LSMs in the Linux security s=
tack.
> +
> +Features
> +=3D=3D=3D=3D=3D=3D=3D=3D
> +
> +Lilium provides the following security mechanisms, each addressing speci=
fic
> +security concerns:
> +
> +1. **ptrace restrictions**
> +
> + Controls which processes can trace other processes using the ptrace s=
ystem
> + call. This helps prevent unauthorized debugging and memory inspection=
of
> + running processes, which could be used to extract sensitive informati=
on or
> + modify process behavior.
> +
> + When enabled, only processes with CAP_SYS_PTRACE capability can attac=
h to
> + other processes using ptrace, preventing unprivileged users from debu=
gging
> + or inspecting other users' processes.

I agree with all of the other feedback you've received, but I'm also
concerned that there isn't a common security concept tying all of
these access controls together; they are all standalone controls that
can be toggled on/off either at build or runtime. While we don't
necessarily require a full, formal security model for new LSMs, if you
have some reasoning as to why this collection of capability-based
access controls belong together in a LSM it would be good to share
that.

Even with a better explanation, and some agreement that it is
reasonable, it seems like these checks might be better suited as Yama
enhancements rather than a new LSM.

--=20
paul-moore.com


Return-Path: <linux-kernel+bounces-673918-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 096BC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:23:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 49933165AFF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:23:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 32111DDC5;
Thu, 5 Jun 2025 00:23:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="qPoF38Jz"
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.subspace.kernel.org (Postfix) with ESMTPS id 625016D17;
Thu, 5 Jun 2025 00:23:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.133
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749083020; cv=none; b=QvKzPw8kidLle06rpbc9YLaJrmfr4lkvGtS1ttrPAgV9SER0aEck9qymOJmK8CQ0N+FyFogElFJlFcOoHKUSjrx220snfe+w8Vj5Bn3pSiRdWB63jINADxrLIM+HGAhQc0CyXcgT5PJB6w+oI+BR3mF9tqfECB6G2I37GPf+vyY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749083020; c=relaxed/simple;
bh=08y6yBFFD19bLUtXW75mx5bv+aCMGbiPHBmnWkGMfWQ=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Aao3qRkl1a31d0HPIq5yCt3O1ItOHYOV5KuB7Ugv72nYF0CkH58LYA7OMqileM4LOpzsCZhk9mxIYwLGkNobaqYfKtcvKQV17nuOYHExLyhmx8UdfHF1YMn714LGk0xj2nUdEfRGwgjZulVqLyuhJeRNfl0rwpPwYKsJBXkAp4c=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=qPoF38Jz; arc=none smtp.client-ip=198.137.202.133
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
MIME-Version:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:
Content-ID:Content-Description:In-Reply-To:References;
bh=7rxV1GMXJ0RS56+/Kl1Ef1upQFNBCWvW7MU/FpTHT8M=; b=qPoF38JzeEQXj/ymHYiueEK6Xv
KDmd9sNar7WGdYLFs3fmSIhfDt/tFcvR8Y6VW25uvnBb0ImCavCn2RZNUlngngVKzcH4nvjsdfETt
/FUFlVGjfRBB+at/jvLilN7OORCkTl9D9wQ6bUyrX2zT9qGz1nGEOW3zVz6fMHe3seEmhKxabEQRv
PYUZf7plLmlUEPmH/LHCEUsma0hM6K8GxdAT4dDfnOH1vUO5mqLb6iG4MG6a1Bpw/b+vYkU27rlsV
7xd1G9GYKeatTi3XQaxjfrN+xXxXC3TU49/7peqIYkvRMicjisoF9wDIDwelXRVP4lkisSX5ptt6W
XXeA0jyA==;
Received: from [50.53.25.54] (helo=bombadil.infradead.org)
by bombadil.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
id 1uMyOP-0000000ERQT-3pxF;
Thu, 05 Jun 2025 00:23:37 +0000
From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Matthew Wilcox <willy@xxxxxxxxxxxxx>,
linux-doc@xxxxxxxxxxxxxxx
Subject: [PATCH] scatterlist: fix extraneous '@'-sign kernel-doc notation
Date: Wed, 4 Jun 2025 17:23:37 -0700
Message-ID: <20250605002337.2842659-1-rdunlap@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Using "@argname@" in kernel-doc produces "argname****" (with "argname"
in bold) in the generated html output, so use the expected kernel-doc
notation of just "@argname" instead.

"Fixes:" are added in case Matthew's patch [1] is backported.

Fixes: 0db9299f48eb ("SG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers")
Fixes: 8d1d4b538bb1 ("scatterlist: inline sg_next()")
Fixes: 18dabf473e15 ("Change table chaining layout")
Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>
Cc: linux-doc@xxxxxxxxxxxxxxx

[1]: https://lore.kernel.org/linux-doc/3bc4e779-7a79-42c1-8867-024f643a22fc@xxxxxxxxxxxxx/T/#m5d2bd9d21fb34f297aa4e7db069f09bc27b89007
---

include/linux/scatterlist.h | 4 ++--
lib/scatterlist.c | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)

--- linux-next-20250604.orig/include/linux/scatterlist.h
+++ linux-next-20250604/include/linux/scatterlist.h
@@ -99,7 +99,7 @@ static inline bool sg_is_last(struct sca
* @sg: The current sg entry
*
* Description:
- * Usually the next entry will be @sg@ + 1, but if this sg element is part
+ * Usually the next entry will be @sg + 1, but if this sg element is part
* of a chained scatterlist, it could jump to the start of a new
* scatterlist array.
*
@@ -254,7 +254,7 @@ static inline void __sg_chain(struct sca
* @sgl: Second scatterlist
*
* Description:
- * Links @prv@ and @sgl@ together, to form a longer scatterlist.
+ * Links @prv and @sgl together, to form a longer scatterlist.
*
**/
static inline void sg_chain(struct scatterlist *prv, unsigned int prv_nents,
--- linux-next-20250604.orig/lib/scatterlist.c
+++ linux-next-20250604/lib/scatterlist.c
@@ -73,9 +73,9 @@ EXPORT_SYMBOL(sg_nents_for_len);
* Should only be used casually, it (currently) scans the entire list
* to get the last entry.
*
- * Note that the @sgl@ pointer passed in need not be the first one,
- * the important bit is that @nents@ denotes the number of entries that
- * exist from @sgl@.
+ * Note that the @sgl pointer passed in need not be the first one,
+ * the important bit is that @nents denotes the number of entries that
+ * exist from @sgl.
*
**/
struct scatterlist *sg_last(struct scatterlist *sgl, unsigned int nents)
@@ -345,7 +345,7 @@ EXPORT_SYMBOL(__sg_alloc_table);
* @gfp_mask: GFP allocation mask
*
* Description:
- * Allocate and initialize an sg table. If @nents@ is larger than
+ * Allocate and initialize an sg table. If @nents is larger than
* SG_MAX_SINGLE_ALLOC a chained sg table will be setup.
*
**/


Return-Path: <linux-kernel+bounces-673919-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8EB3141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:24:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 683AF1899C6A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:24:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AE0272E40E;
Thu, 5 Jun 2025 00:23:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="kwXHm2FN";
dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="Exl2clL+";
dkim=fail reason="signature verification failed" (1024-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="Oaf64Kaf"
Received: from mx0b-00230701.pphosted.com (mx0b-00230701.pphosted.com [148.163.158.9])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70D0E6D17;
Thu, 5 Jun 2025 00:23:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.158.9
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749083028; cv=fail; b=HCrwXDDo2JC6awCSTsHX6KUVy4ZHKklsqCnr1BC2TinF83Op7s6WtGcMQtsw0fGBtTDujWviY2IlSB843rMAkbZCndz//bfphOc5t9hTW5vnacgH1NsyftzWGsxhDU84Y9EJyZHQBM4nrUHX9ROQiXg/lETGAjxb8gzcK6idOeU=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749083028; c=relaxed/simple;
bh=OswQKrCE9D6qAZBgIWjtvOXURUJM0UB9/JRrFHSSnNw=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=EN9fGm5wdSlvWVvpuvxkIhywbjTsJuZflwUicbl2DisFVKUnuy3BLlXVCusSWTu+LPwSY08bC/kzI5rfxoCW94nyQTYOpNvPza+x0Se+xUaSpBDtedgRiX6VlCUwH5H9Wh/hOVdjuoEnW14GYHOLTqJsbfu+RZqCpdmQuW8nmPI=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=synopsys.com; spf=pass smtp.mailfrom=synopsys.com; dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=kwXHm2FN; dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=Exl2clL+; dkim=fail (1024-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=Oaf64Kaf reason="signature verification failed"; arc=fail smtp.client-ip=148.163.158.9
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=synopsys.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=synopsys.com
Received: from pps.filterd (m0098572.ppops.net [127.0.0.1])
by mx0b-00230701.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554Guv5I023707;
Wed, 4 Jun 2025 17:23:40 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com; h=
cc:content-id:content-transfer-encoding:content-type:date:from
:in-reply-to:message-id:mime-version:references:subject:to; s=
pfptdkimsnps; bh=OswQKrCE9D6qAZBgIWjtvOXURUJM0UB9/JRrFHSSnNw=; b=
kwXHm2FNiq52rQnmtR+XMxk5gdfo8QCNpYvX0VCJE/5z9UmhNH/6e4TcB0KgN9fg
CWq2Iv3paZpKsUUQsfj1rWqbb+5v7BjCMvZJxACYk/xhWkn6wyaWPUlSlSeQstiZ
m8R0LGw5PdtP5l7Z/WD0x6K+4KL6V8ZNxANRoMVF3Y+jWFPZNvjq6Fe11uCBYx4X
zx1ai3JVnza8hRnJpplebZV8dB2XgOiavrkzu1ADJVQJpz9P2Bnnd2tIYZvm3GKN
BXZBAa9RtsIodlr+7aodrG7ll6SBCS33nzwErBzKcYpbxwYCv7hR9XkGi15656dM
evKjIIMdnihd2XWdcc0tQA==
Received: from smtprelay-out1.synopsys.com (smtprelay-out1.synopsys.com [149.117.73.133])
by mx0b-00230701.pphosted.com (PPS) with ESMTPS id 471g9mcr0g-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 04 Jun 2025 17:23:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail;
t=1749083019; bh=OswQKrCE9D6qAZBgIWjtvOXURUJM0UB9/JRrFHSSnNw=;
h=From:To:CC:Subject:Date:References:In-Reply-To:From;
b=Exl2clL+Lw+znjZsO+og263qcFBHs3zfNBrUgEc8T+4zF3CM4ldumpe2Zd42NxtCj
aQwSKAT75u49qFIKQiuxP/mV83U8m63ewdOAb3cp89ULQfHav/QBYvXlW1jM5NOFwj
qP6+MDxJ5d4TUBB1j2MkbJS3PfTOuRZDqzEF9KMwvquyKjF5zS5Koqjod5gLfosnpa
989Tz6kXKRK6JV7ts2hdIucyKX7S68w4kJF4CyfzuuPH4FOH6HgmQ+Me3+frYDGHCb
eBAUl+QLDRp1R0WzK80y+BajNHERoBHj2UQOVPH8+8QNMk6yjfnMoaUY0GFtLCdw1x
CsiLapbE8PFfA==
Received: from mailhost.synopsys.com (sv1-mailhost1.synopsys.com [10.205.2.131])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits)
client-signature RSA-PSS (2048 bits))
(Client CN "mailhost.synopsys.com", Issuer "SNPSica2" (verified OK))
by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id 0F7A5401D3;
Thu, 5 Jun 2025 00:23:38 +0000 (UTC)
Received: from o365relay-in.synopsys.com (us03-o365relay3.synopsys.com [10.4.161.139])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits)
client-signature RSA-PSS (2048 bits))
(Client CN "o365relay-in.synopsys.com", Issuer "Entrust Certification Authority - L1K" (not verified))
by mailhost.synopsys.com (Postfix) with ESMTPS id 49D5FA006E;
Thu, 5 Jun 2025 00:23:37 +0000 (UTC)
Authentication-Results: o365relay-in.synopsys.com; dmarc=pass (p=reject dis=none) header.from=synopsys.com
Authentication-Results: o365relay-in.synopsys.com; spf=pass smtp.mailfrom=synopsys.com
Authentication-Results: o365relay-in.synopsys.com;
dkim=pass (1024-bit key; unprotected) header.d=synopsys.com header.i=@synopsys.com header.a=rsa-sha256 header.s=selector1 header.b=Oaf64Kaf;
dkim-atps=neutral
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange ECDHE (P-384) server-signature RSA-PSS (2048 bits)
client-signature RSA-PSS (2048 bits))
(Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK))
by o365relay-in.synopsys.com (Postfix) with ESMTPS id AFB7B40115;
Thu, 5 Jun 2025 00:23:35 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=pz8KOxx06OsSHL2tkpvbGEmn1jhDzp0guMPNtf9RyLsmeovtscjlAY6m5GulT6b7qam9JbPOIU5e5/kAoO+YAINObaayPNFHlddHof/kBmPXDUhdQz/yzwmFJYaAEg8jP5F3HbqC4g5qXrSCAVMxakwBZYDJyfD3uJcKCq8e/itY7yU4NnqqNRUkmFn812QJwm1r5ne47+q9B2UhJ/SLEkWL+9o6m6S2uQHCu3GTpCzR29gJNMaDOhM2M7x2LO07Tlifn3KW/g1Zgmdi0nfVA4FwosRwBYV/chXH20sHXmSC4Aj2Nf+J+RUTPc6UO2GHtrb0gA03b0gS3ol/x20ENg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=OswQKrCE9D6qAZBgIWjtvOXURUJM0UB9/JRrFHSSnNw=;
b=S3lHM+WBJkrTPOVmfJLzS22SOA76Q69BteuxxP0R1FWT098vlzEEgb21dzRaYTd9MSkg8lPD5wSaoSaJHz3jIuHlYtBxYmWqKSUOF8sZY+6nopOSza/r1WYrq6wUZapMRRZznEGCsOWmoFzZ/YDQ9hMcEYXiVVrOGxj+q9BfZxnnFNWnuXzZ/Sw5VXqVtLdySC3IVkMpDYhTMMno7nPBQBz1ahHRHLQcklLpivqYzry78WU2P6Z6Aa6Gg5ZbyftRccvaPxlY/vBDOThRLhZIEr2p9vby5XQebZA/L51l6uAUO4jOZ+RKwBbEe0l1iBzQ1BEN8PyXKcQ517ZRCqf9gg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=synopsys.com; dmarc=pass action=none header.from=synopsys.com;
dkim=pass header.d=synopsys.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=OswQKrCE9D6qAZBgIWjtvOXURUJM0UB9/JRrFHSSnNw=;
b=Oaf64Kaf50bRYQcs6k58eAguXX9ES2H1EC7VCIE6Nc+y62D3JpwwQr0HlY3vQv1blPoRU4RZqgA4wgXYaezlLZWxjch7o7mDsf6AJQcRWG+FzM4IPwThBNuDbPXjo+WGzcTTP7nJXBT8b1SLnJ/kueP17TtAcqPsY4DBlhXRiXc=
Received: from LV2PR12MB5990.namprd12.prod.outlook.com (2603:10b6:408:170::16)
by SJ2PR12MB8977.namprd12.prod.outlook.com (2603:10b6:a03:539::20) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Thu, 5 Jun
2025 00:23:31 +0000
Received: from LV2PR12MB5990.namprd12.prod.outlook.com
([fe80::3d09:f15f:d888:33a8]) by LV2PR12MB5990.namprd12.prod.outlook.com
([fe80::3d09:f15f:d888:33a8%6]) with mapi id 15.20.8792.033; Thu, 5 Jun 2025
00:23:30 +0000
X-SNPS-Relay: synopsys.com
From: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>
To: Radhey Shyam Pandey <radhey.shyam.pandey@xxxxxxx>
CC: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>,
"gregkh@xxxxxxxxxxxxxxxxxxx" <gregkh@xxxxxxxxxxxxxxxxxxx>,
"michal.simek@xxxxxxx" <michal.simek@xxxxxxx>,
"linux-usb@xxxxxxxxxxxxxxx" <linux-usb@xxxxxxxxxxxxxxx>,
"linux-arm-kernel@xxxxxxxxxxxxxxxxxxx" <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"git@xxxxxxx" <git@xxxxxxx>
Subject: Re: [PATCH] usb: dwc3: xilinx: add shutdown callback
Thread-Topic: [PATCH] usb: dwc3: xilinx: add shutdown callback
Thread-Index: AQHb1Lsg783Hy0cMI0KtXijswhyhF7PztqUA
Date: Thu, 5 Jun 2025 00:23:30 +0000
Message-ID: <20250605002326.lbv2ltj2nfqj7s3u@xxxxxxxxxxxx>
References: <1748977771-714153-1-git-send-email-radhey.shyam.pandey@xxxxxxx>
In-Reply-To: <1748977771-714153-1-git-send-email-radhey.shyam.pandey@xxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV2PR12MB5990:EE_|SJ2PR12MB8977:EE_
x-ms-office365-filtering-correlation-id: 1360fa3f-d169-473b-e4d2-08dda3c732df
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info:
=?utf-8?B?L0hVZk40bTlKWC83Y3RwdWpxUVg1UEluK3l2a2F1SElVK0szN1V3bDJIOXBW?=
=?utf-8?B?dFg0OXJiakhQeGlVbExKWEdDZXVPdXNZTmdib1pCbVErT0tQbU02RWlqN2M4?=
=?utf-8?B?M1B6MkhTMzdIUXcvT2traTJrc2V2M0c0Ym5ubERYenI1L0Nid3h2WXdOVkUr?=
=?utf-8?B?b3crZ3BpVzMybU9Fb0hwMnRjWk0vcDl0bmh2Mmt0RlNybUVkZzNCdlhWbk5n?=
=?utf-8?B?aXQwU0hhdUs2N1JYcUMzRENUbFF5TEgyR21zdUhBMzNoU1Y3cEg3aUtKUDRw?=
=?utf-8?B?dHZIanFLZENGbEJndUF6cFB6dCt0dG02Q3BzcGlIKzhUSnNCeHpvUTgrSjR0?=
=?utf-8?B?OXN3dUNWdndCbnR4T0o2TXZzOFJtTVRFeXB0c0lUTWpUbUNsWkZ5YmViRzV5?=
=?utf-8?B?UFk2UG90NEMrRnRvRmRaaHZqcG81ZFNtQW0rVHVHT3dDelNQa1RDNVRRTEFW?=
=?utf-8?B?N1dQaDdrVXF3MVRSd0w5S3d1NUJtTE10Mk44dStxQ2VORkI3TjVYQlJPYlNt?=
=?utf-8?B?WnlmVXV6ZDhOL2E4OXhMMEhaaGVqRHBtbUpyMjdNSmlJR011M3JqM2RFR05s?=
=?utf-8?B?cGhzbXJnUW9obW1LZVRnaFFYa0llajJYQzNlSVBSWEJaUmhUSHk5S2Nydmcy?=
=?utf-8?B?NUlpd2NBMS9TZ3hSNGdObEpINmJVVlhFNDZYcjUxcE52VFhpOCtrbHNNWHQ4?=
=?utf-8?B?WjlPcjZkNDhYOWhsQUJTcXZXbHdQb3dWTTlKaG5IcWcrR1BRcmJPbzRPSVdB?=
=?utf-8?B?R25tNEc5YktRS2dicFVVK0syT0dLbVBhdmVMRjJNejZ0dkdjMUZYNUpoTjdV?=
=?utf-8?B?VzJDVllONGFiOHR4aE1PKzgvN2JHTk13VGtCM3g5emFGckxDbXZBUlRrUmpl?=
=?utf-8?B?MUZkdjlXblVvZzlSelowOG90SldzNStkYnM1QWs1aWZEcE5tZGF6WEZKZ05r?=
=?utf-8?B?bDB4cTVDbzhzLzd3MUd3NVloRllZd0JJSnJBL2ExazJmemlkY010czEzK2VO?=
=?utf-8?B?a3hYL3lSSlFRZ0RweTVUM0RvUElDNThpWXc3UlJ6dmVxVVJzc1pZNkg5ZG5l?=
=?utf-8?B?Mko3TFF0aVRXaXUydFZySWhzblRWVDN2RkVjTXZVa1ViNCsxSE9yRWd0d2h2?=
=?utf-8?B?NzJjZG15a1dycmtOOGRLRjl3d2lxYytFUUpnK3BpbkRyTkF0OXhFTmdlYkV5?=
=?utf-8?B?M1VYSFdpUkVIenVSekUvcXZTbGpoWnh1UXNKNXNZK3NNZzMrV1IvL0hVcGts?=
=?utf-8?B?RDNVU0h6T1ZCcDdpL2h1VC9wN2lDeURwczd6QjhtdDdCQlNTSzR1dWdNZVV3?=
=?utf-8?B?R0N0Ym5KTEtxV3lPZWZ3QThaN0ppVFlYRnN3cWZZUU1INTA5N1RLTURPTGRQ?=
=?utf-8?B?YlBEb1VmUEtFaFlXNmJBMm5yVlJtaGZRQ2wxMlNvaHc5aklZSVp0MWtEVTZ6?=
=?utf-8?B?RytQVWRlb3JYbWFhWklzaFZ3YTcxb3ozT3N4OWRWczFuQ2haSGNFYzRmUWJp?=
=?utf-8?B?LzlPbWh6ZHRwTk52VEtiVmlRbGkrRWZVNGZ0emhleWZHM1V3bFBlRkNoZFFR?=
=?utf-8?B?MndPbFNaa29raHcwV3RUK01RbGxNbjl3Ymw4YXJqbWNXcEZTUi83Z2tPbHZL?=
=?utf-8?B?VVhwZUVZL3p6MUg2dElmcUFqYkFGV3d3Zmg0S1djdTVDZDhGWTJkRTY1Vzkw?=
=?utf-8?B?VndVMWIwRiszWFAyVEhlQlMzSmxody9hQjR4QWtMK3VPaGJ3TWpSVC9qT3dN?=
=?utf-8?B?NFgrT1ZwaXUyL0FZcE1ZZVpVYXpjMlUxMDFucDN5K2dPRzh3QXhsYyt6RUZP?=
=?utf-8?B?VnIyZzFoYXplVHJZODA2SXZnNUc5TGJ2RjNEUk5WTFVQU3NPSGFxbUwwYURi?=
=?utf-8?B?QjM3TGJLVnpKTlMyYTBWRGRhTDJwQVdkbXRKMDZjSzVtbGRFckVsQ2NiVzNx?=
=?utf-8?B?cTVqcmY2Z0wxbzlrTEpRaFp2c3BxL3VadEU2czZuYkpBUjI0cDNEampyZlFT?=
=?utf-8?Q?1IaemTWGnHkw+XgtHBk+S8eK/pLGt4=3D?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?cnovY0ZMV1BQNEJQQmFaSWJWTkdKVmpGWTFldlVlZ3RhbmYzdHg0S2JvUkZC?=
=?utf-8?B?U1g4aVkrOUVJOHc2ZnhMVExXTlRLMlV1MkZoMWpJaUthdDdZMDRaUjZlc3Mr?=
=?utf-8?B?WmFnYVhNRGc3d2FOYXlxb1Z3VHFMMTBPREdZTDF3Z3BFWTN2Z3dsUWJ1T3R5?=
=?utf-8?B?VUNuL2gxWnhucUtCZDZ4OXBaQjY0aUlFaHJPbzg1K1pPUE9adlFZT1Z6WlJy?=
=?utf-8?B?QW05UlFZTnRneVBBU1ppaVNlQ0UwWFZaN1hXbGM5OUUzSmFsN1BiK0xMSGl3?=
=?utf-8?B?VlBqaktYbE9hR1F5N2ZyUFdjNXBZQTljaFBSdXo3R1dIcUxjTkY4VWJXWTN3?=
=?utf-8?B?dG1henRCUVVsR0c0N1RZZ1hUdy9RM01DNDVSWUk0VjVOaUxFRUlSTVNtSkVa?=
=?utf-8?B?eitLeEg1TnlTdFhrVkZGeXkyTE5keUZ4MTcrbndzd2J2d1VxaTRSZUFmTTFD?=
=?utf-8?B?eGkwM0k1Y0VjOUlldXlSbExaclNhVjdZOXpTT3ZhRXV3RVZoREV1M1IvWG50?=
=?utf-8?B?VHBNSmU1R1FLM21aTlB4VmRiM1FibEZBbm53Z095elpja0JpbHhpaUF1TEVI?=
=?utf-8?B?WlFCMzF6SW5mbjNJT2hWdkxZTk02STNkamd1bno5T2lEQktyY0E3YUMxVXNH?=
=?utf-8?B?QVFtcitkTVJYbmxXT25BWXlpL0hFaVFWTSs3T3l0Yk1FRkNaV0Viek14aG5V?=
=?utf-8?B?OHYwa21Cc3F0ZjYvdkhkWSttQUd2dlBrUlpidnp0MFhnNkRMNUI5anhKQmpN?=
=?utf-8?B?UUVSb3JCNUNoNnh4MWZqY2U1bUw2SHdWRmpzZFBKTmxZc05rV013KyszN3VH?=
=?utf-8?B?WTZMUjZkOXc3Z2s3SEZCVkszYlhOY2Zmd3Rmc3NEK2g1ajJBNDJjZ0xvUmRO?=
=?utf-8?B?SGIzRnY1cTUyR29zNFBQeGE2RUJXNU5IYUF1SGF5bzVEdVhMR2p2Z2NycEd3?=
=?utf-8?B?MG9JWlN0SlJnV0UvajNxdG5vaUs2d1gwUFQ4V3liOEdCaUJYSHA4dDZjWkRH?=
=?utf-8?B?QXNQUjR0YVZvTnQzOS9MWFhYOGJqdXdYeGJNTUdYaHBVK3lxOEdRODBHaTVm?=
=?utf-8?B?S3RPVS9YRitYUE5GV1BmRHZtZm9KNitOVXEzcjdCOWhCSHZ3L3hMc1dvb0dk?=
=?utf-8?B?NkZ5Q0tVdndXbGtMSCtCMjhISDBsaEhsQlp0VTArcnZCWkxUTmRxT3dML3JO?=
=?utf-8?B?Qno5MXRLSUNLMmJPak00bk94N3BzQVp4UDZFQ3p0dlh3ZlFCOWZtd0xHODEy?=
=?utf-8?B?TTB2d2JEeUNkRy9xeXBBckdtL2NxTEM4bVNjYkl1MVR3WGZ0THFtU0pwQXA4?=
=?utf-8?B?S1FNQVlzd0wwTVM1WStXcnF4WEQveXJkV01xQURUS2tTWENGbHFISUtmcHJr?=
=?utf-8?B?SUVXc2dlWi9VU1drUExEWk9aTTBwWEl1Tm1PUzYrbnNOTEdEays0Rm1scDdk?=
=?utf-8?B?eGJ4c3B2SnVQU2VNQ29xa1BhOWlmbTR2RittT1VrMTlDenFsVkFqcUhnYWo5?=
=?utf-8?B?VXBSTk5JeGhJdjNUR3lYcWY2NHRqYlppZGpKM2dlRFRFUWM2bUFKRm82NjZs?=
=?utf-8?B?M0xMaGxDaWRTUDdSdzJvOFJpc1dmTUUxcTF3L2tvb1dzWjA1NXhVRWx3aUEy?=
=?utf-8?B?clI0SFlDR0tCS0R5VFVjUC9YUmExOTg3Qmppc2lzTWdPMzlOa0wxRVpzeTda?=
=?utf-8?B?WHlwS0FaNEZxaFRSVTlEcUxoTEdJWWF0WGVNUFc3L3hGMHBocnNaWVlRd0N5?=
=?utf-8?B?UzJBWEtmUVN4dlJndU84OWJVUmZkWVUzako1MWYrbkpRZXcvU3lQemxtYWhV?=
=?utf-8?B?amZhcXBpai9OelF1aXZ3T3c3Z1BvOHNYck9EMVc0a09JZmdDS3VkY2VIdXRE?=
=?utf-8?B?d0xpbTB5L3ZqY3RBb0I4U204WEJtdmVxOXRDamlYYzlKQkFWblllNHZNcHly?=
=?utf-8?B?ZlJVWGtLZFFML2R5eC9kV2xxN2IzS1QzclNjTFFDOS9ZOGQ1bTA5SDd4WEpH?=
=?utf-8?B?aStIUnQ4QUlGcXFBQm5RMktHMENKOXlNMGZwa0dnRnEvZjBCZzFVa1lrMFhU?=
=?utf-8?B?VTBuV3A4N0h4Vm9sbjdEV3Y5MkJzYms2c2FKWnFvbE14TDY2VFl6QWFqVXZj?=
=?utf-8?Q?xKoFlokoJruY3znJxuMrVC19H?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EEF109EA1E0C3E42A63B7D69EAC92BF3@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
b5NgFdy4VwyreMCE3F+kF6Y0u0vHx9QUf8nFUtgb5lNNexhGkbbb5S2S+yHbFxlLOPNM0rDjQxwNx5Q52+rdGr/Lb0rVo/eJfvh1iZ9dhRHa6nLbidrszxJWLM+bgqT4vv3UrswagznkY4/F4YeJuJjPXnFEq6azIGffIOeUBG7Etu0dQwjVX58i9yzCgkQuJYOJ5Hf/zx3+z1OQBRA+zTRcJtIjRKdspnchN+uWeME2e+1kRijxZRCVULhXwW/Mjvfl7HXlUl7Bsiwfq+sqLARrFGUt7mNZ9S+KSBtVGwo+iwLrSDyCx/bSdZGsCr0GM+Zsa7/vHm+Jnnx3+ho9+zeU3SIj/Nf/welnkyXBh7MO9jgHXht5KOd2n3u53UKOXKTjuvKCxMmqNd8ullZ9a3tJFPdywKUef2WJo773rvBsgGCWHt64K0/NeiM/F8Ms3iVX1v22uxxFrtmC/MwU2MKFD3Mc44QicJR5sp9kerZZpZXlcRDHcavPv6xy40FDryWaJ5lRf94FIfc9QqceHMNX7QJlpUAR8OwcITrl8kvs4eh8esyiCsnqfC/OP3rB4tcm20IemrulMXd+Knhy0wI+YlXQamP7dTYbJNQJmoSpCmAXRrl9m1M9NBK81aNIAcbb2PTp+N3xMZ+tM9Zu/Q==
X-OriginatorOrg: synopsys.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5990.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1360fa3f-d169-473b-e4d2-08dda3c732df
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 00:23:30.3539
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: c33c9f88-1eb7-4099-9700-16013fd9e8aa
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sWMQecGgVW8/ONWNU9rsHG/FQfxpwu6miEC7gGJoEqW7aZEj77N0fV5et1pkiPO3eEM9Oe1mYAX/rvEMi2NF1w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8977
X-Proofpoint-GUID: 8UJMxUwDJh-MxDX7sZxWWO58SX8STKjH
X-Proofpoint-ORIG-GUID: 8UJMxUwDJh-MxDX7sZxWWO58SX8STKjH
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDAwMiBTYWx0ZWRfXzFGbRGv/Uykt
7zJOa1DzhftldpVU9kTfoqx7xZWZawqRTUavBLooMd65kOTnhswmt+H7eNM1BLsiiS5RoYisy7M
9QoeVES0IkGVXMd3He4KP2pMmTMXn8bq3IgGQrZGrYhWCGDSD+2pZjy1RueESCphHje+lzzWlFe
bOs47Tv4tVix4dDu/tA+OhqxpHENKLOt+glGLTuP9HnOX7i/QJ8OqnQarrfMekdCJGwQaTei3Ao
yTt+OYrOeISK2WY1T3fBbjW1+iuQuoHIvXtrbai23Ul5wRCvzMwtKLdOtUv0uGyLmhbiWGkRwNJ
cTBY28mwdQMKlTPcqheuC3dMXhl9lanpMEcYfIIzZlx1YrAvFJwJPH5vf5VbCL09koWktt1wwvZ
yWYcO9wHuxX1VlQZ+tEH3ZTH/lvMqI1DeuU7kp2XXG1GeNxk0OdnC99ejyghmKh0xRvSgUqX
X-Authority-Analysis: v=2.4 cv=DuVW+H/+ c=1 sm=1 tr=0 ts=6840e38c cx=c_pps
a=8EbXvwLXkpGsT4ql/pYRAw==:117 a=8EbXvwLXkpGsT4ql/pYRAw==:17
a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19
a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10
a=6IFa9wvqVegA:10 a=qPHU084jO2kA:10 a=zd2uoN0lAAAA:8 a=jIQo8A4GAAAA:8
a=SUxv-d2Kt1moWgga844A:9 a=QEXdDO2ut3YA:10
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-04_05,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_active_cloned_notspam
policy=outbound_active_cloned score=0 spamscore=0 adultscore=0 bulkscore=0
lowpriorityscore=0 priorityscore=1501 impostorscore=0 clxscore=1011
malwarescore=0 mlxlogscore=981 mlxscore=0 phishscore=0 suspectscore=0
classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0
reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506050002
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCBKdW4gMDQsIDIwMjUsIFJhZGhleSBTaHlhbSBQYW5kZXkgd3JvdGU6DQo+IEFkZHMg
YSBzaHV0ZG93biBjYWxsYmFjayB0byBlbnN1cmUgdGhhdCB0aGUgWEhDSSBzdGFjayBpcyBwcm9w
ZXJseQ0KPiBzaHV0ZG93biBpbiByZWJvb3Qvc2h1dGRvd24gcGF0aC4NCj4gDQo+IEluIGtleGVj
IGZsb3csIGtlcm5lbF9yZXN0YXJ0X3ByZXBhcmUoKSBwZXJmb3JtcyBhY3Rpb25zIG5lY2Vzc2Fy
eQ0KPiB0byBwcmVwYXJlIHRoZSBzeXN0ZW0gZm9yIGEgcmVzdGFydCBhbmQgaW52b2tlcyBkZXZp
Y2Vfc2h1dGRvd24uIFRvDQo+IGVuc3VyZSBwcm9wZXIgc2h1dGRvd24gYXR0YWNoIHRoZSBkd2Mz
IHNodXRkb3duIGltcGxlbWVudGF0aW9uIHdoaWNoDQo+IG1pcnJvcnMgdGhlIHJlbW92ZSBtZXRo
b2QuDQo+IA0KPiAkIGtleGVjIC1lDQo+IA0KPiA8c25pcD4NCj4geGhjaS1oY2QgeGhjaS1oY2Qu
MC5hdXRvOiByZW1vdmUsIHN0YXRlIDENCj4gdXNiIHVzYjE6IFVTQiBkaXNjb25uZWN0LCBkZXZp
Y2UgbnVtYmVyIDENCj4gdXNiIDEtMTogVVNCIGRpc2Nvbm5lY3QsIGRldmljZSBudW1iZXIgNg0K
PiB4aGNpLWhjZCB4aGNpLWhjZC4wLmF1dG86IFVTQiBidXMgMSBkZXJlZ2lzdGVyZWQNCj4ga2V4
ZWNfY29yZTogU3RhcnRpbmcgbmV3IGtlcm5lbA0KPiANCj4gU2lnbmVkLW9mZi1ieTogUmFkaGV5
IFNoeWFtIFBhbmRleSA8cmFkaGV5LnNoeWFtLnBhbmRleUBhbWQuY29tPg0KPiAtLS0NCj4gUmVm
ZXJyZWQgaW1wbGVtZW50YXRpb24gZnJvbSBtYWlubGluZSBjb21taXQgJyA4NWU4YTIzOTM2YWIN
Cj4gKCJzY3NpOiBscGZjOiBBZGQgc2h1dGRvd24gbWV0aG9kIGZvciBrZXhlYyIpLg0KPiAtLS0N
Cj4gIGRyaXZlcnMvdXNiL2R3YzMvZHdjMy14aWxpbnguYyB8IDEgKw0KPiAgMSBmaWxlIGNoYW5n
ZWQsIDEgaW5zZXJ0aW9uKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZHdjMy9k
d2MzLXhpbGlueC5jIGIvZHJpdmVycy91c2IvZHdjMy9kd2MzLXhpbGlueC5jDQo+IGluZGV4IDRj
YTdmNjI0MGQwNy4uMDljM2M1YzIyNmFiIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3VzYi9kd2Mz
L2R3YzMteGlsaW54LmMNCj4gKysrIGIvZHJpdmVycy91c2IvZHdjMy9kd2MzLXhpbGlueC5jDQo+
IEBAIC00MjIsNiArNDIyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIGR3YzNf
eGxueF9kZXZfcG1fb3BzID0gew0KPiAgc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgZHdj
M194bG54X2RyaXZlciA9IHsNCj4gIAkucHJvYmUJCT0gZHdjM194bG54X3Byb2JlLA0KPiAgCS5y
ZW1vdmUJCT0gZHdjM194bG54X3JlbW92ZSwNCj4gKwkuc2h1dGRvd24JPSBkd2MzX3hsbnhfcmVt
b3ZlLA0KPiAgCS5kcml2ZXIJCT0gew0KPiAgCQkubmFtZQkJPSAiZHdjMy14aWxpbngiLA0KPiAg
CQkub2ZfbWF0Y2hfdGFibGUJPSBkd2MzX3hsbnhfb2ZfbWF0Y2gsDQo+IA0KPiBiYXNlLWNvbW1p
dDogYTBiZWE5ZTM5MDM1ZWRjNTZhOTk0NjMwZTYwNDhjOGExOTFhOTlkOA0KPiAtLSANCj4gMi4z
NC4xDQo+IA0KDQpBY2tlZC1ieTogVGhpbmggTmd1eWVuIDxUaGluaC5OZ3V5ZW5Ac3lub3BzeXMu
Y29tPg0KDQpCUiwNClRoaW5o


Return-Path: <linux-kernel+bounces-673920-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A41BB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:26:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id BF64216F334
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:26:30 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AEE49FC0B;
Thu, 5 Jun 2025 00:26:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="K/vrSfKL"
Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012043.outbound.protection.outlook.com [52.101.66.43])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E8B3D53BE;
Thu, 5 Jun 2025 00:26:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.43
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749083181; cv=fail; b=OReqgK3OvOiKamaNm6pkwSwjWfcJlD8wIjLN/jmmG2NM/B+sZCbusbvMCp/z/OaweOCeeMvwvBIi/s7stfeCZuMKOl0Na4jxo2fA30nkyn/+jW4sFvlK0oS1/lhZK781qAIKk2Mj9n2xHNmN+AAWsQuvnt9tYr78KAgeCMq39TQ=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749083181; c=relaxed/simple;
bh=Vcj+ua4hUZ04/SfWaGjD68uQTkZ0E27BuSSoEJRx62Q=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=TpB0rmeX3Y+EFStcxbDj0EGYmCFlk3k09jlF+7qL3vrUI2qwVqk0Q7YghwVQPoe3duohvH36wul03evyjLsXv3c4+/bHWsrwSEBqye0dnFKo9H4Vn7QVb4HFBMdaJfQzzMO3HskDX3rqKRs9LxhQSb7XHM2TREEmxtDQyVGUMCI=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=K/vrSfKL; arc=fail smtp.client-ip=52.101.66.43
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=sYuyxXupJErf074riyKay19iL7U4J37m0jiNBSgHYvuAP3id0L2kUApw3dwqMrwwADNKcIC8kVlnhVWMASap1c4wlQ3qk8lPcd2T/3verWToXbtMXLPqmyTHqWZ8ywB+h7Tok//wDqXXrl36X/8LcmnBua7KQ9PqWTcAO7wxBiThO80XYmAONav8EZpVcPod3SK1qP83JUBpvttwA7VjvznpmS1xPh1HLCoWxUU4AF/vN8u3GYyvTSVG7k73ig5Jgh2ixIIGfpmAGkBLKqiztSk6jLxddzrM6LDRtSfWhiklbYALt8pATveJWzgabZ9hXkORxxwDCeUTK1Rsbf+SwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=Vcj+ua4hUZ04/SfWaGjD68uQTkZ0E27BuSSoEJRx62Q=;
b=dFmDOzVTpMcVl8vDE5P/pciN2bTnnMXpVbmACBdI5srWur47q17H/ofIraWnT4x7RrRzJFs6QcLs2mef8pzpoWKbiseZKynao18MH5C1KH5JJs5/epy4cS+NP+jfk3NA7kNnZm5vqQKQgnkAyUcq1PbZSz6pUnWagfrTU7A0OWXuno6vAbvqZjXnDKliVsMQKhZXwmddtiuqOfcLG23DpvEoK46uxyMA5NfDyGjJ6CWkpybxKoOuqjz6Y4pu9Y3F5vMGNAyei5oMc1ZGEK+9gOgkt+poGhBbaIX8FN0eeBu/3bUvvu5JzC771P+7ODPS6uBa1PMtBXAyWAAtBm4bug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
s=selector1-NXP1-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=Vcj+ua4hUZ04/SfWaGjD68uQTkZ0E27BuSSoEJRx62Q=;
b=K/vrSfKL/QI7bW7/2VA+dV2Y49sXn2yA4AUjAxaGhxv7s/okrnUYv5GCeRTjWvxLSFmWdglyPhZImZfYqdPCBUqfUijfvOFsVfjpiPsC9apuoF0mALAhl/9SbFZUQP8E45zfPIyJGbsnH1/O5VPWg10TPg3DicwV5pvjpU64oXN8dRY5PwIZkDGXGLRbRex4jtLovpqBzDnWKqokkbTT5Lkwe2zIF1Oh2nkrzZKAcq8p5Nq5JPIuoaiaDnsKpfxYQO27afuJ9HRsbH3QVH3lTrb7jXwmYJ5xjYuQq5ds5PHcMN8uYgDBOyJCr9XwtadUe18k593Tu3b+knPD+oUg5Q==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)
by PA4PR04MB9341.eurprd04.prod.outlook.com (2603:10a6:102:2a5::15) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.37; Thu, 5 Jun
2025 00:26:15 +0000
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630%3]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
00:26:15 +0000
Date: Thu, 5 Jun 2025 09:36:14 +0800
From: Peng Fan <peng.fan@xxxxxxxxxxx>
To: Adam Ford <aford173@xxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, aford@xxxxxxxxxxxxxxxxxx,
m.felsch@xxxxxxxxxxxxxx, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 2/4] arm64: dts: imx8mp: fix VPU_BUS clock setting
Message-ID: <20250605013614.GC29462@nxa18884-linux>
References: <20250530221713.54804-1-aford173@xxxxxxxxx>
<20250530221713.54804-3-aford173@xxxxxxxxx>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250530221713.54804-3-aford173@xxxxxxxxx>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-ClientProxiedBy: SI2PR06CA0004.apcprd06.prod.outlook.com
(2603:1096:4:186::20) To PAXPR04MB8459.eurprd04.prod.outlook.com
(2603:10a6:102:1da::15)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|PA4PR04MB9341:EE_
X-MS-Office365-Filtering-Correlation-Id: a07633ee-97a5-45bd-ae3e-08dda3c7950d
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|376014|366016|52116014|7416014|1800799024|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?fNEfoVBlDaPBpias7BDYGxn5rp1HF6m3Gx303Y+pVlwUYnEJO7vKPJre9ztD?=
=?us-ascii?Q?0MCDSoPpe8w1EDvpJcXTvFtTAlPUs0BIDQc3T3gX7Fx6GPSRAjYbDaex41UI?=
=?us-ascii?Q?ZYbmJZ3D19w0OerslJYxGtVc9d82KlM15hvV8IoDx8Bm8cDWmO2MVSbLLWXB?=
=?us-ascii?Q?o0sRZudG2MjJl9X//f5PG1XBVBIg+WVoeRyLotZ7MZGaRGqTrXoduwPKB1l0?=
=?us-ascii?Q?jYnVitHALWsXG/3H5x/J8do/+miU1tgzmG3OU5+NCXtga1IZlGi6TqWfwWJ2?=
=?us-ascii?Q?LGENh99Y1+H6h9GLu7u9yDUZUkSGYOy4B6WLW7dcEcHh1vrlIO2yhgyChpf2?=
=?us-ascii?Q?4iG7G4zKtQvKXSFGz8Cff/n1Dw70LJFDpDqkm6P7IXyCO5oeioKDYVTvYZxf?=
=?us-ascii?Q?ElSkekgFzYiirWre568PMUhlaOoJGTXGOzUzMfPj1YvIq8Z5PYczqECrND9d?=
=?us-ascii?Q?yqlTBEzh2H+19MW4D5QSD+XZYEUAl3+v5Oy20o9dnzbftF5hsVDMqHJeFTnV?=
=?us-ascii?Q?O1kzoZhPtL0M0rxHcqPo8Ht4mKOZ0HWS8IqY6zH88JP7avw3HkKrTVxkCeoC?=
=?us-ascii?Q?YL4k91TApt856rYDq378PM50ju1A5rL2hA99rLYPlZNm5E/JZq0OJFONeVaj?=
=?us-ascii?Q?IUAA7v/h/CMCtzOLRZA4X5bBvsD30VIoDfzhkh+rrM0suRr8QYAVQ3p1jrdj?=
=?us-ascii?Q?etoC/q+tyoYAKjfupaeH4H4X4yq/2AQpWl9K39JUHMBKClWVp1jKEwKJ7MMP?=
=?us-ascii?Q?go3FUwP4B9F8HzV3ziRTeTMfcEnb41lcGq3ZRs11i5BQOg6bUjWPIuvzH34p?=
=?us-ascii?Q?n9uJQY75RKe4PkZ0oP4z1LZHSvQ2jFPlCwA0GMTlpUuy+tRj5683kdPtVLki?=
=?us-ascii?Q?k4l/yyHY0oy3vlMqMtPEEHAjhANy6+PxHMoK0qERk7OcXix5g3lFzA9/lRdD?=
=?us-ascii?Q?+7Tquir8qs4WGy41Jr0LoMMO8SYhTOpZvfZTHDNQdvPEf8KmbP/gtVUa+HCr?=
=?us-ascii?Q?mlIVD8HtX8baUHFxo6sxfrRNwtMbQeyUE/jtVTe6InVaUlTjmBZFJi5pgANe?=
=?us-ascii?Q?AFhNhnOEBmYCQ9vlbXKIsTbcpLTZE8b20oc1lnzTx6hjxu70lU+fWKztxHK0?=
=?us-ascii?Q?GriAQ4jKBmwLFlhB2brM7lABrpfC5nwCB+nWGef9ihkRJMzGmDSwmcQw+0Am?=
=?us-ascii?Q?ES/1CfB6qfH/E+0T81h7iDU+XldVaLIWtgzdhnlCDujEasce5GrHJ6oNktMl?=
=?us-ascii?Q?9hR0SFfEbVsUGf95227CeyV0j7NGfKmUPiU+d2RzmF1/gMxHR3xGj8+hOoDr?=
=?us-ascii?Q?LvMEpuqZaScW12/Fx70fIOlRrPt/25UtXnFEqTB55fzY5oAV4EDnELqau77N?=
=?us-ascii?Q?+LP0oSOSSsesAWXj3gpEHrRq4q2zk1dX+vHbvRsbTQtiIr5WSpEScIP67s10?=
=?us-ascii?Q?4EO+d5JBDf6jmgeRirTdEG8zzG0MMgQ2YC+ZJH6r10LnrLQ5ptSdJA=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(52116014)(7416014)(1800799024)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?K9XSHwhK1ZPCzBzEPIx24DBtdrvX1lYcAKwLjxiUnEdFQHWHaPlYBRP4ALKP?=
=?us-ascii?Q?cPGWXYskhdfz+lZo9VlGe5fsnhstTbZ0TgIWPYyDOsgWdyT/a2k6H80of4QW?=
=?us-ascii?Q?Q5OuPhGKl2HPr1togmtMKAzfjkc1SWlrIcAW96mcsdtsmfr0KFJYfQ66OxEW?=
=?us-ascii?Q?9JtnW5QNLFvhMmMArstU/iQKio4JehsBFetfkIs8wVqz7nrcaqpTujGd6YNm?=
=?us-ascii?Q?cHLmMiT3pX7rpZ1AdKNPxvNKtojTiGKMaQP6wcXM5HQjREs4ShOfXTv7iUOB?=
=?us-ascii?Q?dvDT54HqgeLrfzdxIgw6xdwFI7mjD5lRcPrQy/xBoxJmSkzc5083WhPCtjl8?=
=?us-ascii?Q?+ipBEuzSmMejRXwZqkLBH5ROIF90qUTdk544jwCglaMdOY1Q9rkHaiEz7Mjs?=
=?us-ascii?Q?PZOlwPzRxGklWuPprgGQInZuYu/qzCvuT5xm1/s0Z66zhNAzCVzWz+nTOI5e?=
=?us-ascii?Q?2DPyzMPg3WHE99eVGam8xqexmA13zCTBDAnfyvBAf6gLOj9HIT9eZepsgr9/?=
=?us-ascii?Q?ur2j4o5zXjPe1lAM6jNrFJRJAvlTmfYj98sB9RzyZv1/GPIV+ebIwP4tWN8F?=
=?us-ascii?Q?oGFINm/e9FQ0nIrqaGSGrPLKBDmmR8ItUgrwMIt5V4/uCG7gXu/2RztLtIQQ?=
=?us-ascii?Q?ACdMYrI57mHU3v5OPN1JicbpL/YoqnaRwjpb+9KTuQxfpEv95CxwgPP16YCJ?=
=?us-ascii?Q?9OUCzj1M8r8Gvf3A+iU/ivJ75fMCQrgU6mrsXUP+km2O/BUWhCPxnMwVbCPS?=
=?us-ascii?Q?Oqe3Gft+bl/m/lujGBjfeTvcK2Wc4BtTmYkpYVMAynm/7IRn5WfDGcC4x6XJ?=
=?us-ascii?Q?fEUMUFJmy1huoDFyz9CfTmYZNKviFrW8N7BlJC5BT5GJhF9io5Z0av+50f8w?=
=?us-ascii?Q?CwCadaqD1WAZL9Q817uATz3ePYn6JIZ8gbOpR3g/VGBdmnviCV1p311eG/Yy?=
=?us-ascii?Q?aEA8X8RzdtUl1C+ntU0RNaakiUGviKATqWxq7V1aXvrC2nf20XtisnfomQWv?=
=?us-ascii?Q?sAFsledzX0qO1ULhWgNdPra7eBaxmSsrNOStf3/9Q1qoKwJibErdzun6X5dK?=
=?us-ascii?Q?gYvYTSpw/ju5Lo0NEW6iy/JEOlSbCFRg/3/ccJyp+nrwaxT1pqzAh222ijDn?=
=?us-ascii?Q?HEi3JJQnLdg2oHj+7tj+kxS2JJTK6kbv344ZAHd/ToKajv1gdGJnksBz0Vaw?=
=?us-ascii?Q?u1UokYCLEgyi2iOGBpHNwC9w/IRZM2SlDdhnpSEiF4ea1bxTs/6dgeV20/Wy?=
=?us-ascii?Q?5j+mjILnL02viPalX4qg5qjptfb4tGlfTfMdud0X4nIxoECQUc6z8OUdqC44?=
=?us-ascii?Q?1X5WHHeHOEpXYvJ1xCPSeCe+xNXBcVk1z7vCr8Tc2BtwBRMU2A/lHG7HoVK+?=
=?us-ascii?Q?69y1Uf8K/qwfmo+N1Y7Xl+DxmXMVeNp9tQ0EBnEC83633f4iaN4Pibx8MPR6?=
=?us-ascii?Q?eEY5OJXL4LmGEFeP3AuPEURLE5ubZJCq7vFtZ3ifjzDLQlNyTjaZCipJQUjl?=
=?us-ascii?Q?8bsYm+vCBuyrsA1yAMJnXX/ya4KGaZu+8u3cKSyerg7abhOrsw4VSlctfNP5?=
=?us-ascii?Q?anNC7qDeLWRMW422ZrtwL4DTnfgXWeU/kjACMJX8?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a07633ee-97a5-45bd-ae3e-08dda3c7950d
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 00:26:15.2366
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X5iIC6HaM7Sz3mAoXrLZqJOQj0dEdd+8H/En0MZS0/1O0TuG60I7vouc49/umU0WJ0RrY1vkeFWVGhGj/bXugQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9341
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Fri, May 30, 2025 at 05:17:09PM -0500, Adam Ford wrote:
>From: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
>
>The VPU_PLL clock must be set before the VPU_BUS clock which is derived
>from the VPU_PLL clock else the VPU_BUS clock is 300MHz and not 600MHz.
>
>Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>

Fix tag missed?

Otherwise Reviewed-by: Peng Fan <peng.fan@xxxxxxx>



Return-Path: <linux-kernel+bounces-673922-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D3E8641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:30:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1108918991DD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:30:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 97AFE2CCC1;
Thu, 5 Jun 2025 00:30:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="wmqR37dA"
Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013002.outbound.protection.outlook.com [40.107.162.2])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D1B275383;
Thu, 5 Jun 2025 00:30:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.2
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749083427; cv=fail; b=d4yw8wsoqRE22LmxIwBocvrOH31chTiQ/J4DLaePvWG2cZ1f0cPXWAUwfpEj+QLy8qQ/DZvp1gaovL4MVn/6yKV/9h5mGqzbkgT3oM67pzL5qU3avSQ6ychaxwuUYk1cdhAhNzDlEg+UwVQ80TGNvanyEwwwms65jE7OcBeBdUs=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749083427; c=relaxed/simple;
bh=/TqjTcaC1/FxYM9YzCbCrpcC9bBks+Wtiwn0Fj3LPYI=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=fUzVDGLExZC29vWCuTGf9rPTCBnD4NDUzrrchKpoAOQ2xaXXs356JB/FYJJP9jA/FK6ZSYiVahdmG14wgTqO5/YbcRxbgUdBuAbdSA92XDPwv/8+nvqzorb6OIhXpLdZ5ijz3J4ahDTWUcmI9q9lUpSSXU5ha2cvX5X14WjF1yc=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=wmqR37dA; arc=fail smtp.client-ip=40.107.162.2
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=IoNF29XeSrgpQ20MYT6DVCWyJ+RePlvOutpZQg/cFodH6+owzzWkvBb8oU3+/6r16NsNyIhZ+M7o2NGEqbheYVWZ0CbQ0TKuLRV5AtubidqjInSJXH5YAOgNgxZ7Nxc8QOkUddzjG5P1Opez5qITWOWNcde+ek8t8WN96ndv138sPHr771Ihe8IGMcRDf1sYTXYG1SVUhgmBzrXVOgyQYuUM0eS12OiC8LOra0M0m4beMhYTjl9NGmAvkhf34rBf8rL2NpWJkpcpQ8pwABr27idUjOQAk93gX9Gmfsk7fia6mm7eSDoTtrDQVCrtS0lLxngiFKWZ+j861XydztQrww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=/TqjTcaC1/FxYM9YzCbCrpcC9bBks+Wtiwn0Fj3LPYI=;
b=VZWqFjlhU1UCe1TaVZIKONeA+l9/yE3WffU6iNRAl+QjhPFxvvccbmhCPvn92yP1ajt3tatX4m7lsrnXT6otPBU/69/HAk+WL25yX0fiUlr1zgmVDn9owzojDwSQtYRm2F2L2Bb+wyZp2n2Ye/WChgolKFOFJkDzZHa6WrZ/cB66kT03wYx0bnTcwObgGC7Q4t717DTMNRWdbMJtXTpKYg5KsG4bonQnce/mewscrzU0Y9vrtpIOTDQad/FWNUQLaSuFxI6EC/7U+796Y235DSSHfH8wYrxZf5ZZtfoTAEffZBsBIZ1FXkjMT4p60Fwl+Gj7/3mXg3hYN073ArIQ3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
s=selector1-NXP1-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=/TqjTcaC1/FxYM9YzCbCrpcC9bBks+Wtiwn0Fj3LPYI=;
b=wmqR37dAPAr3XOYhOiZwzvs+Ef4+vdUJy84w31NpaRNS/G+Q0bQETyznBmclN9/ZbMNqY4uf2JRQnq6UxhpoR2AUOaJ9NsyTF1qzFFH/v6HtoAzz03FtQeTW71HgIa8KogdBuirXRhtWUx9TmzP2TjjuDXfM8w+M9Fa3VR/ACrmQ4maqJ3Q8p3GmMtPIopekECX6OD+zwymkCRMFf0KXUbyIuYDaBSnNlZ8rf97rQ0Xt22FmwmlJrgLpY+4P2f+DUnw+Z580x3ovQA5W8hmsyHcDVIgmFz5bb7nWSFbDzDIBXaDT4wXTW3kDAQ9GsZuEEJQKieYi50iz5PMiAnZwgg==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)
by PA4PR04MB9341.eurprd04.prod.outlook.com (2603:10a6:102:2a5::15) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.37; Thu, 5 Jun
2025 00:30:22 +0000
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630%3]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
00:30:22 +0000
Date: Thu, 5 Jun 2025 09:40:22 +0800
From: Peng Fan <peng.fan@xxxxxxxxxxx>
To: Adam Ford <aford173@xxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, aford@xxxxxxxxxxxxxxxxxx,
m.felsch@xxxxxxxxxxxxxx, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 3/4] arm64: dts: imx8mp-nominal: Explicitly configure
nominal VPU clocks
Message-ID: <20250605014022.GD29462@nxa18884-linux>
References: <20250530221713.54804-1-aford173@xxxxxxxxx>
<20250530221713.54804-4-aford173@xxxxxxxxx>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250530221713.54804-4-aford173@xxxxxxxxx>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-ClientProxiedBy: SI2PR02CA0010.apcprd02.prod.outlook.com
(2603:1096:4:194::15) To PAXPR04MB8459.eurprd04.prod.outlook.com
(2603:10a6:102:1da::15)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|PA4PR04MB9341:EE_
X-MS-Office365-Filtering-Correlation-Id: ca48b468-8b2a-432a-3b0f-08dda3c828aa
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|376014|366016|52116014|7416014|1800799024|7053199007|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?xAbM65edCDKFQhKT+wmp7kBcTWzEaIwR+01pUEDZGh46kQCPIkv12vuLL/rG?=
=?us-ascii?Q?FGUbLNWjXDJxWooAnqEzyZHCE3SBbk/yhvymIsUbu40txbzFHKMekSlCJRCB?=
=?us-ascii?Q?xPm/+r1ghANvjwCRW1HDgIWY68Ya80SllrfOyXpAfBDH90+n1vhyQ24q3ddh?=
=?us-ascii?Q?q5ZViBgWALjzYBZg82y87SK7I0euJ+XaFaIMaNJLLqbLXClU71YCTgU44xM+?=
=?us-ascii?Q?OS3eZ6WxNU/KIiu9exJrt85g8SpE5Daj4VgjsccTnQ+6yFF2Zpu9hzEboz3r?=
=?us-ascii?Q?h4UTu+QrFrrAp2aQa9Gb6e/09UHngRNRhIYjuf+zBm+nQqzq8Wgo87yPiCWu?=
=?us-ascii?Q?1XQpcD/3mB6avQ1TLgOJWv64mtWWEaGY+hMyJW1E/XIzQ5LGFIhVXnIyry+k?=
=?us-ascii?Q?oqTI+xr5AiTOBaBsBmGqvwpZj0DVjg6IwLV+3C4R8iySQDNXoVxw+TV3Bp0O?=
=?us-ascii?Q?XgvoR5W1ip5xL+lw4niGM2jvsoqhYFA26vvgg5/dCNqKqiMjKKZ1VlDEDcOo?=
=?us-ascii?Q?kTpgoTk9MSfZLUPE/VmYsy76IUB1o4z+J7PYDsWGvq0znJq73+mnhBlTy5uN?=
=?us-ascii?Q?CUgp0/eQ8a3QObcHFoRxR1NTlqi8Cwc5jNMnKrmLIiAH/qD/3GmAL/EJWZDU?=
=?us-ascii?Q?S/+UUJ3mzVSBpYDG3HDxoLsSGrSAhQ19vi/zyNdyrx0Uae5DEK9n/B7IPZ3I?=
=?us-ascii?Q?6oiPf2VbnuY6SC97MSgMMgdZlfZH+rzwPTMHhTOiGzp47n/XydbnGodSV/bB?=
=?us-ascii?Q?9NHMggIRY38b/Ri11/B82OIJv73MaquFw8k/ezJTgVFdFfx0n5sfMrzKB5QI?=
=?us-ascii?Q?MzHa9RPkM584LwY4gUfeadFdgTXgiVeI3MJVPB9NIeqIOxLHO8OCgHVQYEUU?=
=?us-ascii?Q?CGpVlL+6o75F5cqU4ElFqwJE5Cw0Njg36bOuBzHAylDvwG8x9+eUqI58H0E1?=
=?us-ascii?Q?J4CGfpQk3BoJTghB8wVuM+oku1ozBtjmzuDK1reZkX++EE5kdWNZK3WB30kW?=
=?us-ascii?Q?dCrHY33otu3gyoxHUVw7R8aY14WQRn6WLlkWoP6TDyVIUu5mmoJpqBcVL06F?=
=?us-ascii?Q?WCAXT7XIZYyzSiZZPYj1ts3UNDRcGFcQv0aKPNWSC3VCG98vN7eC4mrm3r7b?=
=?us-ascii?Q?pgSsXjOr/Gnh74yOJ/ptsH+uIVKDe8WJpQWh9hwGkJuDBocUg8NA6s5oo9/v?=
=?us-ascii?Q?IQ+5FsgY95tus8KXGfkhtiKIgG00FFsDq5mrN5vzDfsKF8jJXFXSQApFpnqm?=
=?us-ascii?Q?3Pa0xrVdgZxKVusynhDEkqN753/roNQphJv+YqC/cOPkKKen4OzDvgtQyj2o?=
=?us-ascii?Q?LEHcGgqp94SDZvDU5eeqbXIChZ45km9YLRfJW1hEGm49LUAk59FP+lVa+XB5?=
=?us-ascii?Q?OAfCwEHZn3AZ6dgNZE/kTHpPelNZToWIk6YBgTWPwkXbvnRG26j2QvS1M9h8?=
=?us-ascii?Q?VFr/knJz+9VS2y2WKoxD6Py05MP90+/aUIAruodsoAO1IclDuXCvUQ=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(52116014)(7416014)(1800799024)(7053199007)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?VI6Z8eFTE5Ss3S0+SPB0OrSKBOIUk7vSqDrS33yPEKa77K8rzUNB6+WRB8jz?=
=?us-ascii?Q?OxEWawo4MFSwa8r0Epkw75GdHLWZ/X3Q1wIijN9YW7MHVZ73AWaIB0Y8WVFm?=
=?us-ascii?Q?YSMnUnU9KAnB2AfU7QUKXqzGtq10+/rjmZ1EigDmnsZG2RMSQdllGQYWsphk?=
=?us-ascii?Q?ORqbB6QHNnRfhSvCwM7HWq2wZ0ADK0AYd0l65sMphE4w5WTe7ikkBsa4D80E?=
=?us-ascii?Q?nvrm+F57sO90JlXbW+U9IGblNUfHXnkplyHoox/feTFUvRYgpHNGQ/PFSxew?=
=?us-ascii?Q?EjeR+J64n0SxQ82Ciw9ksQCOx2NCLb9PbBWJFo8/wmO067i/cIp8ILsuW03Y?=
=?us-ascii?Q?OnpN0x3DbliwTEgqDslHoFx0Hri04Wuo5OlI6WTeDcldWKzc39gayU+EodIn?=
=?us-ascii?Q?7zXCywpAK9wutgV3FnrlbA2RjS6rh9K29ENs1tEzU3okhy9Yqn4UVEwFJFt7?=
=?us-ascii?Q?/p3+yoOdDF4wHEz69EbXl6tQaSOvlCUnQu2IkA3Jlnlk1EiSha1oJOZ6WYRZ?=
=?us-ascii?Q?+zwCwZP8hw+e7OhyXosNjCw3YoiNYi9Yxb+ZrZOsgDrwy0X7ZbSZ/Gvr2AtD?=
=?us-ascii?Q?aSypoF2n2c/mYb7FRrwW9mhVQgrw0veEgds8iFM6ZZ719oChwjHrFea0w5dO?=
=?us-ascii?Q?c9Fhy7OuIq7NJ0boRqESGp9wlZfyeRg0A1tO7latuDvonzxIg4jlhK9LO557?=
=?us-ascii?Q?yv9bPBxYkIQ8+qShJvlrksdY06e2wyFAc8bwtKC4wItj18qe/FfvfVaY+FP3?=
=?us-ascii?Q?lsEpSDyIpoUXelAsXqO4s+7Tm4OS/ZLyrslmeHGxzlavVC4bRxa3hU86chGg?=
=?us-ascii?Q?cvo1WgpQEE8nhlfY0gvXcuMde4IrSQo08EqVyHODQ8N0AJX3M0oLiAiyLsQU?=
=?us-ascii?Q?fJNJ5RocuQ8zSuyg2yGt/qcOrrSfriRajTLdFq3OWxEIlVh5n4dJPHAV5FIE?=
=?us-ascii?Q?0lISiUSs5AqIjtfPYX6VwnmtjYh89uECqDPyfs6IJb25kJNCzibXTSa3oDP6?=
=?us-ascii?Q?z/IyJK1/RmQ0x6ESPhbyGPF/gz7vCUQgEOiFYNvZMxrR9+Jx7vAilKyDVjXD?=
=?us-ascii?Q?YDsQaOQ8aCEAkqlYoC23lL2oJeVEuyLhaTqoinYozEsrW7uIASIr4Iqv1la1?=
=?us-ascii?Q?9GmH3W4dujAEABoKRPpJ3W5cHLRab5lGIvSqG1OFEG8/b9vudxi5b+3ThaKy?=
=?us-ascii?Q?IL43WTGQD4dDUGxgTvu+A2mCMqWkrETw8IvzeoUqnJE6tKl+dmFRr6iAdHRS?=
=?us-ascii?Q?BaNpSMtNoXrTCnLY7XvwKUEaO3o1aLLVEJ02dLYHe3jHQJSm1cILkRiCTfbf?=
=?us-ascii?Q?OotLEnIi5QNnA+uEP/5mCgyo1wQNwxsyvDGn+KBUclmQh4sZnp3ipbmAZsEA?=
=?us-ascii?Q?QTlEBXiAbIspk2rhnAFMx2SUcUr3QorpRBzXHiwZfMVvoWKDb0I6HJ3pVKma?=
=?us-ascii?Q?DLbGi63WXOI/zKRCCiDMuNTuIufhMLTJcYEMyYpNeDkfBd1BWCsTPKwW52SU?=
=?us-ascii?Q?wHlVDa5QQDI4KOPld0hJy6srMP48ar+MywH998iPZSeZWvSIglwTZJsSnG3W?=
=?us-ascii?Q?kyS2PF3ninfx4ur3TSq8SRD2geuHHhOdtg01BVV6?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ca48b468-8b2a-432a-3b0f-08dda3c828aa
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 00:30:22.8741
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: drv5bEeTDoyV6Zjy7+xv+Sy0SslrT+fEVGsNLE+TuGdWLMwr+itKHpe5dXaNL4ABcpy7en9kKJbAdIX2y6dN7w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9341
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Fri, May 30, 2025 at 05:17:10PM -0500, Adam Ford wrote:
>In preparation for increasing the default VPU clocks to overdrive,
>configure the nominal values first to avoid running the nominal
>devices out of spec when imx8mp.dtsi is changed.
>
>Signed-off-by: Adam Ford <aford173@xxxxxxxxx>

Reviewed-by: Peng Fan <peng.fan@xxxxxxx>


Return-Path: <linux-kernel+bounces-673921-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 63FD941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:30:46 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 9EB077A4CE4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:29:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5F9BA28E17;
Thu, 5 Jun 2025 00:30:28 +0000 (UTC)
Received: from mail-il1-f208.google.com (mail-il1-f208.google.com [209.85.166.208])
(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 40BA81FDA
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:30:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.208
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749083427; cv=none; b=i9G1HndODnj5HH9de4HOCcTh/A67ryuMPE1LeBfpyRjt9/AhTM4fLVQu7vsBMy3ENe+wDsj7POiBiNUcZgG319qPx40rdIb+/gm5aPucQuox5yGRTO63zih7h2tL08Q/0YdXHeGbs/iGXp/zXvMZzeX2/2ixwd/yVGlxoo0SWHE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749083427; c=relaxed/simple;
bh=PXzJsHSTripe1z1t2pAzvKSzCdFFtdQjQwotkNahY50=;
h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type; b=XePrZfvFCrzFqodfbbuYx0VpuBQ9q4vHA0GLiQpVmob+OhSCKgBLv2fsuVCaify8FYjSCwWdjk0bo38jWNjyB4wKr4520wOFe71EYXYbLHIRmGnUeBGIB16dBbRb5MAr3yCox64/nkdOOpMp1qC1HqrkoF/nIBmgQDbWBAjXc4A=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.208
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-il1-f208.google.com with SMTP id e9e14a558f8ab-3ddbb34fc1cso6962245ab.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 17:30:24 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749083424; x=1749688224;
h=content-transfer-encoding:to:from:subject:message-id:date
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=PXzJsHSTripe1z1t2pAzvKSzCdFFtdQjQwotkNahY50=;
b=hXQLYk9I3ABkyH45psvylOKICx0c0cupLV1aYn1nn+LaRnoVg2MNiPD0wiOnXYsPEg
bXct43X1Q57QFae+WhDuSLTuUSyoZRbPLpJ27otPZPwTvc6KrLzGOkMNXx74X2R087d0
FO1sdQhhuzlFJ99yp8ZUjSiH9tSvMrStR2wUVmdfaIMTNF6snOhXcDC9FlcPux1Lu3qz
nAFL32EC4bycZrWYSa8zwGvPF7t08kNbsHRi0P4WQzbO2EPnB17YLHlrmY0G7C3/5gGM
YXI7gzQ8vL7Q0z6vD+MyrCvJutw5NXHB0J0amFTleRohke2NPU92nVaamG+d16VbkDxX
wwMA==
X-Forwarded-Encrypted: i=1; AJvYcCV4TxjyVSWVD+nd3E8H+zBFfNwkpLpeQTd9gmKI+BfzSZOedAsO0xPzJwkWeINQ/ueqIJPxBMQDcrtAgIQ=@vger.kernel.org
X-Gm-Message-State: AOJu0Yybc+l7g0/Dk5kNLQ6uRt32hjW/Fw8KJhAphjF4nrTec9Di84Ma
isCzHMJLGBidMFaHmk/W0RG2pjO5v/ppQAaRFaRsB8JshdHrxcaOTMxEHMR1CadoaP8DzMmIx4V
vOkd00TUvVTgcB7lEfy57kS9hPlA+qoHtn4CsVqJGDlcn6F0WIY3ezOXmemk=
X-Google-Smtp-Source: AGHT+IGhQF5CiHxuMyS0iwbBy4FTdC+m054AB3RqpCbiHBe+ZSwOwLYPOKCo4fBBuBo+fq6OIvrzhWaVUuV7X8Ay71nuQMfySSaZ
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6e02:188d:b0:3d9:6cb6:fa52 with SMTP id
e9e14a558f8ab-3ddbed62c59mr63136395ab.12.1749083424338; Wed, 04 Jun 2025
17:30:24 -0700 (PDT)
Date: Wed, 04 Jun 2025 17:30:24 -0700
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6840e520.050a0220.2461cf.000c.GAE@xxxxxxxxxx>
Subject: [syzbot] [nbd?] possible deadlock in nbd_ioctl
From: syzbot <syzbot+7f46fdd7673b5fec63ac@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: axboe@xxxxxxxxx, josef@xxxxxxxxxxxxxx, linux-block@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, nbd@xxxxxxxxxxxxxxxx,
syzkaller-bugs@xxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
X-Spam-Status: No, score=-3.0 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

SGVsbG8sCgpzeXpib3QgZm91bmQgdGhlIGZvbGxvd2luZyBpc3N1ZSBvbjoKCkhFQUQgY29tbWl0
OiAgICA0Y2I2YzhhZjg1OTEgc2VsZnRlc3RzL2ZpbGVzeXN0ZW1zOiBGaXggYnVpbGQgb2YgYW5v
bl9pbm9kLi4KZ2l0IHRyZWU6ICAgICAgIHVwc3RyZWFtCmNvbnNvbGUgb3V0cHV0OiBodHRwczov
L3N5emthbGxlci5hcHBzcG90LmNvbS94L2xvZy50eHQ/eD0xMDFkYmVkNDU4MDAwMAprZXJuZWwg
Y29uZmlnOiAgaHR0cHM6Ly9zeXprYWxsZXIuYXBwc3BvdC5jb20veC8uY29uZmlnP3g9NGRiMjRj
NWY4MGM2OWY3MwpkYXNoYm9hcmQgbGluazogaHR0cHM6Ly9zeXprYWxsZXIuYXBwc3BvdC5jb20v
YnVnP2V4dGlkPTdmNDZmZGQ3NjczYjVmZWM2M2FjCmNvbXBpbGVyOiAgICAgICBnY2MgKERlYmlh
biAxMi4yLjAtMTQpIDEyLjIuMCwgR05VIGxkIChHTlUgQmludXRpbHMgZm9yIERlYmlhbikgMi40
MAp1c2Vyc3BhY2UgYXJjaDogaTM4NgoKVW5mb3J0dW5hdGVseSwgSSBkb24ndCBoYXZlIGFueSBy
ZXByb2R1Y2VyIGZvciB0aGlzIGlzc3VlIHlldC4KCkRvd25sb2FkYWJsZSBhc3NldHM6CmRpc2sg
aW1hZ2UgKG5vbi1ib290YWJsZSk6IGh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9zeXpi
b3QtYXNzZXRzL2Q5MDBmMDgzYWRhMy9ub25fYm9vdGFibGVfZGlzay00Y2I2YzhhZi5yYXcueHoK
dm1saW51eDogaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3N5emJvdC1hc3NldHMvMDNh
MzIwM2M0ODc3L3ZtbGludXgtNGNiNmM4YWYueHoKa2VybmVsIGltYWdlOiBodHRwczovL3N0b3Jh
Z2UuZ29vZ2xlYXBpcy5jb20vc3l6Ym90LWFzc2V0cy81ZGEzYTMyMTQwZGQvYnpJbWFnZS00Y2I2
YzhhZi54egoKSU1QT1JUQU5UOiBpZiB5b3UgZml4IHRoZSBpc3N1ZSwgcGxlYXNlIGFkZCB0aGUg
Zm9sbG93aW5nIHRhZyB0byB0aGUgY29tbWl0OgpSZXBvcnRlZC1ieTogc3l6Ym90KzdmNDZmZGQ3
NjczYjVmZWM2M2FjQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KCgnvv73vv716EwAdagHvv716
L3cFJO+/ve+/vSg+77+977+9VAsEAe+/vXzvv71o77+977+977+9f++/vTMFDO+/ve+/vQs377+9
YCgq77+977+977+977+9eO+/vWsi3rrvv71HFnpS77+977+977+977+9QW8PT++/vcW677+9FDpt
QGRj77+9fuC7ie+/ve+/vV3vv71GASMX77+977+977+9PO+/ve+/ve+/vUjvv71L77+9U++/vV8Q
CX3vv70g77+9JjTvv73Sve+/vTrvv70MQu+/vUBZ77+9YRDvv73vv71Ie++/vUnvv73vv73Ig++/
vTHvv70v77+9dO+/vTY4M++/vS3vv71I77+904fVn0/vv702ZO+/ve+/vWcVO++/ve+/vXrvv73v
v73vv71H77+9WO+/vTRXCO+/vTZC77+9Z++/ve+/ve+/vVzvv70iXBnvv71WWzHvv71D77+9HO+/
vSBj77+977+9W0gPK++/ve+/ve+/vVHvv71L77+977+9bO+/vSxOSu+/ve+/vVR0MAwFGhbvv70e
77+977+9TzMg77+9fu+/vTfvv71UN++/vWkR77+9WyAgMjM0LjkwNzQ3MV1bVDExNDgyXSAK77+9
77+9A++/vUJKKh3gqZdN77+9PBhPWyAgMjM0LjkwODM2OF1bVDExNDgyXSA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K77+9Yu+/vTQS77+9MgPZ
rB3vv714L++/ve+/vVsgIDIzNC45MTExODZdW1QxMTQ4Ml0gV0FSTklORzogcG9zc2libGUgY2ly
Y3VsYXIgbG9ja2luZyBkZXBlbmRlbmN5IGRldGVjdGVkCs+t77+9Oivvv73vv73eie+/ve+/vTNs
IjDvv71bICAyMzQuOTEzODg2XVtUMTE0ODJdIDYuMTUuMC1zeXprYWxsZXItMTA0MDItZzRjYjZj
OGFmODU5MSAjMCBOb3QgdGFpbnRlZApa77+977+9ZO+/vQhPI++/ve+/vcy1Rzwn77+9WyAgMjM0
LjkxNzM2N11bVDExNDgyXSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KLe+/vVDvv70l77+9cO+/ve+/ve+/vW0EeEI/PVsgIDIzNC45MjEyMzBd
W1QxMTQ4Ml0gc3l6LjIuMTcyNi8xMTQ4MiBpcyB0cnlpbmcgdG8gYWNxdWlyZSBsb2NrOgrMngvv
v71L77+9E++/vTsP77+977+977+9bSRbICAyMzQuOTQ3ODQ3XVtUMTE0ODJdICAgICAgICBuYmRf
Y29uZmlnX3B1dCsweDMxLzB4NzUwIGRyaXZlcnMvYmxvY2svbmJkLmM6MTQyMwo4BO+/ve+/ve+/
ve+/ve+/ve+/vUlA77+9O++/ve+/vc2KWyAgMjM0Ljk1MDQxOV1bVDExNDgyXSAgICAgICAgbmJk
X3JlbGVhc2UrMHhiNy8weDE5MCBkcml2ZXJzL2Jsb2NrL25iZC5jOjE3MzUKcm1ERCLvv73vv73v
v73vv73vv71l0YA+dwFbICAyMzQuOTUyNjMwXVtUMTE0ODJdICAgICAgICBibGtkZXZfcHV0X3do
b2xlKzB4YWQvMHhmMCBibG9jay9iZGV2LmM6NzIxCu+/ve+/vWomFC8eb2Pvv73vv73vv71p77+9
IWlbICAyMzQuOTU0NzU5XVtUMTE0ODJdICAgICAgICBiZGV2X3JlbGVhc2UrMHg0N2UvMHg2ZDAg
YmxvY2svYmRldi5jOjExNDQK77+9UF95UTLvv70zQO+/ve+/vRUcU++/vVsgIDIzNC45NTY4MDFd
W1QxMTQ4Ml0gICAgICAgIGJsa2Rldl9yZWxlYXNlKzB4MTUvMHgyMCBibG9jay9mb3BzLmM6Njg0
Cnbvv73vv715QWVdH1Ez77+9TC7vv73vv71wWyAgMjM0Ljk1ODg2Nl1bVDExNDgyXSAgICAgICAg
X19mcHV0KzB4NDAyLzB4YjcwIGZzL2ZpbGVfdGFibGUuYzo0NjUKOV7vv70677+977+9F2wD77+9
77+9HQHvv71+77+9WyAgMjM0Ljk2MDc5MF1bVDExNDgyXSAgICAgICAgZnB1dF9jbG9zZV9zeW5j
KzB4MTE4LzB4MjYwIGZzL2ZpbGVfdGFibGUuYzo1NzAKWO+/ve+/ve+/ve+/vXoF77+977+9fk0H
77+977+9JlsgIDIzNC45NjMzODJdW1QxMTQ4Ml0gICAgICAgIF9fZG9fc3lzX2Nsb3NlIGZzL29w
ZW4uYzoxNTg5IFtpbmxpbmVdCljvv73vv73vv73vv716Be+/ve+/vX5NB++/ve+/vSZbICAyMzQu
OTYzMzgyXVtUMTE0ODJdICAgICAgICBfX3NlX3N5c19jbG9zZSBmcy9vcGVuLmM6MTU3NCBbaW5s
aW5lXQpY77+977+977+977+9egXvv73vv71+TQfvv73vv70mWyAgMjM0Ljk2MzM4Ml1bVDExNDgy
XSAgICAgICAgX194NjRfc3lzX2Nsb3NlKzB4OGIvMHgxMjAgZnMvb3Blbi5jOjE1NzQKCkh+77+9
aO+/vSAh77+9Y++/vU4n77+9WyAgMjM0Ljk2NTU2OF1bVDExNDgyXSAgICAgICAgZG9fc3lzY2Fs
bF94NjQgYXJjaC94ODYvZW50cnkvc3lzY2FsbF82NC5jOjYzIFtpbmxpbmVdCkh+77+9aO+/vSAh
77+9Y++/vU4n77+9WyAgMjM0Ljk2NTU2OF1bVDExNDgyXSAgICAgICAgZG9fc3lzY2FsbF82NCsw
eGNkLzB4NDkwIGFyY2gveDg2L2VudHJ5L3N5c2NhbGxfNjQuYzo5NArQvlo4w60g77+9Ye+/ve+/
ve+/vc+ATFsgIDIzNC45Njc2NzldW1QxMTQ4Ml0gICAgICAgIGVudHJ5X1NZU0NBTExfNjRfYWZ0
ZXJfaHdmcmFtZSsweDc3LzB4N2YKUu+/vRAl77+9KAPehe+/ve+/vV3vv73vv71af1sgIDIzNC45
NzAxNDldW1QxMTQ4Ml0gCkfvv73vv70S04Xvv70VGNSW77+977+9D2rvv71bICAyMzQuOTczMTEx
XVtUMTE0ODJdICAgICAgICBfX211dGV4X2xvY2tfY29tbW9uIGtlcm5lbC9sb2NraW5nL211dGV4
LmM6NjAxIFtpbmxpbmVdCkfvv73vv70S04Xvv70VGNSW77+977+9D2rvv71bICAyMzQuOTczMTEx
XVtUMTE0ODJdICAgICAgICBfX211dGV4X2xvY2srMHgxOTkvMHhiOTAga2VybmVsL2xvY2tpbmcv
bXV0ZXguYzo3NDYK77+977+977+9M++/vX/vv71EGwzvv73vv71DOR/vv71bICAyMzQuOTc1MjQ3
XVtUMTE0ODJdICAgICAgICBfX2RlbF9nZW5kaXNrKzB4ZjUvMHhiZDAgYmxvY2svZ2VuaGQuYzo3
MDYK77+977+977+9Ujjvv70LTe+/vTLvv714WgHvv73vv71bICAyMzQuOTc3NDU3XVtUMTE0ODJd
ICAgICAgICBkZWxfZ2VuZGlzaysweDEzZS8weDFlMCBibG9jay9nZW5oZC5jOjgxOQpiEe+/ve+/
vSXvv70jFFLvv73vv718Zu+/ve+/ve+/vVsgIDIzNC45Nzk0NjVdW1QxMTQ4Ml0gICAgICAgIGxv
b3BfcmVtb3ZlIGRyaXZlcnMvYmxvY2svbG9vcC5jOjIwODEgW2lubGluZV0KYhHvv73vv70l77+9
IxRS77+977+9fGbvv73vv73vv71bICAyMzQuOTc5NDY1XVtUMTE0ODJdICAgICAgICBsb29wX2Nv
bnRyb2xfcmVtb3ZlIGRyaXZlcnMvYmxvY2svbG9vcC5jOjIxNDAgW2lubGluZV0KYhHvv73vv70l
77+9IxRS77+977+9fGbvv73vv73vv71bICAyMzQuOTc5NDY1XVtUMTE0ODJdICAgICAgICBsb29w
X2NvbnRyb2xfaW9jdGwrMHg0ZWIvMHg2MzAgZHJpdmVycy9ibG9jay9sb29wLmM6MjE3OArvv70G
77+95LeT77+9bF9J77+977+9XEdfYlsgIDIzNC45ODE4MzldW1QxMTQ4Ml0gICAgICAgIF9fZG9f
Y29tcGF0X3N5c19pb2N0bCBmcy9pb2N0bC5jOjEwMDUgW2lubGluZV0K77+9Bu+/veS3k++/vWxf
Se+/ve+/vVxHX2JbICAyMzQuOTgxODM5XVtUMTE0ODJdICAgICAgICBfX3NlX2NvbXBhdF9zeXNf
aW9jdGwgZnMvaW9jdGwuYzo5NDggW2lubGluZV0K77+9Bu+/veS3k++/vWxfSe+/ve+/vVxHX2Jb
ICAyMzQuOTgxODM5XVtUMTE0ODJdICAgICAgICBfX2lhMzJfY29tcGF0X3N5c19pb2N0bCsweDIz
Zi8weDM3MCBmcy9pb2N0bC5jOjk0OArvv71o77+9Vmnvv73vv70/77+9TmZnVu+/vUJwWyAgMjM0
Ljk4NDE2M11bVDExNDgyXSAgICAgICAgZG9fc3lzY2FsbF8zMl9pcnFzX29uIGFyY2gveDg2L2Vu
dHJ5L3N5c2NhbGxfMzIuYzo4MyBbaW5saW5lXQrvv71o77+9Vmnvv73vv70/77+9TmZnVu+/vUJw
WyAgMjM0Ljk4NDE2M11bVDExNDgyXSAgICAgICAgX19kb19mYXN0X3N5c2NhbGxfMzIrMHg3Yy8w
eDNhMCBhcmNoL3g4Ni9lbnRyeS9zeXNjYWxsXzMyLmM6MzA2Ckkr77+9GB/vv71oORTvv70/Ge+/
ve+/vSBbICAyMzQuOTg2NDAwXVtUMTE0ODJdICAgICAgICBkb19mYXN0X3N5c2NhbGxfMzIrMHgz
Mi8weDgwIGFyY2gveDg2L2VudHJ5L3N5c2NhbGxfMzIuYzozMzEK77+9TXbvv71z77+977+977+9
77+9Pu+/vRQn77+9cO+/vVsgIDIzNC45ODg2MDJdW1QxMTQ4Ml0gICAgICAgIGVudHJ5X1NZU0VO
VEVSX2NvbXBhdF9hZnRlcl9od2ZyYW1lKzB4ODQvMHg4ZQpNWO+/vXNRF++/vS7vv71g77+977+9
bO+/vVsgIDIzNC45OTEyODZdW1QxMTQ4Ml0gCnHvv71477+977+9Se+/ve+/vRjvv716NFJnW++/
vVsgIDIzNC45OTQzNzFdW1QxMTQ4Ml0gICAgICAgIGNoZWNrX3ByZXZfYWRkIGtlcm5lbC9sb2Nr
aW5nL2xvY2tkZXAuYzozMTY4IFtpbmxpbmVdCnHvv71477+977+9Se+/ve+/vRjvv716NFJnW++/
vVsgIDIzNC45OTQzNzFdW1QxMTQ4Ml0gICAgICAgIGNoZWNrX3ByZXZzX2FkZCBrZXJuZWwvbG9j
a2luZy9sb2NrZGVwLmM6MzI4NyBbaW5saW5lXQpx77+9eO+/ve+/vUnvv73vv70Y77+9ejRSZ1vv
v71bICAyMzQuOTk0MzcxXVtUMTE0ODJdICAgICAgICB2YWxpZGF0ZV9jaGFpbiBrZXJuZWwvbG9j
a2luZy9sb2NrZGVwLmM6MzkxMSBbaW5saW5lXQpx77+9eO+/ve+/vUnvv73vv70Y77+9ejRSZ1vv
v71bICAyMzQuOTk0MzcxXVtUMTE0ODJdICAgICAgICBfX2xvY2tfYWNxdWlyZSsweDEyNmYvMHgx
YzkwIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzo1MjQwCtKqYV/vv71eF++/vUFIeu+/ve+/vXp/
L1sgIDIzNC45OTY1MTldW1QxMTQ4Ml0gICAgICAgIGxvY2tfYWNxdWlyZSBrZXJuZWwvbG9ja2lu
Zy9sb2NrZGVwLmM6NTg3MSBbaW5saW5lXQrSqmFf77+9Xhfvv71BSHrvv73vv716fy9bICAyMzQu
OTk2NTE5XVtUMTE0ODJdICAgICAgICBsb2NrX2FjcXVpcmUrMHgxNzkvMHgzNTAga2VybmVsL2xv
Y2tpbmcvbG9ja2RlcC5jOjU4MjgKZu+/vTI9YWjvv73vv70OZVJX77+977+977+977+9WyAgMjM0
Ljk5ODU1M11bVDExNDgyXSAgICAgICAgZG93bl93cml0ZSsweDkyLzB4MjAwIGtlcm5lbC9sb2Nr
aW5nL3J3c2VtLmM6MTU3Nwo1Ogom77+9Nu+/vWssY++/ve+/ve+/ve+/vVsgIDIzNS4wMDA1MDRd
W1QxMTQ4Ml0gICAgICAgIGJsa19tcV91cGRhdGVfbnJfaHdfcXVldWVzKzB4MzIvMHhjYjAgYmxv
Y2svYmxrLW1xLmM6NTA0MQrvv70jF++/ve+/vVZJVkgQEhZG77+977+977+9WyAgMjM1LjAwMjk1
NF1bVDExNDgyXSAgICAgICAgbmJkX3N0YXJ0X2RldmljZSsweDE3Mi8weGNkMCBkcml2ZXJzL2Js
b2NrL25iZC5jOjE0NzYKYO+/ve+/ve+/vQLvv73vv70K77+9VwXvv70OWyAgMjM1LjAwNTA5OV1b
VDExNDgyXSAgICAgICAgbmJkX3N0YXJ0X2RldmljZV9pb2N0bCBkcml2ZXJzL2Jsb2NrL25iZC5j
OjE1MjcgW2lubGluZV0K77+9VwXvv70OWyAgMjM1LjAwNTA5OV1bVDExNDgyXSAgICAgICAgX19u
YmRfaW9jdGwgZHJpdmVycy9ibG9jay9uYmQuYzoxNjAyIFtpbmxpbmVdCu+/vVcF77+9DlsgIDIz
NS4wMDUwOTldW1QxMTQ4Ml0gICAgICAgIG5iZF9pb2N0bCsweDIxOS8weGRhMCBkcml2ZXJzL2Js
b2NrL25iZC5jOjE2NDIKVm8mV++/ve+/vWzvv73vv73vv73vv71JaXLvv73vv71bICAyMzUuMDA3
MTk5XVtUMTE0ODJdICAgICAgICBjb21wYXRfYmxrZGV2X2lvY3RsKzB4MmVlLzB4N2EwIGJsb2Nr
L2lvY3RsLmM6NzYwCh8P77+977+977+977+977+9ZO+/vWPvv73vv73vv70d77+9WyAgMjM1LjAw
OTQxNl1bVDExNDgyXSAgICAgICAgX19kb19jb21wYXRfc3lzX2lvY3RsIGZzL2lvY3RsLmM6MTAw
NSBbaW5saW5lXQofD++/ve+/ve+/ve+/ve+/vWTvv71j77+977+977+9He+/vVsgIDIzNS4wMDk0
MTZdW1QxMTQ4Ml0gICAgICAgIF9fc2VfY29tcGF0X3N5c19pb2N0bCBmcy9pb2N0bC5jOjk0OCBb
aW5saW5lXQofD++/ve+/ve+/ve+/ve+/vWTvv71j77+977+977+9He+/vVsgIDIzNS4wMDk0MTZd
W1QxMTQ4Ml0gICAgICAgIF9faWEzMl9jb21wYXRfc3lzX2lvY3RsKzB4MjNmLzB4MzcwIGZzL2lv
Y3RsLmM6OTQ4CgsR77+9Mu+/vS0a77+977+977+977+9f2Xvv71kF1sgIDIzNS4wMTE4MTddW1Qx
MTQ4Ml0gICAgICAgIGRvX3N5c2NhbGxfMzJfaXJxc19vbiBhcmNoL3g4Ni9lbnRyeS9zeXNjYWxs
XzMyLmM6ODMgW2lubGluZV0KCxHvv70y77+9LRrvv73vv73vv73vv71/Ze+/vWQXWyAgMjM1LjAx
MTgxN11bVDExNDgyXSAgICAgICAgX19kb19mYXN0X3N5c2NhbGxfMzIrMHg3Yy8weDNhMCBhcmNo
L3g4Ni9lbnRyeS9zeXNjYWxsXzMyLmM6MzA2Cu+/ve+/vUTvv70qBe+/ve+/vS4977+9OPOXtKZb
ICAyMzUuMDE0MDQ0XVtUMTE0ODJdICAgICAgICBkb19mYXN0X3N5c2NhbGxfMzIrMHgzMi8weDgw
IGFyY2gveDg2L2VudHJ5L3N5c2NhbGxfMzIuYzozMzEK77+977+9O++/vQvvv70/77+9d++/ve+/
ve+/ve+/vTEpGFsgIDIzNS4wMTYxODNdW1QxMTQ4Ml0gICAgICAgIGVudHJ5X1NZU0VOVEVSX2Nv
bXBhdF9hZnRlcl9od2ZyYW1lKzB4ODQvMHg4ZQpu77+937Fb77+9dXnvv71TIFfvv73vv71x77+9
WyAgMjM1LjAxODc2OF1bVDExNDgyXSAK77+977+9Ne+/vSdaYu+/vcqM77+977+9MHnvv71tWyAg
MjM1LjAyMjQ2OF1bVDExNDgyXSBDaGFpbiBleGlzdHMgb2Y6Cjrvv73vv719a2vvv73vv70BESB8
77+9Vu+/vVsgIDIzNS4wMjcyNThdW1QxMTQ4Ml0gIFBvc3NpYmxlIHVuc2FmZSBsb2NraW5nIHNj
ZW5hcmlvOgrXkjvvv70l77+9K++/vR5sE++/vQE777+9SFsgIDIzNS4wMzAwNjRdW1QxMTQ4Ml0g
ICAgICAgIENQVTAgICAgICAgICAgICAgICAgICAgIENQVTEK77+977+977+9I++/ve+/vRxv77+9
Ru+/vR3vv73vv71KWyAgMjM1LjAzMjMxNl1bVDExNDgyXSAgICAgICAgLS0tLSAgICAgICAgICAg
ICAgICAgICAgLS0tLQrvv70777+977+9GAohWWcG77+977+9ZRU0WyAgMjM1LjAzNDQ2N11bVDEx
NDgyXSAgIGxvY2soJm5iZC0+Y29uZmlnX2xvY2spOwrvv73vv73vv70SPDvvv73Pje+/ve+/ve+/
ve+/vSN+77+9WyAgMjM1LjAzNjM2N11bVDExNDgyXSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9jaygmZGlzay0+b3Blbl9tdXRleCk7Cu+/ve+/ve+/vU9w77+9TO+/vX1x77+9KFHv
v70f77+9WyAgMjM1LjAzOTAxNl1bVDExNDgyXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbG9jaygmbmJkLT5jb25maWdfbG9jayk7Cjvvv73vv71najzvv73vv70aH++/vQtOJe+/ve+/
vVsgIDIzNS4wNDE3MzNdW1QxMTQ4Ml0gICBsb2NrKCZzZXQtPnVwZGF0ZV9ucl9od3FfbG9jayk7
ClHvv709QO+/vX5OSE4F34Qw77+9NBJbICAyMzUuMDQzODEyXVtUMTE0ODJdIArvv70S77+9Ce+/
ve+/ve+/ve+/vWfFq++/vRHvv73vv71bICAyMzUuMDQ2Nzg1XVtUMTE0ODJdIDEgbG9jayBoZWxk
IGJ5IHN5ei4yLjE3MjYvMTE0ODI6Ckfvv70sUzARbO+/vSzvv73vv73DkHdtIlsgIDIzNS4wNDg4
NDZdW1QxMTQ4Ml0gICMwOiBmZmZmODg4MDIyZjBiMjMwICgmbmJkLT5jb25maWdfbG9jayl7Ky4r
Ln0tezQ6NH0sIGF0OiBuYmRfaW9jdGwrMHgxNTAvMHhkYTAgZHJpdmVycy9ibG9jay9uYmQuYzox
NjM1Cjvvv70Q77+977+977+9b++/ve+/ve+/ve+/vR0f5ragWyAgMjM1LjA1MjUyNV1bVDExNDgy
XSAKYO+/ve+/vUjvv70377+977+9du+/ve+/vQLvv73vv73vv71J77+9as+2Ve+/vSge77+977+9
77+977+977+977+9WyAgMjM1LjA1NTUwN11bVDExNDgyXSBDUFU6IDAgVUlEOiAwIFBJRDogMTE0
ODIgQ29tbTogc3l6LjIuMTcyNiBOb3QgdGFpbnRlZCA2LjE1LjAtc3l6a2FsbGVyLTEwNDAyLWc0
Y2I2YzhhZjg1OTEgIzAgUFJFRU1QVChmdWxsKSAKY++/vd6X77+9We+/vW3vv70RTxFb77+9Qe+/
vVsgIDIzNS4wNTU1MjhdW1QxMTQ4Ml0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAo
UTM1ICsgSUNIOSwgMjAwOSksIEJJT1MgMS4xNi4zLWRlYmlhbi0xLjE2LjMtMn5icG8xMisxIDA0
LzAxLzIwMTQK77+9Wcmc77+9MM+AYO+/ve+/vTvvv71X77+9AVsgIDIzNS4wNTU1MzZdW1QxMTQ4
Ml0gQ2FsbCBUcmFjZToK77+9ZO+/ve+/ve+/ve+/vSHvv714WH4jIO+/ve+/ve+/vVsgIDIzNS4w
NTU1NDFdW1QxMTQ4Ml0gIDxUQVNLPgrvv70E77+9OwwC77+977+977+977+977+9YFZI77+9WyAg
MjM1LjA1NTU0N11bVDExNDgyXSAgX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6OTQgW2lu
bGluZV0K77+9BO+/vTsMAu+/ve+/ve+/ve+/ve+/vWBWSO+/vVsgIDIzNS4wNTU1NDddW1QxMTQ4
Ml0gIGR1bXBfc3RhY2tfbHZsKzB4MTE2LzB4MWYwIGxpYi9kdW1wX3N0YWNrLmM6MTIwCmRV77+9
77+977+977+9K++/ve+/vRwdFRAq77+9WyAgMjM1LjA1NTU2M11bVDExNDgyXSAgcHJpbnRfY2ly
Y3VsYXJfYnVnKzB4Mjc1LzB4MzUwIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzoyMDQ2CnVz77+9
77+977+977+9Xls2O9ee77+9OVs8WyAgMjM1LjA1NTYwM11bVDExNDgyXSAgY2hlY2tfcHJldl9h
ZGQga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjMxNjggW2lubGluZV0KdXPvv73vv73vv73vv71e
WzY7157vv705WzxbICAyMzUuMDU1NjAzXVtUMTE0ODJdICBjaGVja19wcmV2c19hZGQga2VybmVs
L2xvY2tpbmcvbG9ja2RlcC5jOjMyODcgW2lubGluZV0KdXPvv73vv73vv73vv71eWzY7157vv705
WzxbICAyMzUuMDU1NjAzXVtUMTE0ODJdICB2YWxpZGF0ZV9jaGFpbiBrZXJuZWwvbG9ja2luZy9s
b2NrZGVwLmM6MzkxMSBbaW5saW5lXQp1c++/ve+/ve+/ve+/vV5bNjvXnu+/vTlbPFsgIDIzNS4w
NTU2MDNdW1QxMTQ4Ml0gIF9fbG9ja19hY3F1aXJlKzB4MTI2Zi8weDFjOTAga2VybmVsL2xvY2tp
bmcvbG9ja2RlcC5jOjUyNDAK77+977+977+977+977+9Kkk0DzHvv709Ahnvv73vv71bICAyMzUu
MDU1NjE3XVtUMTE0ODJdICBsb2NrX2FjcXVpcmUga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjU4
NzEgW2lubGluZV0K77+977+977+977+977+9Kkk0DzHvv709Ahnvv73vv71bICAyMzUuMDU1NjE3
XVtUMTE0ODJdICBsb2NrX2FjcXVpcmUrMHgxNzkvMHgzNTAga2VybmVsL2xvY2tpbmcvbG9ja2Rl
cC5jOjU4MjgKRTDvv71B77+977+9z53vv73vv73vv71Qbu+/ve+/vV1bICAyMzUuMDU1NjQ1XVtU
MTE0ODJdICA/IF9fcGZ4X19fbWlnaHRfcmVzY2hlZCsweDEwLzB4MTAga2VybmVsL3NjaGVkL2Nv
cmUuYzo1ODk5Cu+/vS3vv71Z77+977+977+977+977+9zYzvv73vv71Aej1bICAyMzUuMDU1Njc3
XVtUMTE0ODJdICBkb3duX3dyaXRlKzB4OTIvMHgyMDAga2VybmVsL2xvY2tpbmcvcndzZW0uYzox
NTc3Cu+/vQXvv73vv73vv73vv704E++/ve+/ve+/vd6QA++/vVsgIDIzNS4wNTU2OTBdW1QxMTQ4
Ml0gID8gYmxrX21xX3VwZGF0ZV9ucl9od19xdWV1ZXMrMHgzMi8weGNiMCBibG9jay9ibGstbXEu
Yzo1MDQxCu+/vVt377+977+9K++/ve+/ve+/ve+/vdi/77+9Yk1VWyAgMjM1LjA1NTcxOF1bVDEx
NDgyXSAgPyBfX211dGV4X2xvY2tfY29tbW9uIGtlcm5lbC9sb2NraW5nL211dGV4LmM6NjExIFtp
bmxpbmVdCu+/vVt377+977+9K++/ve+/ve+/ve+/vdi/77+9Yk1VWyAgMjM1LjA1NTcxOF1bVDEx
NDgyXSAgPyBfX211dGV4X2xvY2srMHgxY2EvMHhiOTAga2VybmVsL2xvY2tpbmcvbXV0ZXguYzo3
NDYKbO+/vQ/vv73vv70W77+9ZSrvv700eO+/vRwgAFsgIDIzNS4wNTU3NTJdW1QxMTQ4Ml0gIGJs
a19tcV91cGRhdGVfbnJfaHdfcXVldWVzKzB4MzIvMHhjYjAgYmxvY2svYmxrLW1xLmM6NTA0MQp/
77+977+977+9OO+/vVjvv73vv71w77+9fCbvv71kX1sgIDIzNS4wNTU3NjddW1QxMTQ4Ml0gID8g
X19wZnhfX19tdXRleF9sb2NrKzB4MTAvMHgxMCB1c2VyY29weV82NC5jOi0xCgvKmta177+977+9
77+977+9Ge+/vS0+77+9Re+/vVsgIDIzNS4wNTU3OTddW1QxMTQ4Ml0gIG5iZF9zdGFydF9kZXZp
Y2UrMHgxNzIvMHhjZDAgZHJpdmVycy9ibG9jay9uYmQuYzoxNDc2Cu+/vWtd77+9GRhQ16rvv70J
X3B277+977+9WyAgMjM1LjA1NTgxNF1bVDExNDgyXSAgPyBicGZfbHNtX2NhcGFibGUrMHg5LzB4
MTAgaW5jbHVkZS9saW51eC9sc21faG9va19kZWZzLmg6NDQKUy7vv73vv71SBgHvv70I77+9Xu+/
vWZ4LF5bICAyMzUuMDU1ODQzXVtUMTE0ODJdICA/IF9fcGZ4X25iZF9pb2N0bCsweDEwLzB4MTAg
ZHJpdmVycy9ibG9jay9uYmQuYzo4MjgK77+9fW0T77+9Vu+/vTVwL9Ov77+977+9WVsgIDIzNS4w
NTU4NjJdW1QxMTQ4Ml0gID8gZmluZF9oZWxkX2xvY2srMHgyYi8weDgwIGtlcm5lbC9sb2NraW5n
L2xvY2tkZXAuYzo1MzUzCk7vv73HkO+/vR1T77+9HwQcOWlg77+9UFsgIDIzNS4wNTU4OTFdW1Qx
MTQ4Ml0gIGNvbXBhdF9ibGtkZXZfaW9jdGwrMHgyZWUvMHg3YTAgYmxvY2svaW9jdGwuYzo3NjAK
FAXvv70h77+9KO+/vW1bLHwi77+977+977+9RlsgIDIzNS4wNTU5MDRdW1QxMTQ4Ml0gID8gX19w
ZnhfY29tcGF0X2Jsa2Rldl9pb2N0bCsweDEwLzB4MTAgYmxvY2svaW9jdGwuYzo3MDIKIO+/ve+/
vXdd77+9Ze+/vTR377+9fu+/vQHvv71oWyAgMjM1LjA1NTkzMV1bVDExNDgyXSAgX19kb19jb21w
YXRfc3lzX2lvY3RsIGZzL2lvY3RsLmM6MTAwNSBbaW5saW5lXQog77+977+9d13vv71l77+9NHfv
v71+77+9Ae+/vWhbICAyMzUuMDU1OTMxXVtUMTE0ODJdICBfX3NlX2NvbXBhdF9zeXNfaW9jdGwg
ZnMvaW9jdGwuYzo5NDggW2lubGluZV0KIO+/ve+/vXdd77+9Ze+/vTR377+9fu+/vQHvv71oWyAg
MjM1LjA1NTkzMV1bVDExNDgyXSAgX19pYTMyX2NvbXBhdF9zeXNfaW9jdGwrMHgyM2YvMHgzNzAg
ZnMvaW9jdGwuYzo5NDgK77+977+977+9MgQ5He+/ve+/ve+/ve+/vWLvv73arAJbICAyMzUuMDU1
OTUwXVtUMTE0ODJdICBkb19zeXNjYWxsXzMyX2lycXNfb24gYXJjaC94ODYvZW50cnkvc3lzY2Fs
bF8zMi5jOjgzIFtpbmxpbmVdCu+/ve+/ve+/vTIEOR3vv73vv73vv73vv71i77+92qwCWyAgMjM1
LjA1NTk1MF1bVDExNDgyXSAgX19kb19mYXN0X3N5c2NhbGxfMzIrMHg3Yy8weDNhMCBhcmNoL3g4
Ni9lbnRyeS9zeXNjYWxsXzMyLmM6MzA2CkDvv73Xr++/vT8dGO+/ve+/vVQQ77+977+977+9WyAg
MjM1LjA1NTk2NF1bVDExNDgyXSAgZG9fZmFzdF9zeXNjYWxsXzMyKzB4MzIvMHg4MCBhcmNoL3g4
Ni9lbnRyeS9zeXNjYWxsXzMyLmM6MzMxCu+/vVLvv71/77+977+9Pkvvv73vv73vv715WitidFsg
IDIzNS4wNTU5NzddW1QxMTQ4Ml0gIGVudHJ5X1NZU0VOVEVSX2NvbXBhdF9hZnRlcl9od2ZyYW1l
KzB4ODQvMHg4ZQrvv71/2p4dV++/ve+/vS1iURnvv73ViglbICAyMzUuMDU1OTkyXVtUMTE0ODJd
IFJJUDogMDAyMzoweGY3ZmM1NTc5Cn7vv71m77+9aQAV77+9aHbvv71e77+977+9fC9bICAyMzUu
MDU2MDEyXVtUMTE0ODJdIFJTUDogMDAyYjowMDAwMDAwMGY1MGU2NTVjIEVGTEFHUzogMDAwMDAy
OTYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMzYK77+9eBIC77+9JCxZ77+977+977+9CeOjllsg
IDIzNS4wNTYwMjNdW1QxMTQ4Ml0gUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAw
MDAwMDAwMyBSQ1g6IDAwMDAwMDAwMDAwMGFiMDMKFO+/vUHvv73vv73JtO+/vVZ/77+9R++/vRpI
TFsgIDIzNS4wNTYwMzBdW1QxMTQ4Ml0gUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogMDAwMDAw
MDAwMDAwMDAwMCBSREk6IDAwMDAwMDAwMDAwMDAwMDAKU01LFRXvv70X77+9KlMfde+/ve+/ve+/
vVsgIDIzNS4wNTYwMzZdW1QxMTQ4Ml0gUkJQOiAwMDAwMDAwMDAwMDAwMDAwIFIwODogMDAwMDAw
MDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKTO+/ve+/vd2t77+9OCrvv70xbSbvv73v
v71R77+9WyAgMjM1LjA1NjA0OV1bVDExNDgyXSBSMTM6IDAwMDAwMDAwMDAwMDAwMDAgUjE0OiAw
MDAwMDAwMDAwMDAwMDAwIFIxNTogMDAwMDAwMDAwMDAwMDAwMArvv71wz78ONe+/ve+/vT3vv71Y
77+977+977+977+9Bu+/vRoK77+9Ajo9Pe+/vUI+F10777+9b0bvv73vv73vv73vv70Mau+/vSvv
v71Y77+977+9c++/vW3vv71vZ0nvv71PUADngI7vv73vv73vv70FcO+/vT1377+977+977+9B++/
vRzvv73lp6kGIXoX77+977+977+9AH9bBMit77+914ITRyTvv71bEADvv71uaVVK77+9CFzvv71C
1LABx69K77+977+977+9BXrvv70P77+95JCy77+9R++/ve+/vVkYRe+/vV1BcGF4ZRDvv70f77+9
JjFdBu+/vS9o77+9S0RSa1oq77+977+9Re+/vWs377+93KoXY++/vQssDO+/vWsq77+9dT8nGBvv
v73vv71yz5NrVg59J3Lvv71l77+977+9U0rvv73epmtw4YSU77+977+977+977+9D++/vVLvv73v
v70DGu+/vQzvv73vv70SJO+/vUgk77+977+9Lh7EgTxX77+9R0AP77+9P17vv70n77+977+9Ie+/
vWHvv70p77+9AOmIj33vv70i77+93Knvv71Y77+9GnjJiVLvv70JR++/vUI777+9Ge+/ve+/ve+/
vWoM77+9YTpO77+977+977+9Ie+/vRsm77+977+977+9OO+/ve+/ve+/vULvv73vv71y77+977+9
U++/ve+/vXwnVn4ZBnowNGBl77+977+977+9C++/ve+/vXUq7qiBBO+/vXdC77+9Sgfvv73Ru1HN
h2Lvv73vv73vv71IMQYy77+977+9JH/vv73vv70Fc2HYpgNy77+977+9E++/vQfvv71x77+9e1PO
sUXvv73vv71NAe+/vRs877+9IO+/vT8C77+977+9Tu+/ve+/vTHvv71qH9Kz1bHvv70TRO+/vSXv
v71L77+9S++/vRzvv71/X++/vdGAbUzYku+/vVnNvF/vv71RTe+/ve+/veOHoe+/vTtc77+977+9
KlB077+977+9M++/vSvvv73vv70FfO+/vRDvv73vv73vv71Tbu+/ve+/vR5s77+9P++/vSjvv71D
RwPvv73vv73vv712XzAc77+977+92JTvv73vv73Zp3jvv73vv70CfSLvv70tUu+/vSHvv73vv71P
Be+/ve+/vRlrDxYv77+9U++/ve+/vQPvv73vv71377+9Ae+/vSbvv73vv71dLXrvv73vv71+Du+/
vRzvv71MH++/vS8n77+9IEHvv71U77+9SCXvv73vv73vv70K77+9OxdneiYo77+9TT0LY++/vRNh
RO+/vT3vv71p77+977+977+9We+/vUfvv71D06vvv71bPmDvv73vv73vv71777+977+977+977+9
77+977+9Xu+/ve+/ve+/vRfvv71EDlnvv73vv73vv73vv73CoO+/ve+/vduGSWRteS9rUW3vv73v
v71/77+977+90qPvv70577+977+977+9dO+/ve+/vQDvv73vv70dAUbvv71W3JB877+9QVxgS++/
vUfvv73vv73vv71K77+977+9F++/vRQl77+9Lu+/ve+/vVILRARoKe+/ve+/vVQiLzDvv71LBe+/
vWjvv71C77+9Fu+/ve+/vRjvv73vv70m77+9xojvv73vv71K77+9K2EKejnvv71ZMu+/ve+/vXrv
v73vv73vv73vv70J77+977+977+9DhQdZFjvv71bRe+/vQpTWVpGQUlMOiBmYWlsZWQgdG8gcmVj
diBycGMKZmQ9MyB3YW50PTQgcmVjdj0wIG49MCAoZXJybm8gOTogQmFkIGZpbGUgZGVzY3JpcHRv
cikKRe+/vTzvv71y77+977+9Vhw5CSdOde+/vRkSeHHvv73vv709eO+/vR3vv73vv71t77+977+9
VGx677+9Pe+/vRDvv73vv70aY3B677+9Pu+/vUrvv71p77+9VkFvVe+/vW00B1Tvv71b77+9LX/v
v70+YO+/vQ/vv71nLRs777+977+9M2Ut77+977+9NCTvv73rhYvvv73vv70U77+977+9NiM877+9
AAAQWyAgMjM1LjE5OTUxMl1bVDExNDgxXSBuZXRsaW5rOiA0IGJ5dGVzIGxlZnRvdmVyIGFmdGVy
IHBhcnNpbmcgYXR0cmlidXRlcyBpbiBwcm9jZXNzIGBzeXouNi4xNzI3Jy4KCgotLS0KVGhpcyBy
ZXBvcnQgaXMgZ2VuZXJhdGVkIGJ5IGEgYm90LiBJdCBtYXkgY29udGFpbiBlcnJvcnMuClNlZSBo
dHRwczovL2dvby5nbC90cHNtRUogZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc3l6Ym90Lgpz
eXpib3QgZW5naW5lZXJzIGNhbiBiZSByZWFjaGVkIGF0IHN5emthbGxlckBnb29nbGVncm91cHMu
Y29tLgoKc3l6Ym90IHdpbGwga2VlcCB0cmFjayBvZiB0aGlzIGlzc3VlLiBTZWU6Cmh0dHBzOi8v
Z29vLmdsL3Rwc21FSiNzdGF0dXMgZm9yIGhvdyB0byBjb21tdW5pY2F0ZSB3aXRoIHN5emJvdC4K
CklmIHRoZSByZXBvcnQgaXMgYWxyZWFkeSBhZGRyZXNzZWQsIGxldCBzeXpib3Qga25vdyBieSBy
ZXBseWluZyB3aXRoOgojc3l6IGZpeDogZXhhY3QtY29tbWl0LXRpdGxlCgpJZiB5b3Ugd2FudCB0
byBvdmVyd3JpdGUgcmVwb3J0J3Mgc3Vic3lzdGVtcywgcmVwbHkgd2l0aDoKI3N5eiBzZXQgc3Vi
c3lzdGVtczogbmV3LXN1YnN5c3RlbQooU2VlIHRoZSBsaXN0IG9mIHN1YnN5c3RlbSBuYW1lcyBv
biB0aGUgd2ViIGRhc2hib2FyZCkKCklmIHRoZSByZXBvcnQgaXMgYSBkdXBsaWNhdGUgb2YgYW5v
dGhlciBvbmUsIHJlcGx5IHdpdGg6CiNzeXogZHVwOiBleGFjdC1zdWJqZWN0LW9mLWFub3RoZXIt
cmVwb3J0CgpJZiB5b3Ugd2FudCB0byB1bmRvIGRlZHVwbGljYXRpb24sIHJlcGx5IHdpdGg6CiNz
eXogdW5kdXA=


Return-Path: <linux-kernel+bounces-673923-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2861F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:33:16 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 8CC6E7A58D3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:31:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2858521348;
Thu, 5 Jun 2025 00:33:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="Wv1AtdEs";
dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="NEx/vZmG";
dkim=fail reason="signature verification failed" (1024-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="aXoZYy1c"
Received: from mx0a-00230701.pphosted.com (mx0a-00230701.pphosted.com [148.163.156.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B1EE1FDA;
Thu, 5 Jun 2025 00:32:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.156.19
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749083580; cv=fail; b=rWj2THRSiVY0qacpMbqrui4hpv3rArUHtVGKcCL+eO9X8ar2pFdfow6l1PNdR0PCXPW3XQ1gGYe+dIwkNDmNWvnYjNnn/fLkBlm3pnerDSaeJjnv9CEv4Bf+2a76OgxiiD24DXV6h6qZutlihdbVvk8KD9YrFyHhjmckmD6kk+k=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749083580; c=relaxed/simple;
bh=gaboMplUbmndToDvrckqVg9nIFlh9BdUkSIvgxJxVxk=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=pxfAl6JwHffcpZW/sBgdHZuqA2IJQVl57R9JuE/ioKyfB7lfdCw6KYfkM3jZImohY1h8F6YpzO7KcmZ0TDWkhjsWACkLGYR4HpE0H5Q0Hj32QZj+5GXqcaJmF5xrlfinlpQZGE8UqpsvJOaWWms0YgKFgoUGxogOP8OyVEDJZuc=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=synopsys.com; spf=pass smtp.mailfrom=synopsys.com; dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=Wv1AtdEs; dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=NEx/vZmG; dkim=fail (1024-bit key) header.d=synopsys.com header.i=@synopsys.com header.b=aXoZYy1c reason="signature verification failed"; arc=fail smtp.client-ip=148.163.156.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=synopsys.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=synopsys.com
Received: from pps.filterd (m0098571.ppops.net [127.0.0.1])
by mx0a-00230701.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554Gv3Jt029855;
Wed, 4 Jun 2025 17:32:53 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com; h=
cc:content-id:content-transfer-encoding:content-type:date:from
:in-reply-to:message-id:mime-version:references:subject:to; s=
pfptdkimsnps; bh=gaboMplUbmndToDvrckqVg9nIFlh9BdUkSIvgxJxVxk=; b=
Wv1AtdEs2j11AfZbruJrOfMZ2n0RLoTpJumcP938J9Akaf7VhreVwaRby3drsemF
kXSLexd2IWkKt7Wi7XN6WA5owJJWxCpBjQeF0fSjiJ9MJjt18/W9GxgkuEQ84A0D
+v+kmY5hz3vH6bFzRqTnaK40AMA56IQHAkyGgd10lAQovAbPlr1gFpklpBII7K/9
+vR0muOXSftFGe758ZlDgi43Qa6e9NpuJ+O3xeFDOLJRZKFkNm5O8tIEfo7zoibJ
Xu03MWnfYYf96/mic9m0IXdpSr5eqxweKvmHVQ1hBZf82ioUp8LR9H3BvI8dAyVS
P1vITNUsYXdLW0fwDHqVXw==
Received: from smtprelay-out1.synopsys.com (smtprelay-out1.synopsys.com [149.117.73.133])
by mx0a-00230701.pphosted.com (PPS) with ESMTPS id 471g94my91-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 04 Jun 2025 17:32:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail;
t=1749083573; bh=gaboMplUbmndToDvrckqVg9nIFlh9BdUkSIvgxJxVxk=;
h=From:To:CC:Subject:Date:References:In-Reply-To:From;
b=NEx/vZmGauMfDi0S/IS+wrGgP2hPd0oncVE3e5W0RAsXWh+5rQ3ecLAk7UCYGjBAf
3UFO0XBXPIMkuJyZaaM6Njsmiku4/jGfW67+S7rAK1PqFmWA1NupE1dlYMzvaq3N2c
ZePTtBLvW/fM6G94uefyZJeOpj+iSh/J66RahoQx14Pt5UJ3Nl7ZuKrkjG1bm+X3u6
MdZ41ux4XsDvvKuE5KwGqolDBH/10at+r3/tImx6aMEPimjR5hXZR+jxsEBN8Z29gB
P1ccPouPuutcnx2AFM7Otspjk4g/JAfBPaivtcAwFDroTpSy28eSjH+1aOvYzRhZZd
Pw/QlRV34kDYQ==
Received: from mailhost.synopsys.com (badc-mailhost1.synopsys.com [10.192.0.17])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits)
client-signature RSA-PSS (2048 bits))
(Client CN "mailhost.synopsys.com", Issuer "SNPSica2" (verified OK))
by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id 2326A40114;
Thu, 5 Jun 2025 00:32:53 +0000 (UTC)
Received: from o365relay-in.synopsys.com (us03-o365relay3.synopsys.com [10.4.161.139])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
(Client CN "o365relay-in.synopsys.com", Issuer "Entrust Certification Authority - L1K" (not verified))
by mailhost.synopsys.com (Postfix) with ESMTPS id EA7B9A0104;
Thu, 5 Jun 2025 00:32:51 +0000 (UTC)
Authentication-Results: o365relay-in.synopsys.com; dmarc=pass (p=reject dis=none) header.from=synopsys.com
Authentication-Results: o365relay-in.synopsys.com; spf=pass smtp.mailfrom=synopsys.com
Authentication-Results: o365relay-in.synopsys.com;
dkim=pass (1024-bit key; unprotected) header.d=synopsys.com header.i=@synopsys.com header.a=rsa-sha256 header.s=selector1 header.b=aXoZYy1c;
dkim-atps=neutral
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2168.outbound.protection.outlook.com [104.47.57.168])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange ECDHE (P-384) server-signature RSA-PSS (2048 bits) server-digest SHA256
client-signature RSA-PSS (2048 bits) client-digest SHA256)
(Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK))
by o365relay-in.synopsys.com (Postfix) with ESMTPS id 09554401CC;
Thu, 5 Jun 2025 00:32:51 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=SuB9pNKn7X9QzuizkU6C2lPzfr+uMckZb1U6RVgET2+47ibf0+dCQ7uiAMJ06MOFVuaGJDP/y+mPgt0ERRTiy7/VLOXZNqfa1Fj0bMDZcfFDRkoA8QgAUQ0io1/35qdd3RSyizR/mrrkeefYCIe8zJ6u0r0pjmxDAbkNwYbdRmMRI4IffJRYW6c1iEoJoOlYehhKViu1eA0Gbr+Yx2kiq2PZMQaxeko4waJ5AS16xJ0tz/DJ8dOYpsIoqtD58ZLU9Mw6oKIDiTmBLWg65IrxDcafhI5Fn7dYjntor7JzIDbuQ+lxHmKN5FEId4/ylT4uLO2rLNXBWcF3akfZUWC54Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=gaboMplUbmndToDvrckqVg9nIFlh9BdUkSIvgxJxVxk=;
b=Hkq0keIZZCDnFLUjdpX/kxnLLgTqCdvmLFQz0Gg+LsEIWVtdzESHur19rZ0uOiDxWEVa5zDsE5RwdHpaWsLvwO/Y0RK6eIp59Gq5H9LYb6DhPRT3of8UM4J6HF5muUPIoKLP8OHoEYBhaEyLNUh+0hH++5oSlO44U3qRIn55DFoNEW+15c/jCvmKQyLNi96sIbpqJqB9JQhKtOC8Q6I4eSCFKbyp+3Hj1ZsSJDouIQilOxAl16syOUBEnvebRWIj45aRIsgQhOYdHqj7x91tQIlXkKf+3yLhX8/wSQuhWc29z1t9lhizqhMSq06ojRePpHJIJ+Pc0wF4eKqvDZnqYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=synopsys.com; dmarc=pass action=none header.from=synopsys.com;
dkim=pass header.d=synopsys.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=gaboMplUbmndToDvrckqVg9nIFlh9BdUkSIvgxJxVxk=;
b=aXoZYy1cB+6f2JQ2n54ImgK69P5KxEgHkhUmyKHr+gs6yQSoH/9HFc0BJYycYhK08Z9gIOIEu91Bnoy1AKcrUh9jDBGk2A0on/Y8aqyYaFVS3WI1Wq8ppY2H4mwBUquADDfq3y2DzRr9+BpbqbnK85smBXMUn24pa9/fChHHU+I=
Received: from LV2PR12MB5990.namprd12.prod.outlook.com (2603:10b6:408:170::16)
by SA1PR12MB7344.namprd12.prod.outlook.com (2603:10b6:806:2b7::15) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.30; Thu, 5 Jun
2025 00:32:45 +0000
Received: from LV2PR12MB5990.namprd12.prod.outlook.com
([fe80::3d09:f15f:d888:33a8]) by LV2PR12MB5990.namprd12.prod.outlook.com
([fe80::3d09:f15f:d888:33a8%6]) with mapi id 15.20.8792.033; Thu, 5 Jun 2025
00:32:44 +0000
X-SNPS-Relay: synopsys.com
From: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>
To: Radhey Shyam Pandey <radhey.shyam.pandey@xxxxxxx>
CC: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>,
"gregkh@xxxxxxxxxxxxxxxxxxx" <gregkh@xxxxxxxxxxxxxxxxxxx>,
"michal.simek@xxxxxxx" <michal.simek@xxxxxxx>,
"linux-usb@xxxxxxxxxxxxxxx" <linux-usb@xxxxxxxxxxxxxxx>,
"linux-arm-kernel@xxxxxxxxxxxxxxxxxxx" <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"git@xxxxxxx" <git@xxxxxxx>
Subject: Re: [PATCH] usb: dwc3: xilinx: set coherency mode for AMD versal
adaptive platform
Thread-Topic: [PATCH] usb: dwc3: xilinx: set coherency mode for AMD versal
adaptive platform
Thread-Index: AQHb1Ljd8a3zyu17sE6FRmCUVuhWPbPzuT4A
Date: Thu, 5 Jun 2025 00:32:44 +0000
Message-ID: <20250605003240.f66u3jf4r4ft2qtr@xxxxxxxxxxxx>
References: <1748976818-710088-1-git-send-email-radhey.shyam.pandey@xxxxxxx>
In-Reply-To: <1748976818-710088-1-git-send-email-radhey.shyam.pandey@xxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV2PR12MB5990:EE_|SA1PR12MB7344:EE_
x-ms-office365-filtering-correlation-id: d57ae962-be29-46b9-7f00-08dda3c87d27
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
=?utf-8?B?T2twWmhCNU5zSDhPUjh6ZjBPa1VROXpreHRkOWJsV0REZWRCMGc1UVRGMzly?=
=?utf-8?B?M2N6MzJtZmNqYnM2VXQzS0pqMGt2Vk1VT3RzL2piTVBwUWRzQkpaT3h5bUhP?=
=?utf-8?B?R3kxYlJiRnF1Z3IveHNmaGNzWmNIQnNTY0twQnNwSEpJNWpBZHY0d1hBSDV1?=
=?utf-8?B?NWI3azYxbFhTWkdIRG81TnhTeEhOVVBpQTNnQzNUV3JvRmVFZDg0RVNSVyty?=
=?utf-8?B?QXpLOU9UclRkZGlKOHpKN1d2Z3JNQmNhOFBYeHhJa2RlTDhwQ25abGdiWkE3?=
=?utf-8?B?YXdFN1FnYzYreFR1bk1DTExEK0YwSVVtNThUV2NwTlhWNFRJSTZOSWxSaURC?=
=?utf-8?B?Wjc5OXJaVVQxcjBLakpJSlE1S3BGclhIendxd0tvZVlmS0s1NmFuc3hFdlBm?=
=?utf-8?B?cGpxNUZtTmU1cVdDMTNPbEtmZzMrbWNyQllwUjZhbTd1eFZ4azJWcEZOc20w?=
=?utf-8?B?UXJBNUcrMy9QOHZ4ZzhnQnpKTDNUQytFanpJWmZSclJIbExGWUJ0UENWQURD?=
=?utf-8?B?VnRyajlPL3pKa3BXQ3lZVVBEMGE3S3hPa3lFUjRwaW0ra0FoODhaSzZGR3R1?=
=?utf-8?B?THhCWXJBT0xQZjlLWG9GNkZvbWpxWlZqVjhBZ3J6b1krYzRTaFZjd2ozR3l6?=
=?utf-8?B?YnlWaXkzYXdKWnFITmhEN0RRY0dnb1h1M1paQjdEK2dmdEZ1a0hLRTMrUEM1?=
=?utf-8?B?Wm45eC9RcUlMWjJjalBxNmxwbXJaM2RIcjBnNFFqMzlkOFNia1FadVlZOUxn?=
=?utf-8?B?NndiS0l4Q3M1dnQ3V1VBWHJOdGU3b3lvZ0I4bUdiRGNMWTkxaTJQZ1Biei9t?=
=?utf-8?B?dmo4L2tMeUprMlpUK0RDbm9tbDRySW1VOXdPcFhmVFZwVlpEUTBlWTRpalRP?=
=?utf-8?B?ZnJ6K052YU1vY3lURHhlUU41cFJtditrOXNGQ05ESzMvM1g5aTB6TG9VOGtZ?=
=?utf-8?B?WlJEUVpreEVaNDZtUXpXQW9SaGk1VWFDcVhTQ0I4eHhpMlowSVloQ2swQzZK?=
=?utf-8?B?eU1saElhRlRKdzFrRnpqaXA5OGZIODJlUEd6MW9LWFFUeTI5aW1qNlc2RTlP?=
=?utf-8?B?RE1sVnB6V0JEWjVJQ2RFYXZSb0xtY0RtWFQrNTJnSDF3eGh2NnBsd0llVzkz?=
=?utf-8?B?c3lSSzNoV3YzVStFdlRVenJTZHFtZFlvNWpzcHd3YmFsV3FjRlk1bDEyTURI?=
=?utf-8?B?NkZIM3NEbE1YRGhjUzdrc2RpTEU1cmJGWVVOQmdGTnh2VGpmSEkrazZHQk5I?=
=?utf-8?B?cWdkTE5acHpYRTRsNWxvUWlkemt3T3k1RUVBcUplZnZmV3pkMVd5bXlMSEFi?=
=?utf-8?B?NlVOamxEU3ZHcHQrdHBnOUxXT1IvbXhDTW84V1RNMHhGdVZabTJ3UHVkODRs?=
=?utf-8?B?M2RNU3V5NHBPQktUT242SXJOV1lLTkpaN29admtweXUzWjJoUjk2aWNIZ1dJ?=
=?utf-8?B?eXRRNmRuUU9jNXdWM0FyTkNiclRpZjdjMi80VE80eW5oWWN3U3E3WS94OVk4?=
=?utf-8?B?Z1FDS2RSUllkNXcxa1N1Yk13Sjc0d0JDV2dTdU9iZ3RjN2tQY0N2K2J3WGVK?=
=?utf-8?B?ZlNZVnZ6WkpJVnRxNnY3aTFoZVh0dGJqUFJaOHZMWnhHRHVpN2RpYXZlSnkr?=
=?utf-8?B?dHkyV1lmcmtoRW1TMFJENThac1NGemhtZG0ybk9Lblg2RGRqUUxwWU1uQllr?=
=?utf-8?B?OXJ4aXlzQnRZTWYxdENxNzZlOHJYM2VtY3RXNkwrMHJ2M2o1bXdHZXUrRDdR?=
=?utf-8?B?Zlc1SlpmRm1hcGZwcW9JSkV6QnRHVDh6N1RuOFNBMzJCTG81NjlseDlRWFl1?=
=?utf-8?B?OXBMWXB6TFowY0lDUjcxa1lEMUxpNnJGQkFFZXEwaXNNQjJmU1ZsQzJic1E4?=
=?utf-8?B?UFpMU3FjNTJ5MXoyZ1lobk1QVnhOakFUVlAya3B3TU5zUjBRWFdMenpjanV4?=
=?utf-8?B?dDBScThSNmdxaUxneFVBVzAzSVMrYy9vVFR4UThuUjJqVU1ITlZnc0VNN1Nx?=
=?utf-8?Q?GVmcS6C5bI3gVy22PbWNI/iuBM0WGE=3D?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?OTVoVUVUU0dEamxOUVRlRFhQSStCVVBNTjBaSlgyTFJId0k3TGY5eEZRdGpV?=
=?utf-8?B?RCtiMGhxY1ROb0l4RFc1SjFSTGV3b1ZhVEpmV1hJdUt6cDdwemlZZTFLUkRC?=
=?utf-8?B?cTRrci9keC9yTlBkOElMYUVleXFnWERYdmcvVElmc1FraWp5amFwV3J6amRS?=
=?utf-8?B?L0VjRzJPWjZ1SjNlTXBub3VjZWtYR3cwVnk3TDFVUlhEQWF4bENzTnBYNTVn?=
=?utf-8?B?aWJUc0ZwVUZoQ1dhMmlxYzIzQmloWFNuTEdsVDNVMnVzSElrVkVPMHRIN0hu?=
=?utf-8?B?NTFjUDNsNmk5aUgwMG9PNkpxV3RKcmdSNWJ3TWVuWlhpSTNSaXZCa3JtVFJu?=
=?utf-8?B?ZTM0VFpVU0o2eFNON3lXcmE0S3FFd29GYnhFSFJreWxiWlBqbytNc1lZYWox?=
=?utf-8?B?YjMvQm1mNXFiNHQ1OTNrNWVRSjBJZTdCTHdReFZvcmxIUHpvZ0w4a0pZWUVJ?=
=?utf-8?B?K1RlL1d1elZRa013cHFtK3F3UlJSM21oYU1QaU02NVF0NXoxeHdXaCthQ0dI?=
=?utf-8?B?eFRyWnpqcWFyMENOOENkOVhVSm1OZ2MvdEVPalVoSVJKWU1rSFd6Vmk1VDFO?=
=?utf-8?B?U05nQTdGV0FpenhWc0lQQ0ZjL3pWN2xRQ0dlbjdrMnlSNGw1MTFmcFMwVUNW?=
=?utf-8?B?K0NoVDdmZmV0R3RnbDhGN1ZDdi84Ulg1WGc1TjB5aE15TUtDWSszTmpKWHIv?=
=?utf-8?B?Q2tqdlpxZkdkbU1Ubmh0WWx1ZjZOVTVjTDJrTWo2eGNuc0RSV3MxV21WSXNt?=
=?utf-8?B?S0dpU21tWVZydzlZOUxQYnA3N2ZnSmQxZlBEa0xqK3ljMzU3WHMvYlZYSUds?=
=?utf-8?B?UlBOVFpTdDRGNEYzQU9ldkMvMkF0SkVCamxsak42aWRONEYyY3JNazNRM3pa?=
=?utf-8?B?T0JiWkxrUHhJTHBWSjY1eFYyUlF4cUpPQnB6U1FVTEdQYVE1aE1qc3RnVTFz?=
=?utf-8?B?Z0JLZjVxaHd2L3VUekF2YzdQZWw3MnVlWis2RllXWXZwV1VPQ3BYVlF1OHQ2?=
=?utf-8?B?ZDNPOU83SEcxMjhHUFZBMGJONURxUDVwWTB3WkFaei91U0YzcUlUSlVES2dK?=
=?utf-8?B?ajZJRUZwcWNBaHl6ZkhYWXN3Vyt5NStLdXRiaHlQNUNHZGRGL1RGaWcrNG5m?=
=?utf-8?B?VjhiMGZNYmc2NkxVUW5WOXlWZWl1NGhHaURuRGxoeldOV2g0MzBpcE1zMENq?=
=?utf-8?B?d2laOWh0b2hMQTh4SGdOT2YwOHhnMVl0RlNpUkp6Rk5UQzNpUGtFVUx1RUtj?=
=?utf-8?B?MkFFWUs3ZnIxSHVXbHZMaDJlazdndlQrMDBLSGVjTERWVnFtRzRvbVBPWXZU?=
=?utf-8?B?MmxaTG11RnpJWEoxQWRGeG55MGRlbjlaZmRZOEg3RTZVT3BPUk1xZVU4MFo2?=
=?utf-8?B?djZ6cHVRcU5nM2Y0TjRMNENyeDJLUUQ0ZS80bThrSldVWE5LS2RjckpOWlVB?=
=?utf-8?B?dDB3QU1IUTJVcFBTcjc3TVkwNlZwN3FyS0tya2kremhORWEvUjVpbWNEYTlV?=
=?utf-8?B?YVFoM3hxdFFtOTdlckE0ZGZWOW0rekVpWVJjV0xCV1BKVnFac051UnoxeUVn?=
=?utf-8?B?YWlWYmZKUitFalMyZks2ZDFyRnJ0N3h4NWM3MXZJWkUyeFpsSVVPRCtLQTV4?=
=?utf-8?B?OFFpeWgwMGlWNmUwRFBVZ2I2dUZoT01xN1oyNlJmN1MxQ00veXJLSFFkQ0Yv?=
=?utf-8?B?RW9MNm1vTUFpWjF5VERXZWsxZUdwNVIraFErU2VHOTVLUW40ZC9ZQVBvSEJX?=
=?utf-8?B?aTJwTkVjV2d3OTRLR1hnT3BQOTFUOWt1V1pvUEhxV0Q5Yko1WjkxaWJmOWdN?=
=?utf-8?B?RkFpQ1R4QngyK0dtZ0RjcjEyaWl6allVUkwxOTBkTVJrdzFkUkduR2FlcExx?=
=?utf-8?B?VXVyVk5rQ0FkUlNQQlBUUWg4ZWNQbzQ1RWg4MEh6YytKMi9mSzNBRlNwSU0z?=
=?utf-8?B?QVB5WG5XNHU5RGNGWXFaUmFvanFlclJQUGlzdGhnRHNDL3ZHY2xzZE1KU2lm?=
=?utf-8?B?SkZQcWJwbncvT3hZRFZ4YVRVMEJpd1NRakJkOTJJNThTdmVLOXBoV3pBZnhM?=
=?utf-8?B?YlRtbE4rQSs2SVc1QmNQZStqWUZESW9oSm1BbitlM2ZRS3BScXY1Z2xQUlNh?=
=?utf-8?Q?Jd3iqGqtlZiNIhmeHEgFi6B/j?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <496C7525A9F7E44CABD5E4B288BFD79F@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
Gb+hpfprLODHMQdUbupLjssx2uhKTIOXrLMFGvu7ejAy4V422MOxU+c/YRloOmqT+mIsecJvkBCMwmTx4PYQpenPiII0t383h1XsBt6TgB0CAUim33U6nPJM+CVCrF//bCJhrBnqyKw903SQ0BG7TxgQu2xRr7JT2oIP2OP2sSo4XNzjzUuVylZxfOhsjXwWZURVDgCPACDHMHPAoWZ3+yOWQZUYnVghtu2gPHluGYqpvNQi9oSmQRXpCEqgXcfOgPWFqH3RTsULfRHp2A806k+u9bL9RnWMjM0CaTs3DvtHjeRiftVGXMJUoHxIYvcX9lG9o/sZtEuoZBkGjA+Y/lkJ49rRm2njM3SoGA90WkmjMDuONKZNqhYf+yMK4gxP0TN0aPFO+JozsOIkRNHbnILTYTOuQgCGUz6U+1uC61swTQOiubILCaxDJfLAU2nNO1zey+0i/AzUaLlktTdHf3ncVMWPLwPhKl9IAS0Z0DbRZ3QLE81B1YQ3M2NjDjRAfw3g53kCtTmLwokQ2+4H0Kp3pl3eUTJL5hLiQHTz65ZNQ1kusXwRqVfZh8aq/uyrXYtdB7SsAREfxeG3dcbgpiZbnxfBkS1jgRQi4YqtLEAkA5FWn7/PFKE8b99i+5N61moW67HCzU47e/YWMKqHjg==
X-OriginatorOrg: synopsys.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5990.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d57ae962-be29-46b9-7f00-08dda3c87d27
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 00:32:44.4500
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: c33c9f88-1eb7-4099-9700-16013fd9e8aa
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: f5eNSD9kJohbBSNeZAPe9Rbi0bTNWkngni5Mq5hE3nMYvk+m3Y0QhtbH7dXU+7n/o6ItWUyL65Ek6j5tOd4eBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7344
X-Proofpoint-GUID: rIEfo8i9-v_3O8Uli_OMKPROAAEsYgH-
X-Proofpoint-ORIG-GUID: rIEfo8i9-v_3O8Uli_OMKPROAAEsYgH-
X-Authority-Analysis: v=2.4 cv=a4Yw9VSF c=1 sm=1 tr=0 ts=6840e5b5 cx=c_pps
a=8EbXvwLXkpGsT4ql/pYRAw==:117 a=8EbXvwLXkpGsT4ql/pYRAw==:17
a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19
a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10
a=6IFa9wvqVegA:10 a=qPHU084jO2kA:10 a=zd2uoN0lAAAA:8 a=jIQo8A4GAAAA:8
a=I6jb1Ebjir4p6W1hDLsA:9 a=QEXdDO2ut3YA:10
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDAwNCBTYWx0ZWRfX1N2PFArfVRRM
LzFIxPC0DjtHlHZqoPmVBuNBHnLXYwI9AF2xMJMRVHNVilw5eL1ni4dPS9cXiXErjU9jQy06D7k
9Q7QD3iRK4aTh5NBXZLtXq3ANOSGYCA4rJ1nSV7WEWBC8o9xQOYfDE4MQGyFZu9AceOGWoaS79L
KD6lTOsfGPmKiZppFCyrSVkn0F8y3kj/DWsKfH5xHnqvwqzI2Y1U9m/eEXib/tLRFt7xnHdOC4R
W9U8fKOkcxTxWB0cYWQdJ7puupVmKQFOt8e5dU4KLNUNevtd6/gkvVDOH44WLPLlRDpzeGPj/Vl
ovGuMIwwFzIRtz6nErLoblxGOrJDQmymqw+JWD+0fu5fhUqFFWBRt9NMKmJnewdaBZ1N6GWCbMm
pUgAf9sAu+c8B+UCDpru6ieqeowzxV+HobHYde3LiprgDOmHqUt23SV+qf6yQsqfX4Egtldz
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-04_05,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_active_cloned_notspam
policy=outbound_active_cloned score=0 priorityscore=1501 phishscore=0
impostorscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 adultscore=0
malwarescore=0 mlxscore=0 suspectscore=0 mlxlogscore=996 bulkscore=0
classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0
reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506050004
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCBKdW4gMDQsIDIwMjUsIFJhZGhleSBTaHlhbSBQYW5kZXkgd3JvdGU6DQo+IElmIGRl
dmljZSBpcyBjb2hlcmVudCBvciBpZiBETUEgKGRpcmVjdCBtZW1vcnkgYWNjZXNzKSBpcyB0cmFu
c2xhdGVkIGJ5DQo+IGFuIElPTU1VIHRoZW4gcHJvZ3JhbSBVU0IyLjAgSVAgdG8gcm91dGUgdHJh
bnNhY3Rpb25zIHRocm91Z2ggdGhlIENDSSBmb3INCj4gY29oZXJlbmN5IGV2ZW4gaWYgdGhlIHRh
cmdldCBvZiB0cmFuc2FjdGlvbiBpcyBpbiBsb3cgcG93ZXIgZG9tYWluIChMUEQpLg0KPiANCj4g
U2lnbmVkLW9mZi1ieTogUmFkaGV5IFNoeWFtIFBhbmRleSA8cmFkaGV5LnNoeWFtLnBhbmRleUBh
bWQuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvdXNiL2R3YzMvZHdjMy14aWxpbnguYyB8IDM0ICsr
KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAyMiBp
bnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz
L3VzYi9kd2MzL2R3YzMteGlsaW54LmMgYi9kcml2ZXJzL3VzYi9kd2MzL2R3YzMteGlsaW54LmMN
Cj4gaW5kZXggNGNhN2Y2MjQwZDA3Li4wMGU2MTNjNGQ4YzAgMTAwNjQ0DQo+IC0tLSBhL2RyaXZl
cnMvdXNiL2R3YzMvZHdjMy14aWxpbnguYw0KPiArKysgYi9kcml2ZXJzL3VzYi9kd2MzL2R3YzMt
eGlsaW54LmMNCj4gQEAgLTMyLDYgKzMyLDkgQEANCj4gICNkZWZpbmUgWExOWF9VU0JfVFJBRkZJ
Q19ST1VURV9DT05GSUcJCTB4MDA1Qw0KPiAgI2RlZmluZSBYTE5YX1VTQl9UUkFGRklDX1JPVVRF
X0ZQRAkJMHgxDQo+ICANCj4gKy8qIFVTQiAyLjAgSVAgUmVnaXN0ZXIgKi8NCj4gKyNkZWZpbmUg
WExOWF9VU0IyX1RSQUZGSUNfUk9VVEVfQ09ORklHCQkweDAwNDQNCj4gKw0KPiAgI2RlZmluZSBY
TE5YX1VTQl9GUERfUElQRV9DTEsJCQkweDdjDQo+ICAjZGVmaW5lIFBJUEVfQ0xLX0RFU0VMRUNU
CQkJMQ0KPiAgI2RlZmluZSBQSVBFX0NMS19TRUxFQ1QJCQkJMA0KPiBAQCAtNjYsNiArNjksMjMg
QEAgc3RhdGljIHZvaWQgZHdjM194bG54X21hc2tfcGh5X3JzdChzdHJ1Y3QgZHdjM194bG54ICpw
cml2X2RhdGEsIGJvb2wgbWFzaykNCj4gIAl3cml0ZWwocmVnLCBwcml2X2RhdGEtPnJlZ3MgKyBY
TE5YX1VTQl9QSFlfUlNUX0VOKTsNCj4gIH0NCj4gIA0KPiArc3RhdGljIHZvaWQgZHdjM194bG54
X3NldF9jb2hlcmVuY3koc3RydWN0IGR3YzNfeGxueCAqcHJpdl9kYXRhLCB1MzIgY29oZXJlbmN5
X29mZnNldCkNCj4gK3sNCj4gKwlzdHJ1Y3QgZGV2aWNlCQkqZGV2ID0gcHJpdl9kYXRhLT5kZXY7
DQo+ICsJdTMyCQkJcmVnOw0KPiArDQo+ICsJLyoNCj4gKwkgKiBUaGlzIHJvdXRlcyB0aGUgVVNC
IERNQSB0cmFmZmljIHRvIGdvIHRocm91Z2ggRlBEIHBhdGggaW5zdGVhZA0KPiArCSAqIG9mIHJl
YWNoaW5nIEREUiBkaXJlY3RseS4gVGhpcyB0cmFmZmljIHJvdXRpbmcgaXMgbmVlZGVkIHRvDQo+
ICsJICogbWFrZSBTTU1VIGFuZCBDQ0kgd29yayB3aXRoIFVTQiBETUEuDQo+ICsJICovDQo+ICsJ
aWYgKG9mX2RtYV9pc19jb2hlcmVudChkZXYtPm9mX25vZGUpIHx8IGRldmljZV9pb21tdV9tYXBw
ZWQoZGV2KSkgew0KPiArCQlyZWcgPSByZWFkbChwcml2X2RhdGEtPnJlZ3MgKyBjb2hlcmVuY3lf
b2Zmc2V0KTsNCj4gKwkJcmVnIHw9IFhMTlhfVVNCX1RSQUZGSUNfUk9VVEVfRlBEOw0KPiArCQl3
cml0ZWwocmVnLCBwcml2X2RhdGEtPnJlZ3MgKyBjb2hlcmVuY3lfb2Zmc2V0KTsNCj4gKwl9DQo+
ICt9DQo+ICsNCj4gIHN0YXRpYyBpbnQgZHdjM194bG54X2luaXRfdmVyc2FsKHN0cnVjdCBkd2Mz
X3hsbnggKnByaXZfZGF0YSkNCj4gIHsNCj4gIAlzdHJ1Y3QgZGV2aWNlCQkqZGV2ID0gcHJpdl9k
YXRhLT5kZXY7DQo+IEBAIC05Miw2ICsxMTIsNyBAQCBzdGF0aWMgaW50IGR3YzNfeGxueF9pbml0
X3ZlcnNhbChzdHJ1Y3QgZHdjM194bG54ICpwcml2X2RhdGEpDQo+ICAJfQ0KPiAgDQo+ICAJZHdj
M194bG54X21hc2tfcGh5X3JzdChwcml2X2RhdGEsIHRydWUpOw0KPiArCWR3YzNfeGxueF9zZXRf
Y29oZXJlbmN5KHByaXZfZGF0YSwgWExOWF9VU0IyX1RSQUZGSUNfUk9VVEVfQ09ORklHKTsNCj4g
IA0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiBAQCAtMTAyLDcgKzEyMyw2IEBAIHN0YXRpYyBpbnQg
ZHdjM194bG54X2luaXRfenlucW1wKHN0cnVjdCBkd2MzX3hsbnggKnByaXZfZGF0YSkNCj4gIAlz
dHJ1Y3QgcmVzZXRfY29udHJvbAkqY3JzdCwgKmhpYnJzdCwgKmFwYnJzdDsNCj4gIAlzdHJ1Y3Qg
Z3Bpb19kZXNjCSpyZXNldF9ncGlvOw0KPiAgCWludAkJCXJldCA9IDA7DQo+IC0JdTMyCQkJcmVn
Ow0KPiAgDQo+ICAJcHJpdl9kYXRhLT51c2IzX3BoeSA9IGRldm1fcGh5X29wdGlvbmFsX2dldChk
ZXYsICJ1c2IzLXBoeSIpOw0KPiAgCWlmIChJU19FUlIocHJpdl9kYXRhLT51c2IzX3BoeSkpIHsN
Cj4gQEAgLTIxOSwxNyArMjM5LDcgQEAgc3RhdGljIGludCBkd2MzX3hsbnhfaW5pdF96eW5xbXAo
c3RydWN0IGR3YzNfeGxueCAqcHJpdl9kYXRhKQ0KPiAgCQl1c2xlZXBfcmFuZ2UoNTAwMCwgMTAw
MDApOw0KPiAgCX0NCj4gIA0KPiAtCS8qDQo+IC0JICogVGhpcyByb3V0ZXMgdGhlIFVTQiBETUEg
dHJhZmZpYyB0byBnbyB0aHJvdWdoIEZQRCBwYXRoIGluc3RlYWQNCj4gLQkgKiBvZiByZWFjaGlu
ZyBERFIgZGlyZWN0bHkuIFRoaXMgdHJhZmZpYyByb3V0aW5nIGlzIG5lZWRlZCB0bw0KPiAtCSAq
IG1ha2UgU01NVSBhbmQgQ0NJIHdvcmsgd2l0aCBVU0IgRE1BLg0KPiAtCSAqLw0KPiAtCWlmIChv
Zl9kbWFfaXNfY29oZXJlbnQoZGV2LT5vZl9ub2RlKSB8fCBkZXZpY2VfaW9tbXVfbWFwcGVkKGRl
dikpIHsNCj4gLQkJcmVnID0gcmVhZGwocHJpdl9kYXRhLT5yZWdzICsgWExOWF9VU0JfVFJBRkZJ
Q19ST1VURV9DT05GSUcpOw0KPiAtCQlyZWcgfD0gWExOWF9VU0JfVFJBRkZJQ19ST1VURV9GUEQ7
DQo+IC0JCXdyaXRlbChyZWcsIHByaXZfZGF0YS0+cmVncyArIFhMTlhfVVNCX1RSQUZGSUNfUk9V
VEVfQ09ORklHKTsNCj4gLQl9DQo+IC0NCj4gKwlkd2MzX3hsbnhfc2V0X2NvaGVyZW5jeShwcml2
X2RhdGEsIFhMTlhfVVNCX1RSQUZGSUNfUk9VVEVfQ09ORklHKTsNCj4gIGVycjoNCj4gIAlyZXR1
cm4gcmV0Ow0KPiAgfQ0KPiANCj4gYmFzZS1jb21taXQ6IGEwYmVhOWUzOTAzNWVkYzU2YTk5NDYz
MGU2MDQ4YzhhMTkxYTk5ZDgNCj4gLS0gDQo+IDIuMzQuMQ0KPiANCg0KQWNrZWQtYnk6IFRoaW5o
IE5ndXllbiA8VGhpbmguTmd1eWVuQHN5bm9wc3lzLmNvbT4NCg0KQlIsDQpUaGluaA==


Return-Path: <linux-kernel+bounces-673924-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B429D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:35:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id CC9B1174115
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:35:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0A17F1F941;
Thu, 5 Jun 2025 00:35:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WY4cJIws"
Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175])
(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 DB2C95383;
Thu, 5 Jun 2025 00:35:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.175
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749083746; cv=none; b=JH9po2oJqOqGWGedxQ0vE/neioolUiYYIYy6nSie02aSYyDepiJgnyMc2X81/clVEC/3hEyp+E9t0PxHsLsfzzl2VTAS1gYchhPbk8Y8DpJpnQXQw6URzmqOm3r74AlrtIQw79zMzgkfeaKmigypviXRZ6FkyKuy6I32hK3PhDQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749083746; c=relaxed/simple;
bh=sTgIeR2mhahdKJPKUuCYlvjmkROTvWGfwQHeezaHDxY=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=uSG3oPAUet/UsbPcVM5qDHXQPVF7Pout3YBAUUO8AHWW3QaSznnUJT3FC854eFxEEw04UgGfx5cH59dRbY7uMAxwuUjxvdCkcLl89C3CkINTQ6G/tgbB62OvmrfhAoACRllIUpw2x7f6dkckn4msxfo5SxwBimTrn3WOkUjHKgk=
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=WY4cJIws; arc=none smtp.client-ip=209.85.128.175
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
Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-70e23e9aeefso3801797b3.2;
Wed, 04 Jun 2025 17:35:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749083744; x=1749688544; 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=Jzlg608/Z0EJ3N4+1QOkK0KW1pbKr4cLV7RawPaqUX8=;
b=WY4cJIwsRlWFERWuC0LKGghJt9wluxgWCAJ01ftBrrVIRnGT/johAb9pf7D4oQw/9s
zMR3T/M7UoLZVrqaTQUYoMHt6409ksquUHokDOWT9JO07s3EuNWaL9vHdzDFDUNaz4io
iGytnULpWlq0qDOfBYOoVG894rFDYphU9E26TiaKT1a6U+lc8n5T3sBFQ0jWGwjhg70c
tGAP4zOqUjjVhQLlzanrVr7gfSO01PXaM7Gs9+a74Ieze4pzMemAFF1AiXAb8etTzVsn
7Lyd2RuU9UcWwUPbec0mf6bZSJbJ3iK3/ZhwnTZK8VeXVBvWYZUNoW1g0eYsJ005395A
VYiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749083744; x=1749688544;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=Jzlg608/Z0EJ3N4+1QOkK0KW1pbKr4cLV7RawPaqUX8=;
b=HrI7gaCP/G95EmZYTx42OPkaXqdsOQRpk8mRQRzy6azrlBxS1MkMfRI7VgY5MJlJQb
ReB0SQlI7Q6VdVbJjS/NW0M3DlSW7sLsDx0e83lsLrCRLva938V7QIKdS4CjciZbcDiu
Bnxp2yYoSzErP0K6hUALcKnmUGHU3G5k3oCAwhGhgCQzfbz90cNNQEZ+UuoXLm42H6Ml
WS7fVHnv+1I4D2qlyDAMXWa+yWdvCGGCpssIHe7LS0tBS6glaEWCB6CE3tY98NuvGinF
VQ0s9BFnpPRK5vqOqEy0IPI/X0/3qfk5My+6yFi3Pil5LO+2rPtAcd97JdRKaNIV6G9r
L7UQ==
X-Forwarded-Encrypted: i=1; AJvYcCVDxY8iL5yGoh6HNkuMols2gpawqmw1qam+yCj4o5iNKO7kTLNBcOtyDmPNt2IF06SU4npD/R3i2it/O8o=@vger.kernel.org, AJvYcCWvMjmsmIZQXGl+Q3hsJNbCdfwepE+O1FGigeuDIcBlz48zgzw/rl1i25XV1sMtswHEXh2tt5cco6zaGg==@vger.kernel.org
X-Gm-Message-State: AOJu0YwavFOF0+OxFI1S4XU+Fw96/R1LaDaOENPnIyNx7xhyPHc6SLJd
pmsVUcQgblhN6qC4BmzO1LKsZWsaisZ1rMjwaQsGuySe5geqRm73Hyqz
X-Gm-Gg: ASbGncvGrPQfQvkwAB1ZfyzqWhADilF3s9TPDm1GMniC45Bq3S8BBkEpWFa+0pnD671
qP9QGLkOUdwnwhncTbOvggS1crFykFOH6AT1xEAlD3uSIqINPO3HXox6NQBO3Knj39EFxHXfOHD
jRzNXZs5PnQ3YlZAoUqYmlJ5wKp6aeFRn15qBmb3N8+y2IXs3ru5pnTM/j6iEhuACKMm4D+zkJQ
8J0oT6xawEDyfSA1Ys+FUZhSIv+AqagVu6Zv7oMuYFIJ8pbMTDLcCPtp43/Jev+3Xra4JLd3+R4
X1qcXcKY+tcdJhDdKTi0yS/WPs/hPOhjOUDExYEsqWOCPWFFHuyEEkr/3cHUV5L/5yZirUTuhis
yLvgYiNhJpvU=
X-Google-Smtp-Source: AGHT+IHdaGroBvdNNA/E1lgaGvOoY3GpK51u8/yEH3ZyI1tpqMCcQTTZ/pQVxBkvuoMcaBf3H1aNdw==
X-Received: by 2002:a05:690c:4910:b0:70e:5eda:4940 with SMTP id 00721157ae682-710d9f91156mr65639557b3.25.1749083743726;
Wed, 04 Jun 2025 17:35:43 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 00721157ae682-710e91e15b4sm1424357b3.15.2025.06.04.17.35.42
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 17:35:43 -0700 (PDT)
Date: Wed, 4 Jun 2025 20:35:42 -0400
From: Yury Norov <yury.norov@xxxxxxxxx>
To: Bart Van Assche <bvanassche@xxxxxxx>
Cc: Hannes Reinecke <hare@xxxxxxx>,
"James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>,
"Martin K. Petersen" <martin.petersen@xxxxxxxxxx>,
linux-scsi@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Tejun Heo <tj@xxxxxxxxxx>, Lai Jiangshan <jiangshanlai@xxxxxxxxx>
Subject: Re: [PATCH] scsi/fcoe: simplify fcoe_select_cpu()
Message-ID: <aEDmXvKAvJfjMrCk@yury>
References: <20250604234201.42509-1-yury.norov@xxxxxxxxx>
<0959d3c2-b849-4826-8edf-d72a89fbadff@xxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <0959d3c2-b849-4826-8edf-d72a89fbadff@xxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

+ Tejun, Lai

On Thu, Jun 05, 2025 at 08:13:53AM +0800, Bart Van Assche wrote:
> On 6/5/25 7:42 AM, Yury Norov wrote:
> > diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
> > index b911fdb387f3..07eddafe52ff 100644
> > --- a/drivers/scsi/fcoe/fcoe.c
> > +++ b/drivers/scsi/fcoe/fcoe.c
> > @@ -1312,10 +1312,7 @@ static inline unsigned int fcoe_select_cpu(void)
> > {
> > static unsigned int selected_cpu;
> > - selected_cpu = cpumask_next(selected_cpu, cpu_online_mask);
> > - if (selected_cpu >= nr_cpu_ids)
> > - selected_cpu = cpumask_first(cpu_online_mask);
> > -
> > + selected_cpu = cpumask_next_wrap(selected_cpu, cpu_online_mask);
> > return selected_cpu;
> > }
>
> Why does this algorithm occur in the FCoE driver? Isn't
> WORK_CPU_UNBOUND good enough for this driver? And if it isn't
> good enough, shouldn't this kind of functionality be integrated in
> kernel/workqueue.c rather than having the above algorithm in a
> kernel driver?

(I'm obviously not an expert in this driver, and just wanted to cleanup
the cpumask API usage.)

It looks like the intention is to distribute the workload among CPUs
sequentially. If you move this function out of the driver, someone
else may call the function, and sequential distribution may get
broken.

If sequential distribution doesn't matter here, and the real
intention is just to distribute workload more or less evenly,
we already have cpumask_any_distribute() for this.

Thanks,
Yury


Return-Path: <linux-kernel+bounces-673925-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6DD8C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:36:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 09BE51899214
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:36:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B090D5383;
Thu, 5 Jun 2025 00:36:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="C3Bzi9Mp"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF04B8F58;
Thu, 5 Jun 2025 00:36:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749083783; cv=none; b=J1Zg0qJwenflNlD64cAwBYAdt3qfwNZ6C6DQESWcj0mowBpXO0NK6QJ3yQfMxO77sWtrdklyGlxA4lTheLOzAhI8qu/9GBhCoUOrkx6IhNqEWKeOg7nZ9dJbJRTe+j2GDKyYwwP+Zg5FbXneyENdCLBsadGrUC+dSXVhz1zEyUE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749083783; c=relaxed/simple;
bh=OHW1wJwUb8eeUQj3pLMNMXmU/ef13yfus/mjf+oIA6I=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=RVRnfmqsMNC5ifBV24zurBfbM1PV0n+HkiRFNRW/Y83RNUaLt1Iz/1/7/XYSz4ZOB2fUwFaKr9EAGBGtAFQgIRyASpkiYuAAUl31mXg/094u7XvNyV5avXMVnpsiTRxBN1y5r7smP+WlMQRqMU9FuNcUsk77fP4M9M1mLQBYXfA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=C3Bzi9Mp; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 07EC0C4CEE4;
Thu, 5 Jun 2025 00:36:16 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749083778;
bh=OHW1wJwUb8eeUQj3pLMNMXmU/ef13yfus/mjf+oIA6I=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=C3Bzi9MpIEs5tn1ScVIqYE3F3JiJ5d+t2ivp/pEX/mFotfw1ByKrR7p1TqfIPIhq0
FKe6t+IiwkiTaXyDtNvr1Zv+dGFABc7w2hmMQPWkYi3kHzD8iz1+go1LvLSLBns7ko
n8rufaR9KHRpoGBkzjpnx7bqRWNmRZj+ov3H3JG+Mo+SqEqL5lf+OrQ/Fz+KjCHzSA
qrwtxjWVeZp242HCjavhpyDEBKCddeCpO7FatFTMtlWoW7fuY0e1o/01rRRYai2QAN
3tdcV4DXo2vlwSNeTacjHLe4ftb0r3ZRy8BXpiFtJiBwlsYNqPSh8jf8M4hP+J3hMe
ljOd31OjIYXBw==
Date: Wed, 4 Jun 2025 17:36:15 -0700
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Petr Mladek <pmladek@xxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>,
Joe Lawrence <joe.lawrence@xxxxxxxxxx>, live-patching@xxxxxxxxxxxxxxx, Song Liu <song@xxxxxxxxxx>,
laokz <laokz@xxxxxxxxxxx>, Jiri Kosina <jikos@xxxxxxxxxx>,
Marcos Paulo de Souza <mpdesouza@xxxxxxxx>, Weinan Liu <wnliu@xxxxxxxxxx>,
Fazla Mehrab <a.mehrab@xxxxxxxxxxxxx>, Chen Zhongjin <chenzhongjin@xxxxxxxxxx>,
Puranjay Mohan <puranjay@xxxxxxxxxx>
Subject: Re: [PATCH v2 52/62] objtool/klp: Introduce klp diff subcommand for
diffing object files
Message-ID: <udmorf6ait6y2xeplz2wfid3xnyga3ahwv7gd7dl46c456auq3@54ym6kszzudy>
References: <cover.1746821544.git.jpoimboe@xxxxxxxxxx>
<f6ffe58daf771670a6732fd0f741ca83b19ee253.1746821544.git.jpoimboe@xxxxxxxxxx>
<20250526182259.GP24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250526182259.GP24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Mon, May 26, 2025 at 08:22:59PM +0200, Peter Zijlstra wrote:
> On Fri, May 09, 2025 at 01:17:16PM -0700, Josh Poimboeuf wrote:
>
> > Without '-ffunction-sections -fdata-sections', reliable object diffing
> > would be infeasible due to toolchain limitations:
> >
> > - For intra-file+intra-section references, the compiler might
> > occasionally generated hard-coded instruction offsets instead of
> > relocations.
> >
> > - Section-symbol-based references can be ambiguous:
> >
> > - Overlapping or zero-length symbols create ambiguity as to which
> > symbol is being referenced.
> >
> > - A reference to the end of a symbol (e.g., checking array bounds)
> > can be misinterpreted as a reference to the next symbol, or vice
> > versa.
> >
> > A potential future alternative to '-ffunction-sections -fdata-sections'
> > would be to introduce a toolchain option that forces symbol-based
> > (non-section) relocations.
>
> Urgh.. So the first issue we can fix with objtool, but the ambiguous
> cases are indeed very hard to fix up in post.
>
> Did you already talk to toolchain people about this?

For now, I want to stick with -ffunction-sections -fdata-sections, as
that's what kpatch has done for 10+ years and it works well. That's the
only option we have for current compilers anyway.

The above mentioned possibility of diffing without -ffunction-sections
-fdata-sections is theoretical, and needs more exploration. If it
indeed works then we can try to get toolchain support for that.

--
Josh


Return-Path: <linux-kernel+bounces-673926-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2532841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:46:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 91C443AA071
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:46:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D87043A8C1;
Thu, 5 Jun 2025 00:46:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="VOC/av84"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2410B3C2F
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:46:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749084394; cv=none; b=nuFSb5EqBUjFlxFL3jNXH1FlZ6sOMmRgw1O0WbU3BgFyx2HvIe1ombqKAKyvEet9nAEXrEn6o56m7IfmHtI9E+IBUqRb7DYCNvALvO0tRvm/McrJ4F6z48jobY4MdB11wp1P5siLWZkSfoyPc+QKfXsgjCU1cn5s0JPoOlqyQ5k=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749084394; c=relaxed/simple;
bh=gQ2K28JFSJwrXcviJxZJUo1aNRaVu0m2YAcpDoDihjo=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=DPB7J9166B9oqWti5uxBYD0yOb5i/WK/ZHCwNCyb/Hahy2eplMII1COzR7Ks6Dyqdhk92Trri5PqpB63Y2uxc+RI19ZGBbzs37K3fu45k4C3ls3xD60M1C8dEhdSBJ7DLu4NPp56dCJPD0WtgUPmMu8UDQF9Vk8eeXG2+7/EVxA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=VOC/av84; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749084390;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=4rvoJRZ+941RRB3yT2eqwz3H2iab1etLIqCrT/3n0JQ=;
b=VOC/av844JdAZzNwNKyB08D/6JGHXAo2r3ehJARx9H1ZFKOHd/jv1bbnUF1PtdelgkRo34
m6YnoKod7uWIUGgTSKobLDaU6GGtzO7AIaBjdpC8/oensZRy4IvUMrk8YQAG577FcJFymC
Nc2dDCOt1zb5/ok1CQQvgbOx6yw5yyQ=
Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com
[209.85.210.200]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-529-CZviJuMPPXWH-ISPR6aNIQ-1; Wed, 04 Jun 2025 20:46:28 -0400
X-MC-Unique: CZviJuMPPXWH-ISPR6aNIQ-1
X-Mimecast-MFC-AGG-ID: CZviJuMPPXWH-ISPR6aNIQ_1749084388
Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-747a9ef52a4so585941b3a.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 17:46:28 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749084387; x=1749689187;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=4rvoJRZ+941RRB3yT2eqwz3H2iab1etLIqCrT/3n0JQ=;
b=VITtXtS6yslhZ4l/bYetFgZCnoaKYTaTkAWxQUpOeCWm0W6jwrNJHhChJUgHcKW2uy
393zpU9YBjS0Ch2ndIIb5xzzsVx1Bij/l65U0keKMyhljhJzJa9xUFU6eDfhA5rZRSDR
fl74NcSny3diAixM71oE5SAQ0/x9H+OTq3dwKtQieVTXMiqOWG6O/t94i1YPVjILOWRL
H0MKbuhAtw95ThypBuQqP5z+f57E7VmS1Jh36B/ncMDbMzKQRMJbIyKQ0b5X0FXqswnD
X0/8ESdN73D1JNGDez0FkK1BE7Z2BIaYpgw2ORKgmdPKOrYVqDEQROBYBYYEI0AkYg85
x3IQ==
X-Forwarded-Encrypted: i=1; AJvYcCXZn5pGw5ec51Mnlw9HiqnS9kPEdPsDRoDbxe/nUKW1yRwonpQADGfiBWiEEFV2n0IuT6qR9odpZemeItI=@vger.kernel.org
X-Gm-Message-State: AOJu0YyIKePR6e8HxZ8s+yoSI0hFxCsszDUsHDvCSiZg+JwDbhLXBrDd
SQDe0mSruL+v5XaMcedOrkd387X9TXGc0m4RMUzZvwLvqJKHlmyGctC4HuSNgREE6OeAfV7IL3v
VeziwlFs91RWjoIGlnMahN8B6Dm61O9mTnR+x2lOwea3LyauJjXAMfkokw5ZBf09kjUQTE+Vgw0
6IKycwTOm+Si+7mqEc3fUDuYU/U961g44CPy2CBw/y
X-Gm-Gg: ASbGncs19bV0skfi8xShsveUujCKxt793wOsWiHWaFvNZ+Uu61Of7IyIc6xnQbb8xy1
A3e6wJLCQPbacyBMbYDqLFmQMRInB/6EcL9VIV5rHVs2fE4dJdPevzUwh2thZC/3yqeAq
X-Received: by 2002:a05:6a00:1a8b:b0:736:53f2:87bc with SMTP id d2e1a72fcca58-7480b41c057mr6620864b3a.13.1749084387530;
Wed, 04 Jun 2025 17:46:27 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGWm/kjbk8cd6j93CgnJ1yt93I+3ZM/WhLMOUv1rkUy4RSWdCL17+h6rPArAx08BKWo82wHYZSyXb0/Dn2zN4A=
X-Received: by 2002:a05:6a00:1a8b:b0:736:53f2:87bc with SMTP id
d2e1a72fcca58-7480b41c057mr6620834b3a.13.1749084387116; Wed, 04 Jun 2025
17:46:27 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250603150613.83802-1-minhquangbui99@xxxxxxxxx>
<CACGkMEuHDLJiw=VdX38xqkaS-FJPTAU6+XUNwfGkNZGfp+6tKg@xxxxxxxxxxxxxx> <0bc8547d-aa8f-4d96-9191-fd52d1bec74e@xxxxxxxxx>
In-Reply-To: <0bc8547d-aa8f-4d96-9191-fd52d1bec74e@xxxxxxxxx>
From: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 08:46:16 +0800
X-Gm-Features: AX0GCFvjyMd1H9dniamKbUvfa3PlpuL7i79qr8xhrVJzz6-ckoHw99myc9wjf_U
Message-ID: <CACGkMEvnn52XaidBdD9yGy8Yfpw3vu+QLcd8JoBSNS5ZEtmMqw@xxxxxxxxxxxxxx>
Subject: Re: [PATCH net] virtio-net: drop the multi-buffer XDP packet in zerocopy
To: Bui Quang Minh <minhquangbui99@xxxxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx, "Michael S. Tsirkin" <mst@xxxxxxxxxx>,
Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>, =?UTF-8?Q?Eugenio_P=C3=A9rez?= <eperezma@xxxxxxxxxx>,
Andrew Lunn <andrew+netdev@xxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Alexei Starovoitov <ast@xxxxxxxxxx>, Daniel Borkmann <daniel@xxxxxxxxxxxxx>,
Jesper Dangaard Brouer <hawk@xxxxxxxxxx>, John Fastabend <john.fastabend@xxxxxxxxx>,
virtualization@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
bpf@xxxxxxxxxxxxxxx, stable@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 4, 2025 at 10:17=E2=80=AFPM Bui Quang Minh <minhquangbui99@gmai=
l.com> wrote:
>
> On 6/4/25 07:37, Jason Wang wrote:
> > On Tue, Jun 3, 2025 at 11:07=E2=80=AFPM Bui Quang Minh <minhquangbui99@=
gmail.com> wrote:
> >> In virtio-net, we have not yet supported multi-buffer XDP packet in
> >> zerocopy mode when there is a binding XDP program. However, in that
> >> case, when receiving multi-buffer XDP packet, we skip the XDP program
> >> and return XDP_PASS. As a result, the packet is passed to normal netwo=
rk
> >> stack which is an incorrect behavior. This commit instead returns
> >> XDP_DROP in that case.
> >>
> >> Fixes: 99c861b44eb1 ("virtio_net: xsk: rx: support recv merge mode")
> >> Cc: stable@xxxxxxxxxxxxxxx
> >> Signed-off-by: Bui Quang Minh <minhquangbui99@xxxxxxxxx>
> >> ---
> >> drivers/net/virtio_net.c | 11 ++++++++---
> >> 1 file changed, 8 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> >> index e53ba600605a..4c35324d6e5b 100644
> >> --- a/drivers/net/virtio_net.c
> >> +++ b/drivers/net/virtio_net.c
> >> @@ -1309,9 +1309,14 @@ static struct sk_buff *virtnet_receive_xsk_merg=
e(struct net_device *dev, struct
> >> ret =3D XDP_PASS;
> > It would be simpler to just assign XDP_DROP here?
> >
> > Or if you wish to stick to the way, we can simply remove this assignmen=
t.
>
> This XDP_PASS is returned for the case when there is no XDP program
> binding (!prog).

You're right.

Acked-by: Jason Wang <jasowang@xxxxxxxxxx>

Thanks

>
> >
> >> rcu_read_lock();
> >> prog =3D rcu_dereference(rq->xdp_prog);
> >> - /* TODO: support multi buffer. */
> >> - if (prog && num_buf =3D=3D 1)
> >> - ret =3D virtnet_xdp_handler(prog, xdp, dev, xdp_xmit, =
stats);
> >> + if (prog) {
> >> + /* TODO: support multi buffer. */
> >> + if (num_buf =3D=3D 1)
> >> + ret =3D virtnet_xdp_handler(prog, xdp, dev, xd=
p_xmit,
> >> + stats);
> >> + else
> >> + ret =3D XDP_DROP;
> >> + }
> >> rcu_read_unlock();
> >>
> >> switch (ret) {
> >> --
> >> 2.43.0
> >>
> > Thanks
> >
>
>
> Thanks,
> Quang Minh.
>
>



Return-Path: <linux-kernel+bounces-673927-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C14BC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:48:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 2D0511895F5D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:48:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0713D2AE84;
Thu, 5 Jun 2025 00:48:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b="UodMRz/H"
Received: from out199-2.us.a.mail.aliyun.com (out199-2.us.a.mail.aliyun.com [47.90.199.2])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 088E918C06;
Thu, 5 Jun 2025 00:48:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=47.90.199.2
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749084513; cv=none; b=CI1raqkY4Pzhsj5rQJ37553UyGKseyusJge9FqEBOZ55dKbdorauSeDW2OiOwTJS7gGdrgDAW8thAKbzS3XQ01fluy0iODgABwgMDHcgu0b5SkdPjkJxqiG4nJiTzL9bmYi03Yc8H5yrZN1i9rxBi0bokIFRo7GLloJ/yO5YW4Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749084513; c=relaxed/simple;
bh=spiNuMouzkosxKKAlHJ/LKnfR6O/EaZkfHwVp4bYclQ=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=iloMX3MpV+uv8wg4DtIE4OCP5mjc7YJkapCWz8HjjwNP+ryhDLWkS3IsZI0ISIpO9pOItyhUu/i1Dbzb+ygsgfRW07alNwLT+C5/qGUfaGmqk2+5NKIzFDyUmEslJ3M2uTmtuXrIqJ80nyVNWcAPq6ZbTqktHSSA+gad3LeJIhY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com; spf=pass smtp.mailfrom=linux.alibaba.com; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b=UodMRz/H; arc=none smtp.client-ip=47.90.199.2
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.alibaba.com
DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linux.alibaba.com; s=default;
t=1749084492; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type;
bh=hoFzIfUZJ4wj8058GkOSPWGehDB1B6IcsKmHwslnUG0=;
b=UodMRz/HOMIBX30RINyRFY2tD1EH1zPFYc2AwHaP0+L3+7NkM1Rj/uMBghFVnuLOHzd6KQGriFSxHvmuw/n366oV51rq4jUHR16hM0W7eaN42++G6GyE9Xf0LmVFtCTEfc8Xqkp2KEquxx/WQP+fdXikxQNUFeWsrldwj8xHa7g=
Received: from 192.168.43.81(mailfrom:baolin.wang@xxxxxxxxxxxxxxxxx fp:SMTPD_---0Wd5p7oJ_1749084488 cluster:ay36)
by smtp.aliyun-inc.com;
Thu, 05 Jun 2025 08:48:10 +0800
Message-ID: <985a92d4-e0d4-4164-88eb-dc7931e2c40c@xxxxxxxxxxxxxxxxx>
Date: Thu, 5 Jun 2025 08:48:07 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] mm: fix the inaccurate memory statistics issue for users
To: Shakeel Butt <shakeel.butt@xxxxxxxxx>
Cc: Vlastimil Babka <vbabka@xxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, david@xxxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx, rppt@xxxxxxxxxx,
surenb@xxxxxxxxxx, donettom@xxxxxxxxxxxxx, aboorvad@xxxxxxxxxxxxx,
sj@xxxxxxxxxx, linux-mm@xxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
References: <72f0dc8c-def3-447c-b54e-c390705f8c26@xxxxxxxxxxxxxxxxx>
<aD6vHzRhwyTxBqcl@tiehlicka>
<ef2c9e13-cb38-4447-b595-f461f3f25432@xxxxxxxxxxxxxxxxx>
<aD7OM5Mrg5jnEnBc@tiehlicka>
<7307bb7a-7c45-43f7-b073-acd9e1389000@xxxxxxxxxxxxxxxxx>
<aD8LKHfCca1wQ5pS@tiehlicka>
<obfnlpvc4tmb6gbd4mw7h7jamp3kouyhnpl4cusetyctswznod@yr6dyrsbay6w>
<250ec733-8b2d-4c56-858c-6aada9544a55@xxxxxxxxxxxxxxxxx>
<1aa7c368-c37f-4b00-876c-dcf51a523c42@xxxxxxx>
<d2b76402-7e1a-4b2d-892a-2e8ffe1a37a9@xxxxxxxxxxxxxxxxx>
<nohu552nfqkfumrj3zc7akbdrq3bzwexle3i6weyta76dltppv@txizmvtg3swd>
From: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
In-Reply-To: <nohu552nfqkfumrj3zc7akbdrq3bzwexle3i6weyta76dltppv@txizmvtg3swd>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-10.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,
USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 2025/6/5 00:54, Shakeel Butt wrote:
> On Wed, Jun 04, 2025 at 10:16:18PM +0800, Baolin Wang wrote:
>>
>>
>> On 2025/6/4 21:46, Vlastimil Babka wrote:
>>> On 6/4/25 14:46, Baolin Wang wrote:
>>>>> Baolin, please run stress-ng command that stresses minor anon page
>>>>> faults in multiple threads and then run multiple bash scripts which cat
>>>>> /proc/pidof(stress-ng)/status. That should be how much the stress-ng
>>>>> process is impacted by the parallel status readers versus without them.
>>>>
>>>> Sure. Thanks Shakeel. I run the stress-ng with the 'stress-ng --fault 32
>>>> --perf -t 1m' command, while simultaneously running the following
>>>> scripts to read the /proc/pidof(stress-ng)/status for each thread.
>>>
>>> How many of those scripts?
>>
>> 1 script, but will start 32 threads to read each stress-ng thread's status
>> interface.
>>
>>>> From the following data, I did not observe any obvious impact of this
>>>> patch on the stress-ng tests when repeatedly reading the
>>>> /proc/pidof(stress-ng)/status.
>>>>
>>>> w/o patch
>>>> stress-ng: info: [6891] 3,993,235,331,584 CPU Cycles
>>>> 59.767 B/sec
>>>> stress-ng: info: [6891] 1,472,101,565,760 Instructions
>>>> 22.033 B/sec (0.369 instr. per cycle)
>>>> stress-ng: info: [6891] 36,287,456 Page Faults Total
>>>> 0.543 M/sec
>>>> stress-ng: info: [6891] 36,287,456 Page Faults Minor
>>>> 0.543 M/sec
>>>>
>>>> w/ patch
>>>> stress-ng: info: [6872] 4,018,592,975,968 CPU Cycles
>>>> 60.177 B/sec
>>>> stress-ng: info: [6872] 1,484,856,150,976 Instructions
>>>> 22.235 B/sec (0.369 instr. per cycle)
>>>> stress-ng: info: [6872] 36,547,456 Page Faults Total
>>>> 0.547 M/sec
>>>> stress-ng: info: [6872] 36,547,456 Page Faults Minor
>>>> 0.547 M/sec
>>>>
>>>> =========================
>>>> #!/bin/bash
>>>>
>>>> # Get the PIDs of stress-ng processes
>>>> PIDS=$(pgrep stress-ng)
>>>>
>>>> # Loop through each PID and monitor /proc/[pid]/status
>>>> for PID in $PIDS; do
>>>> while true; do
>>>> cat /proc/$PID/status
>>>> usleep 100000
>>>
>>> Hm but this limits the reading to 10 per second? If we want to simulate an
>>> adversary process, it should be without the sleeps I think?
>>
>> OK. I drop the usleep, and I still can not see obvious impact.
>>
>> w/o patch:
>> stress-ng: info: [6848] 4,399,219,085,152 CPU Cycles
>> 67.327 B/sec
>> stress-ng: info: [6848] 1,616,524,844,832 Instructions
>> 24.740 B/sec (0.367 instr. per cycle)
>> stress-ng: info: [6848] 39,529,792 Page Faults Total
>> 0.605 M/sec
>> stress-ng: info: [6848] 39,529,792 Page Faults Minor
>> 0.605 M/sec
>>
>> w/patch:
>> stress-ng: info: [2485] 4,462,440,381,856 CPU Cycles
>> 68.382 B/sec
>> stress-ng: info: [2485] 1,615,101,503,296 Instructions
>> 24.750 B/sec (0.362 instr. per cycle)
>> stress-ng: info: [2485] 39,439,232 Page Faults Total
>> 0.604 M/sec
>> stress-ng: info: [2485] 39,439,232 Page Faults Minor
>> 0.604 M/sec
>
> Is the above with 32 non-sleeping parallel reader scripts?

Yes.


Return-Path: <linux-kernel+bounces-673928-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2E05041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:48:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id BEC141896525
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:49:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A7918288D2;
Thu, 5 Jun 2025 00:48:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=canb.auug.org.au header.i=@canb.auug.org.au header.b="NpgIfcxA"
Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1FCF318EAB;
Thu, 5 Jun 2025 00:48:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=150.107.74.76
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749084523; cv=none; b=X7J8f5FE2ljZZ/+tKOOnGixq9HFGEwPOwRNwYcEspWlZ3LvV0NIRz+PqoTXH23rIAl/t9X5lEL5okNqWGOZP2AI1n7tyTliUaYxGDlGl1oM3EQkMSAgg9g6AKONxwFKI6FrbaVuV7QqAvRhnOfzE7cu98ArD6EWeWNZinjgZuJ0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749084523; c=relaxed/simple;
bh=Bt1uUIhyXdLS4aUaEfNXLggCzOJf8qDImRaEfyppjNQ=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type; b=TVzOrYs/xARcfiNnyw2buZaPzYMVd5tL3mP1C7lPQ4LvMUXKbqxhEFSC474v/isr4B0Mt/PXvNb2DJpYb87RDbFsKHb996P5fRHoh1jr5+4uWEAmLBCLxBZgIf3JFzQq9+9MeSLr8b3u8Rf5ViVQuzlL6d5eiVsMeF8NEKoqFdc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canb.auug.org.au; spf=pass smtp.mailfrom=canb.auug.org.au; dkim=pass (2048-bit key) header.d=canb.auug.org.au header.i=@canb.auug.org.au header.b=NpgIfcxA; arc=none smtp.client-ip=150.107.74.76
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canb.auug.org.au
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=canb.auug.org.au
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au;
s=202503; t=1749084510;
bh=R8riJaruyP3aW/0lSUw4SB+HAC/3LuiYmDZGvpZHth4=;
h=Date:From:To:Cc:Subject:From;
b=NpgIfcxAsqj3x8ryDHLX/IgHNzUmk4HbKV68kAI2D+PdAOssvcjv6Xh05G8e3QxwU
74iVqMB34aLgnuYqwkd3/XW/NUtTVDF6Po3uBCS1kI2sbLBgzdeHE7Qi2+4XQ8XOnT
ybtA8s6Y6R2ThVUry6+jhI9Jn5u63Nz4TGnh6k6wB1iX66lGhoJ3qU2ZAK3P+VOzy8
UN0/2gkJXhxEyBXJTpl0BbBW74fzrB0b8uL1xGJL4mK0u+6eCx9wI+T5cEMwtBB/A2
Z45nqDn6cNE2flJoieV2Eet4jaGlHAt8ftjzK8S7y0w+fEoqo7dBSDBCtQP8z7sdTC
t8qR90SW/HMcw==
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(Client did not present a certificate)
by mail.ozlabs.org (Postfix) with ESMTPSA id 4bCQmX5C2Xz4wyV;
Thu, 5 Jun 2025 10:48:28 +1000 (AEST)
Date: Thu, 5 Jun 2025 10:48:26 +1000
From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
To: Rob Clark <robdclark@xxxxxxxxx>, Sean Paul <seanpaul@xxxxxxxxxxxx>
Cc: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>, Bryan O'Donoghue
<bod@xxxxxxxxxx>, Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>, Hans
Verkuil <hverkuil@xxxxxxxxx>, Linux Kernel Mailing List
<linux-kernel@xxxxxxxxxxxxxxx>, Linux Next Mailing List
<linux-next@xxxxxxxxxxxxxxx>, Rob Clark <robin.clark@xxxxxxxxxxxxxxxx>
Subject: linux-next: manual merge of the drm-msm tree with Linus' tree
Message-ID: <20250605104826.3263d45b@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/S1Jjq_KPyiY50B76mUR82e3";
protocol="application/pgp-signature"; micalg=pgp-sha256
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

--Sig_/S1Jjq_KPyiY50B76mUR82e3
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hi all,

Today's linux-next merge of the drm-msm tree got a conflict in:

MAINTAINERS

between commit:

4acbaa8794b3 ("media: MAINTAINERS: Add myself to iris Reviewers")

from Linus' tree and commit:

d6984d0c0a56 ("MAINTAINERS: update my email address")

from the drm-msm tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

--=20
Cheers,
Stephen Rothwell

diff --cc MAINTAINERS
index 95747d11d82a,afbb82858934..000000000000
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@@ -20429,8 -19975,7 +20430,8 @@@ F: drivers/regulator/vqmmc-ipq4019-regu
QUALCOMM IRIS VIDEO ACCELERATOR DRIVER
M: Vikash Garodia <quic_vgarodia@xxxxxxxxxxx>
M: Dikshita Agarwal <quic_dikshita@xxxxxxxxxxx>
- R: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
+ R: Abhinav Kumar <abhinav.kumar@xxxxxxxxx>
+R: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
L: linux-media@xxxxxxxxxxxxxxx
L: linux-arm-msm@xxxxxxxxxxxxxxx
S: Maintained

--Sig_/S1Jjq_KPyiY50B76mUR82e3
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmhA6VoACgkQAVBC80lX
0GxevAf/d5pOmwV+cJLNzYyJo/iYQD4ZGCQ+tyyUVaGTc3hHdj0k+2xS5p0dzOC4
W7hqb5t2SeEWqtu18pkKdUydC455bcClzfRIju2GN5e+w7doqngNmEkTW/ucmdui
QVJcULvGZ+GqmJeD//jaGh+5VEBAUmR8AlqnDr/QRPMLXNUR53k1X8Gr5j689yfl
aqX04phjltazL4LBGd86+FzKJ1DLAWa5LKjpCTR9pr9XzAV7pm+8LFw24emwS4b2
J9yboGedsoRCBAnz6U6CtHg9Bf8MHQvUNiejY6R84GlCmxQfBU+e+q//GR1rDq8Z
qkp8v6XOUKVPZnp4I3e9PzxYy2Q1Bw==
=3Y5h
-----END PGP SIGNATURE-----

--Sig_/S1Jjq_KPyiY50B76mUR82e3--


Return-Path: <linux-kernel+bounces-673929-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7FA1B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:52:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 7FE33175DBF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:52:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D0E27288D2;
Thu, 5 Jun 2025 00:51:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="CP8dz4it"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 52944BA38
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:51:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.20
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749084718; cv=none; b=dfwONDRx7EyX02kPPJWAEUbUYRfjJgm9TCuSFoUk2EuBj4Rk1IOGAVRrzxwHiYA4Rn+eHir2GtOl4GWUqu0q9jO1rVz0fyZXKYoqqcPMZ+5ioAioBtkZpae9jSEZXKyYtGnzdfws+EK8rf06Hnv4mvTT+qiUqY+KYfcGEzBbpRY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749084718; c=relaxed/simple;
bh=36ZtIPKNX8SAihjkv5qZH8LM9lQp6Jdc6XTWTLKtWe0=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=UXGQyO8OkTCYBMdjySBZUYpekCLDr3JPL4MVoxmGwjYP11IAbkhUNw1Urf+jY2STkekgxFfK3eP/g3uZwArRtlDyFywWBzjw+MWDU9QoRRKwOPHpyafawBv4jdkC1YBUJujQQqiAGy/o4SoX0RiKf5gIn1sYom+KX6pv9+qBOXY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=CP8dz4it; arc=none smtp.client-ip=198.175.65.20
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749084716; x=1780620716;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=36ZtIPKNX8SAihjkv5qZH8LM9lQp6Jdc6XTWTLKtWe0=;
b=CP8dz4itjvlRnt90u8o3zwnL6xiZ7stgCpT6G23XTyCkvT8PHCHnBI2h
pW9UmlpMbD+g6p1cJDeWqEjANUC0Jr4i7bzet1VPxOHAt32KRpunw03oL
F82ESFWVmQ474jy6LbvwZLEIHEVFMdmJH2s239AH9bItEV4p5ZIsKrQNS
/hofU/Ryo8pEe/LgkpjWeHvb5GPmX9DRLWZFwCwYShtZ7HsmyfD2jWMG1
S+pwRl0bfbhsRBEbHN2ge6Qultvrh3ln6x0OOD1uHZE1iXT5bwOttnzXE
uM1MHKigKM1dgjPS6Zt3Km/Iescuezt5kbcQ4hQFmUcOfoa9P9wYg33eU
Q==;
X-CSE-ConnectionGUID: AihOVGxZRgWXFSVjJlJ+FQ==
X-CSE-MsgGUID: CwBX5AfcTAWUYrWo4CnGGw==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="50883157"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="50883157"
Received: from orviesa005.jf.intel.com ([10.64.159.145])
by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 17:51:55 -0700
X-CSE-ConnectionGUID: 7+U0Zyk4RY++9YMSU/sE0g==
X-CSE-MsgGUID: qSxTrllcTqay1o2hr+22iw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150626227"
Received: from lkp-server01.sh.intel.com (HELO e8142ee1dce2) ([10.239.97.150])
by orviesa005.jf.intel.com with ESMTP; 04 Jun 2025 17:51:53 -0700
Received: from kbuild by e8142ee1dce2 with local (Exim 4.96)
(envelope-from <lkp@xxxxxxxxx>)
id 1uMypi-0003aH-1c;
Thu, 05 Jun 2025 00:51:50 +0000
Date: Thu, 5 Jun 2025 08:51:37 +0800
From: kernel test robot <lkp@xxxxxxxxx>
To: Qingfang Deng <dqfext@xxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Albert Ou <aou@xxxxxxxxxxxxxxxxx>, Alexandre Ghiti <alex@xxxxxxxx>,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Cc: llvm@xxxxxxxxxxxxxxx, oe-kbuild-all@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] riscv: use generic MMIO accessors
Message-ID: <202506050828.Dktas7qm-lkp@xxxxxxxxx>
References: <20250530032252.3092502-1-dqfext@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250530032252.3092502-1-dqfext@xxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Qingfang,

kernel test robot noticed the following build errors:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.15 next-20250604]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Qingfang-Deng/riscv-use-generic-MMIO-accessors/20250530-112455
base: linus/master
patch link: https://lore.kernel.org/r/20250530032252.3092502-1-dqfext%40gmail.com
patch subject: [PATCH] riscv: use generic MMIO accessors
config: riscv-randconfig-001-20250605 (https://download.01.org/0day-ci/archive/20250605/202506050828.Dktas7qm-lkp@xxxxxxxxx/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250605/202506050828.Dktas7qm-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506050828.Dktas7qm-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:7:
In file included from include/linux/gfp.h:7:
In file included from include/linux/mmzone.h:22:
In file included from include/linux/mm_types.h:16:
In file included from include/linux/uprobes.h:18:
In file included from include/linux/timer.h:6:
In file included from include/linux/ktime.h:25:
In file included from include/linux/jiffies.h:10:
In file included from include/linux/time.h:60:
In file included from include/linux/time32.h:13:
In file included from include/linux/timex.h:67:
>> arch/riscv/include/asm/timex.h:20:9: error: call to undeclared function '__raw_readq'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
20 | return readq_relaxed(clint_time_val);
| ^
arch/riscv/include/asm/mmio.h:59:56: note: expanded from macro 'readq_relaxed'
59 | #define readq_relaxed(c) ({ u64 __v; __io_rbr(); __v = readq_cpu(c); __io_rar(); __v; })
| ^
arch/riscv/include/asm/mmio.h:32:64: note: expanded from macro 'readq_cpu'
32 | #define readq_cpu(c) ({ u64 __r = le64_to_cpu((__force __le64)__raw_readq(c)); __r; })
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:98:11: warning: array index 3 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
98 | return (set->sig[3] | set->sig[2] |
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:98:25: warning: array index 2 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
98 | return (set->sig[3] | set->sig[2] |
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:99:4: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
99 | set->sig[1] | set->sig[0]) == 0;
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:101:11: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
101 | return (set->sig[1] | set->sig[0]) == 0;
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:114:11: warning: array index 3 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
114 | return (set1->sig[3] == set2->sig[3]) &&
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:114:27: warning: array index 3 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
114 | return (set1->sig[3] == set2->sig[3]) &&
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:115:5: warning: array index 2 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
115 | (set1->sig[2] == set2->sig[2]) &&
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:115:21: warning: array index 2 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
115 | (set1->sig[2] == set2->sig[2]) &&
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:116:5: warning: array index 1 is past the end of the array (that has type 'const unsigned long[1]') [-Warray-bounds]
116 | (set1->sig[1] == set2->sig[1]) &&
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
--
175 | set->sig[2] = op(set->sig[2]); \
| ^ ~
include/linux/signal.h:186:24: note: expanded from macro '_sig_not'
186 | #define _sig_not(x) (~(x))
| ^
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:187:1: warning: array index 2 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
187 | _SIG_SET_OP(signotset, _sig_not)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/signal.h:175:3: note: expanded from macro '_SIG_SET_OP'
175 | set->sig[2] = op(set->sig[2]); \
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:187:1: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
187 | _SIG_SET_OP(signotset, _sig_not)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/signal.h:177:27: note: expanded from macro '_SIG_SET_OP'
177 | case 2: set->sig[1] = op(set->sig[1]); \
| ^ ~
include/linux/signal.h:186:24: note: expanded from macro '_sig_not'
186 | #define _sig_not(x) (~(x))
| ^
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:187:1: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
187 | _SIG_SET_OP(signotset, _sig_not)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/signal.h:177:10: note: expanded from macro '_SIG_SET_OP'
177 | case 2: set->sig[1] = op(set->sig[1]); \
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:198:10: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
198 | case 2: set->sig[1] = 0;
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:211:10: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
211 | case 2: set->sig[1] = -1;
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:242:10: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
242 | case 2: set->sig[1] = 0;
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:8:
In file included from include/linux/mm.h:35:
In file included from include/linux/rcuwait.h:6:
In file included from include/linux/sched/signal.h:6:
include/linux/signal.h:255:10: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
255 | case 2: set->sig[1] = -1;
| ^ ~
include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
62 | unsigned long sig[_NSIG_WORDS];
| ^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/ftrace.h:10:
In file included from include/linux/trace_recursion.h:5:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/riscv/include/asm/io.h:136:
>> include/asm-generic/io.h:140:19: error: static declaration of '__raw_readq' follows non-static declaration
140 | static inline u64 __raw_readq(const volatile void __iomem *addr)
| ^
include/asm-generic/io.h:139:21: note: expanded from macro '__raw_readq'
139 | #define __raw_readq __raw_readq
| ^
arch/riscv/include/asm/timex.h:20:9: note: previous implicit declaration is here
20 | return readq_relaxed(clint_time_val);
| ^
arch/riscv/include/asm/mmio.h:59:56: note: expanded from macro 'readq_relaxed'
59 | #define readq_relaxed(c) ({ u64 __v; __io_rbr(); __v = readq_cpu(c); __io_rar(); __v; })
| ^
arch/riscv/include/asm/mmio.h:32:64: note: expanded from macro 'readq_cpu'
32 | #define readq_cpu(c) ({ u64 __r = le64_to_cpu((__force __le64)__raw_readq(c)); __r; })
| ^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/ftrace.h:10:
In file included from include/linux/trace_recursion.h:5:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/riscv/include/asm/io.h:136:
include/asm-generic/io.h:804:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
804 | insb(addr, buffer, count);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:104:53: note: expanded from macro 'insb'
104 | #define insb(addr, buffer, count) __insb(PCI_IOBASE + (addr), buffer, count)
| ~~~~~~~~~~ ^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/ftrace.h:10:
In file included from include/linux/trace_recursion.h:5:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/riscv/include/asm/io.h:136:
include/asm-generic/io.h:812:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
812 | insw(addr, buffer, count);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:105:53: note: expanded from macro 'insw'
105 | #define insw(addr, buffer, count) __insw(PCI_IOBASE + (addr), buffer, count)
| ~~~~~~~~~~ ^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/ftrace.h:10:
In file included from include/linux/trace_recursion.h:5:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/riscv/include/asm/io.h:136:
include/asm-generic/io.h:820:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
820 | insl(addr, buffer, count);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:106:53: note: expanded from macro 'insl'
106 | #define insl(addr, buffer, count) __insl(PCI_IOBASE + (addr), buffer, count)
| ~~~~~~~~~~ ^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/ftrace.h:10:
In file included from include/linux/trace_recursion.h:5:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/riscv/include/asm/io.h:136:
include/asm-generic/io.h:829:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
829 | outsb(addr, buffer, count);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:118:55: note: expanded from macro 'outsb'
118 | #define outsb(addr, buffer, count) __outsb(PCI_IOBASE + (addr), buffer, count)
| ~~~~~~~~~~ ^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/ftrace.h:10:
In file included from include/linux/trace_recursion.h:5:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:12:
In file included from arch/riscv/include/asm/io.h:136:
include/asm-generic/io.h:838:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
838 | outsw(addr, buffer, count);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:119:55: note: expanded from macro 'outsw'
119 | #define outsw(addr, buffer, count) __outsw(PCI_IOBASE + (addr), buffer, count)
| ~~~~~~~~~~ ^
In file included from arch/riscv/kernel/asm-offsets.c:10:
In file included from include/linux/ftrace.h:10:
In file included from include/linux/trace_recursion.h:5:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:


vim +/__raw_readq +20 arch/riscv/include/asm/timex.h

d5be89a8d118a8 Palmer Dabbelt 2020-09-14 16
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 17 #ifdef CONFIG_64BIT
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 18 static inline cycles_t get_cycles(void)
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 19 {
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 @20 return readq_relaxed(clint_time_val);
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 21 }
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 22 #else /* !CONFIG_64BIT */
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 23 static inline u32 get_cycles(void)
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 24 {
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 25 return readl_relaxed(((u32 *)clint_time_val));
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 26 }
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 27 #define get_cycles get_cycles
d5be89a8d118a8 Palmer Dabbelt 2020-09-14 28

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


Return-Path: <linux-kernel+bounces-673930-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DD77C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 20:54:17 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 994C33A89BA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:53:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6AE7443AB7;
Thu, 5 Jun 2025 00:54:04 +0000 (UTC)
Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CEB043C2F;
Thu, 5 Jun 2025 00:53:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=166.125.252.92
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749084843; cv=none; b=T1PN5NTNGn22yLwOptGOeSWhTco8PZ7F/+psuYOEBSe2DH6BNEXpkOuqhxp3DAdNi5z8b77iG/E2I65ERH1cSXgNTDEVXw6HK0P9jYSoRxMlT+qgMb3TrHdAASxLjLQCG8eJ7jCQZX7u4FOSDhVb+yYeAT8lvysCF0QlhROTsUc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749084843; c=relaxed/simple;
bh=AWmbqXr8HmHhWDjBHzH3d9h3bQexph0OE6Cl//0txsc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=Jz+uAWejEB+FKJLs+loo+9GtxwsxnY/Dh6YmCMEW58M8shBtxmPTBc3MIbqbFXFC1+4mCgqZFyCJZJiUvH1X5i6rHR/hy/f0TFwwqAzUYfodv1CW5MG6ulGkdXgYrkTes5ph1r7I1RUmvypEOP8OasQQX04W0zMm9M+c2nvzPqI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com; spf=pass smtp.mailfrom=sk.com; arc=none smtp.client-ip=166.125.252.92
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sk.com
X-AuditID: a67dfc5b-681ff7000002311f-13-6840eaa26553
Date: Thu, 5 Jun 2025 09:53:49 +0900
From: Byungchul Park <byungchul@xxxxxx>
To: Suren Baghdasaryan <surenb@xxxxxxxxxx>
Cc: willy@xxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx, almasrymina@xxxxxxxxxx,
ilias.apalodimas@xxxxxxxxxx, harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx,
asml.silence@xxxxxxxxx, toke@xxxxxxxxxx, tariqt@xxxxxxxxxx,
edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx, saeedm@xxxxxxxxxx,
leon@xxxxxxxxxx, ast@xxxxxxxxxx, daniel@xxxxxxxxxxxxx,
david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx,
Liam.Howlett@xxxxxxxxxx, vbabka@xxxxxxx, rppt@xxxxxxxxxx,
mhocko@xxxxxxxx, horms@xxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx,
bpf@xxxxxxxxxxxxxxx, vishal.moola@xxxxxxxxx
Subject: Re: [RFC v4 02/18] netmem: introduce netmem alloc APIs to wrap page
alloc APIs
Message-ID: <20250605005349.GA37659@xxxxxxxxxxxxxxxxxxx>
References: <20250604025246.61616-1-byungchul@xxxxxx>
<20250604025246.61616-3-byungchul@xxxxxx>
<CAJuCfpFCtGFRip72x8HadTfuv_2d+e19qZ2xJowaLa6V9JOGHA@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAJuCfpFCtGFRip72x8HadTfuv_2d+e19qZ2xJowaLa6V9JOGHA@xxxxxxxxxxxxxx>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTcRjG+++cnR2Xq9O6/U0qWmViZBeC3ihUiOAEFVlkdIEcemrLabLp
mkGgaUgjV2l0WUtWI1tTmS4vS2LmGt66KIvkdNUsg8IKnYk6L3mUyG8P7/O8z+/98NKE/K54
Ca1Oy+C0aUqNgpKS0p+h99bZfsSpNnz3kGBxllFQOmSAB11uMVgcNQgGht9LIOBrosB2d5AA
S1seCX+cIwT0NHZLoLPkGwlP8msJ6L7cTEFBXpCA8267CNprTGK4NnKfgNrsLgm8rrNQ8Kls
QgzfvAUktJgfktBpioNG6yIYfN6LwOesFcHgpTsUFPmtFHzJ60Tgf9ZNwu0cEwKnhxdDcMhC
xa1gqx6+FbGPzR8lrNWVyT6yR7FG3k+wLsdFinX1F0rYDx1PKLb5ZpBkH7sDIrYg9xfF9vW8
I9nfnjcU66x6Q7IvrD4JG3At28cckW5P5jRqPaddH5MoVQUaikTpL+UGT2OvJBuNhRpRCI2Z
zbipzkYYET2lv5RHCJJkVmFTQ7yQoJg1mOeHCUEvYKJwUeADZURSmmC6xfhesAIJxnzmMK7k
eZGwK2MA/2pRCRk5Y0e4vbWHEjIyZh5uufWVFDQxWTpa7J/CEkw4fjBOT4+X49zq21OsECYe
D09UT8UXMivx05omkdCJmac0Lq58QUyfH4Yb7Dx5Bc0zz0CYZyDM/xHmGQgrIh1Irk7TpyrV
ms3Rqqw0tSE66XSqC00+Tsm50aNu1N9+wIsYGilCZYnxcSq5WKnXZaV6EaYJxQJZ4o9YlVyW
rMw6y2lPH9dmajidF4XTpGKxbNPgmWQ5c1KZwaVwXDqn/eeK6JAl2eiUes+hYGvd6l1Gf1A1
UW8rT8q/f9UxKzM5Z7Qf+7gbhTvm9s2WBUoiYq57FdTH/dHIvXNsq/uEodQW9p5fKx+rj9wW
+fmKZ0ssLx4f33BnZKk65QJR8SohPcFzbE6Za+3eek8kOtlqqN7dljiamzGAupqfJ0Weqb7s
ijjYoV+hIHUq5cYoQqtT/gXxo/aRNAMAAA==
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTYRjHe885OzsuJ8dldVLEWlEySSsKHkhy9MW3oMs+dSFsKw9tOGds
aSpUmtJl5LooXeaqpZiXtOUyLxGiU9RpVkyKldZipYiJVjNzruuKyG9/nv/v+T1fHoaUFAoi
GY3uCK/XqbRSWkSJtm8sWF02JlevqfTLwGKrpeHOTDZUvm0WgKWmEcGUf1AIvs5uGspvTZNg
eVpIwRfbLAnDXV4heG6PUPDodBMJ3vM9NBQVBkg42VxFQMd1pwCeNZoEUDJbQUJT3lshDDy0
0PCm9qcARhxFFDjN1RR4THLosi6C6b5xBJ22JgKmz12nodhlpeFdoQeBq8NLQWm+CYGt1S2A
wIyFlktxQ/VLAreYXwux1Z6J71fJsNHtIrG95iyN7Z8vCfHQi0c07rkaoHBLs4/ARQUTNP40
/IrCk63PaVw++pHAtobnFH5s7RTuDN8rSkzltZosXp+wSSlS+9qLicP9kuzWrnFhHvoeakQM
w7HruXd1K4ORYldwpnaFEYUwNLuKc7v9ZDBHsDKu2DdEG5GIIVmvgCsL3EPBYgG7h6t3u4ng
rpgFbsKpDjIStgpxz3qH6SAjZsM557X3VDCTv6XfbrjIIE+yUVzlD+bvOIYreFD651YIq+D8
Px/8wReyy7m2xm7iAgozzzGZ55jM/03mOSYrompQhEaXla7SaDfEG9LUOTpNdvzBjHQ7+v0b
t499u9iMpgaSHYhlkDRUrFTI1RKBKsuQk+5AHENKI8TKsSS1RJyqysnl9Rn79Zla3uBAUQwl
XSzeuotXSthDqiN8Gs8f5vX/WoIJicxDy9t3nLIndVwObVn3ZV/cHWe0Qj6au6MvZmAs8mZd
lPNMyivTtq0pCWGl5OJ5KR/COBSrGPmaX/1j/kT08YB1mqpb+iHWt7k/VXL6flrFsqNm113p
vZyh2SuewdndpxoSp3pj8/N8qYnaA0RJXMxaZf2kd0tjm2PJPmrek/pk3YkZKWVQq9bKSL1B
9QvNR7qxFwMAAA==
X-CFilter-Loop: Reflected
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 08:14:18AM -0700, Suren Baghdasaryan wrote:
> On Tue, Jun 3, 2025 at 7:53 PM Byungchul Park <byungchul@xxxxxx> wrote:
> >
> > To eliminate the use of struct page in page pool, the page pool code
> > should use netmem descriptor and APIs instead.
> >
> > As part of the work, introduce netmem alloc APIs allowing the code to
> > use them rather than the existing APIs for struct page.
> >
> > Signed-off-by: Byungchul Park <byungchul@xxxxxx>
> > ---
> > net/core/netmem_priv.h | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> > diff --git a/net/core/netmem_priv.h b/net/core/netmem_priv.h
> > index cd95394399b4..32e390908bb2 100644
> > --- a/net/core/netmem_priv.h
> > +++ b/net/core/netmem_priv.h
> > @@ -59,4 +59,18 @@ static inline void netmem_set_dma_index(netmem_ref netmem,
> > magic = netmem_get_pp_magic(netmem) | (id << PP_DMA_INDEX_SHIFT);
> > __netmem_clear_lsb(netmem)->pp_magic = magic;
> > }
> > +
> > +static inline netmem_ref alloc_netmems_node(int nid, gfp_t gfp_mask,
> > + unsigned int order)
> > +{
> > + return page_to_netmem(alloc_pages_node(nid, gfp_mask, order));
> > +}
> > +
> > +static inline unsigned long alloc_netmems_bulk_node(gfp_t gfp, int nid,
> > + unsigned long nr_netmems,
> > + netmem_ref *netmem_array)
> > +{
> > + return alloc_pages_bulk_node(gfp, nid, nr_netmems,
> > + (struct page **)netmem_array);
> > +}
>
> Note: if you want these allocations to be reported in a separate line
> inside /proc/allocinfo you need to use alloc_hooks() like this:

Ah, it looks better to use alloc_hooks(). Thanks.

Byungchul

>
> static inline unsigned long alloc_netmems_bulk_node_noprof(gfp_t gfp, int nid,
> unsigned long nr_netmems,
> netmem_ref *netmem_array)
> {
> return alloc_pages_bulk_node_noprof((gfp, nid, nr_netmems,
> (struct page **)netmem_array);
> }
>
> #define alloc_netmems_bulk_node(...) \
> alloc_hooks(alloc_netmems_bulk_node_noprof(__VA_ARGS__))
>
>
>
> > #endif
> > --
> > 2.17.1
> >


Return-Path: <linux-kernel+bounces-673931-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 76EF241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:04:51 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id D90833A8AF9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:04:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 018B93A8C1;
Thu, 5 Jun 2025 01:04:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="JdnHvPaD"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C3962F2A
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:04:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.16
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749085484; cv=fail; b=g5bUUyD3p1hS2yQHRt9rKJg7NSLVTVs5nk6yZySMbCAG07nHK++1n1GxxK/NSmyH7kStB0zZ0BjY/dELKXIk3tnKEOQa/90NRaie6TfYcqs/Xe5fDjyBQfMbe3D7PZKYctFyCBkr/6Mhf15jORmwDNDiZvKinjh4JXFCdwCq83I=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749085484; c=relaxed/simple;
bh=1SO+M2m1W3MMBD4TMbr0C/NIcD1SCj0Ay3CEYMVzc5Q=;
h=From:To:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=LKNgG+okaxM7TCf/pZLGi0sP2HGnJz7NwqnYHpVniduBVTJPvAeDPVaqzRGm2fqd5XFaLvola64tUJneQdO+DQO1yRDnEKL7BG4Qk06L+HavfQ5fbxQJelAMFaq4MD7Ukt7MBuTE9NCQ/DGC/KLWpHTTUknhdRbEqSSk0uy2A4g=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=JdnHvPaD; arc=fail smtp.client-ip=198.175.65.16
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749085483; x=1780621483;
h=from:to:subject:date:message-id:references:in-reply-to:
content-transfer-encoding:mime-version;
bh=1SO+M2m1W3MMBD4TMbr0C/NIcD1SCj0Ay3CEYMVzc5Q=;
b=JdnHvPaDJ3hAc+5fmhlTFqeO2QY60KZI1mjzaOqdT/v7yAq4vgG56vG7
JpKo0yZ4Acr8w3jS6LVlDH8yEPla2gAktzyWfQDftIDAYCOihV18lo5A9
vwXeAW5vOOPqW7Fc+Qn8ihp5YHW4nejEQa+ftJK/iVLOqAdtVdN/1CVIz
OsmhJ+uEbeuR2LwtxRm/UF5sBycxSdk/eVbuENgJph3cdOURIw2f4E9D+
ELgjrY4IENcrSzfi9p35eT03PqgddxS0SZLSfy5pPoakXPGG+bBvuzrak
IRWSo2FUsaRF1TTAR8NCFaO1RbQl12QQ3mhRQR47XJIpmdcq8Cy6tjCSV
A==;
X-CSE-ConnectionGUID: ylN0rPHkSpWZ/JWFmqf0Og==
X-CSE-MsgGUID: 9vMeWGC0TCmjYekhGJpXWg==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51256684"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51256684"
Received: from fmviesa008.fm.intel.com ([10.60.135.148])
by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 18:04:37 -0700
X-CSE-ConnectionGUID: SsgGd/uJTzydURKJ83VqvA==
X-CSE-MsgGUID: g7+fONRzTq26+7fKXxSILQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145689312"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by fmviesa008.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 18:04:33 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 18:04:33 -0700
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 18:04:33 -0700
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (40.107.223.78)
by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 18:04:32 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=OFrL2NN9UbkPZESD+PNbytr0DplVSPBaRfnppKxEujO5yJnxDVPnOc6YJ3NmFZ5jGEhN4bzpk2/B3E1wby8gL87wLQU7dIJqaS7KUdbvPegCbZWlV2v3cRPnYK2Lsd3YcmrHYHF6WrrnrLkzUJTcusI2VC4/r64qC2WP8EMsiWyHgJNN0wnuZvv6lMZ9WPZGgj1g0saf4zy3PNiBIDcAzV4BOEOpMgN8SJG9rGHw0OrEBkZBL1Z1sXpb/DyojqR1U1058to7CAOHemUsJVyM8HjYpF6d3MIjElDHgPozn00vq1Jil5gzOZAX1M+PBocGs6R4HYIUYsc2BUt/DtCcRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=1SO+M2m1W3MMBD4TMbr0C/NIcD1SCj0Ay3CEYMVzc5Q=;
b=uCqphorZB39+2GKmGf6Npiuw+00mArFVO77cP25HBm898VbAndDpdjzdlX5HdsfbgiRnZGeRU3EeSzdmnS2N5jji6yRArr9PTnoAZOtNJt0xhCLatd/Rs6XGPL5b8gbPsQW44EYkyf2Fwx715tyioLg2xBC+4ZWu137MhDExus+l1LXSG66BL3iC+RAeY1lpRSWbAtTlDuORRVD9KPx6fEv8hZ7OeT27LBKI2u/yrIqnREVo/Q52EGXbBDG8ii0LrNhc41gnxEUfQK4DNpvNlEqMfYjzTbvERui2wBq/0Bv7dQDvdnOEwqaytS4u2O//O0tqEZZnAuwF0PRyuPevZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Received: from DS0PR11MB6373.namprd11.prod.outlook.com (2603:10b6:8:cb::20) by
PH3PPF76AA2D882.namprd11.prod.outlook.com (2603:10b6:518:1::d30) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.25; Thu, 5 Jun
2025 01:04:29 +0000
Received: from DS0PR11MB6373.namprd11.prod.outlook.com
([fe80::2dd5:1312:cd85:e1e]) by DS0PR11MB6373.namprd11.prod.outlook.com
([fe80::2dd5:1312:cd85:e1e%5]) with mapi id 15.20.8769.029; Thu, 5 Jun 2025
01:04:29 +0000
From: "Wang, Wei W" <wei.w.wang@xxxxxxxxx>
To: Ethan Zhao <etzhao1900@xxxxxxxxx>, "Tian, Kevin" <kevin.tian@xxxxxxxxx>,
Ethan Zhao <haifeng.zhao@xxxxxxxxxxxxxxx>, "baolu.lu@xxxxxxxxxxxxxxx"
<baolu.lu@xxxxxxxxxxxxxxx>, "Liu, Yi L" <yi.l.liu@xxxxxxxxx>,
"dwmw2@xxxxxxxxxxxxx" <dwmw2@xxxxxxxxxxxxx>, "jroedel@xxxxxxx"
<jroedel@xxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "iommu@xxxxxxxxxxxxxxx"
<iommu@xxxxxxxxxxxxxxx>
Subject: RE: [PATCH v1] iommu/vt-d: Remove the redundant logic in
first_level_by_default()
Thread-Topic: [PATCH v1] iommu/vt-d: Remove the redundant logic in
first_level_by_default()
Thread-Index: AQHby3jxNyiF43XJukyxASPaPlllB7PpI4qAgAAGaQCACYLcAIAAVbEg
Date: Thu, 5 Jun 2025 01:04:28 +0000
Message-ID: <DS0PR11MB637325E3CD8FECC9A1D1213ADC6FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250523081056.223082-1-wei.w.wang@xxxxxxxxx>
<01e5d0a9-715a-48d4-a2a4-2a0b5d99149b@xxxxxxxxxxxxxxx>
<BN9PR11MB5276CFBD4CF795CCB3ADCD1B8C66A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<5fed2452-ae2a-4fca-8483-85ecf645ec1b@xxxxxxxxx>
In-Reply-To: <5fed2452-ae2a-4fca-8483-85ecf645ec1b@xxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS0PR11MB6373:EE_|PH3PPF76AA2D882:EE_
x-ms-office365-filtering-correlation-id: ab67dff7-db51-443a-1e95-08dda3ccec55
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018|921020;
x-microsoft-antispam-message-info: =?utf-8?B?MzhtWXQ5SUwwOUpsZlZLVFRCb0pxeWdVY3AyVWtyL2hOblZvN0FFTHBNVXNN?=
=?utf-8?B?YXc4V2tmV1BBK3VIVit0cG5Fc2h1VGtwMVNrNUlrcTB4aGF0NVpqUnlycElQ?=
=?utf-8?B?eGZBcDJwWTV2NXR5MVowQUFwcnBsNnlyZWkyeHd5SmpkTTJMQ3ppeGhUMzMr?=
=?utf-8?B?V1o3TnBSVzBpMjBOR0VjaGxmTkhPYUk0d2xpWjRxdVR5ZG55TitwU2xWTEVn?=
=?utf-8?B?cWJ2OG05czM5YWFqbko4bUdNV2hLQmtscEZCcUZlTUJTQWF5N013dnBRdHhQ?=
=?utf-8?B?alEyYmtNZ2hZeVM1OHRkMmx5Y0o0dFhQZU5HajkxQzZkamt1WkttV1QvKzNs?=
=?utf-8?B?S2Jsc3BBTGJIbWpqZlQ4ZU5GTzlUeTJRbnl5UzQyVzFLZUwwSUxqc204VzVR?=
=?utf-8?B?RCswc25kWjhURXJVWURaU25jY25jMEpxY0J5RzdIQmtMSDNRRkFTSmdtRFBB?=
=?utf-8?B?UXRzdlF5ZzJhOVRmVlFTUUNpaXV6RjIrNERpQlZGelplbUhQeHpDd1hpdERs?=
=?utf-8?B?QWZQeUgzQzdHVUYxbGI1WjhlU3BDS3hyN2hnTCtOSXpMQUg1dExIc0lFL1ds?=
=?utf-8?B?bUhXQVhBQnFJb1FicTBMWTZRZER1VWNJWnp3dTBZTU5CelBROVE4WmFhL0tn?=
=?utf-8?B?QVZYQ01rUmZmYmdzcm9QSllqYWFtalVFakNMN0M2QkhOUTQraXhCK3RXRi9M?=
=?utf-8?B?aWNMNzJWSWNjMXp6cUhqU3VIejUzdGx5U2NHSkc4VWhSUFNLRjhOTjQ4ZEwy?=
=?utf-8?B?WUtNUU1SbVVyaGcrdVBFbE9pclF4VVdQNDB4UTQrSmJtckt3OSs1bEJLU1hB?=
=?utf-8?B?bk1iRTlxSDJHQVZraGFPUVZuQjZIVnlhTXNWUHlIVmpJQUgvTWhVTU94RlRm?=
=?utf-8?B?RkY0TDhLWjdldkRBUVNCd1Z3SFF1ZTJSemJjK3FKR2ZMZVZCNnFyd0FKZXNY?=
=?utf-8?B?eWhRQjMwWUZqODZYaHRXWjZJZHB2SklkOWJDV3U3bFl5emEwL1FYTFR0clhT?=
=?utf-8?B?NldmekFtTFM3b01TK2RLYXFXeGJucFVVWFhqNUI0MTJHdmk2U1BaM3BHREdz?=
=?utf-8?B?NmxtZUtWcWZMNmdSNGZMaE8yczlsOWQzdnNncFRINk95Q2l1dDBKQTl4MEg3?=
=?utf-8?B?TjNYVkd2NmZpUzIweEpIT2tPYWpYSjNtZ1NmVzk2cGRrUnIrcXBLVURyR1BI?=
=?utf-8?B?V1dTTWxhMkJkM2E2eFc1eFpVamhORWhsVFZyN001K1ltZkdJeVFqMXZ3bmJv?=
=?utf-8?B?NjZUL2NLcjlpblljUTJ4RlVLMUE0OWpSWGNVMEt4SXpmWCtGVm0zZjZ5OStl?=
=?utf-8?B?Tk00eEV0S3Z4dFByZ3ovNXVjdnFiaDlqcS9SSW4rRHo2OUJOTTZjS0N0cjM5?=
=?utf-8?B?RVhqSi9mNzQvRDlPYTR5eENFQmhiMnZhY3lrdWhHVmtEV3JnVzRKbW9yRDND?=
=?utf-8?B?M2lOUTQ4OExqS2I3VStkUkRJZnA2b05PRGw2MENVUDlIdEpBd01wTDQraHJF?=
=?utf-8?B?LzdsKzZsM3BVaGc1ZHpIMkpuQmFqamo3WHhxTUpPdW93N0N3Tm5DcUg4dExJ?=
=?utf-8?B?RmFhczFVQ2Nqek8wZkZwY21hK1JQK3lNYnB6UW1qU0RtQzZVWCszUVFTa3Bx?=
=?utf-8?B?TkZGL0hLK2NpcGZBcytFU3BNVTVDTWdMOWU3Y1BhVjlZL0EzNWpVK0Jla3ZJ?=
=?utf-8?B?b0F3OU03T1FsdWg3M08yTWg0M2pkU0xnOGZYeHlzbi9Jbk1iejIxamxRTU9V?=
=?utf-8?B?WitqNmpYWWdwK29US1F1aGtpOUVzNlNVcjlUa3RiRXMyVzVsaXhCcFExSGhY?=
=?utf-8?B?Tk0ybTFLWnYvSkMrNUN0bWx1bmVHZkJMYTRFVWM3clVWMHo0TlZOYnRNTlFu?=
=?utf-8?B?anV1RFRaS0V3dVNuUndtNFJaMGlEY3B2aHpxQ3NhTVByVlJRYTl1cDFJS3pP?=
=?utf-8?B?Z0YyTXZ6Nzc5bXJqS09KeUQvYUFTL29TZEpxU3d1NWZmUFYxSnlHdVU1Tmpm?=
=?utf-8?Q?JoX+Pzlg7wAPo57hMcN3t2SdRsN8iI=3D?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR11MB6373.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018)(921020);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T0kwaFMzYklmN2JjNzYzOHF3NFFwaVZSTWx3ck1ZZWM4Z3ZxU3F2QUppeDR2?=
=?utf-8?B?eDFlbDRjeUZjWUNUck1meEtUWlUrVHJ2RXZGVHFVcGpHSG5ab1h4TVpDYTVu?=
=?utf-8?B?WDNxSS94NkdSYnNBMnpPY1dZcndqR2NSN1pVQXZ2eUZocUN5VUZCWFZ6NW95?=
=?utf-8?B?UEZsWHByWmpUVGFMWENBdmZvVWtYTUEyZmZVQ2F6UHRWUENLTmFtRk1SVGt0?=
=?utf-8?B?R2NlNHUxaWdvSm16UEQzYUM3c2JQajJSQ3grKzRHMWN3NEQrcWVLWWUyOVIw?=
=?utf-8?B?K0hNbWxySXd2ZkoreWVaZzVNSE9jaXdubGl4dUFiY3lNYzI2KzY5RTlYMCth?=
=?utf-8?B?RUoyNS8waUh1S2lWd2IxSk1vMEhaZjlzMlg5UE5sN21QeDZ3dFNTL0F3OE96?=
=?utf-8?B?K2psdnJrN3MwSVZWZytMUGx2MXBBWDk5TUJEUE9VYWhTMC9xWUk2KzljM005?=
=?utf-8?B?Y2phUmdwajFJeEZZOXlMYzJPMGFyMjJrYUp4VTlZSk9JL1Awb3d6T3dUbENz?=
=?utf-8?B?VTMvR1ZNWlgzcjZBVVZmTVhad2R4MjkxZDQrU25WU0xlZXlmVnIyMHN1cjBx?=
=?utf-8?B?dEd0K05lL2N0ZGVneWM2U2FkdFQxVm1rQzI1WUpOblY4enE1aWc4ajRQQkhP?=
=?utf-8?B?MGNManZ5U1dxeEtxUDZiRVI1QStpZVdxMnZIaGVlZWNoVjlxUXVNREpaZjFV?=
=?utf-8?B?SG82NUV1T0JWdFBWZWx6eVNsTUEzOUV2Tm44TWdXdjNTV3JyOEZoeDdmbi9a?=
=?utf-8?B?VmN2SWRxRG9XQjUrQXB0SUdwMFB6S05ZWW80bk5hbEZ6ZkMrTXV6N3JaeDFI?=
=?utf-8?B?cnpzRGtiMzh1M0RZbkZzc1paNWMxUWcvOVhvRFk5UlA0YkxYVnJFbVNobStU?=
=?utf-8?B?elhHNDY5U1NDeVBZdWErSm1XcUEvaTI0eHJsT2tiT3AzdXg0QmFVMmV5REo0?=
=?utf-8?B?am5VSGJpUkRVd2Npa1FiS3hxaDA2TlR3SnRybHR0SFcrdjkrSVd3YVBxOWNY?=
=?utf-8?B?VVFjbmJTUUVZejZDRitjZC9UK05OK3ZkdEswdnlJRkxpWlhLUjBxYmZJVWlB?=
=?utf-8?B?SDhyMUhQYkRhcU5PNng5bFVZc3Q3aTJVdkhDUHVENHVVdk53UFJVMk5oNW0x?=
=?utf-8?B?Z3grMWZBcU5rRWZ2WDZ6SWdmUVhBUXpwMWZCMUw1WThJYUg2d1A2TlBOTWRj?=
=?utf-8?B?cSsyQk5BSkF4c29heVhBUHNmdk9UdG1IeWhlMVdBVkFUVUdlbEFReEJoTkx1?=
=?utf-8?B?VXU5bTY4Y2QvK3hhaHRKVW5wREZCM3ZvaFZ0TjdxdGVhTm5aVXlVY0FqV05U?=
=?utf-8?B?WUNiSzBzR2lCOHRML1pYcTF4ZVJsYlZMWlNLb001Y0M2ekxVQ3NPcnFMSlBt?=
=?utf-8?B?aXBEcmJpSVNMT0tXQ2NZUkpUOThBL3B6UWRuSWJhYTl2SDFYOEhNYXA4TnZu?=
=?utf-8?B?N3BSUE5kMnpMdkoyRWZzVGUySjJCRGh4L05OZTU0c1RDRTNQKzNPUndXdDZL?=
=?utf-8?B?eEVReU5MWmV4R1dJZ3pjTkRXZDBNc2QvVXg4eG5GVXdYcElSSmRHSkdJamZK?=
=?utf-8?B?ak5EVFpHZE04OXptb3Q5YzV5eHM0d0p2YmJjQ01Xai9WbHRlS1JpSkRhZ25r?=
=?utf-8?B?TkhrZG9jdWxjbVlURkZwc1dWRngzYWpXV1ExVFdGUE8wYWNLSzRvQlEwT293?=
=?utf-8?B?MnFBMnZUOWwvSGQrZ3g5aHJoWXlNL1hvemxVWll1S1ArVDE3VDZhOWhBTE5Y?=
=?utf-8?B?R25jRXNUZzBkbFF3d296ZW04dWZ0WDBmNStvS0h0OFJJTkpHcWZIRndRQlIv?=
=?utf-8?B?K0tUNmhDV3hqYXRsR1UwQjg4eDhLTTlXNGhIUktreWkzSnlaVmFBS3UxKzF5?=
=?utf-8?B?djdJY2hlazlrQ2k4bEZaKytEbUlDTzdJY05SNjJrTDZENHVFNzNhamRRUCtX?=
=?utf-8?B?VlVMR210TEJXVXcxL0VORjZhT1R0M0NhZ3lyekE1dlpDSTVsc0VCeVcyVW5U?=
=?utf-8?B?MWVKVVBDYlA1OEtMYW1RMDhZaC93ZEdHcXZ2ZEJQVG5TVU1OTkFjYnNDVG01?=
=?utf-8?B?MGNPcUVnV1hjNnlkNEFCeDlHZHhrMVNkcmllb2l6anRseUtZRzlxS3FUSUd5?=
=?utf-8?Q?6UjknLo5aUD2OAcV/SV+ERQQU?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB6373.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab67dff7-db51-443a-1e95-08dda3ccec55
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 01:04:28.9557
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: +g/Y+F974IdYX4VkUk84jCCiF5DBbdcP2iTTfz3deKmK3epmkLcW2o3YfnsJmyHSftIQei5kgT1Tz54Aq+hXOQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF76AA2D882
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkbmVzZGF5LCBKdW5lIDQsIDIwMjUgMzoyNiBQTSwgRXRoYW4gWmhhbyB3cm90ZToNCj4g
T24gNS8yOS8yMDI1IDI6MTEgUE0sIFRpYW4sIEtldmluIHdyb3RlOg0KPiA+PiBGcm9tOiBFdGhh
biBaaGFvIDxoYWlmZW5nLnpoYW9AbGludXguaW50ZWwuY29tPg0KPiA+PiBTZW50OiBUaHVyc2Rh
eSwgTWF5IDI5LCAyMDI1IDE6NDggUE0NCj4gPj4NCj4gPj4g5ZyoIDIwMjUvNS8yMyAxNjoxMCwg
V2VpIFdhbmcg5YaZ6YGTOg0KPiA+Pj4gVGhpcyBvcmlnaW5hbCBpbXBsZW1lbnRhdGlvbiBpbmNs
dWRlZCByZWR1bmRhbnQgbG9naWMgdG8gZGV0ZXJtaW5lDQo+ID4+IHdoZXRoZXINCj4gPj4+IGZp
cnN0LXN0YWdlIHRyYW5zbGF0aW9uIHNob3VsZCBiZSB1c2VkIGJ5IGRlZmF1bHQuIFNpbXBsaWZ5
IGl0IGFuZA0KPiA+Pj4gcHJlc2VydmUgdGhlIG9yaWdpbmFsIGJlaGF2aW9yOg0KPiA+Pj4gLSBS
ZXR1cm5zIGZhbHNlIGluIGxlZ2FjeSBtb2RlIChubyBzY2FsYWJsZSBtb2RlIHN1cHBvcnQpLg0K
PiA+Pj4gLSBEZWZhdWx0cyB0byBmaXJzdC1sZXZlbCB0cmFuc2xhdGlvbiB3aGVuIGJvdGggRkxU
UyBhbmQgU0xUUyBhcmUNCj4gPj4+ICAgICBzdXBwb3J0ZWQuDQo+ID4+Pg0KPiA+Pj4gU2lnbmVk
LW9mZi1ieTogV2VpIFdhbmcgPHdlaS53LndhbmdAaW50ZWwuY29tPg0KPiA+Pj4gLS0tDQo+ID4+
PiAgICBkcml2ZXJzL2lvbW11L2ludGVsL2lvbW11LmMgfCAxMCArLS0tLS0tLS0tDQo+ID4+PiAg
ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDkgZGVsZXRpb25zKC0pDQo+ID4+Pg0K
PiA+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW9tbXUvaW50ZWwvaW9tbXUuYw0KPiA+Pj4gYi9k
cml2ZXJzL2lvbW11L2ludGVsL2lvbW11LmMgaW5kZXggY2IwYjk5M2JlYmI0Li4yMjhkYTQ3YWI3
Y2QNCj4gPj4+IDEwMDY0NA0KPiA+Pj4gLS0tIGEvZHJpdmVycy9pb21tdS9pbnRlbC9pb21tdS5j
DQo+ID4+PiArKysgYi9kcml2ZXJzL2lvbW11L2ludGVsL2lvbW11LmMNCj4gPj4+IEBAIC0xMzY2
LDE1ICsxMzY2LDcgQEAgc3RhdGljIHZvaWQgZnJlZV9kbWFyX2lvbW11KHN0cnVjdA0KPiA+PiBp
bnRlbF9pb21tdSAqaW9tbXUpDQo+ID4+PiAgICAgKi8NCj4gPj4+ICAgIHN0YXRpYyBib29sIGZp
cnN0X2xldmVsX2J5X2RlZmF1bHQoc3RydWN0IGludGVsX2lvbW11ICppb21tdSkNCj4gPj4+ICAg
IHsNCj4gPj4+IC0JLyogT25seSBTTCBpcyBhdmFpbGFibGUgaW4gbGVnYWN5IG1vZGUgKi8NCj4g
Pj4+IC0JaWYgKCFzbV9zdXBwb3J0ZWQoaW9tbXUpKQ0KPiA+Pj4gLQkJcmV0dXJuIGZhbHNlOw0K
PiA+Pj4gLQ0KPiA+Pj4gLQkvKiBPbmx5IGxldmVsIChlaXRoZXIgRkwgb3IgU0wpIGlzIGF2YWls
YWJsZSwganVzdCB1c2UgaXQgKi8NCj4gPj4+IC0JaWYgKGVjYXBfZmx0cyhpb21tdS0+ZWNhcCkg
XiBlY2FwX3NsdHMoaW9tbXUtPmVjYXApKQ0KPiA+Pj4gLQkJcmV0dXJuIGVjYXBfZmx0cyhpb21t
dS0+ZWNhcCk7DQo+ID4+PiAtDQo+ID4+PiAtCXJldHVybiB0cnVlOw0KPiA+Pg0KPiA+PiBUaGUg
ZnVuY3Rpb24gd29ya3MgbGlrZSBhIGRpZ2l0YWwgY2lyY3VydCBoYXMgMyBzaW5nbGUgYml0IGlu
cHV0cw0KPiA+PiBzbSwgZmx0cywgc2x0cyBhbmQgb25lIGJpdCBvdXRwdXQgcmV0Lg0KPiA+Pg0K
PiA+PiBzbyB0aGUgdHJ1ZSB2YWx1ZSB0YWJsZSBvZiB0aGUgb3JpZ25hbCBmdW5jdGlvbiBsb29r
cyBsaWtlDQo+ID4+DQo+ID4+ICAgwqDCoCBzbcKgwqAgZmx0c8KgwqAgc2x0c8KgwqDCoCByZXQN
Cj4gPj4gYcKgwqAgMMKgwqDCoMKgIHjCoMKgwqDCoCB4wqDCoMKgwqDCoCBmYWxzZQ0KPiA+PiBi
wqDCoCAxwqDCoMKgwqAgMcKgwqDCoMKgIDDCoMKgwqDCoMKgIHRydWUNCj4gPj4gY8KgwqAgMcKg
wqDCoMKgIDDCoMKgwqDCoCAxwqDCoMKgwqDCoCBmYWxzZQ0KPiA+PiBkwqDCoCAxwqDCoMKgwqAg
McKgwqDCoMKgIDHCoMKgwqDCoMKgIHRydWUNCj4gPj4gZcKgwqAgMcKgwqDCoMKgIDDCoMKgwqDC
oCAwwqDCoMKgwqDCoCB0cnVlDQo+ID4NCj4gPiAnZScgaXMgYWN0dWFsbHkgd3JvbmcuIFdlIHNo
b3VsZCBub3QgcmV0dXJuIHRydWUgd2hlbiB0aGUgMXN0IGxldmVsDQo+ID4gY2FwIGRvZXNuJ3Qg
ZXhpc3QuDQo+IA0KPiBJZiBzbywgdGhpcyBwYXRjaCBzaG91bGQgbWVudGlvbiBpdCBmaXhlcyBz
dWNoIGNhc2Ugd2l0aCBmaXggdGFnLCBub3QNCj4gICAicmVtb3ZpbmcgdGhlIHJlZHVuZGFudCBs
b2dpYyB3aXRoIHRoZSBzYW1lIGJlaGF2aW9yIi4NCj4gDQoNClByb2JhYmx5IG5vdCBhIGZpeCAo
anVzdCBjb2RlIGltcHJvdmVtZW50KS4gWW91ciAnZScgYWJvdmUgaXMgbm90IHBvc3NpYmxlDQpm
cm9tIHRoZSBoYXJkd2FyZSBzaWRlLCBhbmQgdGhlIG9sZCBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0
IGhhdmUgaXQgdG9vLg0KDQoNCj4gPg0KPiA+Pg0KPiA+Pj4gKwlyZXR1cm4gc21fc3VwcG9ydGVk
KGlvbW11KSAmJiBlY2FwX2ZsdHMoaW9tbXUtPmVjYXApOw0KPiA+Pg0KPiA+PiBBbmQgdGhlIHRy
dWUgdmFsdWUgdGFibGUgb2YgdGhpcyBuZXcgb25lIGxvb2tzIGxpa2UNCj4gPj4NCj4gPj4gICDC
oMKgIHNtwqAgZmx0cyBzbHRzwqDCoMKgIHJldA0KPiA+Pg0KPiA+PiBmwqDCoCAxwqDCoMKgwqAg
McKgwqDCoMKgIHjCoMKgwqDCoMKgIHRydWUNCj4gPj4gZ8KgwqAgMcKgwqDCoMKgIDDCoMKgwqDC
oCB4wqDCoMKgwqDCoCBmYWxzZQ0KPiA+Pg0KPiA+PiBowqDCoCAwwqDCoMKgwqAgMcKgwqDCoMKg
IHjCoMKgwqDCoMKgIGZhbHNlDQo+ID4+IGnCoMKgwqAgMMKgwqDCoMKgIDDCoMKgwqDCoCB4wqDC
oMKgwqDCoCBmYWxzZQ0KPiA+DQo+ID4gc28gdGhpcyB0YWJsZSBpcyBjb3JyZWN0Lg0KDQo=


Return-Path: <linux-kernel+bounces-673932-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 33C5541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:05:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 674DF172208
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:05:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3BAE32F2A;
Thu, 5 Jun 2025 01:05:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DymsQzvg"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5A8CB8F64;
Thu, 5 Jun 2025 01:05:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749085501; cv=none; b=KknNm+mDqyWEagFEnYNX4JsqXjcbk9YYylv2W4ZhxFjnaoQGE07eR+HwJybgwGeaSWf1dduk1yxWMOykIQ0jgDB+FkL7VmgW3ah7w+8eOvimP1ixL7rWYVSS0ZUPwlaLeFaKrZqHqfU46fbmWkPDZfdRvp0MkwUZf3jwjPvcLSI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749085501; c=relaxed/simple;
bh=1xWCYJUzcVE9fastKj+mLIk0SikYvKYRyzfd7zwHjqU=;
h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References:
Mime-Version:Content-Type; b=g4NzahqaeCr9F56gvIG2lSa0/8Y5NCyoBvvFdu9t4kxxfNdW2h9UcCMUWymygay5Wwk3ocWmyyfzAwUc1CVr1GMTA60nIBo14uqbro8etsGNnzaVYyV2kjNl7DjWSH8PjhD3Et63TgpQvbNXTkO3mtthrL9mNQ2bqUUZpUiKsfA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DymsQzvg; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E4DFAC4CEE4;
Thu, 5 Jun 2025 01:04:59 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749085500;
bh=1xWCYJUzcVE9fastKj+mLIk0SikYvKYRyzfd7zwHjqU=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=DymsQzvgdtAO4Mnbi+bVuX8f3gI4Jt12psyC0q27OQfw7Wzna0aChA43jbQb4GGE1
tsDNbD71qsgoAP3fsjd9/woO2Ze8AzI+khNIPmfUwrbgULIADMu7M15Jidg0UER2v2
v3gKG3NQa2pD2QyZfPr4MWyPXEQ/XL73EGoslOqPpyGWUUnyQ/wC6QISmEBoUsA07b
JOuSUvEroBOh4p9vzRtuRQemTMpC94QRGOXdO31R6XcAfnvqYz7KyaRxBzzpsEhD/4
jYUm2H0tcRjgT28pmpcmgoMmFer7KzTATs7NBEDf7Ost4p6SyFvf5zVXt+NLIkDl7o
DKjvgIUo98SMg==
Date: Thu, 5 Jun 2025 10:04:58 +0900
From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
To: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>, Linux Trace Kernel
<linux-trace-kernel@xxxxxxxxxxxxxxx>, Masami Hiramatsu
<mhiramat@xxxxxxxxxx>, Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
Subject: Re: [PATCH] eventfs: Simplify code using guard()s
Message-Id: <20250605100458.dc8c85fec33d8f8ca54dbc44@xxxxxxxxxx>
In-Reply-To: <20250604151625.250d13e1@xxxxxxxxxxxxxxxxxx>
References: <20250604151625.250d13e1@xxxxxxxxxxxxxxxxxx>
X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,NICE_REPLY_A,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, 4 Jun 2025 15:16:25 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> From: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> Use guard(mutex), scoped_guard(mutex) and guard(src) to simplify the code
> and remove a lot of the jumps to "out:" labels.
>

Looks good to me.

Reviewed-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>

Thanks!

> Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>
> ---
> fs/tracefs/event_inode.c | 96 +++++++++++++++-------------------------
> 1 file changed, 36 insertions(+), 60 deletions(-)
>
> diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c
> index 8705c77a9e75..117110fbabbf 100644
> --- a/fs/tracefs/event_inode.c
> +++ b/fs/tracefs/event_inode.c
> @@ -180,29 +180,25 @@ static int eventfs_set_attr(struct mnt_idmap *idmap, struct dentry *dentry,
> const char *name;
> int ret;
>
> - mutex_lock(&eventfs_mutex);
> + guard(mutex)(&eventfs_mutex);
> ei = dentry->d_fsdata;
> - if (ei->is_freed) {
> - /* Do not allow changes if the event is about to be removed. */
> - mutex_unlock(&eventfs_mutex);
> + /* Do not allow changes if the event is about to be removed. */
> + if (ei->is_freed)
> return -ENODEV;
> - }
>
> /* Preallocate the children mode array if necessary */
> if (!(dentry->d_inode->i_mode & S_IFDIR)) {
> if (!ei->entry_attrs) {
> ei->entry_attrs = kcalloc(ei->nr_entries, sizeof(*ei->entry_attrs),
> GFP_NOFS);
> - if (!ei->entry_attrs) {
> - ret = -ENOMEM;
> - goto out;
> - }
> + if (!ei->entry_attrs)
> + return -ENOMEM;
> }
> }
>
> ret = simple_setattr(idmap, dentry, iattr);
> if (ret < 0)
> - goto out;
> + return ret;
>
> /*
> * If this is a dir, then update the ei cache, only the file
> @@ -225,8 +221,6 @@ static int eventfs_set_attr(struct mnt_idmap *idmap, struct dentry *dentry,
> }
> }
> }
> - out:
> - mutex_unlock(&eventfs_mutex);
> return ret;
> }
>
> @@ -528,26 +522,24 @@ static struct dentry *eventfs_root_lookup(struct inode *dir,
> struct tracefs_inode *ti;
> struct eventfs_inode *ei;
> const char *name = dentry->d_name.name;
> - struct dentry *result = NULL;
>
> ti = get_tracefs(dir);
> if (WARN_ON_ONCE(!(ti->flags & TRACEFS_EVENT_INODE)))
> return ERR_PTR(-EIO);
>
> - mutex_lock(&eventfs_mutex);
> + guard(mutex)(&eventfs_mutex);
>
> ei = ti->private;
> if (!ei || ei->is_freed)
> - goto out;
> + return NULL;
>
> list_for_each_entry(ei_child, &ei->children, list) {
> if (strcmp(ei_child->name, name) != 0)
> continue;
> /* A child is freed and removed from the list at the same time */
> if (WARN_ON_ONCE(ei_child->is_freed))
> - goto out;
> - result = lookup_dir_entry(dentry, ei, ei_child);
> - goto out;
> + return NULL;
> + return lookup_dir_entry(dentry, ei, ei_child);
> }
>
> for (int i = 0; i < ei->nr_entries; i++) {
> @@ -561,14 +553,12 @@ static struct dentry *eventfs_root_lookup(struct inode *dir,
>
> data = ei->data;
> if (entry->callback(name, &mode, &data, &fops) <= 0)
> - goto out;
> + return NULL;
> +
> + return lookup_file_dentry(dentry, ei, i, mode, data, fops);
>
> - result = lookup_file_dentry(dentry, ei, i, mode, data, fops);
> - goto out;
> }
> - out:
> - mutex_unlock(&eventfs_mutex);
> - return result;
> + return NULL;
> }
>
> /*
> @@ -584,7 +574,6 @@ static int eventfs_iterate(struct file *file, struct dir_context *ctx)
> struct eventfs_inode *ei;
> const char *name;
> umode_t mode;
> - int idx;
> int ret = -EINVAL;
> int ino;
> int i, r, c;
> @@ -598,16 +587,13 @@ static int eventfs_iterate(struct file *file, struct dir_context *ctx)
>
> c = ctx->pos - 2;
>
> - idx = srcu_read_lock(&eventfs_srcu);
> + guard(srcu)(&eventfs_srcu);
>
> - mutex_lock(&eventfs_mutex);
> - ei = READ_ONCE(ti->private);
> - if (ei && ei->is_freed)
> - ei = NULL;
> - mutex_unlock(&eventfs_mutex);
> -
> - if (!ei)
> - goto out;
> + scoped_guard(mutex, &eventfs_mutex) {
> + ei = READ_ONCE(ti->private);
> + if (!ei || ei->is_freed)
> + return -EINVAL;
> + }
>
> /*
> * Need to create the dentries and inodes to have a consistent
> @@ -622,21 +608,19 @@ static int eventfs_iterate(struct file *file, struct dir_context *ctx)
> entry = &ei->entries[i];
> name = entry->name;
>
> - mutex_lock(&eventfs_mutex);
> /* If ei->is_freed then just bail here, nothing more to do */
> - if (ei->is_freed) {
> - mutex_unlock(&eventfs_mutex);
> - goto out;
> + scoped_guard(mutex, &eventfs_mutex) {
> + if (ei->is_freed)
> + return -EINVAL;
> + r = entry->callback(name, &mode, &cdata, &fops);
> }
> - r = entry->callback(name, &mode, &cdata, &fops);
> - mutex_unlock(&eventfs_mutex);
> if (r <= 0)
> continue;
>
> ino = EVENTFS_FILE_INODE_INO;
>
> if (!dir_emit(ctx, name, strlen(name), ino, DT_REG))
> - goto out;
> + return -EINVAL;
> }
>
> /* Subtract the skipped entries above */
> @@ -659,19 +643,13 @@ static int eventfs_iterate(struct file *file, struct dir_context *ctx)
>
> ino = eventfs_dir_ino(ei_child);
>
> - if (!dir_emit(ctx, name, strlen(name), ino, DT_DIR))
> - goto out_dec;
> + if (!dir_emit(ctx, name, strlen(name), ino, DT_DIR)) {
> + /* Incremented ctx->pos without adding something, reset it */
> + ctx->pos--;
> + return -EINVAL;
> + }
> }
> - ret = 1;
> - out:
> - srcu_read_unlock(&eventfs_srcu, idx);
> -
> - return ret;
> -
> - out_dec:
> - /* Incremented ctx->pos without adding something, reset it */
> - ctx->pos--;
> - goto out;
> + return 1;
> }
>
> /**
> @@ -728,11 +706,10 @@ struct eventfs_inode *eventfs_create_dir(const char *name, struct eventfs_inode
> INIT_LIST_HEAD(&ei->children);
> INIT_LIST_HEAD(&ei->list);
>
> - mutex_lock(&eventfs_mutex);
> - if (!parent->is_freed)
> - list_add_tail(&ei->list, &parent->children);
> - mutex_unlock(&eventfs_mutex);
> -
> + scoped_guard(mutex, &eventfs_mutex) {
> + if (!parent->is_freed)
> + list_add_tail(&ei->list, &parent->children);
> + }
> /* Was the parent freed? */
> if (list_empty(&ei->list)) {
> cleanup_ei(ei);
> @@ -877,9 +854,8 @@ void eventfs_remove_dir(struct eventfs_inode *ei)
> if (!ei)
> return;
>
> - mutex_lock(&eventfs_mutex);
> + guard(mutex)(&eventfs_mutex);
> eventfs_remove_rec(ei, 0);
> - mutex_unlock(&eventfs_mutex);
> }
>
> /**
> --
> 2.47.2
>


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>


Return-Path: <linux-kernel+bounces-673933-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CB73441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:07:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 77AE9169E6E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:07:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 99DEB3D994;
Thu, 5 Jun 2025 01:07:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="t2IidH41"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D6A3C18C00;
Thu, 5 Jun 2025 01:07:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749085665; cv=none; b=nTH+qajdniDoO3uT5yB31gBtZUm3cxfYwuq5ugZryp8L2AsSJflEV4oedHBT8nMTm3rqJySu0H0nRNuDp8NsGxVofJya+W8TLlnD1fF0HC0fTVnkfzuCdzkyUhOovBvyMQzfppLl5j2fGF/9xYrNCs4vDqi/kLb/A5YB1fmc4Os=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749085665; c=relaxed/simple;
bh=+aLpCNC8OzEHRmMRK/QFfVqV5g0o8xykjr6Q8++9rQk=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=TdAx1mKBwTSDfkg0YxnM/EGU9XZMjgh3uyn8mTlimQ9tEWXWZGnvWT9aewZAQwdespUnVQu8ywoBqxR8sEvDyWa+ULqY1BZnMhN8gxo3e6dQwYiFWfKwnpSomB3vyUo/HWXHGF9cuhqyef7OQxQ+EsZb/a+wt2OxOQ9AUo0DNKI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=t2IidH41; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D9B2CC4CEE4;
Thu, 5 Jun 2025 01:07:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749085662;
bh=+aLpCNC8OzEHRmMRK/QFfVqV5g0o8xykjr6Q8++9rQk=;
h=From:To:Cc:Subject:Date:From;
b=t2IidH412MLiXpk9UtsT7bpSel0KM7VtkNCyhlNNKm1mRAFM9RI/5beDesqRExMIP
04M/3zlAjX5s9/k6qC9+zC8BUFIaSban2+JV84UyIrg3hw4z695JLAk2hrVvMydt79
f3OEx5LZ/pt2kd0IfYtHmA7R3mGG4diwciMqWBm8eMD1gySPvZeOQTdZD25zym8tN9
4hOb2Rz4RQqf9U5OiWSNMaryjGqrzkaTx1FL+M+qnhJQR8d5J9Cg5tAEYuHui+lI/i
WmmVK/Ef48KwqurGyeuC0QMCR1oFvH2ve/tjdVa3zd6mTusxD+2/oqhLL56aIfVpBD
pzid/Xoppprnw==
From: "Masami Hiramatsu (Google)" <mhiramat@xxxxxxxxxx>
To: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx>,
Ulf Hansson <ulf.hansson@xxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
Cc: mhiramat@xxxxxxxxxx,
Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>,
linux-mmc@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx
Subject: [PATCH] mtk-sd: Fix a pagefault in dma_unmap_sg() for not prepared data
Date: Thu, 5 Jun 2025 10:07:38 +0900
Message-ID: <174908565814.4056588.769599127120955383.stgit@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1266.g31b7d2e469-goog
User-Agent: StGit/0.19
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>

mtk-msdc driver causes a kernel crash after swiotlb buffer is full.

---
mtk-msdc 11240000.mmc: swiotlb buffer is full (sz: 16384 bytes), total 32768 (slots), used 32732 (slots)
mtk-msdc 11240000.mmc: msdc_track_cmd_data: cmd=18 arg=0397A6F8; host->error=0x00000004
Unable to handle kernel paging request at virtual address ffffffffc0001fc0
---

When swiotlb buffer is full, the dma_map_sg() returns 0 to
msdc_prepare_data(), but it does not check it and sets the
MSDC_PREPARE_FLAG.

swiotlb_tbl_map_single() /* prints "swiotlb buffer is full" */
<-swiotlb_map()
<-dma_direct_map_page()
<-dma_direct_map_sg()
<-__dma_map_sg_attrs()
<-dma_map_sg_attrs()
<-dma_map_sg() /* returns 0 (pages mapped) */
<-msdc_prepare_data()

Then, the msdc_unprepare_data() checks MSDC_PREPARE_FLAG and calls
dma_unmap_sg() with unmapped pages. It causes a page fault.

To fix this problem, Do not set MSDC_PREPARE_FLAG if dma_map_sg()
fails because this is not prepared.

Fixes: 208489032bdd ("mmc: mediatek: Add Mediatek MMC driver")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
---
drivers/mmc/host/mtk-sd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
index 345ea91629e0..3594010bc229 100644
--- a/drivers/mmc/host/mtk-sd.c
+++ b/drivers/mmc/host/mtk-sd.c
@@ -827,9 +827,10 @@ static inline void msdc_dma_setup(struct msdc_host *host, struct msdc_dma *dma,
static void msdc_prepare_data(struct msdc_host *host, struct mmc_data *data)
{
if (!(data->host_cookie & MSDC_PREPARE_FLAG)) {
- data->host_cookie |= MSDC_PREPARE_FLAG;
data->sg_count = dma_map_sg(host->dev, data->sg, data->sg_len,
mmc_get_dma_dir(data));
+ if (data->sg_count)
+ data->host_cookie |= MSDC_PREPARE_FLAG;
}
}




Return-Path: <linux-kernel+bounces-673934-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 909EC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:08:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id B44327A5B3A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:06:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AA9007DA6A;
Thu, 5 Jun 2025 01:07:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="nxv1LLm0"
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2062.outbound.protection.outlook.com [40.107.244.62])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8DBB12F2A
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:07:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.62
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749085666; cv=fail; b=gN3fCMEpExmFZEn6jX3+fFCKShsLR1s+WcM0qHO6W4AwXSAz9hs4tOWBS1M1KvPonJLq+yDY85ki0rRUHE6rCq834gnfNSn+FrbFb5QNDLlt6cXwo2yX9rgXTqi9LCVUXMlLOhabdljIDZv/sBFIxZzQn44bEl2dgM41n9gIIVI=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749085666; c=relaxed/simple;
bh=sH/9lXdfmLn8rvCt1H/D2imzL3wRzzzjIqP6sWzi6+s=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=buqXKPUs3P+g6x4wZhOc68xzG1Du/72m7kMuUhDKPpLCaDVC3EKF9KN51BpTY97TWJJQAi6iTDLs/e1ZBvOvPLR5xlau04EJtQdq1UaI2ptsbs9b883YsJbLv9AwqGIze34UIydraooC+xDOS40Jjp37wFQZ0zNUk30eozjlzZU=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=nxv1LLm0; arc=fail smtp.client-ip=40.107.244.62
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=uazg2QJvLwAqC5RnSeH15eDfTgQ8eguro6FxG8tuiWWE1FdHRz/LZn1uKajEvixzfZT4NRm/Pck2WDVKY47Yz0ILEoXu5G9t0U+YT45pNKW3hlC+ZceAcLwZ7wFa4bQZ7g5baVACOGS4RWi8S7/onrdX9ielcrm8c/q5X8GLssdm5AAh0YrCbFfFawgn1tt3lN2o7co+LJN2DV8lwwjSDa0FwEwt9S06yMZyPV3GODITwhIvhHIFSsonkZpaMCxOdBQvTuSKjoNMxlEdLmh73aXgCmYGwLL5X7CJ5JaQHbHLsxL+iwPJKx+Bn2rZWCYeyHUn3fSBT2fphcd8AH6Nzg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=yRtumIrAUon4gTqGDN09bfxNIXJP09VYk1yNAXv6dn4=;
b=alwysqZbYgklpXsjLmnNAmvJ5xxijAsVp8n4tZRZA15XDCYriDESFVEA4LRy+yJ3hRw3jRvbKWOY+jfycy4EnxBoo6jKqjUTpIYpcIQHIt4JRBRJneBpXX/I2TB/8quObl575rMs3DLONaKiMBjIKIumGv2v8NOT4EknZs9e/umrw7yvryrP4PcDXzftcKvAnUchJi2x+8al0xeCJKSrlf7B8fv7LtwwPZ+3TPYCZMW+/jERRJqZKtYLMnL46gQB828Wk6GO02H7Erm7NMlKWbFc2UK7qqQbAQGmYaHNXBrbOJyGyA+Q3lkOPQEmLnb8WXST0r5U0zU6hyCduLEB0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=yRtumIrAUon4gTqGDN09bfxNIXJP09VYk1yNAXv6dn4=;
b=nxv1LLm0Lk9/eG8pGqJ39LSqmrAlugydGpYAemlWUB/SynYeja6sEGY+LTssuWIoXCSglAnwK9xeT2A0ZUEAL9LVRfv/Jv7+bEmQyOky1hREnH9NIX5OQmO6fACB/t9CH2E8aT/poiVS5LOfaxXoYLAyVFpJeKQwjj7/XWCV9E4cXrPywU83BVvN44x4DFmM/GQmhdVgbpjzfRhnGLNZV58ToIBckM6jYfSFqAdsSPhsueuusMprP40aSVs9feVRmIKK4OvaSUfr8J2kpTDBM0y0W/OR2/D76rQa3oalOk1lklEvZSbAnoG+RCjrTh+wyNjB1ZPEL3Pr/31xzsMT6A==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nvidia.com;
Received: from LV2PR12MB5968.namprd12.prod.outlook.com (2603:10b6:408:14f::7)
by SJ2PR12MB8691.namprd12.prod.outlook.com (2603:10b6:a03:541::10) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 01:07:40 +0000
Received: from LV2PR12MB5968.namprd12.prod.outlook.com
([fe80::e6dd:1206:6677:f9c4]) by LV2PR12MB5968.namprd12.prod.outlook.com
([fe80::e6dd:1206:6677:f9c4%4]) with mapi id 15.20.8769.037; Thu, 5 Jun 2025
01:07:39 +0000
Message-ID: <d08f2cb4-f76b-4ffb-b6fa-2a5a419fb86b@xxxxxxxxxx>
Date: Wed, 4 Jun 2025 18:07:37 -0700
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] mm/gup: remove (VM_)BUG_ONs
To: David Hildenbrand <david@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
"Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>, Vlastimil Babka
<vbabka@xxxxxxx>, Mike Rapoport <rppt@xxxxxxxxxx>,
Suren Baghdasaryan <surenb@xxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>,
Jason Gunthorpe <jgg@xxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>
References: <20250604140544.688711-1-david@xxxxxxxxxx>
Content-Language: en-US
From: John Hubbard <jhubbard@xxxxxxxxxx>
In-Reply-To: <20250604140544.688711-1-david@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SJ0PR03CA0275.namprd03.prod.outlook.com
(2603:10b6:a03:39e::10) To LV2PR12MB5968.namprd12.prod.outlook.com
(2603:10b6:408:14f::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: LV2PR12MB5968:EE_|SJ2PR12MB8691:EE_
X-MS-Office365-Filtering-Correlation-Id: ba561e3e-6eab-40f1-0245-08dda3cd5dfa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|7416014|376014|366016|7053199007;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?ODY3N2FvZkdSTWNyUG5mMGxHd2hRYVBsUmE2QkprTFg4b2kxckMvNGVRS296?=
=?utf-8?B?ZEpCTG5EdEZVN1M5bGMvcGJoNnVLMEoxYVhydjZjeldXYllma0F4UUsvM0lj?=
=?utf-8?B?SndNQy9rcXdEbmJORy9NRWtHaWNuVU5ZWllMekdvTUV4MVFuRldKUEFDTlBR?=
=?utf-8?B?SlhFdXlyWXY5T1VTakswbTNTN283b29CdlRiOGI1TEdHUWZ6enpoKzdVdFlL?=
=?utf-8?B?OThUMzNuNm03ZGJXR2k1MS9lZE9qaHJ5R1hrM1d5VnI1aVAzcWVNc0ZJWGFv?=
=?utf-8?B?Nm9BMm56eFB6YndXTEE4ZDcvM0JMcTdLVjhPVXlsMmVkZ1A5TStnQVZudWxl?=
=?utf-8?B?NW9ZTlFtWXlFa0ZKYkxiSU9tTitiVitkT0c0ZU5vbFFURm1UL1B3bytmUHo4?=
=?utf-8?B?UVFZNy8xUXBOclFtQm40dmF6bENSeFM0V0ZLVEltRy95VTdsNFEzeXJXY09Q?=
=?utf-8?B?VTM5VytERzYxazJkMkRGQkZrSmxIYW5TaTRKK1pEU3N1bDd5TE00SjhRTEwy?=
=?utf-8?B?Ni81QVYwclBrVzZOb0pOY3ZtS29Ib2I3bEltWmVDL21BUHV5NTlnUU0rZjlB?=
=?utf-8?B?TC9nU001WVV5am9heWdLU2xaZU41S0hYS2dxQktXQUtHd2hyajlDMk5JUVc0?=
=?utf-8?B?VUNFTEhQeGRWcUpPZko5cllFRURyZTNHeEV1RUlsVVBycnZWT2JJSFNUTW9G?=
=?utf-8?B?dVJJSExoUWQ2WmlReTkrQ2FSVk9TWmVIakR4d2ZWU29rN1RvdXVqaGNVbkpy?=
=?utf-8?B?b2srbXlKcC9IU2VkWHI5ZFloSi8xelI4NEZ3bkpOVjlMYlprQ3ZFYkFjMlBn?=
=?utf-8?B?bTJMb29EUVZ3QXd6eWJRK2RrMkRRUjVmeUhYNVpaMWVsL0JPOWg4ZGlubUc5?=
=?utf-8?B?Yk5tb1Q1ZjZZQXlvb1RoUmdYTGZzN2VMdHlOMHFRdWcvMkszZDlrSDdEckUz?=
=?utf-8?B?djJuenlrNU95d21sZ2x1SDZuNkJzM3ZRWHNaOVNXQnp4VXpIMEN3NmVpSWVE?=
=?utf-8?B?Y3lBaFNsNC8rWVVkTkpWV3dtbHlNN3FsdkdzRHNzSkx3TWVFeGtqOGNweCt6?=
=?utf-8?B?ZFZUVGRCWkhSalFYZi9sSmRsdFRGWEx3SFVDb09HSFBXMEJKclBBYXJNV1Zs?=
=?utf-8?B?QnRzR085NU9YMlBLc1k3WGFSYW5lUng5Z1RlTkU4a2l5ZE9nZFc0dG5qUThm?=
=?utf-8?B?VTZsZ3lUcUZhM3ZpZzVNb3NBYXhsVFRkT1h6ZzhvS1NjclZRYXNyYzA5SktU?=
=?utf-8?B?ZU4wMG92azZLQkt6N251c0l3eUhXZTZkUnZvSDlPbUxrSkxwR0F4NGJnSm50?=
=?utf-8?B?TWFFM2xxQTY0UWRYVXFmV2VCMHQyLzViS0FXeThFelZxcitaOHJzWVRGOHVy?=
=?utf-8?B?dkhPdDJYZ2hGN0x3NXVzNHhtMVJLd1NPK2NiSFl1M3liREFrdXZkYXBMTmN3?=
=?utf-8?B?TTgwZ2Y5eXRJb2pkTjNnaWlFL1VNNE9ZZDM3NFkwcTd3bUhRbW84MTZ4azg2?=
=?utf-8?B?ZFhrbDRiZEVvWTZOYkhnQkU2a2R3TUFGUUtmcTRET0xmWTQ1UHlnek1DaGFQ?=
=?utf-8?B?NlVBZ21aSENCbUNoKzZQeS8xK3Q5aHljdElmQzNtVFkyRWxzM09oaS81emlM?=
=?utf-8?B?TDh3T2JhaVVEb3hRM3pDKzd2ZCtTR1lockJKZ0JhOFVKUHZOU2xlQ0FjcEVJ?=
=?utf-8?B?TzEvajlyaXRObVJjMkFrSzh6ZnFuNldBcFByMytSYjdIRVUvMXZMMzhGdmVS?=
=?utf-8?B?UFEvMnRhV05SejhOb20yQ0ZHemdJbWdGUkZ5YU5qV3pldWZoeHNvSXF5Z2NX?=
=?utf-8?B?MCtzV2R5YWNvc0NQTG1zQnBZSmUvVTd4YlQrdGd5Tk8xUXFQbjBtVE4xQkFG?=
=?utf-8?B?UUtqTW5ONk5jTFR0clMyTFdPUGNwK3RVMVM5TWE0bERhcHJJYnZHMnppZ3VM?=
=?utf-8?Q?T1VzdKnVr2M=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5968.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?VUJBZzRjSW82YXVBVXFVY1ZzY0U3V2dNS0RBOVZGZGJKb1BZVlVjVkpqOG5M?=
=?utf-8?B?aTJhQnk3ZkVxM0IrMjJpQUt0aDkwS1BwUklwRkROc1VFNXRUcHhKZFUrNkpt?=
=?utf-8?B?QjV3UjMvSVVOTXVVeVdxbmtSemlkcW4wbXJZeDhaRkR6K0VObjVLcGx5eVBF?=
=?utf-8?B?UEFudnNxNVEwVVUxUjF4ditGTTlrcEl4TUVIZHZwQmdnbkg0b3ViNzNOU0w1?=
=?utf-8?B?Rkg5ZEhEOUJOUjNONmE4eDkvQThCNE9TN3hkTEpmNngyYjdHNVZVWjJneUhK?=
=?utf-8?B?TDYxYUVia29VeTZPT1E1MHJWQ3hTTFZ1VzhQOG56cUFDeW55TkErSDA3S1ZC?=
=?utf-8?B?T2lEVjhpa0tDZE42WUc2TTVGY3pwMFN2QVZvTDMxUGVENDArazZxZXFVVkNW?=
=?utf-8?B?UmRvWmNmd3B0MHAyempxWEw1SHZLRlpjeWRyVWlCME02aE1naWJVN3Q5VzBw?=
=?utf-8?B?QWdxdnVDeFRDVHZqSk5SNWo5c3lxY1Vzc2pOdXRiM2xrV2w1OWNwZmhQUDBk?=
=?utf-8?B?NDA2dHIreEM4Y3o4U0JyendKOENwZURXemM3MWRVTlhndkptTHU1cTl1Sy9n?=
=?utf-8?B?UVFHTFpCZFR5MHVoK29JQ3NmNVNqOXpFUE93K3FPTi93RHNoR3JqYnRLdnly?=
=?utf-8?B?VmFybnZ0U0NpRWF1dHFvQU94amVnOVBsRkRENlROeXNZSGRjVFU4VjBpZTJk?=
=?utf-8?B?NzZBYU0vRGx0dkkzQm8rckhZRDI3aVlSeG9YeEM2OE1oMVpwUUs4TVNXR054?=
=?utf-8?B?YnQ4YkRMUStjcS95byszMDZlaFBpTjBGYnVxMlpFalVkdVcvelc2c0Q1eUJC?=
=?utf-8?B?WmdwTzh4dGY1Ui9hVHR5Z1dza2ZtSU51OVpJak9PNmtQVGZTYjZwSjNic3lz?=
=?utf-8?B?VWRNcEpRY1hpVDE2TkthWWRnMEhXcnpBb2FqN1JCeWJqbWlsaHBYYUdGQnU2?=
=?utf-8?B?Mld5UXdKbm9vS2VBLytmOUNpaFFOdWFMbm5WMFYwK0pXVGd4dHpDb1d0elRj?=
=?utf-8?B?MXdHL0lwbGtRd01Ia011MElWTGlla2drcnR4WElqck9ZbEFLTnhsc21pWWpD?=
=?utf-8?B?MlR1ajRWeGVHTTBHWFNkUDZrcEpZcENFUGY2d0pKd3UzUzhoSHZNRXIybUpw?=
=?utf-8?B?VFBJUUUxd0xjRVpSMnJMclVWM3duUk1vZWFOcHhXQ2RieUZYdXV0aEZqc1BS?=
=?utf-8?B?N2MyY2h3WGUzTFg2cFhDYlptMmNRYU82TklBUUllVnpQcHhYSTZtd2RKckQ3?=
=?utf-8?B?bUVVdVJwdkdiRVpBVEYvMzA1Mm5jS2EzWU4rUlRFZWhHNnZnQjcyRHdBTTBN?=
=?utf-8?B?eWVESHlIQUFHQ2k5TkRrRUMrZGp6VXQ4Z0RkaC9pbHQ3ME9NS2pLN3dLbkIv?=
=?utf-8?B?Z3UweGlidnErNnpmeHdLbEQrMU1jcUFicHI4V0ZZQ09COVRCWVdDdVZCR3p6?=
=?utf-8?B?Ryt5UnM3N2h2bUJnaXR1a2Q4dWkxTitSSm1veU14RllCcTZDOWhJc05QVDJi?=
=?utf-8?B?R3AzOE1NUHA4bkErdWdLbTF2VUxrR3dtSmV6REl0dFhNb0VpWCtiU1MydElB?=
=?utf-8?B?LzRKempuODI0V0N2ZUF6amZRRlNublBIcWRZS0pXWUppeWVuSUxWbk9FZDgw?=
=?utf-8?B?N1RsUHpDUjFEMllsRVlSYkxmUTF4YnpvOFlHQmYxMEhJaUNaK2pOdllxaUQz?=
=?utf-8?B?dkkvWkxkb2I1Y1NNY2hINDVocmNjQ2ptdlNBZ1VmNUZmeFMvUHI3dHpsUlJu?=
=?utf-8?B?SVBsTkdHRGhiZ1dqWkN5dnZ4U2VvUXVzUVl1Yzk5WFE5ZkZ2T1FnemsybTZH?=
=?utf-8?B?YmxGTWRsckZzM2lBV050cXMvM2R5eVJjTFdaYWVqUjdKamhBMmVFMy9wTzl2?=
=?utf-8?B?dEVwbldHVlJZRS95L1RnZjJiTE03ZXVoMmM3c3F2U0gveHg5MXZqLzBjdi90?=
=?utf-8?B?TFVLWlFuV0F5VHRVeFJudzdEZGd0RG9aSC9zM3ZtbEQwclJpaFI5a2hjNXNK?=
=?utf-8?B?V2s2NnRVdzFuV0hmWGlnazBpZytlWXo2enJaOHhGSDRaZFFFNHQxWi94NFRx?=
=?utf-8?B?ZWVyQ09PNzMvYnV1bFVodlZjcm1EMktUWGtQSnpDVGQzN3I2NnVZQStwRjNR?=
=?utf-8?Q?/SRx+HR0yhGmbwYLiwYZFPNbF?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba561e3e-6eab-40f1-0245-08dda3cd5dfa
X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5968.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 01:07:39.8802
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AgxonBD+k0envyyCioQpsVRwXyQblCKmA+LQr0MNLmV1FR+ZfQWNyzVCpWV11N34PcvHH+hKYMkplp95A92NHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8691
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/4/25 7:05 AM, David Hildenbrand wrote:
> Especially once we hit one of the assertions in
> sanity_check_pinned_pages(), observing follow-up assertions failing
> in other code can give good clues about what went wrong, so use
> VM_WARN_ON_ONCE instead.
>
> While at it, let's just convert all VM_BUG_ON to VM_WARN_ON_ONCE as
> well. Add one comment for the pfn_valid() check.

It would be a nice touch to add Linus' notes here, with the BUG() history
and all. It answers a FAQ about BUG vs. WARN* that is really nice
to have in the commit log.

This looks great.

Looking ahead, should we also *delete* VM_BUG_ON*() items? (Not as part
of this patch, of course.)

In any case,

Reviewed-by: John Hubbard <jhubbard@xxxxxxxxxx>

thanks,
--
John Hubbard

>
> We have to introduce VM_WARN_ON_ONCE_VMA() to make that fly.
>
> Drop the BUG_ON after mmap_read_lock_killable(), if that ever returns
> something > 0 we're in bigger trouble. Convert the other BUG_ON's into
> VM_WARN_ON_ONCE as well, they are in a similar domain "should never
> happen", but more reasonable to check for during early testing.
>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> Cc: "Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>
> Cc: Vlastimil Babka <vbabka@xxxxxxx>
> Cc: Mike Rapoport <rppt@xxxxxxxxxx>
> Cc: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> Cc: Michal Hocko <mhocko@xxxxxxxx>
> Cc: Jason Gunthorpe <jgg@xxxxxxxx>
> Cc: John Hubbard <jhubbard@xxxxxxxxxx>
> Cc: Peter Xu <peterx@xxxxxxxxxx>
> Signed-off-by: David Hildenbrand <david@xxxxxxxxxx>
> ---
>
> Wanted to do this for a long time, but my todo list keeps growing ...
>
> Based on mm/mm-unstable
>
> ---
> include/linux/mmdebug.h | 12 ++++++++++++
> mm/gup.c | 41 +++++++++++++++++++----------------------
> 2 files changed, 31 insertions(+), 22 deletions(-)
>
> diff --git a/include/linux/mmdebug.h b/include/linux/mmdebug.h
> index a0a3894900ed4..14a45979cccc9 100644
> --- a/include/linux/mmdebug.h
> +++ b/include/linux/mmdebug.h
> @@ -89,6 +89,17 @@ void vma_iter_dump_tree(const struct vma_iterator *vmi);
> } \
> unlikely(__ret_warn_once); \
> })
> +#define VM_WARN_ON_ONCE_VMA(cond, vma) ({ \
> + static bool __section(".data..once") __warned; \
> + int __ret_warn_once = !!(cond); \
> + \
> + if (unlikely(__ret_warn_once && !__warned)) { \
> + dump_vma(vma); \
> + __warned = true; \
> + WARN_ON(1); \
> + } \
> + unlikely(__ret_warn_once); \
> +})
> #define VM_WARN_ON_VMG(cond, vmg) ({ \
> int __ret_warn = !!(cond); \
> \
> @@ -115,6 +126,7 @@ void vma_iter_dump_tree(const struct vma_iterator *vmi);
> #define VM_WARN_ON_FOLIO(cond, folio) BUILD_BUG_ON_INVALID(cond)
> #define VM_WARN_ON_ONCE_FOLIO(cond, folio) BUILD_BUG_ON_INVALID(cond)
> #define VM_WARN_ON_ONCE_MM(cond, mm) BUILD_BUG_ON_INVALID(cond)
> +#define VM_WARN_ON_ONCE_VMA(cond, vma) BUILD_BUG_ON_INVALID(cond)
> #define VM_WARN_ON_VMG(cond, vmg) BUILD_BUG_ON_INVALID(cond)
> #define VM_WARN_ONCE(cond, format...) BUILD_BUG_ON_INVALID(cond)
> #define VM_WARN(cond, format...) BUILD_BUG_ON_INVALID(cond)
> diff --git a/mm/gup.c b/mm/gup.c
> index e065a49842a87..3c3931fcdd820 100644
> --- a/mm/gup.c
> +++ b/mm/gup.c
> @@ -64,11 +64,11 @@ static inline void sanity_check_pinned_pages(struct page **pages,
> !folio_test_anon(folio))
> continue;
> if (!folio_test_large(folio) || folio_test_hugetlb(folio))
> - VM_BUG_ON_PAGE(!PageAnonExclusive(&folio->page), page);
> + VM_WARN_ON_ONCE_PAGE(!PageAnonExclusive(&folio->page), page);
> else
> /* Either a PTE-mapped or a PMD-mapped THP. */
> - VM_BUG_ON_PAGE(!PageAnonExclusive(&folio->page) &&
> - !PageAnonExclusive(page), page);
> + VM_WARN_ON_ONCE_PAGE(!PageAnonExclusive(&folio->page) &&
> + !PageAnonExclusive(page), page);
> }
> }
>
> @@ -760,8 +760,8 @@ static struct page *follow_huge_pmd(struct vm_area_struct *vma,
> if (!pmd_write(pmdval) && gup_must_unshare(vma, flags, page))
> return ERR_PTR(-EMLINK);
>
> - VM_BUG_ON_PAGE((flags & FOLL_PIN) && PageAnon(page) &&
> - !PageAnonExclusive(page), page);
> + VM_WARN_ON_ONCE_PAGE((flags & FOLL_PIN) && PageAnon(page) &&
> + !PageAnonExclusive(page), page);
>
> ret = try_grab_folio(page_folio(page), 1, flags);
> if (ret)
> @@ -899,8 +899,8 @@ static struct page *follow_page_pte(struct vm_area_struct *vma,
> goto out;
> }
>
> - VM_BUG_ON_PAGE((flags & FOLL_PIN) && PageAnon(page) &&
> - !PageAnonExclusive(page), page);
> + VM_WARN_ON_ONCE_PAGE((flags & FOLL_PIN) && PageAnon(page) &&
> + !PageAnonExclusive(page), page);
>
> /* try_grab_folio() does nothing unless FOLL_GET or FOLL_PIN is set. */
> ret = try_grab_folio(folio, 1, flags);
> @@ -1180,7 +1180,7 @@ static int faultin_page(struct vm_area_struct *vma,
> if (unshare) {
> fault_flags |= FAULT_FLAG_UNSHARE;
> /* FAULT_FLAG_WRITE and FAULT_FLAG_UNSHARE are incompatible */
> - VM_BUG_ON(fault_flags & FAULT_FLAG_WRITE);
> + VM_WARN_ON_ONCE(fault_flags & FAULT_FLAG_WRITE);
> }
>
> ret = handle_mm_fault(vma, address, fault_flags, NULL);
> @@ -1760,10 +1760,7 @@ static __always_inline long __get_user_pages_locked(struct mm_struct *mm,
> }
>
> /* VM_FAULT_RETRY or VM_FAULT_COMPLETED cannot return errors */
> - if (!*locked) {
> - BUG_ON(ret < 0);
> - BUG_ON(ret >= nr_pages);
> - }
> + VM_WARN_ON_ONCE(!*locked && (ret < 0 || ret >= nr_pages));
>
> if (ret > 0) {
> nr_pages -= ret;
> @@ -1808,7 +1805,6 @@ static __always_inline long __get_user_pages_locked(struct mm_struct *mm,
>
> ret = mmap_read_lock_killable(mm);
> if (ret) {
> - BUG_ON(ret > 0);
> if (!pages_done)
> pages_done = ret;
> break;
> @@ -1819,11 +1815,11 @@ static __always_inline long __get_user_pages_locked(struct mm_struct *mm,
> pages, locked);
> if (!*locked) {
> /* Continue to retry until we succeeded */
> - BUG_ON(ret != 0);
> + VM_WARN_ON_ONCE(ret != 0);
> goto retry;
> }
> if (ret != 1) {
> - BUG_ON(ret > 1);
> + VM_WARN_ON_ONCE(ret > 1);
> if (!pages_done)
> pages_done = ret;
> break;
> @@ -1885,10 +1881,10 @@ long populate_vma_page_range(struct vm_area_struct *vma,
> int gup_flags;
> long ret;
>
> - VM_BUG_ON(!PAGE_ALIGNED(start));
> - VM_BUG_ON(!PAGE_ALIGNED(end));
> - VM_BUG_ON_VMA(start < vma->vm_start, vma);
> - VM_BUG_ON_VMA(end > vma->vm_end, vma);
> + VM_WARN_ON_ONCE(!PAGE_ALIGNED(start));
> + VM_WARN_ON_ONCE(!PAGE_ALIGNED(end));
> + VM_WARN_ON_ONCE_VMA(start < vma->vm_start, vma);
> + VM_WARN_ON_ONCE_VMA(end > vma->vm_end, vma);
> mmap_assert_locked(mm);
>
> /*
> @@ -1957,8 +1953,8 @@ long faultin_page_range(struct mm_struct *mm, unsigned long start,
> int gup_flags;
> long ret;
>
> - VM_BUG_ON(!PAGE_ALIGNED(start));
> - VM_BUG_ON(!PAGE_ALIGNED(end));
> + VM_WARN_ON_ONCE(!PAGE_ALIGNED(start));
> + VM_WARN_ON_ONCE(!PAGE_ALIGNED(end));
> mmap_assert_locked(mm);
>
> /*
> @@ -2908,7 +2904,8 @@ static int gup_fast_pte_range(pmd_t pmd, pmd_t *pmdp, unsigned long addr,
> } else if (pte_special(pte))
> goto pte_unmap;
>
> - VM_BUG_ON(!pfn_valid(pte_pfn(pte)));
> + /* If it's not marked as special it must have a valid memmap. */
> + VM_WARN_ON_ONCE(!pfn_valid(pte_pfn(pte)));
> page = pte_page(pte);
>
> folio = try_grab_folio_fast(page, 1, flags);
>
> base-commit: 2d0c297637e7d59771c1533847c666cdddc19884




Return-Path: <linux-kernel+bounces-673935-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D6B1141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:10:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id BB2AB16AEDE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:10:25 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 40ED343AB7;
Thu, 5 Jun 2025 01:10:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=treblig.org header.i=@treblig.org header.b="AFT2sil/"
Received: from mx.treblig.org (mx.treblig.org [46.235.229.95])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0B4072F2A;
Thu, 5 Jun 2025 01:10:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=46.235.229.95
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749085817; cv=none; b=sv9T06SabbGH3LSixRurk1moCBauHlVZh9cKMUxSoNRIsMZcag7RJ2yX/513/eUWaEzfK21Ul2FikEiPGHPKfP0B6RUE1kKZdINE2pMb2JoD9GMXKDmPZuGENp/OQa4qH2PfSJLE3EvfD5WasAoT44TmE1LCMQioNo8yLGLALy8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749085817; c=relaxed/simple;
bh=DWevXM9YzLaAYkxh7jSZdK26cqIUSzxp1LYnuQCX7U0=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=q7GU2gY9DyKiByV3v4/sbL7dNIjnlFQGDxTqg4TkSheZG2k37GMzL+70tnZOwCTXOVqYzgDDL/02jYTQ9HMfrL94ToG8ivg+m3/Xhm0eGVfoiSMEkx37Wbz1O0xF0d7SDDyFhu776KyA/hOIhuiMhQOeqiatewU8PhXDdH03Duw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=treblig.org; spf=pass smtp.mailfrom=treblig.org; dkim=pass (2048-bit key) header.d=treblig.org header.i=@treblig.org header.b=AFT2sil/; arc=none smtp.client-ip=46.235.229.95
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=treblig.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=treblig.org
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org
; s=bytemarkmx; h=Content-Type:MIME-Version:Message-ID:Subject:From:Date:From
:Subject; bh=h1I5H+m7Li/Hz79oqg25+G4/LoJeOM6FZZuy5d74vNE=; b=AFT2sil/AohDpzM/
Y/ouSTaXx3p/6V4+/Mobvxft8ooro39sAq3GgtEadHZDrb4nzcSepYSlHQJRGXojt5wqlqQm6uyKp
yhAEdCEtS/xY7QkgYcm/bjkgVwemkdwqenVNUmtFGeJ4wiWaHfs4/xOZxr6HG3WFhLzycjPTGHJNB
3X1lISVKf+GHB5EvulEQIPwfLrYvb7RgG6gsK5pw09isIXpT4j8raTDGehmeI7PscP/z/4CAabone
Wgctjhib6fmWDYd84jFKVtfYWTrAsW+3CJ0DzWTwUTPAgIzbHlSp3oOAOwfw/s69lDE6fJJ6y94lr
Ui8L7IX4P+VDroipzw==;
Received: from dg by mx.treblig.org with local (Exim 4.96)
(envelope-from <dg@xxxxxxxxxxx>)
id 1uMz7I-007h7X-0m;
Thu, 05 Jun 2025 01:10:00 +0000
Date: Thu, 5 Jun 2025 01:10:00 +0000
From: "Dr. David Alan Gilbert" <linux@xxxxxxxxxxx>
To: Hans Verkuil <hans@xxxxxxxxxxxx>
Cc: mchehab@xxxxxxxxxx, linux-media@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] media: v4l2-tpg: Remove unused tpg_fillbuffer
Message-ID: <aEDuaFSzA37QtuOf@gallifrey>
References: <20250603225121.308402-1-linux@xxxxxxxxxxx>
<bb65cb39-eba4-4e0f-a83c-285ab6bae753@xxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
In-Reply-To: <bb65cb39-eba4-4e0f-a83c-285ab6bae753@xxxxxxxxxxxx>
X-Chocolate: 70 percent or better cocoa solids preferably
X-Operating-System: Linux/6.1.0-34-amd64 (x86_64)
X-Uptime: 01:04:31 up 38 days, 9:18, 1 user, load average: 0.00, 0.00, 0.00
User-Agent: Mutt/2.2.12 (2023-09-09)
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

* Hans Verkuil (hans@xxxxxxxxxxxx) wrote:
> On 04/06/2025 00:51, linux@xxxxxxxxxxx wrote:
> > From: "Dr. David Alan Gilbert" <linux@xxxxxxxxxxx>
> >
> > The last use of tpg_fillbuffer() was removed in 2015 by
> > commit ddcaee9dd4c0 ("[media] vivid: add support for single buffer planar
> > formats")
> >
> > Remove it.
>
> Ah, this can't be removed.
>
> This tpg code is actually also used in git://linuxtv.org/v4l-utils.git which
> copies the code from the kernel source. And there this function is in use.

Ah OK, fair enough.

> This function is really a helper function. I think the best approach is to move
> this out of v4l2-tpg-core.c and into v4l2-tpg.h as a static inline.
>
> That way it doesn't add to the kernel code size, but is still available when needed.

It feels a bit bug for a static inline to me; personally I wouldn't worry that much about
kernel size in that case - the tpg is in a separate module isn't it, which I guess
is rarely used in normal use?

> Perhaps add a comment in front of this function noting that it is used in v4l-utils.

Yeh, reasonable,

Thanks for the review,

Dave

> Regards,
>
> Hans
>
> >
> > Signed-off-by: Dr. David Alan Gilbert <linux@xxxxxxxxxxx>
> > ---
> > drivers/media/common/v4l2-tpg/v4l2-tpg-core.c | 17 -----------------
> > include/media/tpg/v4l2-tpg.h | 2 --
> > 2 files changed, 19 deletions(-)
> >
> > diff --git a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c b/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c
> > index 931e5dc453b9..d51d8ba99dcb 100644
> > --- a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c
> > +++ b/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c
> > @@ -2710,23 +2710,6 @@ void tpg_fill_plane_buffer(struct tpg_data *tpg, v4l2_std_id std,
> > }
> > EXPORT_SYMBOL_GPL(tpg_fill_plane_buffer);
> >
> > -void tpg_fillbuffer(struct tpg_data *tpg, v4l2_std_id std, unsigned p, u8 *vbuf)
> > -{
> > - unsigned offset = 0;
> > - unsigned i;
> > -
> > - if (tpg->buffers > 1) {
> > - tpg_fill_plane_buffer(tpg, std, p, vbuf);
> > - return;
> > - }
> > -
> > - for (i = 0; i < tpg_g_planes(tpg); i++) {
> > - tpg_fill_plane_buffer(tpg, std, i, vbuf + offset);
> > - offset += tpg_calc_plane_size(tpg, i);
> > - }
> > -}
> > -EXPORT_SYMBOL_GPL(tpg_fillbuffer);
> > -
> > MODULE_DESCRIPTION("V4L2 Test Pattern Generator");
> > MODULE_AUTHOR("Hans Verkuil");
> > MODULE_LICENSE("GPL");
> > diff --git a/include/media/tpg/v4l2-tpg.h b/include/media/tpg/v4l2-tpg.h
> > index a55088921d1d..3e3bd0889b6d 100644
> > --- a/include/media/tpg/v4l2-tpg.h
> > +++ b/include/media/tpg/v4l2-tpg.h
> > @@ -248,8 +248,6 @@ void tpg_calc_text_basep(struct tpg_data *tpg,
> > unsigned tpg_g_interleaved_plane(const struct tpg_data *tpg, unsigned buf_line);
> > void tpg_fill_plane_buffer(struct tpg_data *tpg, v4l2_std_id std,
> > unsigned p, u8 *vbuf);
> > -void tpg_fillbuffer(struct tpg_data *tpg, v4l2_std_id std,
> > - unsigned p, u8 *vbuf);
> > bool tpg_s_fourcc(struct tpg_data *tpg, u32 fourcc);
> > void tpg_s_crop_compose(struct tpg_data *tpg, const struct v4l2_rect *crop,
> > const struct v4l2_rect *compose);
>
>
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ dave @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/


Return-Path: <linux-kernel+bounces-673936-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B230341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:14:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id B66FB1893A94
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:14:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2379242A83;
Thu, 5 Jun 2025 01:14:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="Muli3IKF"
Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181])
(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 08D4E2F2A
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:14:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749086063; cv=none; b=Gx7Y+28eu4z9FnCpCLL78tkwqO8of94y1Y9uv936gizt8jaK2KsF8hsy778c1slCaHn5oPJlhHSr2d35nJvlo0bwsC/Uiye2b+sU/PzDu2w6KTZL13BpJ87Z0vQrj7Xmvu4bs/FoTLXDoMeN57gzZxpA5b1dUzJ8/rqe0LkYZtE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749086063; c=relaxed/simple;
bh=VpwSnO3TEovl9FwPBZch/PLoVkB6RcDLjgSlrPemoRI=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=UzrrGcOazoaC4K1gijMwTUTYDzwgeYVqJTNMDlbw3VxjkwlRk4z+v5P5YLYJ6EJaFCwVIjcbc6oPmSdIX524T3nu89eEX43GEwsElCz9Lf3l/b4hYtM7WD3QkTsf3Zbj0n1/FQpEOZLp/bddfuIFAA9DnADDwBAocaN14EGuvdE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=Muli3IKF; arc=none smtp.client-ip=209.85.214.181
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org
Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-22e09f57ed4so14734145ad.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 18:14:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=chromium.org; s=google; t=1749086061; x=1749690861; 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=xG0Wdkt+NUraD2HgOh+0AFsEQcpWyh1rmYJFEEo12N4=;
b=Muli3IKFnhD8hkdrwrBYqX0ZeJfis73NNHv/PJz4AdA4aKVGrIcMvFOLOi7SkwpA2F
upUgt5OOOTFJ9TlXddemnLZw7Qq73tI3JtqV3wuPEbOZ/B4doYR5ZdkHP/Tb0DImJO3S
9wqMhjF/7qqJpl8++utcwHPTm1KwqHEs/Iu68=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749086061; x=1749690861;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=xG0Wdkt+NUraD2HgOh+0AFsEQcpWyh1rmYJFEEo12N4=;
b=fYgLs4/wdE16Xu+XjWh64ufAiCOn80ZeZYcDWfs5Ya0Lw/jmPSKsO3QMssz/w2gNp6
iZYshfYXc2MNGzrws+5qhhy/t3zvZqqgPUVoeGpJ4bBpIhC+QBOVIRZ0DjaYVHsAV8ZZ
9RkXeUCCYVeCj9nS0dJKGh0JxASrcGnGcFxxsdl0vruyIt8XhJtI28g+OYkR/od400oq
gh3WJfCOYwhoh+IYK+HiiwmX9ayp5BZsGcEFqlBZSfIwwK+R/UdOVYIpo5oI/tm0A/7h
0Y5io27JKohrCXIjOJNpXrkYPsEWH0jNXxd21ciAwFoULrSzrm6yzsN0CIUsMsR0ILrA
cZ6w==
X-Forwarded-Encrypted: i=1; AJvYcCX4Cd9j2uQ1S68Ak7lam3ZgMYcfFNiaQW6kleaoGz0kh9ILuOlMrUMRWBKgDjJrIeaYY0fdc5SksWMvjes=@vger.kernel.org
X-Gm-Message-State: AOJu0Yzi1+UEjAm0gpRklaPsJdiwYtUtFVeYcPkNevHiiLgnEaEOdgmb
SSlAZKgp30kEEe/eQ7bX1P2RfQkvIqU35z8mfOtXvYZ2I6nWXDOtokplxq1PmJN2Iw==
X-Gm-Gg: ASbGncsYFWODJx0Pa8Z7bWGiTEH3v4rbcOkVvephCEtZ45alEoH14lqLYKZIskPjq0h
UL2CEppVUC9UhzSP8/CkbF2coDAoQnC6mwyw2Q85yXKj9+z6Zp8uTmkN+1yHDaXRlkooweN4rlt
+k9LgTU/t/W2jNUteg4nMcmjkDS6Fxn4OMZPKCxFH4GEzBDyWinObE+S40L4dJjHHNTJUnebvLf
zFgbXyRCMHWmHcwUemoAM+Pzu+KKTpjwnW1L8FKcHPb5tSRdS39VQDGGTWhz06xozvkHpWF7V19
48aXmitAHAwS93T026UP9FmTgXgUTaZaaFJA/bRaYHYl7gaONPS0ZAf4WBr0oqOX9Q==
X-Google-Smtp-Source: AGHT+IGslAg+kZSR5r1KLQpvpTAyqVFFwVIFqW/069qKCAdAOWTjgfmHSrr73Y4oBWMXmc3qhryGWw==
X-Received: by 2002:a17:902:8f92:b0:221:89e6:ccb6 with SMTP id d9443c01a7336-235f16b216dmr15063785ad.25.1749086061279;
Wed, 04 Jun 2025 18:14:21 -0700 (PDT)
Received: from google.com ([2401:fa00:8f:203:bc6e:7ca0:2017:eae9])
by smtp.gmail.com with ESMTPSA id d9443c01a7336-23506bd908dsm110307055ad.59.2025.06.04.18.14.18
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 18:14:20 -0700 (PDT)
Date: Thu, 5 Jun 2025 10:14:15 +0900
From: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>
To: "Masami Hiramatsu (Google)" <mhiramat@xxxxxxxxxx>
Cc: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx>,
Ulf Hansson <ulf.hansson@xxxxxxxxxx>, Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>, Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>,
linux-mmc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-mediatek@xxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH] mtk-sd: Fix a pagefault in dma_unmap_sg() for not
prepared data
Message-ID: <yf7ehbrvjj46xl7hkjukygnvy5z3ez43ewqch2mksx2lmkd5of@kthk42zpjabq>
References: <174908565814.4056588.769599127120955383.stgit@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <174908565814.4056588.769599127120955383.stgit@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On (25/06/05 10:07), Masami Hiramatsu (Google) wrote:
> From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
>
> mtk-msdc driver causes a kernel crash after swiotlb buffer is full.
>
> ---
> mtk-msdc 11240000.mmc: swiotlb buffer is full (sz: 16384 bytes), total 32768 (slots), used 32732 (slots)
> mtk-msdc 11240000.mmc: msdc_track_cmd_data: cmd=18 arg=0397A6F8; host->error=0x00000004
> Unable to handle kernel paging request at virtual address ffffffffc0001fc0
> ---
>
> When swiotlb buffer is full, the dma_map_sg() returns 0 to
> msdc_prepare_data(), but it does not check it and sets the
> MSDC_PREPARE_FLAG.
>
> swiotlb_tbl_map_single() /* prints "swiotlb buffer is full" */
> <-swiotlb_map()
> <-dma_direct_map_page()
> <-dma_direct_map_sg()
> <-__dma_map_sg_attrs()
> <-dma_map_sg_attrs()
> <-dma_map_sg() /* returns 0 (pages mapped) */
> <-msdc_prepare_data()
>
> Then, the msdc_unprepare_data() checks MSDC_PREPARE_FLAG and calls
> dma_unmap_sg() with unmapped pages. It causes a page fault.
>
> To fix this problem, Do not set MSDC_PREPARE_FLAG if dma_map_sg()
> fails because this is not prepared.
>
> Fixes: 208489032bdd ("mmc: mediatek: Add Mediatek MMC driver")
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>

Tested-by: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>


Return-Path: <linux-kernel+bounces-673937-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9F68C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:15:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id C4E5116BB69
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:15:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 15A1554723;
Thu, 5 Jun 2025 01:15:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Nxonrskf"
Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53])
(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 D09B5320F;
Thu, 5 Jun 2025 01:15:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749086139; cv=none; b=U1zNQUrEc0an3REi+5UShPFKca/dAtmwptCsQXO/qNnW9MKOiLSj3WDqo2r2DpagYxPImPiDK2LhV0rL0vtJwEmpibcK/mfJMHhpOScByqJcG1UCBzntxPpgZACjQd+fY8FQLRYziyo0ei9622FHu4OkEASZkK9+yuucPlMHdwc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749086139; c=relaxed/simple;
bh=7HW7x9nbWp4Qj2yNnx1v2h+XGemgVAdodEL5eVmunzI=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=doBTZTh2GJWkb4KUmHIFnYU7HSENV7S+wJ9n/wDzk+2fqvT1XygpNgPetbsBrcdeBJMpvGW/Q4sEWn3hIvA2+eL6zvheVhCaZ2pNunMnOWaXGbBScj2dydXtAHo/1oLsWDhlfbzk6G3woqdyMR6ya5sfEIewbXJaUu6rPIo0rGQ=
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=Nxonrskf; arc=none smtp.client-ip=209.85.208.53
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
Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-60727e46168so427763a12.0;
Wed, 04 Jun 2025 18:15:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749086136; x=1749690936; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=AxzhpDYdLonLZrJHBHeQGT9e3gBAhmynhF48vRJrIp0=;
b=NxonrskfueqPzF/yV2auhMapn1F0DWneNwen0fMP+5RjFYunIgG6nYDzBzxO9k6XZe
+uvr+ZlSQFZkQRjaAfmzKBaKwAtPb32Hl/lTv2E/EavwqD1y8UGaNJziz5O/ss0F5lUF
Mhjm1vafQbHjy/lMK1gE1RNCQOBmmr0h8EgNZg3WLz6lfI4PaIbeDZufNiO3LDsYmvMB
eOtuNIu1eb8F0BWAGjf4rdVhVAGoVxmw1FFJ0ZiRGluItX2L/+SCdjzR4rOqrk4uzCqG
fq/Dnng07TQYhIcOu+bCUNGSibMvn6cH86vr6LT4wMO4XM+Xf26sV1PkYzA8RbJ9KoFb
gx9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749086136; x=1749690936;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=AxzhpDYdLonLZrJHBHeQGT9e3gBAhmynhF48vRJrIp0=;
b=cupu8e35yZIQvaoY0qEE7pC5IBy/s6527T+KB6fy6k6LOpviGBYtijSzqsxCvG45AV
On3Gq3F3vrRZF79TaiFQesLPPQmeq06CRI235ZN1rpqUjQ4QoNF0A6VgQoYNDa196Wco
x0cSxRbMB66UpuRk8DYcKZbAIWL+MnApAmsPd4/IhylQYCChipwJ7YsEcHxrRw8pnaIt
JVy3osXwEBaBe+pfCD3WsOQJUMdODLqAU7NPwlpCC84/RYNBA1vsrNV4dk2Vjc/Flw0Q
3nSc0r0+PqnVgeD0nV5d6aGsfqYd6RDDNhaUbykDAle8TYffn/fXcHhENRZUDEF4bkVf
97FQ==
X-Forwarded-Encrypted: i=1; AJvYcCVVLXGrkm+b3+/GS7SOJZj9lAGjCj/jX+eJ1O41Zs9mWHFvVfs+Z+TxUjHc7rvtR4SMC6jwo6LNHYfz@xxxxxxxxxxxxxxx, AJvYcCX9xkouPBkZ9wTOppWwBkCVJfBO8U2l6RWeFF8H+jcy4D0vhFWcEgywa03CzutWYvV2pRF+rl4YsEfhKLs=@vger.kernel.org
X-Gm-Message-State: AOJu0YzwipQkdoiQXBlDHHkBlDFhxnQimVrf2kZ1G5gLQDGq3aMLOz2T
xS+QGqllmMfuI8pKp+bEB/pF8kxdv1DFXlt/avtrJ3+IWZnsEhUA/DIyD2iFwROUy8ZSZme70/A
9uPQpbM3aW+LkQml6oZBn5yTT+/bt5oM=
X-Gm-Gg: ASbGnct1iYtNKme5lYky460QTAl5RWCDdfQeOK3myJgyDtUfbZGn5WFUnke6VheMQVW
xk1+vcWld5OcU/b9LJxyPqf/NuEEbNFgt2tI6Ma/o/xgLii7gSJZ3wzS2HHJYGcIN0Q2iyuMCpQ
WgD7Ck3aAu0/zlPpfbVe7/8+IfSEwBm6t4xgMu3ujMgVR+Gt8ioQPeDnsHf8Gj4pps3HSlkH0Rz
Syh
X-Google-Smtp-Source: AGHT+IGK4dCQjzgObFv1N9hvDW+ltpyh1QBv5ebBJlLbvX9/MegcFFdkItiwSB83rawVGaHKkb7BjUEwlcAlWvw9pIQ=
X-Received: by 2002:a17:907:7f94:b0:adb:2a7d:1e78 with SMTP id
a640c23a62f3a-addf8cca163mr474106066b.1.1749086135846; Wed, 04 Jun 2025
18:15:35 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250603032057.5174-1-syhuang3@xxxxxxxxxxx> <20250603032057.5174-2-syhuang3@xxxxxxxxxxx>
<2ff4dd60-7579-40ce-a4e5-3ad846659f9c@xxxxxxxx>
In-Reply-To: <2ff4dd60-7579-40ce-a4e5-3ad846659f9c@xxxxxxxx>
From: =?UTF-8?B?6YC45puJ5aG1?= <hsyemail2@xxxxxxxxx>
Date: Thu, 5 Jun 2025 09:15:24 +0800
X-Gm-Features: AX0GCFtpm1wTVvJO7sVs8FLKaCKz79NJb441LgwKHHm0aiaO-tbf7_xpB8LWoMk
Message-ID: <CACW=pY7P_i7gUjg5vOS9_kh2Z4jivP_nO5o8jH1+7UzU6MvuzQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v1 1/1] USB: serial: nct_usb_serial: add support for
Nuvoton USB adapter
To: Oliver Neukum <oneukum@xxxxxxxx>
Cc: Johan Hovold <johan@xxxxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, linux-usb@xxxxxxxxxxxxxxx,
Sheng-Yuan Huang <syhuang3@xxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Oliver Neukum,
Appreciate the excellent suggestions! I'm in the process of revising
the code based on your input. It'll take me a little while to
thoroughly address everything, but I'll post an update here when I
have something new to share. Thank you very much.


Oliver Neukum <oneukum@xxxxxxxx> =E6=96=BC 2025=E5=B9=B46=E6=9C=883=E6=97=
=A5 =E9=80=B1=E4=BA=8C =E4=B8=8B=E5=8D=887:57=E5=AF=AB=E9=81=93=EF=BC=9A
>
> Hi,
>
> On 03.06.25 05:20, hsyemail2@xxxxxxxxx wrote:
> > From: Sheng-Yuan Huang <syhuang3@xxxxxxxxxxx>
> >
> > Add support for the Nuvoton USB-to-serial adapter, which provides
> > multiple serial ports over a single USB interface.
> >
> > The device exposes one control endpoint, one bulk-in endpoint, and
> > one bulk-out endpoint for data transfer. Port status is reported via
> > an interrupt-in or bulk-in endpoint, depending on device configuration.
>
> I am afraid there are a few issue that will not to be addressed
> before this can be merged.
>
> > This driver implements basic TTY operations.
> >
> > Signed-off-by: Sheng-Yuan Huang <syhuang3@xxxxxxxxxxx>
> > ---
> > drivers/usb/serial/nct_usb_serial.c | 1523 ++++++++++++++++++++++++++=
+
> > 1 file changed, 1523 insertions(+)
> > create mode 100644 drivers/usb/serial/nct_usb_serial.c
> >
> > diff --git a/drivers/usb/serial/nct_usb_serial.c b/drivers/usb/serial/n=
ct_usb_serial.c
> > new file mode 100644
> > index 000000000000..424c604229b3
> > --- /dev/null
> > +++ b/drivers/usb/serial/nct_usb_serial.c
>
> > +/* Index definition */
> > +enum {
> > + NCT_VCOM_INDEX_0 =3D 0,
> > + NCT_VCOM_INDEX_1,
> > + NCT_VCOM_INDEX_2,
> > + NCT_VCOM_INDEX_3,
> > + NCT_VCOM_INDEX_4,
> > + NCT_VCOM_INDEX_5,
> > + NCT_VCOM_INDEX_GLOBAL =3D 0xF,
> > +};
>
> What use is this? A number is a number.
>
> > +/* Command */
> > +enum {
> > + NCT_VCOM_GET_NUM_PORTS =3D 0,
> > + NCT_VCOM_GET_PORTS_SUPPORT,
> > + NCT_VCOM_GET_BAUD,
> > + NCT_VCOM_SET_INIT,
> > + NCT_VCOM_SET_CONFIG,
> > + NCT_VCOM_SET_BAUD,
> > + NCT_VCOM_SET_HCR,
> > + NCT_VCOM_SET_OPEN_PORT,
> > + NCT_VCOM_SET_CLOSE_PORT,
> > + NCT_VCOM_SILENT,
> > + /* Use bulk-in status instead of interrupt-in status */
> > + NCT_VCON_SET_BULK_IN_STATUS,
> > +};
>
> No. This is an abuse of enumeration. These are just commands that
> happen to use the number space consecutively. These need to be
> defines.
>
> > +union nct_vendor_cmd {
> > + struct pkg0 {
> > + u16 index:4;
> > + u16 cmd:8;
> > + } p;
> > + u16 val;
> > +} __packed;
>
> This definition is an endianness bug waiting to happen.
> If this goes over the wire, it has a defined endianness,
> which needs to be declared.
>
> > +#define NCT_HDR_MAGIC 0xA5
> > +#define NCT_HDR_MAGIC2 0x5A
> > +#define NCT_HDR_MAGIC_STATUS 0x5B
> > +
> > +struct nct_packet_header {
> > + unsigned int magic:8;
> > + unsigned int magic2:8;
> > + unsigned int idx:4;
> > + unsigned int len:12;
> > +} __packed;
>
> Again endianness.
>
> > +/* The definitions are for the feilds of nct_ctrl_msg */
> > +#define NCT_VCOM_1_STOP_BIT 0
> > +#define NCT_VCOM_2_STOP_BITS 1
> > +#define NCT_VCOM_PARITY_NONE 0
> > +#define NCT_VCOM_PARITY_ODD 1
> > +#define NCT_VCOM_PARITY_EVEN 2
> > +#define NCT_VCOM_DL5 0
> > +#define NCT_VCOM_DL6 1
> > +#define NCT_VCOM_DL7 2
> > +#define NCT_VCOM_DL8 3
> > +#define NCT_VCOM_DISABLE_FLOW_CTRL 0
> > +#define NCT_VCOM_XOFF 1
> > +#define NCT_VCOM_RTS_CTS 2
> > +union nct_ctrl_msg {
> > + struct pkg1 {
> > + u16 stop_bit:1;
> > + u16 parity:2;
> > + u16 data_len:2;
> > + u16 flow:2;
> > + u16 spd:5;
> > + u16 reserved:4;
> > + } p;
> > + u16 val;
> > +} __packed;
>
> At the risk of repeating myself: endianness
>
> > +
> > +/* Read from USB control pipe */
> > +static int nct_vendor_read(struct usb_interface *intf, union nct_vendo=
r_cmd cmd,
> > + unsigned char *buf, int size)
> > +{
> > + struct device *dev =3D &intf->dev;
> > + struct usb_device *udev =3D interface_to_usbdev(intf);
> > + u8 *tmp_buf;
> > + int res;
> > +
> > + tmp_buf =3D kmalloc(NCT_MAX_VENDOR_READ_SIZE, GFP_KERNEL);
> > + if (!tmp_buf)
> > + return -ENOMEM;
> > +
> > + if (size > NCT_MAX_VENDOR_READ_SIZE)
> > + dev_err(dev, NCT_DRVNAME ": %s - failed to read [%04x]: o=
ver size %d\n",
> > + __func__, cmd.p.cmd, size);
>
> And you just go on and overwrite kernel memory?
> If you test for plausibility, do something with the result.
>
>
> > +static int nct_vendor_write(struct usb_interface *intf, union nct_vend=
or_cmd cmd, u16 val)
> > +{
> > + struct device *dev =3D &intf->dev;
> > + struct usb_device *udev =3D interface_to_usbdev(intf);
> > + int res;
> > + u8 *buf_val;
>
> Why is this u8* ?
> It should be le16*
>
> > + buf_val =3D kmalloc(2, GFP_KERNEL);
> > + if (!buf_val)
> > + return -ENOMEM;
> > +
> > + /* Copy data to the buffer for sending */
> > + buf_val[0] =3D val & 0xff;
> > + buf_val[1] =3D (val >> 8) & 0xff;
>
> We have macros for that.
>
> > +static u16 nct_set_baud(struct usb_interface *intf, u16 index, unsigne=
d int cflag)
> > +{
> > + union nct_ctrl_msg msg;
> > + union nct_vendor_cmd cmd;
> > + u16 i;
> > +
> > + msg.val =3D 0;
> > + cmd.p.cmd =3D NCT_VCOM_SET_BAUD;
> > + msg.p.spd =3D NCT_DEFAULT_BAUD;
> > + cmd.p.index =3D index;
> > + dev_dbg(&intf->dev, NCT_DRVNAME ": %s tty baud: 0x%X\n", __func__=
,
> > + (cflag & CBAUD));
> > + for (i =3D 0; i < ARRAY_SIZE(NCT_BAUD_SUP); i++) {
> > + if ((cflag & CBAUD) =3D=3D NCT_BAUD_SUP[i]) {
> > + msg.p.spd =3D i;
> > + dev_dbg(&intf->dev,
> > + NCT_DRVNAME ": %s index %d set baud: NCT_=
BAUD_SUP[%d]=3D%d\n",
> > + __func__, cmd.p.index, msg.p.spd, NCT_BAU=
D_SUP[i]);
> > + if (nct_vendor_write(intf, cmd, msg.val))
> > + dev_err(&intf->dev,
> > + NCT_DRVNAME ": %s - Set index: %d=
speed error\n",
> > + __func__, cmd.p.index);
> > +
> > + break;
> > + }
>
> If nothing matches, you do nothing?
> > + }
> > +
> > + return msg.p.spd;
>
> So errors are ignored?
>
>
> > +static int nct_serial_tiocmset(struct tty_struct *tty, unsigned int se=
t,
> > + unsigned int clear)
> > +{
> > + return nct_tiocmset_helper(tty, set, clear);
> > +}
>
> Why? Does this function do anything useful?
>
> > +static void nct_rx_throttle(struct tty_struct *tty)
> > +{
> > + unsigned int set;
> > + unsigned int clear =3D 0;
>
> Why?
>
> > +
> > + /* If we are implementing RTS/CTS, control that line */
> > + if (C_CRTSCTS(tty)) {
> > + set =3D 0;
> > + clear =3D TIOCM_RTS;
> > + nct_tiocmset_helper(tty, set, clear);
> > + }
> > +}
> > +
> > +static void nct_rx_unthrottle(struct tty_struct *tty)
> > +{
> > + unsigned int set;
> > + unsigned int clear =3D 0;
>
> Why?
>
> > + /* If we are implementing RTS/CTS, control that line */
> > + if (C_CRTSCTS(tty)) {
> > + set =3D 0;
> > + set |=3D TIOCM_RTS;
> > + nct_tiocmset_helper(tty, set, clear);
> > + }
> > +}
> > +
> > +static int nct_serial_write_data(struct tty_struct *tty, struct usb_se=
rial_port *port,
> > + const unsigned char *buf, int count)
> > +{
> > + int ret;
> > + unsigned long flags;
> > + struct nct_packet_header hdr;
> > + int wr_len;
> > + struct nct_tty_port *tport =3D usb_get_serial_port_data(port);
> > +
> > + wr_len =3D min((unsigned int)count, NCT_MAX_SEND_BULK_SIZE - size=
of(hdr));
> > +
> > + if (!wr_len)
> > + return 0;
> > +
> > + spin_lock_irqsave(&tport->port_lock, flags);
> > +
> > + if (tport->write_urb_in_use) {
> > + spin_unlock_irqrestore(&tport->port_lock, flags);
> > + return 0;
> > + }
> > +
> > + /* Fill header */
> > + hdr.magic =3D NCT_HDR_MAGIC;
> > + hdr.magic2 =3D NCT_HDR_MAGIC2;
> > + hdr.idx =3D tport->hw_idx; /* The 'hw_idx' is based on 1 */
>
> Endianness.
>
> > +
> > + /* Copy data */
> > + memcpy(port->write_urb->transfer_buffer + sizeof(hdr),
> > + (const void *)buf, wr_len);
> > +
> > + hdr.len =3D wr_len; /* File filed 'len' of header */
>
> Endiannes
>
> > +static int nct_startup_device(struct usb_serial *serial)
> > +{
> > + int ret =3D 0;
> > + struct nct_serial *serial_priv =3D usb_get_serial_data(serial);
> > + struct usb_serial_port *port;
> > + unsigned long flags;
> > +
> > + /* Be sure this happens exactly once */
> > + spin_lock_irqsave(&serial_priv->serial_lock, flags);
> > +
> > + if (serial_priv->device_init) {
> > + spin_unlock_irqrestore(&serial_priv->serial_lock, flags);
> > + return 0;
> > + }
> > + serial_priv->device_init =3D true;
> > + spin_unlock_irqrestore(&serial_priv->serial_lock, flags);
> > +
> > + /* Start reading from bulk in endpoint */
> > + port =3D serial->port[0];
> > + if (!port->read_urb)
> > + dev_dbg(&port->dev, NCT_DRVNAME ": %s: port->read_urb is =
null, index=3D%d\n",
> > + __func__, 0);
> > +
> > + ret =3D usb_submit_urb(port->read_urb, GFP_KERNEL);
> > + if (ret)
> > + dev_err(&port->dev,
> > + NCT_DRVNAME ": %s: usb_submit_urb failed, ret=3D%=
d, port=3D%d\n",
> > + __func__, ret, 0);
>
> Error handling?
> > +
> > + /* For getting status from interrupt-in */
> > + if (!serial_priv->status_trans_mode) {
> > + /* Start reading from interrupt pipe */
> > + port =3D serial->port[0];
> > + ret =3D usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL=
);
> > + if (ret)
> > + dev_err(&port->dev,
> > + NCT_DRVNAME ": %s: usb_submit_urb(intr) f=
ailed, ret=3D%d, port=3D%d\n",
> > + __func__, ret, 0);
> > + }
> > + return ret;
> > +}
> > +
> > +static void nct_serial_port_end(struct usb_serial_port *port)
> > +{
> > + struct nct_tty_port *tport =3D usb_get_serial_port_data(port);
> > + struct usb_serial *serial =3D port->serial;
> > + struct usb_interface *intf =3D serial->interface;
> > + union nct_ctrl_msg msg;
> > + union nct_vendor_cmd cmd;
> > +
> > + /* Send 'Close Port' to the device */
> > + cmd.p.index =3D (u16)tport->hw_idx;
> > + cmd.p.cmd =3D NCT_VCOM_SET_CLOSE_PORT;
>
> Endianness
>
>
> > +again:
> > + spin_lock_irqsave(&serial_priv->serial_lock, flags);
> > + tport =3D serial_priv->cur_port;
> > + if (!tport) {
> > + /*
> > + * Handle a new data package (i.e., it is not
> > + * the remaining data without a header).
> > + * The package does not need to be combined this time.
> > + */
> > +
> > + for (i =3D 0; i < urb->actual_length; i++) {
> > + hdr =3D (struct nct_packet_header *)data;
> > + /* Decode the header */
> > +
> > + if (serial_priv->status_trans_mode) {
> > + /*
> > + * Status data is also transmitted via bu=
lk-in
> > + * pipe.
> > + */
> > + if (hdr->magic =3D=3D NCT_HDR_MAGIC &&
> > + hdr->magic2 =3D=3D NCT_HDR_MAGIC_STAT=
US &&
> > + hdr->len =3D=3D 24 && actual_len >=3D=
28) {
>
> Endianness
>
> > + /*
> > + * Notice: actual_len will be dec=
reased,
> > + * it is equal to urb->actual_len=
gth
> > + * only at the beginning.
> > + */
> > +
> > + /*
> > + * Status report.
> > + * It should be a standalone pack=
age in
> > + * one URB
> > + */
> > + data +=3D sizeof(struct nct_packe=
t_header);
> > + actual_len -=3D
> > + sizeof(struct nct_packet_=
header);
> > +
> > + nps =3D (struct nct_port_status *=
)data;
> > +
> > + for (j =3D 0; j < actual_len - 4;=
j++) {
> > + nct_update_status(serial,
> > + (unsign=
ed char *)nps);
> > + nps++;
> > + }
> > +
> > + spin_unlock_irqrestore(&serial_pr=
iv->serial_lock, flags);
> > + return;
> > + }
> > + }
> > +
> > + if (hdr->magic =3D=3D NCT_HDR_MAGIC &&
> > + hdr->magic2 =3D=3D NCT_HDR_MAGIC2 &&
> > + hdr->idx <=3D NCT_MAX_NUM_COM_DEVICES &&
> > + hdr->len <=3D 512)
> > + break;
>
> Endianness
>
> Regards
> Oliver
>


Return-Path: <linux-kernel+bounces-673938-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C853541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:16:01 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0FCFB16AF08
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:16:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 125F913AA3E;
Thu, 5 Jun 2025 01:15:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FQo1xYk5"
Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50])
(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 436777DA9C
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:15:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749086144; cv=none; b=gSXBlTv2nRDMWvD4MZHJ73u/pdq+9bWsxFiLR1XN13sCd1idhQPAR5DqcHxqKfrIVc5Z+k62Uxsf04kIHXPCh5QZcvt1m2DB77AglAPiu1ZRuLpt3uxfWh0gKTZxjljz8GB/kRY3VbnA5BHML+V2yoqsheG5wmFtSQJsQLBfOrQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749086144; c=relaxed/simple;
bh=GYMg85uC4AdKSm2Eiqazm43c0gUd12jPdjvb3RaZyjM=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=XmvAewKClioHhavsvY11t/wgxyZeIlolw2vii26Low164IRc31AJy6WbrkM/uWfvuKc6cRXE5baxUPmWb9D/Ha7f+RYTx+e5b6H4berwx3QDvsS/yqEXgqvSWrdCTlkDlBjHW+ebhzG3zvLenfw2nNPXhW1SgtyBDgz/tm+Cw8c=
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=FQo1xYk5; arc=none smtp.client-ip=209.85.128.50
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
Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-450ddb35583so591605e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 18:15:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749086140; x=1749690940; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=Ydty2cgBT4AE+PnyHm2b8qgI6YmYVnlOGYpbNpC1b90=;
b=FQo1xYk5cJB2CBkpmKq2svtuRG2FL69VeELuTW6YZCMORJAyP4cRyvNm5iYMNwiUs7
2k9BlrrnDds1O49nzgs7SdXRS0K51y3xVoEhOIFZmfdDARYAeOpaFLav0wlRhW/60jcS
t3D/TuTekfujkB4XxcTf+tVuZbjHx3OjH7Xpr/6ug4wwmSWcQMhuKWkmY3b9Av1si6pD
vQ1tr2GRZIw/s+VtRXfcc5NHS5rFfPVKSjXKwMRgVkL9FnmSExo4v0ykrjWKoQyUzvFe
zd7fN06v2uIsMkmS2HScEgBMq+3eGUDAREbne7/Mx+Cyehybs9rdpOHua0mZ9rC1zorI
uSMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749086140; x=1749690940;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=Ydty2cgBT4AE+PnyHm2b8qgI6YmYVnlOGYpbNpC1b90=;
b=maPJBSTs3sH5LlPCCmIZ+XUHFfwkcOqbSRKPMYRj79oYm7q1GpcfUZV2/U0c8llj8Q
YrXYPDVLHER74PlPG+Sgfk6frZwn98Xfd67fOMhAjyQNwRT80R9o/iFaH8aHoNJ6p3aZ
A2RJOObfuIJHipXnVShtv8oSuzIIWllQn2mAQlfGvqhMRloL9Ue2/jYXU4cl8Iq0G7Vm
14XFFZv8ZAfiEuNBgm4E7aTNpTG92kGbCuMUcWp838PIzjotJfLi33p7HQMHECFI9m9m
+jObSYjLgy6yLz9XO3UbKXi8bQdjEKXozfpbu9IhIiIrDaXcl4yjTiZ45z5u9vq3iK4o
3ORg==
X-Forwarded-Encrypted: i=1; AJvYcCUDrKeF+mO8XY9W0dkXIwbZjXQ/paTdI9MtTEHYf+BDzN+rEeIKSrQBpPA/e1UBloJs8HvePvi9PNYaqUs=@vger.kernel.org
X-Gm-Message-State: AOJu0Yxw75f570TOFFz1fvsSXlog4/O3SSDr05ZZmxLBLQsxfCwhuQuo
zkSnNexGakwOZt8i0cHb4xjG/OGE/gIhMd22SFXDmMfPSRbRt+oKQNSS/fBXznNHCwCi274eJzH
k5BIgUnxptq8j29NdknuLarsmEqPh9t3+P5K0
X-Gm-Gg: ASbGnctIQoW/R6hWGxgmlyL0cB4ceP7MRJ0hJ2OC7cYWfT8ZPIorj0t4UbIL9WkyB0B
8JK5WXI8GkEy3/qKVSbUqL13tflG8RV4BYXh3VvtTTZtZQ3HhlRPos7MiBR18ma8SXxk9WZANHo
fjY0O6LWvAc/rE4dgTe+ITXPl1OnN8Gsk0ZA==
X-Google-Smtp-Source: AGHT+IFOv3cxIGhg6XydehDxtKJHQb0TYHVmegO4c/fhHhapPb0fBZJ0JyDbC9mtlVtiDtD9Aa2MNoxVJIGq7SFc/r8=
X-Received: by 2002:a05:600c:8b23:b0:450:d5ed:3c20 with SMTP id
5b1f17b1804b1-451f0b33452mr16474005e9.6.1749086140318; Wed, 04 Jun 2025
18:15:40 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250604085700.2454694-1-chao@xxxxxxxxxx>
In-Reply-To: <20250604085700.2454694-1-chao@xxxxxxxxxx>
From: Zhiguo Niu <niuzhiguo84@xxxxxxxxx>
Date: Thu, 5 Jun 2025 09:15:29 +0800
X-Gm-Features: AX0GCFunATjmE-Apl3YtLj-4r7yYwysLxV6JvJRBuEX71CccePVVeXbo7AjYETA
Message-ID: <CAHJ8P3JXJfX=YVKGuQzM6n+yRbAh6Kxem+dLqdP_3F_BN=b_+Q@xxxxxxxxxxxxxx>
Subject: Re: [f2fs-dev] [PATCH v2] f2fs: fix to zero post-eof page
To: Chao Yu <chao@xxxxxxxxxx>
Cc: jaegeuk@xxxxxxxxxx, stable@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Chao Yu via Linux-f2fs-devel <linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx>
=E4=BA=8E2025=E5=B9=B46=E6=9C=884=E6=97=A5=E5=91=A8=E4=B8=89 17:01=E5=86=99=
=E9=81=93=EF=BC=9A
>
> fstest reports a f2fs bug:
>
> generic/363 42s ... [failed, exit status 1]- output mismatch (see /share/=
git/fstests/results//generic/363.out.bad)
> --- tests/generic/363.out 2025-01-12 21:57:40.271440542 +0800
> +++ /share/git/fstests/results//generic/363.out.bad 2025-05-19 19:55:=
58.000000000 +0800
> @@ -1,2 +1,78 @@
> QA output created by 363
> fsx -q -S 0 -e 1 -N 100000
> +READ BAD DATA: offset =3D 0xd6fb, size =3D 0xf044, fname =3D /mnt/f2=
fs/junk
> +OFFSET GOOD BAD RANGE
> +0x1540d 0x0000 0x2a25 0x0
> +operation# (mod 256) for the bad data may be 37
> +0x1540e 0x0000 0x2527 0x1
> ...
> (Run 'diff -u /share/git/fstests/tests/generic/363.out /share/git/fst=
ests/results//generic/363.out.bad' to see the entire diff)
> Ran: generic/363
> Failures: generic/363
> Failed 1 of 1 tests
>
> The root cause is user can update post-eof page via mmap, however, f2fs m=
issed
> to zero post-eof page in below operations, so, once it expands i_size, th=
en it
> will include dummy data locates previous post-eof page, so during below
> operations, we need to zero post-eof page.
>
> Operations which can include dummy data after previous i_size after expan=
ding
> i_size:
> - write
> - mapwrite
> - truncate
> - fallocate
> * preallocate
> * zero_range
> * insert_range
> * collapse_range
> - clone_range (doesn=E2=80=99t support in f2fs)
> - copy_range (doesn=E2=80=99t support in f2fs)
>
> Cc: stable@xxxxxxxxxx
> Signed-off-by: Chao Yu <chao@xxxxxxxxxx>
> ---
> v2:
> - cover f2fs_zero_post_eof_page w/ invalidate_lock
> fs/f2fs/file.c | 38 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
> index 6bd3de64f2a8..ee5e662d2a4c 100644
> --- a/fs/f2fs/file.c
> +++ b/fs/f2fs/file.c
> @@ -35,6 +35,17 @@
> #include <trace/events/f2fs.h>
> #include <uapi/linux/f2fs.h>
>
> +static void f2fs_zero_post_eof_page(struct inode *inode, loff_t new_size=
)
> +{
> + loff_t old_size =3D i_size_read(inode);
> +
> + if (old_size > new_size)
Hi Chao,
should it be old_size >=3D new_size?

> + return;
> +
> + /* zero or drop pages only in range of [old_size, new_size] */
> + truncate_pagecache(inode, old_size);
> +}
> +
> static vm_fault_t f2fs_filemap_fault(struct vm_fault *vmf)
> {
> struct inode *inode =3D file_inode(vmf->vma->vm_file);
> @@ -103,8 +114,13 @@ static vm_fault_t f2fs_vm_page_mkwrite(struct vm_fau=
lt *vmf)
>
> f2fs_bug_on(sbi, f2fs_has_inline_data(inode));
>
> + filemap_invalidate_lock(inode->i_mapping);
> + f2fs_zero_post_eof_page(inode, (folio->index + 1) << PAGE_SHIFT);
> + filemap_invalidate_unlock(inode->i_mapping);
> +
> file_update_time(vmf->vma->vm_file);
> filemap_invalidate_lock_shared(inode->i_mapping);
> +
> folio_lock(folio);
> if (unlikely(folio->mapping !=3D inode->i_mapping ||
> folio_pos(folio) > i_size_read(inode) ||
> @@ -1109,6 +1125,8 @@ int f2fs_setattr(struct mnt_idmap *idmap, struct de=
ntry *dentry,
> f2fs_down_write(&fi->i_gc_rwsem[WRITE]);
> filemap_invalidate_lock(inode->i_mapping);
>
> + if (attr->ia_size > old_size)
> + f2fs_zero_post_eof_page(inode, old_size);
I'm a little suspicious about the logic here=EF=BC=8C here old_size is from
i_size_read(inode),
and it will compare with the "old_size" in f2fs_zero_post_eof_page, it
is also from i_size_read(inode),
so is this actually meaningless?
Thanks!
> truncate_setsize(inode, attr->ia_size);
>
> if (attr->ia_size <=3D old_size)
> @@ -1227,6 +1245,10 @@ static int f2fs_punch_hole(struct inode *inode, lo=
ff_t offset, loff_t len)
> if (ret)
> return ret;
>
> + filemap_invalidate_lock(inode->i_mapping);
> + f2fs_zero_post_eof_page(inode, offset + len);
> + filemap_invalidate_unlock(inode->i_mapping);
> +
> pg_start =3D ((unsigned long long) offset) >> PAGE_SHIFT;
> pg_end =3D ((unsigned long long) offset + len) >> PAGE_SHIFT;
>
> @@ -1510,6 +1532,8 @@ static int f2fs_do_collapse(struct inode *inode, lo=
ff_t offset, loff_t len)
> f2fs_down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
> filemap_invalidate_lock(inode->i_mapping);
>
> + f2fs_zero_post_eof_page(inode, offset + len);
> +
> f2fs_lock_op(sbi);
> f2fs_drop_extent_tree(inode);
> truncate_pagecache(inode, offset);
> @@ -1631,6 +1655,10 @@ static int f2fs_zero_range(struct inode *inode, lo=
ff_t offset, loff_t len,
> if (ret)
> return ret;
>
> + filemap_invalidate_lock(mapping);
> + f2fs_zero_post_eof_page(inode, offset + len);
> + filemap_invalidate_unlock(mapping);
> +
> pg_start =3D ((unsigned long long) offset) >> PAGE_SHIFT;
> pg_end =3D ((unsigned long long) offset + len) >> PAGE_SHIFT;
>
> @@ -1762,6 +1790,8 @@ static int f2fs_insert_range(struct inode *inode, l=
off_t offset, loff_t len)
> /* avoid gc operation during block exchange */
> f2fs_down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
> filemap_invalidate_lock(mapping);
> +
> + f2fs_zero_post_eof_page(inode, offset + len);
> truncate_pagecache(inode, offset);
>
> while (!ret && idx > pg_start) {
> @@ -1819,6 +1849,10 @@ static int f2fs_expand_inode_data(struct inode *in=
ode, loff_t offset,
> if (err)
> return err;
>
> + filemap_invalidate_lock(inode->i_mapping);
> + f2fs_zero_post_eof_page(inode, offset + len);
> + filemap_invalidate_unlock(inode->i_mapping);
> +
> f2fs_balance_fs(sbi, true);
>
> pg_start =3D ((unsigned long long)offset) >> PAGE_SHIFT;
> @@ -4860,6 +4894,10 @@ static ssize_t f2fs_write_checks(struct kiocb *ioc=
b, struct iov_iter *from)
> err =3D file_modified(file);
> if (err)
> return err;
> +
> + filemap_invalidate_lock(inode->i_mapping);
> + f2fs_zero_post_eof_page(inode, iocb->ki_pos + iov_iter_count(from=
));
> + filemap_invalidate_unlock(inode->i_mapping);
> return count;
> }
>
> --
> 2.49.0
>
>
>
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel


Return-Path: <linux-kernel+bounces-673939-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 862DD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:17:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id D405A16AED2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:17:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 64E5D42A83;
Thu, 5 Jun 2025 01:17:07 +0000 (UTC)
Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CCB5A20B22
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:17:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.242.206.163
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749086227; cv=none; b=VwkzbAbPD9m6186vZFdYJZwJK/ZbT3YSRX1WFTgbYrsCTDniHkdUSrq4gdqBqCkUPNm87dZdrXqwRhoh2r73hBQYl55P+U7fZXLJKPOmriDvRlipW/cKUa6a4lKuTI3IeEp+32pYfEPfQxSx5jQI4e94fEZnv8uFbGUtJ4ZUAxo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749086227; c=relaxed/simple;
bh=NgleEF0GmAK56MefLtpSyUrGHQR1CKQpfNOU4qf2W0k=;
h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version:
In-Reply-To:Content-Type; b=oIdyXvQcZz2DYAcGWwsrmO07B/DdzmflR7P/T0qkYZJJ639UpyrMTLGo0XlXOuwNmLu3NedcSBkk4enHdGvDbgtMjBzSAlcSqjBOlCBc8miRMyS/hWMaoKU4jwbUA+RWdgv2zT/tSv3682G2PUk3T96pdRyDH9PrNAxtlkV17Lg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn; spf=pass smtp.mailfrom=loongson.cn; arc=none smtp.client-ip=114.242.206.163
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=loongson.cn
Received: from loongson.cn (unknown [10.20.42.24])
by gateway (Coremail) with SMTP id _____8Axz3MH8EBosysMAQ--.35660S3;
Thu, 05 Jun 2025 09:16:55 +0800 (CST)
Received: from [10.20.42.24] (unknown [10.20.42.24])
by front1 (Coremail) with SMTP id qMiowMDxH+UF8EBoC2wKAQ--.33363S3;
Thu, 05 Jun 2025 09:16:55 +0800 (CST)
Subject: Re: [PATCH] Loongarch:Fixed up panic cause by a NULL-pmd
To: Yanteng Si <si.yanteng@xxxxxxxxx>, chenhuacai@xxxxxxxxxx,
kernel@xxxxxxxxxx, zhanghongchen@xxxxxxxxxxx, wangming01@xxxxxxxxxxx,
peterx@xxxxxxxxxx
Cc: loongarch@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250526065512.13215-1-zhangtianyang@xxxxxxxxxxx>
<1876bf9a-a77d-40a5-bedd-643df939bfbf@xxxxxxxxx>
From: Tianyang Zhang <zhangtianyang@xxxxxxxxxxx>
Message-ID: <93915902-0a91-921f-1953-b35f1742efb6@xxxxxxxxxxx>
Date: Thu, 5 Jun 2025 09:16:13 +0800
User-Agent: Mozilla/5.0 (X11; Linux mips64; rv:68.0) Gecko/20100101
Thunderbird/68.7.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
In-Reply-To: <1876bf9a-a77d-40a5-bedd-643df939bfbf@xxxxxxxxx>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-CM-TRANSID:qMiowMDxH+UF8EBoC2wKAQ--.33363S3
X-CM-SenderInfo: x2kd0wxwld05hdqjqz5rrqw2lrqou0/
X-Coremail-Antispam: 1Uk129KBj93XoW7uFy8Cw13Cr18WFyUCFykWFX_yoW8Gw1rpF
yUJw4rGw4fC3yDX3W2vw4kZF4vya4Ik3Wkur10qFykZwn5Jr1jqFy29ryS9r4UAr4rtay0
qFWUtF90vr1UZagCm3ZEXasCq-sJn29KB7ZKAUJUUUUr529EdanIXcx71UUUUU7KY7ZEXa
sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU
0xBIdaVrnRJUUUB0b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2
IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v
e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI
0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVWxJr0_GcWl84ACjcxK6I8E87Iv6xkF7I0E14v2
6F4UJVW0owAaw2AFwI0_Jrv_JF1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqjxCEc2xF0c
Ia020Ex4CE44I27wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jrv_
JF1lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvEwIxGrw
CYjI0SjxkI62AI1cAE67vIY487MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j
6r4UMxCIbckI1I0E14v26r1Y6r17MI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwV
AFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x0EwIxGrwCI42IY6xIIjxv2
0xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4
v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AK
xVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjxU2MKZDUUUU
X-Spam-Status: No, score=-6.5 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi, Yanteng

在 2025/5/27 下午1:47, Yanteng Si 写道:
> 在 5/26/25 2:55 PM, Tianyang Zhang 写道:
>> From: zhangtianyang <zhangtianyang@xxxxxxxxxxx>
>>
>> Fixes: bd51834d1cf6 ("LoongArch: Return NULL from huge_pte_offset()
>> for invalid PMD")
>> ERROR INFO:
>>
>> CPU 25 Unable to handle kernel paging request at virtual address 0x0
>>           ...
>>   Call Trace:
>>   [<900000000023c30c>] huge_pte_offset+0x3c/0x58
>>   [<900000000057fd4c>] hugetlb_follow_page_mask+0x74/0x438
>>   [<900000000051fee8>] __get_user_pages+0xe0/0x4c8
>>   [<9000000000522414>] faultin_page_range+0x84/0x380
>>   [<9000000000564e8c>] madvise_vma_behavior+0x534/0xa48
>>   [<900000000056689c>] do_madvise+0x1bc/0x3e8
>>   [<9000000000566df4>] sys_madvise+0x24/0x38
>>   [<90000000015b9e88>] do_syscall+0x78/0x98
>>   [<9000000000221f18>] handle_syscall+0xb8/0x158
>>
>
>> In some cases, pmd may be NULL and rely on NULL as the return value
>> for processing, so it is necessary to determine this situation here
>
> Your description is a bit vague. Could you please specify
> on which machines and in what scenarios this bug can be
> reproduced? I believe such information should be included
> in the commit message.
>
> Thanks,
> Yanteng

Sorry for the late reply.

I will provide more detailed information in the commit of the next patch

Thanks

Tianyang



Return-Path: <linux-kernel+bounces-673940-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2B90541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:20:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id D945A7A7801
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:19:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E39D6487A5;
Thu, 5 Jun 2025 01:20:29 +0000 (UTC)
Received: from mail-il1-f207.google.com (mail-il1-f207.google.com [209.85.166.207])
(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 D983E2B9A8
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:20:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.207
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749086429; cv=none; b=HIEkf/N6NXPgDUpEiXA5dCVi3046x7/R1xgsmKELT5dcx/I6Vy7uBUXg3d9x9hnlOacSUF/2wWgoqhmCDjSj9uRwzuNtXscq6LppQKY05BQ2znvxmL/LpDy+ajv3TIgj2m8cOE7Yd8D1k+QN1wfcc44cBaEZ8HDx9ywhb6Tq2Uw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749086429; c=relaxed/simple;
bh=d+xucXxPx3xfV0G2wxo/jwhxS7EXAOl+Z177Pznz07Y=;
h=MIME-Version:Date:In-Reply-To:Message-ID:Subject:From:To:
Content-Type; b=teedIES2Am8aje2qfgutt1q8XJk98tuvXxB4vHt0yMQrBTArDh29hYUXCOeK5ZIGptwvJgNculxPBWEqwjqx9Ar2EoSf8tlUJ/TvUREX7WNFbxfTqE27s1NILW8P+1psgAyjCPRezCowdrClf/RuZpNShTDghATiPJVxWjgc25Y=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.207
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-il1-f207.google.com with SMTP id e9e14a558f8ab-3dda536e263so6045765ab.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 18:20:27 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749086427; x=1749691227;
h=to:from:subject:message-id:in-reply-to:date:mime-version
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=IdD7R5O0M+X7sO3b8kxAiJoxLP+EiFOyGu7pNuWNUnk=;
b=VOWsFgFrbgqTmAQB4AQy9UIhgRoKBecktdJAiFd5+X3vIUPkKWoGwB5BjvMiPbSDct
CzDd8WVGPTj7bQkZat1pd0XL/InFPh6c+QD3i80Yv0HqxDb7794GHHhxrQl6DkVMTJ+X
CHK7PHqPFd5ZLN/97qkf7PcPONpM6VHo6VbBpxpCgvRz92QAIrP7BecSgAfY5rUpLRNG
tBBm9jDbqZBTHXDjxQFQyb6V1MGNtOnGU15cRfMVTOoTqFcL9stS/0YAhni9oL47ndhB
PSSPa67UTNRufrIlPGeg0bKlpvKXAzk8QG0tXtkALTWfNWJxZehI2xVJi+MRX0fsBeb7
Iiog==
X-Forwarded-Encrypted: i=1; AJvYcCVdG5W6S/zLv6s8oQK2EA/vsOuogoYnHDfjeW8ZcQ4PZoAFPYVhMPdgamBg/cN57PfU/2OqO40Vf4MPYSg=@vger.kernel.org
X-Gm-Message-State: AOJu0Yyy2glxtTOQxft+aDxNBe5pUNjdhErzM6VlPpaBzM6gwWOV3ua3
zgIF8+ntrTGZmaFPcCGg1iOSmNt0+gGQ0iSJhdQ7T03PxOTo1iP4Ok5L0nob5g/qd+EQ+e2diqG
ex9wtd6XxMfjzSZOrtxnKlWqczM4fLOwhcpjU1q1oTdk9Nfsdc1smkI5xLRE=
X-Google-Smtp-Source: AGHT+IFN1khhK/RpvjQTqsh/pUsx5ffpB7iH61Acp/k77rrsyK6dwxXlif1jXs3Kypd6O/KAGvKDYhnUKTBHCsCnu43D66auaCg6
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6e02:2169:b0:3dd:a13c:b663 with SMTP id
e9e14a558f8ab-3ddbee3d73dmr51177315ab.14.1749086426900; Wed, 04 Jun 2025
18:20:26 -0700 (PDT)
Date: Wed, 04 Jun 2025 18:20:26 -0700
In-Reply-To: <6813ed5a.050a0220.53db9.0002.GAE@xxxxxxxxxx>
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6840f0da.a00a0220.d4325.0011.GAE@xxxxxxxxxx>
Subject: Re: [syzbot] [bcachefs?] WARNING in bch2_writepage_io_done (3)
From: syzbot <syzbot+0652cd10dc5ea0a2eb6f@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: kent.overstreet@xxxxxxxxx, linux-bcachefs@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, syzkaller-bugs@xxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.0 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

syzbot has found a reproducer for the following issue on:

HEAD commit: d7fa1af5b33e Merge branch 'for-next/core' into for-kernelci
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci
console output: https://syzkaller.appspot.com/x/log.txt?x=15e45282580000
kernel config: https://syzkaller.appspot.com/x/.config?x=89c13de706fbf07a
dashboard link: https://syzkaller.appspot.com/bug?extid=0652cd10dc5ea0a2eb6f
compiler: Debian clang version 20.1.6 (++20250514063057+1e4d39e07757-1~exp1~20250514183223.118), Debian LLD 20.1.6
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17d0cc0c580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=163a6570580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/da97ad659b2c/disk-d7fa1af5.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/659e123552a8/vmlinux-d7fa1af5.xz
kernel image: https://storage.googleapis.com/syzbot-assets/6ec5dbf4643e/Image-d7fa1af5.gz.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/f4a821c168d9/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+0652cd10dc5ea0a2eb6f@xxxxxxxxxxxxxxxxxxxxxxxxx

------------[ cut here ]------------
WARNING: CPU: 1 PID: 6501 at fs/bcachefs/fs-io-buffered.c:464 bch2_writepage_io_done+0x6fc/0x7b4 fs/bcachefs/fs-io-buffered.c:464
Modules linked in:
CPU: 1 UID: 0 PID: 6501 Comm: kworker/u9:2 Not tainted 6.15.0-rc7-syzkaller-gd7fa1af5b33e #0 PREEMPT
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Workqueue: bcachefs bch2_write_point_do_index_updates
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : bch2_writepage_io_done+0x6fc/0x7b4 fs/bcachefs/fs-io-buffered.c:464
lr : bch2_writepage_io_done+0x6fc/0x7b4 fs/bcachefs/fs-io-buffered.c:464
sp : ffff8000a4b178d0
x29: ffff8000a4b17940 x28: dfff800000000000 x27: 0000000000000003
x26: ffff0000c9b8d7c8 x25: ffff0000c9b8d7c8 x24: ffff0000ddb80000
x23: ffff0000c9b8d920 x22: 0000000000000008 x21: ffff0000c9b8d940
x20: 1fffe00019371b24 x19: 0000000000000c00 x18: 00000000ffffffff
x17: ffff800092f39000 x16: ffff80008ad27e48 x15: 0000000000000006
x14: 1ffff00014962f21 x13: 0000000000000000 x12: 0000000000000000
x11: ffff700014962f27 x10: 0000000000ff0100 x9 : 0000000000000000
x8 : ffff0000d7f55b80 x7 : 0000000000000000 x6 : 0000000000000000
x5 : ffff80009308cef8 x4 : 0000000000000008 x3 : 0000000000000020
x2 : 0000000000000008 x1 : 0000000000000008 x0 : 0000000000000000
Call trace:
bch2_writepage_io_done+0x6fc/0x7b4 fs/bcachefs/fs-io-buffered.c:464 (P)
bch2_write_done+0x2a4/0x914 fs/bcachefs/io_write.c:542
bch2_write_point_do_index_updates+0x7c/0x4f0 fs/bcachefs/io_write.c:708
process_one_work+0x7e8/0x156c kernel/workqueue.c:3238
process_scheduled_works kernel/workqueue.c:3319 [inline]
worker_thread+0x958/0xed8 kernel/workqueue.c:3400
kthread+0x5fc/0x75c kernel/kthread.c:464
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:847
irq event stamp: 824
hardirqs last enabled at (823): [<ffff80008addfa48>] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline]
hardirqs last enabled at (823): [<ffff80008addfa48>] _raw_spin_unlock_irqrestore+0x38/0x98 kernel/locking/spinlock.c:194
hardirqs last disabled at (824): [<ffff80008adb9eb8>] el1_dbg+0x24/0x80 arch/arm64/kernel/entry-common.c:511
softirqs last enabled at (0): [<ffff8000803acfb0>] copy_process+0x112c/0x318c kernel/fork.c:2375
softirqs last disabled at (0): [<0000000000000000>] 0x0
---[ end trace 0000000000000000 ]---


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.


Return-Path: <linux-kernel+bounces-673941-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BEF5641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:27:58 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A35DC171C3D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:27:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8324A43AB7;
Thu, 5 Jun 2025 01:27:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="I+mag0WL"
Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.5])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A9F103209
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:27:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.5
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749086872; cv=none; b=oo/5wBtCkmFiDAfTrC4Zvv9648gdpz/UORon+ev21ZgT7AVHx2DRGnwX4XYeNApnDAOjgRgvV0jnDlFK/bhQW4nBmdmtJzB7+ttbuCWoj58QV7R7ujZc4b03yiiCnlHoiP9D9OhgBmeLerqatbCygBUXlgjZ9W0InkkZyTJCK8g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749086872; c=relaxed/simple;
bh=ijd99Osw0Nw2cZ90UK5pS/kzZb/MHnWbvjnoFn8lXNM=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=uhkTcnIByZYNxXbXyOPCuXH6QyFxn50tSBaC3gVvOwGieMy534YBWQrpy9TmJ3zFWqDoop863u4m7cyRBeaN87O4VBB3Ff5bDBnGoCfwqULo5OfLYvJiSntoIjDL3LZvIycW1b377EcxvlUj/hAS0aU42awU1tOuE0+LRespbWg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=I+mag0WL; arc=none smtp.client-ip=117.135.210.5
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
s=s110527; h=Message-ID:Date:MIME-Version:Subject:To:From:
Content-Type; bh=VF6d1hNFoWZZrBNVh1/uHW4JjbdNaRgqQ1rrbdlVpXE=;
b=I+mag0WLALJquH4hA/sasQEe8mqlOfkGtqW3oju40AGCx2qCBqH5mrpok3Au+0
gJhhVIcTdA8y/G/8OtYJtZXsg1rlEKBfEvIh9xI5mpLEZlYnfzY2qe0RjHDKE7F4
MisFQLZdTS0O6Q2QrXbthgAF6suGTw/rOx7yCubsSUM2E=
Received: from [192.168.125.68] (unknown [])
by gzsmtp4 (Coremail) with SMTP id PygvCgDnRixs8kBoPUizBw--.26145S2;
Thu, 05 Jun 2025 09:27:10 +0800 (CST)
Message-ID: <4ea563c6-0d77-4a5c-95ff-8821552ad5d7@xxxxxxx>
Date: Thu, 5 Jun 2025 09:27:07 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] mfd: Remove unused of_node variables
To: kernel test robot <lkp@xxxxxxxxx>, lee@xxxxxxxxxx
Cc: oe-kbuild-all@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Baolin Liu <liubaolin@xxxxxxxxxx>
References: <20250604081043.802659-1-liubaolin12138@xxxxxxx>
<202506042124.mV2W3XrQ-lkp@xxxxxxxxx>
From: liubaolin <liubaolin12138@xxxxxxx>
In-Reply-To: <202506042124.mV2W3XrQ-lkp@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:PygvCgDnRixs8kBoPUizBw--.26145S2
X-Coremail-Antispam: 1Uf129KBjvJXoW3WFyDWr1rKF4fCFyxWr45Jrb_yoWfKw17pr
y3JanIyFWUJr1kKa48Jrn5Aan5trWkGay8ur15G340g3s0y3yvv3WFgrZxZ3W7ury2yF95
AF4xWryIqrn0kaUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRfOz-UUUUU=
X-CM-SenderInfo: xolxutxrol0iasrtmqqrwthudrp/1tbiIARjymhA7hjMBwAAsY
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

> My apologies - I submitted this patch to address compilation warnings,
> “drivers/mfd/88pm860x-core.c: In function ‘device_irq_init’:
> drivers/mfd/88pm860x-core.c:576:29: warning: unused variable ‘node’ [-Wunused-variable]
> | struct device_node *node = i2c->dev.of_node;
> | ^~~~
>
> drivers/mfd/twl4030-irq.c: In function ‘twl4030_init_irq’:
> 679 | struct device_node *node = dev->of_node;
> | ^~~~
>
> drivers/mfd/max8925-core.c: In function ‘max8925_irq_init’:
> drivers/mfd/max8925-core.c:659:29: warning: unused variable ‘node’ [-Wunused-variable]
> 659 | struct device_node *node = chip->dev->of_node;
> | ”
> but it appears they were false positives as the node is actually used via 'of_fwnode_handle(node)'.
> Please discard this patch and cancel the review. Sorry for the inconvenience.




在 2025/6/4 21:48, kernel test robot 写道:
> Hi Baolin,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on lee-mfd/for-mfd-next]
> [also build test ERROR on lee-leds/for-leds-next lee-mfd/for-mfd-fixes tmlind-omap/for-next linus/master v6.15 next-20250604]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Baolin-Liu/mfd-Remove-unused-of_node-variables/20250604-161317
> base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
> patch link: https://lore.kernel.org/r/20250604081043.802659-1-liubaolin12138%40163.com
> patch subject: [PATCH v1] mfd: Remove unused of_node variables
> config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20250604/202506042124.mV2W3XrQ-lkp@xxxxxxxxx/config)
> compiler: alpha-linux-gcc (GCC) 15.1.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250604/202506042124.mV2W3XrQ-lkp@xxxxxxxxx/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202506042124.mV2W3XrQ-lkp@xxxxxxxxx/
>
> All errors (new ones prefixed by >>):
>
> drivers/mfd/88pm860x-core.c: In function 'device_irq_init':
>>> drivers/mfd/88pm860x-core.c:626:31: error: 'node' undeclared (first use in this function)
> 626 | irq_domain_add_legacy(node, nr_irqs, chip->irq_base, 0,
> | ^~~~
> drivers/mfd/88pm860x-core.c:626:31: note: each undeclared identifier is reported only once for each function it appears in
> --
> drivers/mfd/twl4030-irq.c: In function 'twl4030_init_irq':
>>> drivers/mfd/twl4030-irq.c:693:31: error: 'node' undeclared (first use in this function); did you mean 'inode'?
> 693 | irq_domain_add_legacy(node, nr_irqs, irq_base, 0,
> | ^~~~
> | inode
> drivers/mfd/twl4030-irq.c:693:31: note: each undeclared identifier is reported only once for each function it appears in
> --
> drivers/mfd/max8925-core.c: In function 'max8925_irq_init':
>>> drivers/mfd/max8925-core.c:684:31: error: 'node' undeclared (first use in this function)
> 684 | irq_domain_add_legacy(node, MAX8925_NR_IRQS, chip->irq_base, 0,
> | ^~~~
> drivers/mfd/max8925-core.c:684:31: note: each undeclared identifier is reported only once for each function it appears in
>
>
> vim +/node +626 drivers/mfd/88pm860x-core.c
>
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 566
> f791be492f76de Bill Pemberton 2012-11-19 567 static int device_irq_init(struct pm860x_chip *chip,
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 568 struct pm860x_platform_data *pdata)
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 569 {
> 2e57848fed7435 Lee Jones 2014-05-08 570 struct i2c_client *i2c = (chip->id == CHIP_PM8607) ?
> 2e57848fed7435 Lee Jones 2014-05-08 571 chip->client : chip->companion;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 572 unsigned char status_buf[INT_STATUS_NUM];
> 2afa62ea76027b Haojian Zhuang 2010-02-08 573 unsigned long flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 574 int data, mask, ret = -EINVAL;
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 575 int nr_irqs, irq_base = -1;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 576
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 577 mask = PM8607_B0_MISC1_INV_INT | PM8607_B0_MISC1_INT_CLEAR
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 578 | PM8607_B0_MISC1_INT_MASK;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 579 data = 0;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 580 chip->irq_mode = 0;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 581 if (pdata && pdata->irq_mode) {
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 582 /*
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 583 * irq_mode defines the way of clearing interrupt. If it's 1,
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 584 * clear IRQ by write. Otherwise, clear it by read.
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 585 * This control bit is valid from 88PM8607 B0 steping.
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 586 */
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 587 data |= PM8607_B0_MISC1_INT_CLEAR;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 588 chip->irq_mode = 1;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 589 }
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 590 ret = pm860x_set_bits(i2c, PM8607_B0_MISC1, mask, data);
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 591 if (ret < 0)
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 592 goto out;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 593
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 594 /* mask all IRQs */
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 595 memset(status_buf, 0, INT_STATUS_NUM);
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 596 ret = pm860x_bulk_write(i2c, PM8607_INT_MASK_1,
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 597 INT_STATUS_NUM, status_buf);
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 598 if (ret < 0)
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 599 goto out;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 600
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 601 if (chip->irq_mode) {
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 602 /* clear interrupt status by write */
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 603 memset(status_buf, 0xFF, INT_STATUS_NUM);
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 604 ret = pm860x_bulk_write(i2c, PM8607_INT_STATUS1,
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 605 INT_STATUS_NUM, status_buf);
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 606 } else {
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 607 /* clear interrupt status by read */
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 608 ret = pm860x_bulk_read(i2c, PM8607_INT_STATUS1,
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 609 INT_STATUS_NUM, status_buf);
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 610 }
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 611 if (ret < 0)
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 612 goto out;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 613
> 2afa62ea76027b Haojian Zhuang 2010-02-08 614 mutex_init(&chip->irq_lock);
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 615
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 616 if (pdata && pdata->irq_base)
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 617 irq_base = pdata->irq_base;
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 618 nr_irqs = ARRAY_SIZE(pm860x_irqs);
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 619 chip->irq_base = irq_alloc_descs(irq_base, 0, nr_irqs, 0);
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 620 if (chip->irq_base < 0) {
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 621 dev_err(&i2c->dev, "Failed to allocate interrupts, ret:%d\n",
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 622 chip->irq_base);
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 623 ret = -EBUSY;
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 624 goto out;
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 625 }
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 @626 irq_domain_add_legacy(node, nr_irqs, chip->irq_base, 0,
> 837c8293ba24d0 Haojian Zhuang 2012-10-02 627 &pm860x_irq_domain_ops, chip);
> 2afa62ea76027b Haojian Zhuang 2010-02-08 628 chip->core_irq = i2c->irq;
> 2afa62ea76027b Haojian Zhuang 2010-02-08 629 if (!chip->core_irq)
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 630 goto out;
> 2afa62ea76027b Haojian Zhuang 2010-02-08 631
> 2e57848fed7435 Lee Jones 2014-05-08 632 ret = request_threaded_irq(chip->core_irq, NULL, pm860x_irq,
> 2e57848fed7435 Lee Jones 2014-05-08 633 flags | IRQF_ONESHOT, "88pm860x", chip);
> 2afa62ea76027b Haojian Zhuang 2010-02-08 634 if (ret) {
> 2afa62ea76027b Haojian Zhuang 2010-02-08 635 dev_err(chip->dev, "Failed to request IRQ: %d\n", ret);
> 2afa62ea76027b Haojian Zhuang 2010-02-08 636 chip->core_irq = 0;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 637 }
> 2afa62ea76027b Haojian Zhuang 2010-02-08 638
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 639 return 0;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 640 out:
> 2afa62ea76027b Haojian Zhuang 2010-02-08 641 chip->core_irq = 0;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 642 return ret;
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 643 }
> 5c42e8c4a9c86e Haojian Zhuang 2009-12-15 644
>



Return-Path: <linux-kernel+bounces-673942-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C0FCA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:30:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id EF9787A73F0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:28:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 131F282866;
Thu, 5 Jun 2025 01:30:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WAUmGJwH"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 412B33209;
Thu, 5 Jun 2025 01:29:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749087000; cv=none; b=U44KKZyTJldJSJWuvuIAcvNyAo7hgOCgSP69G1xGAgzCkO1Wm4ggBSUqK/FispDpSLUON/KMrbS3GfpPK7wNn4AHAT+JnApGxwy1EQCR5KmGb3FS6QtsQ4VUbraluKlNYIvO9pLG7/CGThgprZjlOO125c++fQbojFIdORljQrM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749087000; c=relaxed/simple;
bh=oBRR0U72ZWaszWIIDxHCBlFYwKXTGXUi/Puz8CELYE0=;
h=Content-Type:MIME-Version:Subject:From:Message-Id:Date:References:
In-Reply-To:To:Cc; b=Yk2ZmRtZQgWzPca1tC8Sl4RxmvrRv2mvDr9waRxnYugeZiL6fYj5Q2CQu4QRcd43cqbPUolkCcJpVau53U3XulE4kocG0hVuFXCfqSKkPURnTNpkLHaxwNh5ct3muB7LtYYEDQe6Y2AI1aL7uU7FtdYK3i7cO6cGwYbHC+I1ob8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WAUmGJwH; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AC6C4C4CEE4;
Thu, 5 Jun 2025 01:29:59 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749086999;
bh=oBRR0U72ZWaszWIIDxHCBlFYwKXTGXUi/Puz8CELYE0=;
h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
b=WAUmGJwHqQPtGkL6BxJp/lZ6BFMHW2rR5SSx1vKYpiYv35GufWZAXhYdfIoADeXjD
CGOegwiqaNxX4DBQ9Bed4vlObt4tMM8L1BRG7/4YtwTRMVRfPYTel1RiWIRdJKDoTJ
ko1zekAV8LuRiArTZETLi/h9pc9sHbqAH7eIiAEaCJK4ktXv40J3H/oZgA4Q73MiJe
7PzT1m/d6yNJ7nJCPQothhNEI48BHa3hfwg2axJaIl0spw9Hmt9/Go1fykE+2FK3WT
GtkfoEyQwDCfXvvJlEVD8DBOLQe0svrAJuPGs0J7ngslXyAQeHTaGdhcNkbvNVGaex
AXAJbqSuAGr6w==
Received: from [10.30.226.235] (localhost [IPv6:::1])
by aws-us-west-2-korg-oddjob-rhel9-1.codeaurora.org (Postfix) with ESMTP id EAFC338111E5;
Thu, 5 Jun 2025 01:30:32 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH v8 00/14] riscv: add SBI FWFT misaligned exception
delegation
support
From: patchwork-bot+linux-riscv@xxxxxxxxxx
Message-Id:
<174908703175.2529829.13116744092084054612.git-patchwork-notify@xxxxxxxxxx>
Date: Thu, 05 Jun 2025 01:30:31 +0000
References: <20250523101932.1594077-1-cleger@xxxxxxxxxxxx>
In-Reply-To: <20250523101932.1594077-1-cleger@xxxxxxxxxxxx>
To: =?utf-8?b?Q2zDqW1lbnQgTMOpZ2VyIDxjbGVnZXJAcml2b3NpbmMuY29tPg==?=@codeaurora.org
Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx, paul.walmsley@xxxxxxxxxx,
palmer@xxxxxxxxxxx, anup@xxxxxxxxxxxxxx, atishp@xxxxxxxxxxxxxx,
shuah@xxxxxxxxxx, corbet@xxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-doc@xxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
samuel.holland@xxxxxxxxxx, ajones@xxxxxxxxxxxxxxxx, debug@xxxxxxxxxxxx,
charlie@xxxxxxxxxxxx
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello:

This series was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <palmer@xxxxxxxxxxx>:

On Fri, 23 May 2025 12:19:17 +0200 you wrote:
> The SBI Firmware Feature extension allows the S-mode to request some
> specific features (either hardware or software) to be enabled. This
> series uses this extension to request misaligned access exception
> delegation to S-mode in order to let the kernel handle it. It also adds
> support for the KVM FWFT SBI extension based on the misaligned access
> handling infrastructure.
>
> [...]

Here is the summary with links:
- [v8,01/14] riscv: sbi: add Firmware Feature (FWFT) SBI extensions definitions
https://git.kernel.org/riscv/c/cf8651f7319d
- [v8,02/14] riscv: sbi: remove useless parenthesis
https://git.kernel.org/riscv/c/a7cd450f0e06
- [v8,03/14] riscv: sbi: add new SBI error mappings
https://git.kernel.org/riscv/c/99cf5b7c7387
- [v8,04/14] riscv: sbi: add FWFT extension interface
https://git.kernel.org/riscv/c/6d6d0641dcfa
- [v8,05/14] riscv: sbi: add SBI FWFT extension calls
https://git.kernel.org/riscv/c/c4a50db1e173
- [v8,06/14] riscv: misaligned: request misaligned exception from SBI
https://git.kernel.org/riscv/c/cf5a8abc6560
- [v8,07/14] riscv: misaligned: use on_each_cpu() for scalar misaligned access probing
https://git.kernel.org/riscv/c/9f9f6fdd1dc6
- [v8,08/14] riscv: misaligned: declare misaligned_access_speed under CONFIG_RISCV_MISALIGNED
https://git.kernel.org/riscv/c/1317045a7d6f
- [v8,09/14] riscv: misaligned: move emulated access uniformity check in a function
https://git.kernel.org/riscv/c/4eaaa65e3012
- [v8,10/14] riscv: misaligned: add a function to check misalign trap delegability
https://git.kernel.org/riscv/c/7977448bf374
- [v8,11/14] RISC-V: KVM: add SBI extension init()/deinit() functions
(no matching commit)
- [v8,12/14] RISC-V: KVM: add SBI extension reset callback
(no matching commit)
- [v8,13/14] RISC-V: KVM: add support for FWFT SBI extension
(no matching commit)
- [v8,14/14] RISC-V: KVM: add support for SBI_FWFT_MISALIGNED_DELEG
(no matching commit)

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html




Return-Path: <linux-kernel+bounces-673943-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 68EBF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:30:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1BE663A992A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:29:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6F6CB148830;
Thu, 5 Jun 2025 01:30:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Rzogpc78"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AD399139D1B
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:30:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749087001; cv=none; b=RggeXMh7mkPcgGdJsFldWtUzGsxTblNPcMf4/lZIHqFZGKkRmnuTJmOB8K7i+8sDaxx/U0czywf4vq+AztLG9Q/QSsUdAscfGDxylSZ/VAzrbEslL9sPWR51YFKjESOuSz5BCLP/xrg33+ZqJ3dYk5weGJft7jQ7bXrymDcsCp0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749087001; c=relaxed/simple;
bh=oP7+a5O/kVT97O5DZUoumNvOy8kIxX+bjOp/yCRwUy0=;
h=Content-Type:MIME-Version:Subject:From:Message-Id:Date:References:
In-Reply-To:To:Cc; b=sWtf/9aEYtPdyr+bd0IRQ1ExR2gHlxXyfWHrBm0fIrpMfDHdTy7cahXuWJsDESTbuFifWGpH2BtCabnEyFnBKBUh/rMB5txPuVS3Dd6HnG4vq/O/Wl+Vhksk+yk2rLDhrpzHUv/npq/KDFIyv3iFZIyf8Obffihwl17JzTabGT8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Rzogpc78; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 201F5C4CEE4;
Thu, 5 Jun 2025 01:30:01 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749087001;
bh=oP7+a5O/kVT97O5DZUoumNvOy8kIxX+bjOp/yCRwUy0=;
h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
b=Rzogpc78vuV3bsQyKpsEyyVy9vFIAddvoD6VTrwWrKlLdN9YHCJMgmiJCxThlhUS9
v7hOSZ+knsvmaQmtrSC8LKT2lcp9oNQ8ZNz0j7VtPTPyHmnI0bljh2i16atVx3BPw4
hu7GNczN+Ukcqm+NnxdxA+absqwZKc5evXiCPIGtrCTu/xJ8q2Q5HdmjwR9drL+2DN
rxhMHcFrPL5apS69zJtN1MRO08YALpOVu6z7xaOGlpfkGoNR+DS3fA0OE/73PJYdQC
HDLpxKNWv4SIiCrm4xjbPfU6FFo9t0vBNryfhwanJM/BvWCYeHD8HicpDejX93YBjZ
da6xWnCY1IWnA==
Received: from [10.30.226.235] (localhost [IPv6:::1])
by aws-us-west-2-korg-oddjob-rhel9-1.codeaurora.org (Postfix) with ESMTP id 70D8A38111E5;
Thu, 5 Jun 2025 01:30:34 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH v2] riscv: uaccess: Only restore the CSR_STATUS SUM bit
From: patchwork-bot+linux-riscv@xxxxxxxxxx
Message-Id:
<174908703299.2529829.8532733312132179877.git-patchwork-notify@xxxxxxxxxx>
Date: Thu, 05 Jun 2025 01:30:32 +0000
References: <20250602121543.1544278-1-alexghiti@xxxxxxxxxxxx>
In-Reply-To: <20250602121543.1544278-1-alexghiti@xxxxxxxxxxxx>
To: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>
Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx, paul.walmsley@xxxxxxxxxx,
palmer@xxxxxxxxxxx, aou@xxxxxxxxxxxxxxxxx, alex@xxxxxxxx,
cyrilbur@xxxxxxxxxxxxxxx, andybnac@xxxxxxxxx, debug@xxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello:

This patch was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <palmer@xxxxxxxxxxx>:

On Mon, 2 Jun 2025 12:15:43 +0000 you wrote:
> From: Cyril Bur <cyrilbur@xxxxxxxxxxxxxxx>
>
> During switch to csrs will OR the value of the register into the
> corresponding csr. In this case we're only interested in restoring the
> SUM bit not the entire register.
>
> Fixes: 788aa64c0c01 ("riscv: save the SR_SUM status over switches")
> Signed-off-by: Cyril Bur <cyrilbur@xxxxxxxxxxxxxxx>
> Link: https://lore.kernel.org/r/20250522160954.429333-1-cyrilbur@xxxxxxxxxxxxxxx
> Co-developed-by: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>
> Signed-off-by: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>
>
> [...]

Here is the summary with links:
- [v2] riscv: uaccess: Only restore the CSR_STATUS SUM bit
https://git.kernel.org/riscv/c/4e27ce58e7fa

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html




Return-Path: <linux-kernel+bounces-673944-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4253241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:32:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 5C9B01727DE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:32:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 132DA42A83;
Thu, 5 Jun 2025 01:32:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="cLsb/uA6"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9D3DB3209
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:31:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.17
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749087120; cv=none; b=YIztB08cIseFpZb/rRMJr51w9bUFl9Oc5gmuyrJVpEYHxUN1tlOaYRTq3ngNMtrnyPQQD4InKe3IZCLSeOuBGMK33lzxGS3S4uMI4S9y/z9Wip/jHHObmiZ3I40uNxlkAosparbPqBESyvZuambRWzAwWnVDJgQbQiyBEFgg1c0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749087120; c=relaxed/simple;
bh=Dg7Ex8I2Bb9eye9p3DvMfPJ/1GpGNmk3H2QJunCp9SQ=;
h=Date:From:To:Cc:Subject:Message-ID; b=d7OXixedDKY87q1ka69hLyDhNR985Xdwuflegc5d010NZGa+QeD1Ko0CixNU0yiy3tyh9KUxvH8LO2U/hyjvGdxrrvaWPegXAHZsadDY3Ym/MxxWtJhqAA6glgYGICBAkCt0rrtQ5wBj7BnFyXHfLUx/6YlbMw+k9Lq5dAJcCc4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=cLsb/uA6; arc=none smtp.client-ip=192.198.163.17
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749087118; x=1780623118;
h=date:from:to:cc:subject:message-id;
bh=Dg7Ex8I2Bb9eye9p3DvMfPJ/1GpGNmk3H2QJunCp9SQ=;
b=cLsb/uA6NyRC+t39K+BwH2I+iK7S7uO91NL9VJnjExmyDHwuGs+uWhh1
Gco3N3Ps8Cj+u1I6hKy4bW44DWck8AFjGADpiPV5bUJmyVUwO1+uSFq/F
PG7Nq6akmdysiE8t8vVDy832SOcFCUyi5jG9R9kJcsY3lfFHj5nvBiPFD
w+durY/5Eu7uJM1zHD+VeGCJqY9w5bdmrkY14JrVjMhiqkCJjCeACI9yF
uu081CpTRJXsTwWjBQCEEIveipRT/6CAdn7CMAKObjhrmdqpbmkqhsm1z
6C0Rus9YF2haL5bXsvnV6ahx6uE8s1RAw/qZBzaMcObzIHso1QpNsVJmp
Q==;
X-CSE-ConnectionGUID: tlV08wDaQsKTN482qk2EXA==
X-CSE-MsgGUID: 4vPkWRuwRLuTUkWliZ9nPQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51108714"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51108714"
Received: from orviesa006.jf.intel.com ([10.64.159.146])
by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 18:31:57 -0700
X-CSE-ConnectionGUID: xki37QsnTC2PJHoJHFUJ0w==
X-CSE-MsgGUID: YU1WHzMjR1u1xpW0pupJCA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145244715"
Received: from lkp-server01.sh.intel.com (HELO e8142ee1dce2) ([10.239.97.150])
by orviesa006.jf.intel.com with ESMTP; 04 Jun 2025 18:31:55 -0700
Received: from kbuild by e8142ee1dce2 with local (Exim 4.96)
(envelope-from <lkp@xxxxxxxxx>)
id 1uMzST-0003b0-0k;
Thu, 05 Jun 2025 01:31:53 +0000
Date: Thu, 05 Jun 2025 09:31:31 +0800
From: kernel test robot <lkp@xxxxxxxxx>
To: "x86-ml" <x86@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Subject: [tip:master] BUILD SUCCESS
166cdd887dd119068a97213ba22a5bab7a910b7f
Message-ID: <202506050921.o5xkBHO3-lkp@xxxxxxxxx>
User-Agent: s-nail v14.9.24
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git master
branch HEAD: 166cdd887dd119068a97213ba22a5bab7a910b7f Merge branch into tip/master: 'x86/sgx'

elapsed time: 1126m

configs tested: 29
configs skipped: 133

The following configs have been built successfully.
More configs may be tested in the coming days.

tested configs:
alpha allnoconfig gcc-15.1.0
arc allnoconfig gcc-15.1.0
arm allnoconfig gcc-15.1.0
arm64 allnoconfig gcc-15.1.0
csky allnoconfig gcc-15.1.0
hexagon allnoconfig gcc-15.1.0
i386 allmodconfig gcc-12
i386 allnoconfig gcc-12
i386 allyesconfig gcc-12
i386 buildonly-randconfig-001-20250604 clang-20
i386 buildonly-randconfig-002-20250604 gcc-12
i386 buildonly-randconfig-003-20250604 gcc-12
i386 buildonly-randconfig-004-20250604 gcc-12
i386 buildonly-randconfig-005-20250604 clang-20
i386 buildonly-randconfig-006-20250604 gcc-12
i386 defconfig clang-20
loongarch allnoconfig gcc-15.1.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250604 gcc-12
x86_64 buildonly-randconfig-002-20250604 gcc-12
x86_64 buildonly-randconfig-003-20250604 gcc-12
x86_64 buildonly-randconfig-004-20250604 gcc-12
x86_64 buildonly-randconfig-005-20250604 gcc-12
x86_64 buildonly-randconfig-006-20250604 clang-20
x86_64 defconfig gcc-11
x86_64 kexec clang-20
x86_64 rhel-9.4 clang-20
x86_64 rhel-9.4-rust clang-18

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


Return-Path: <linux-kernel+bounces-673945-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1D12941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:32:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 3F02B1726F0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:32:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CA3D87260C;
Thu, 5 Jun 2025 01:32:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="LiXNfioy"
Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013031.outbound.protection.outlook.com [40.107.162.31])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6E09570808;
Thu, 5 Jun 2025 01:32:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.31
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749087145; cv=fail; b=NVLvUg1qZPahWTYOVbyNCAW91n2J0RedQ0oFPZkCtUFC/qTBymE8KklWhXmkODB3cZyl3+zZ+uMSZKMSJkAKll0oq1W00GQCSOggg/kjP0nXhu5W8Ns7OZ5w6cZS7Zm8+8lIaF8W0aEt+VpoqBTAvzcgJTnksk1KdrNSvhduULA=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749087145; c=relaxed/simple;
bh=ARpbRBUe/8cmPi3yERwtCXttR2WtqbWfWcQhCfCQT2w=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=OD2u/JeEzlVwwpVO8RI+f08tqdGBBrhaKhaHXi5dRwoGgXNznD1czE9/GrX9NymYN1m0fm/K5B/wLbDfSMgG3lfD7V2+UuSudcMsn2WyLiqz4t0gyyapfGudutf4CBqUTFjtRFc/c801T8G29rKbM3Vmbv/rJUbOyUJzU0xfN5w=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=LiXNfioy; arc=fail smtp.client-ip=40.107.162.31
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Eb3riiQRUxnwDpHSEPpvA6MpklGpUuRfi0Y7fVWGeJ9lBDKH/3cMDr/WtlOZtIRmMxu6nvZ6Uq15794x3RMrq5VUJABfzrI4g4dkZRlDkDvb5wyMZocCHoVALYCpu899q/FZBf79fJJmGh+5qrPWdeddhwPQsRM4Oq8pCc7lh7OfPShllwiqAyAClztLl9rSJBwPlIO9yk/9KymxpYG/JXepqUTPmMZMJ88j1uhW6s9bT/ZHjY2HwSf+t/RDEO0Jf98GIqWa3thSJ9CN6w5qa4MaVduTcW8+srI4/l4IPK5stYhHL+NxVMRqB9Xka7OGqNRo7Hwv+44RtuizhTPfrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=UMrQJAUyvaYSEg/uRlu1GOlK7xb87iCzq3PYK4vq5m0=;
b=x2ldcSAneR8ErGA3/8xzouA51ePGz6o6xRBhPKgz5RZxmZrObcUy7kAvSxghFhFn5Sr3E6llkMpz9xCzx84sILMmMdn5fFxocDX/BUFz7Lw2bKyZyTk+rmWyq3U9d0l3pQHiu+SRaF4lRmRPsJQT2A+YlZ5kqJWO/FMZ4IsXDXMNdTGzJaXleO8WeJbD32rpLgQ1PtwlnFJfA8YxvQbTYfXGHWaQiMJngDB57gEBarjoZtp7p+Q6wcZoQGw0x25kL/XiNCibzbxkURigM843VxQpEt+PODDLrD/CjY1uR6b0qpagoJwqzgbYZ5hFTPuYKDeejHVFe3hVv3xQEGbQHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
s=selector1-NXP1-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=UMrQJAUyvaYSEg/uRlu1GOlK7xb87iCzq3PYK4vq5m0=;
b=LiXNfioypeeVQ6dCRDL1QbDlKFRY1B/VOtzTcJZAwgOEetGDk70UaYTiICnZNgfr9PO7DSnBbHYV+0Eve6Q1CbTjMuNbl+fx9GIcf5ebvd2TBAbQ7DJWU5Ky4HKdA0aQfKz/wEUWHi6eJ54oKRlos7eZmwRt6Iyzy+FXSN1VcpPKAbSmdsxKfR9OSJ9ymCqKb+yxs6HkyDIj5iUJ6olyA2f1buRD86Gastvyx3NG+m57j5zMancXTtPZPgfQ75Va7IEDenKBwVl6P2w5BwGD4/JYfatdGgrXh00uQifgKppFvfscF+sqqF4vZYXdtmtQixkOKP7CkSv+zjj83fHS1g==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)
by DB9PR04MB9259.eurprd04.prod.outlook.com (2603:10a6:10:371::5) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Thu, 5 Jun
2025 01:32:20 +0000
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630%3]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
01:32:20 +0000
Date: Thu, 5 Jun 2025 10:42:20 +0800
From: Peng Fan <peng.fan@xxxxxxxxxxx>
To: Frank Li <Frank.li@xxxxxxx>
Cc: Meng Li <Meng.Li@xxxxxxxxxxxxx>, linux@xxxxxxxxxxxx,
s.hauer@xxxxxxxxxxxxxx, kernel@xxxxxxxxxxxxxx,
linux-watchdog@xxxxxxxxxxxxxxx, imx@xxxxxxxxxxxxxxx,
shawnguo@xxxxxxxxxx, robh@xxxxxxxxxx, conor+dt@xxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [v3 PATCH 2/2] arch: arm64: dts: add big-endian property back
into watchdog node
Message-ID: <20250605024220.GE29462@nxa18884-linux>
References: <20250603040230.2012772-1-Meng.Li@xxxxxxxxxxxxx>
<20250603040230.2012772-3-Meng.Li@xxxxxxxxxxxxx>
<aD8MxZUCkzRR0IWt@lizhi-Precision-Tower-5810>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <aD8MxZUCkzRR0IWt@lizhi-Precision-Tower-5810>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-ClientProxiedBy: SI2PR01CA0024.apcprd01.prod.exchangelabs.com
(2603:1096:4:192::20) To PAXPR04MB8459.eurprd04.prod.outlook.com
(2603:10a6:102:1da::15)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|DB9PR04MB9259:EE_
X-MS-Office365-Filtering-Correlation-Id: 931a8125-79b2-47c6-a8b8-08dda3d0d018
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|366016|376014|7416014|52116014|38350700014|7053199007;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?oRowW5ERjIW0/iUd9IHfwE1dh123FSPoOsNFlbPw1Y/FGZH2vAnTh+cCXNXi?=
=?us-ascii?Q?p13lczpn1Yz+KjvNZlOIDh9PBWljSeuElf1vmb3TICJgqq/iM+12ddpSULGh?=
=?us-ascii?Q?cUiBxrR1VsqBXELSh83+0MgO95ibfAMH04T3Y/sO4Igk9g7x9mgGSgoBJISL?=
=?us-ascii?Q?cIyiiOZsRmJlcdH3KIvHOERE0zxm5OF3GpKbVQyxFlavoqW+mgQurJcRZWTe?=
=?us-ascii?Q?ptl9CmssiMfARdRtJmPzoA4eTDot1rYXGvl1erh/78fQDsmn6QUEXFbQd64I?=
=?us-ascii?Q?OM6rgSEiyqelEDQnElN8HOnQt6527LjJMOhwmJ8Ok7AicorI9p8q3ho3Dhha?=
=?us-ascii?Q?qdaWRwDPeoaWUUCu9IZMRsAk/KxWkIKnUPf0e63x4hIcM5fBgnqUnmu6H0Ep?=
=?us-ascii?Q?asqsS1kRfgaQyl3K0Pj3O8TUk8xEx+gqRQkKq6dGzEvLLPX/UfkG2PsjZvtc?=
=?us-ascii?Q?tpMxeSCcDYQIRwiY6GhjAX2qmhNXlMoOZUZwA/qqtYmTUWihaqKZr0Bnk1WC?=
=?us-ascii?Q?Gg+SExdWAXWW0Zg7zFdVX5OgUyqltmo7uY65oEvdKBH382MwQ9v6w2cfDOmb?=
=?us-ascii?Q?r+fH7bKjVai479FVm0enN8tC2MDYuEq1xluHqNBubW6diTajr9jI6HZS9wqI?=
=?us-ascii?Q?UOvkZbObh+5dWRg+pL+IZx9NcBLsVAerK7buRBOTKmKjkejBfQ0G1bwvGJ1X?=
=?us-ascii?Q?WqwMuPnwj/J5uOPSMhgXrgn1SbXq2Xvfj6eNFX34n6OF2mppKRknS6Z3NQ28?=
=?us-ascii?Q?yOFYBtOImli70jWaHQH3BHUc96LCYvpvmn9yZvsL9ix2ZBzOk3oWqnudnsTm?=
=?us-ascii?Q?MBwb0w+d7L/9+1YhiWQg5GDRVl3RZAi1aB9A1HLq93lgX5Ie6WX5vn9XsVtO?=
=?us-ascii?Q?/ri17crG5cGYKKmZ+teUa3ZJDFFpPyJvQvsA2rREzuRjko8SZeROSZ00Pmvy?=
=?us-ascii?Q?wX3CNhGgpBZ/lYFivcl8xLJga5fKgS4iteGILFhzPYDSuYyTs6hw8U4B5tPB?=
=?us-ascii?Q?+79pEhD5p6oNTsDk4t1Wzd/HWoHF96MQ2R/5hDU6tBR9BQ0YWdzkqgiOA1DB?=
=?us-ascii?Q?XClLtDlzR3LlzriVF2i3JLB8odWzIesVlJYbz1p0Qdpz+PPdcPexJi69ZCF5?=
=?us-ascii?Q?tsoBSXzxq+7IL+RRUpXr7h1mxjelVdlRzqstRSgRrtEJewEgnvtbHAK/pL3e?=
=?us-ascii?Q?v6xUqNwwn4bCTbmd6vOKV+GlJqrVJoCyWurSBnZptF7+uc3m5nESUWaMTdF/?=
=?us-ascii?Q?tjWZjICc+d6ROANlLdZkBHy62XXu7AeYu8p7r8lMHOYRTOotdbMlRL6A+hyj?=
=?us-ascii?Q?FauToBJOGhxs+2j3r69ZkVhP3ToRVY96DYu14UG61IgI0ZtNSh4J/wPpApBl?=
=?us-ascii?Q?ZMZxOC4arXouvBZMaTQRY53lqVAHGWNyrMuP+pNcs5J8YsP0wVofywjjE0r3?=
=?us-ascii?Q?JlduAPD9Kipmd4INw9MqQer0SdPWyDmpURvw9IwVA4ixQHakoyM8CQ=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014)(52116014)(38350700014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?YLQ3/kSfKnBg7GERDnHDAoh8jdDDmTpiMWEC/tROu138IBMyXMTnGNEbnymI?=
=?us-ascii?Q?hSXzmwTO1MvI1dOZtT/w+Xe/NgUyNdaI191HI5Sh5aTOzAnsKe4WGkaZyLuS?=
=?us-ascii?Q?r+7BKZKZThVdTAl3RCbMOqIK62jfxfTx+0w3Z8VvtGsdMqsbXiLLm3mT+V9z?=
=?us-ascii?Q?4NRX3nZtzY9vltW537GBzA4gtLckRbpwJGrAL6fKtdxOBbWa2BxCkkW0ZAy+?=
=?us-ascii?Q?2pQS62jSoL9WR3hc/EXgEqhADlK1/+b35n8XcgvR4NLRqSdL6bO6r/v8d7C+?=
=?us-ascii?Q?8EYZo5hvoUAgkHnCLVkr8q4EpwwBJASrekUANB2HBgBFaYioDtWCNJfoGADY?=
=?us-ascii?Q?qTjZdgmyXJOYYK8ChSXYs1BrIf9EUO6NxVjDFRTLA6wiYuhGiEd2lRTozsuz?=
=?us-ascii?Q?yg5HVY/7KknoWpzJXXsnaN4bJtPv+h8OFpBkU/HEhEuf/BDmTQ7XGy2iX87O?=
=?us-ascii?Q?RmGT6ljARGoLgl//vxgWX7D1WXE7sKDd8gTqjGHTPMUDzOKpllcNIwyICInS?=
=?us-ascii?Q?/G/7fduy2oPAuVufhSJu4OTseu3bgn81pYSKBhIIkWD4Gz13tzdvy3ez06Wv?=
=?us-ascii?Q?f9kHuYX1XyWC52ub3wxLuLkmoUJOQQAdzSPdegHscdwih6oZzZwJcWfuuRMu?=
=?us-ascii?Q?R4npejCNypLWycgvNAN+KPncXdhBpm74nuGJeTCEyXxtfnMxIy0wsGiDShHT?=
=?us-ascii?Q?2QUt85X75k3gV3wgUMYFpXbOhg8V4lTj/XnVKSQS8k5XqcnwBkicFF6WXwvp?=
=?us-ascii?Q?4lWbvuUIrzwWyrM7ZpO1gmYT+oWBJq7xMbouxgU9kyPxrCKsy/IDIxarLllN?=
=?us-ascii?Q?/CCD+6qVI+5F+ZwUPkx5g7Qq2y+haw05cgX/viLoNYV+fT9LPahpH5Dip4pL?=
=?us-ascii?Q?Uo62TDexFuzT01jTDdTtTjkxNxMKBhZOqK/EPk/8UPgqGv25H2KhtsK5NWwi?=
=?us-ascii?Q?08sBMOLmiMcOA2r0bYgnQLO3WKBhf1EPYGWPUybcarywgv7Thn3CQi0bnY/0?=
=?us-ascii?Q?OQlaVyAbeGdc7WnjjVH5QU43ocSrMLmWN5BTnRXlIySWuEUVQ2qrtz7QPKhS?=
=?us-ascii?Q?ZgHreYApmHdmrWsaYKtCuSH7hZ7OdAneJftMcfwWTCf+GXgtm6U062RobRIa?=
=?us-ascii?Q?R3lrV1pi3YZJdmv/7mb02vZu8hgSi28Gkum58xCOUcnzkq3C/D5h50ApjwsW?=
=?us-ascii?Q?Vptmz16DUe5UAk2cmOOCh86MRK320oQKlNSvIa+Jsx+WLyvtBEVyywueZi5/?=
=?us-ascii?Q?meOBRmMnpWTqFBSGG3JowOqLnU5dr0GcOQ63wgoaqkbNXzarZ7NW6gbvsfoz?=
=?us-ascii?Q?EhMJna4Clhv3xYN+FXuVtzw4LNQ6mrpBQpB6n/K0SL1mCjbzZ/s8hzJSHY9T?=
=?us-ascii?Q?RPyrDw4G+Gm0cde54lEpp/7FXE7CO7Kn7H8h20C1o+erwClpVs0jgoHL0CvY?=
=?us-ascii?Q?G+KB982hM5hCwtKOFyLaRYbKQtWp/9b0IGrKVYcMCegxiwVApKDuBMyexeUX?=
=?us-ascii?Q?RpIJypd2YyGt2tPBGpzaUVVvq7HEa+CTX0OG4OOVjpkyNliyj61r959xD/AE?=
=?us-ascii?Q?kYO9iGZRILtxEEFf1bgh+O7FhUVOKKIJASdGm7+M?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 931a8125-79b2-47c6-a8b8-08dda3d0d018
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 01:32:20.0270
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5K+DSW1kXy+I+ii5wjcKMDGwYuqWnss96JPc2Ac6PSCC/kFbeTY4Bnwce9AQ2Q+fNtnh+T/kOmmp/hyd0YaeJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9259
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Tue, Jun 03, 2025 at 10:55:01AM -0400, Frank Li wrote:
>On Tue, Jun 03, 2025 at 12:02:30PM +0800, Meng Li wrote:
>> When verifying watchdog feature on NXP ls1046ardb board,
>> it doesn't work. Because in commit 7c8ffc5555cb("arm64: dts: layerscape:
>
>Watchdog doesn't work on NXP ls1046ardb board because ...
>
>please wrap at 75 chas.
>> remove big-endian for mmc nodes"), it intented to remove the big-endian
>> from mmc node, but the big-endian of watchdog node is also removed by
>> accident. So, add watchdog big-endian property back.
>
>extra empty line here.
>
>> In addition, fsl,ls1046a-wdt allows big-endian property, so add it into
>> compatible property.
>
>In addition, add compatible string fsl,ls1046a-wdt, which allow big-endian
>property.
>
>>
>> Fixes: 7c8ffc5555cb ("arm64: dts: layerscape: remove big-endian for mmc nodes")
>> Cc: stable@xxxxxxxxxxxxxxx
>> Signed-off-by: Meng Li <Meng.Li@xxxxxxxxxxxxx>
>
>after above small fix
>
>Reviewed-by: Frank Li <Frank.Li@xxxxxxx>
>
>> ---
>> arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
>> index 0baf256b4400..983b2f0e8797 100644
>> --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
>> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
>> @@ -687,11 +687,12 @@ lpuart5: serial@29a0000 {
>> };
>>
>> wdog0: watchdog@2ad0000 {
>> - compatible = "fsl,imx21-wdt";
>> + compatible = "fsl,ls1046a-wdt", "fsl,imx21-wdt";

So ls1046a is really compatible with imx21?

Regards,
Peng

>> reg = <0x0 0x2ad0000 0x0 0x10000>;
>> interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
>> clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
>> QORIQ_CLK_PLL_DIV(2)>;
>> + big-endian;
>> };
>>
>> edma0: dma-controller@2c00000 {
>> --
>> 2.34.1
>>


Return-Path: <linux-kernel+bounces-673946-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AB50641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:36:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B70673A8C52
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:35:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7206F4AEE2;
Thu, 5 Jun 2025 01:35:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="t/DaLJDm"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B4D458F64
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:35:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749087354; cv=none; b=aDfb+Ugw7K0v0ANbvxa7K/HbCGX8LVDXKICu/P4JXVrH+r0ffe5w+V3Z18jjOAmbjovWhK/xGEStji/DfTdGyK5u4dcNWJtWAUpetBK1ev8XAaC5o5k4Jvbi61YKdSyBiSQcThK+w7N+pm7T4372Lv3Z4ZBmXv/mwRbb5ez3mzk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749087354; c=relaxed/simple;
bh=4RXk8f8EkB/3oJ32sdPfocuVh+q/Yys+CY6YmDBvtLI=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=ueCHfJFDYkUU69qVb7/iiBOAjghYI65VtBn/qONbwFM0/1WkgJSh3m5YywUW61H6RyRk6y0aj4jRI8Xc8XLO37LmLGiOPWIGI30WICnfAK4QuD8rsOzjixsKU1eIOA1PQdcr/1h3X0eE5wM5FSqE79KE2EHh4AUKs4S+ztYo0k4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=t/DaLJDm; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 396B7C4AF09
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:35:54 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749087354;
bh=4RXk8f8EkB/3oJ32sdPfocuVh+q/Yys+CY6YmDBvtLI=;
h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
b=t/DaLJDm7Bbztq4ZSQgSfTbEQ2CeZyyEuXbb51PKmE6YxJ+DaiK87EIsb8tfnSB78
VUMfRZ5JO2xKG76cEh+c263tK+vI4N/nLYfm0KdUKSVFLa49GTHtYEzMf5JAsdpIes
Fw18uQPqoJ/Fk3sqXpY81rVtMJl5u6QuVacFLXL4x4cCt1nQQztJD8wGFGzs/U8w/k
VL1cKwROIC4+A/DlSj3bLmJIHqZXXOajXPyxhnuqEOImpEoMvyzfxUeoeR+WZ3qXG3
Bfw5uu9LJD2fmBdkWV2BafFx0syvqG2vpaUZu+Eui35C0cGBQdUWWEQwgbudZbAnog
NTQ1eQf5KCTTA==
Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-602e203db66so732130a12.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 18:35:54 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCX0zdste7RXwSvArkxLLO16JUdrvYEgvBtQN+9mScB07CGS38vZcg8hNMh3RfKRyH6gjh3K8DYs5ZO4SDg=@vger.kernel.org
X-Gm-Message-State: AOJu0YzzxVw+mEP25L1rcxjEW7gxjDN9o0XSj7+JmA2GwK3eKaLIe4ui
ajRzDMtsqjFyS01zHybQTGIFslIWNr7aExjKLTVvWkSi6zIPaR44DIBDdSLuPF1Y7Cz7TYqQtd7
SdK6863joupQ5/fgDlG+Ngu4auM9Aun0=
X-Google-Smtp-Source: AGHT+IH4UnRqhPWLuPo2FSLiR1pJcQVvNb1gSqgjVarPI/UAaFyvX1m2wjEm2/UyOAI7UXmspLHHTfnWNdDqdkF7A2E=
X-Received: by 2002:a05:6402:1ecf:b0:5ec:c990:b578 with SMTP id
4fb4d7f45d1cf-606e9694034mr4945973a12.19.1749087352757; Wed, 04 Jun 2025
18:35:52 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250526065512.13215-1-zhangtianyang@xxxxxxxxxxx>
<1876bf9a-a77d-40a5-bedd-643df939bfbf@xxxxxxxxx> <93915902-0a91-921f-1953-b35f1742efb6@xxxxxxxxxxx>
In-Reply-To: <93915902-0a91-921f-1953-b35f1742efb6@xxxxxxxxxxx>
From: Huacai Chen <chenhuacai@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 09:35:42 +0800
X-Gmail-Original-Message-ID: <CAAhV-H4_ERm8cZ-Xzeie2wkZKi5VVCT3qi5xeuRTYQvMYC=pTg@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFtdFyvzZPZ5giLq09aBpz7LpbU3m5nyunlEN9HUMd3phao4bf-Hy8Y02TE
Message-ID: <CAAhV-H4_ERm8cZ-Xzeie2wkZKi5VVCT3qi5xeuRTYQvMYC=pTg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH] Loongarch:Fixed up panic cause by a NULL-pmd
To: Tianyang Zhang <zhangtianyang@xxxxxxxxxxx>
Cc: Yanteng Si <si.yanteng@xxxxxxxxx>, kernel@xxxxxxxxxx, zhanghongchen@xxxxxxxxxxx,
wangming01@xxxxxxxxxxx, peterx@xxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, Jun 5, 2025 at 9:17=E2=80=AFAM Tianyang Zhang <zhangtianyang@loongs=
on.cn> wrote:
>
> Hi, Yanteng
>
> =E5=9C=A8 2025/5/27 =E4=B8=8B=E5=8D=881:47, Yanteng Si =E5=86=99=E9=81=93=
:
> > =E5=9C=A8 5/26/25 2:55 PM, Tianyang Zhang =E5=86=99=E9=81=93:
> >> From: zhangtianyang <zhangtianyang@xxxxxxxxxxx>
> >>
> >> Fixes: bd51834d1cf6 ("LoongArch: Return NULL from huge_pte_offset()
> >> for invalid PMD")
> >> ERROR INFO:
> >>
> >> CPU 25 Unable to handle kernel paging request at virtual address 0x0
> >> ...
> >> Call Trace:
> >> [<900000000023c30c>] huge_pte_offset+0x3c/0x58
> >> [<900000000057fd4c>] hugetlb_follow_page_mask+0x74/0x438
> >> [<900000000051fee8>] __get_user_pages+0xe0/0x4c8
> >> [<9000000000522414>] faultin_page_range+0x84/0x380
> >> [<9000000000564e8c>] madvise_vma_behavior+0x534/0xa48
> >> [<900000000056689c>] do_madvise+0x1bc/0x3e8
> >> [<9000000000566df4>] sys_madvise+0x24/0x38
> >> [<90000000015b9e88>] do_syscall+0x78/0x98
> >> [<9000000000221f18>] handle_syscall+0xb8/0x158
> >>
> >
> >> In some cases, pmd may be NULL and rely on NULL as the return value
> >> for processing, so it is necessary to determine this situation here
> >
> > Your description is a bit vague. Could you please specify
> > on which machines and in what scenarios this bug can be
> > reproduced? I believe such information should be included
> > in the commit message.
> >
> > Thanks,
> > Yanteng
>
> Sorry for the late reply.
>
> I will provide more detailed information in the commit of the next patch
I think this bug is not machine-specific, just provide something about
the test program.

Huacai

>
> Thanks
>
> Tianyang
>


Return-Path: <linux-kernel+bounces-673947-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D23A241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:38:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B45F13A9C95
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:38:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E54FC13A41F;
Thu, 5 Jun 2025 01:38:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="SFzhT8Ed"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 087FA3209;
Thu, 5 Jun 2025 01:38:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.10
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749087493; cv=fail; b=JDDmBLLo93NrU3I4zsuEB5aMbVawkRMs2oy+YtFdAXmJL9iGmn6vnoTRI8hkmMSPNLxadjdAdOhhGfk2NFoxTddf/1P3LPp20EyocS2Y8rrLtNUan5TDweTxQULcJam313AqVVYDjHYk7uokvHdbboJooUC6fm46TGgXCYNlC+s=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749087493; c=relaxed/simple;
bh=AGj+aeqjKVAFivXiyiJYEs/2sAuUGl4LmvFhsC/o6pI=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=oy+SvUIyvZVlZvfc5ZMS8b0UKPyNz0XeiXTCrRJstrc2vg4K84FzzSsZWaeQaIXR3W3rF0XulcVS2XUCRmMCADPFaifnaMxjK+yQ5BnymggX/UpX/FLu7Zf6Krps3xlv9GRIIK+Y3+6Fraffi1NRbsXmPTo+TQ2znrXXRAkhGvo=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=SFzhT8Ed; arc=fail smtp.client-ip=198.175.65.10
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749087492; x=1780623492;
h=date:from:to:cc:subject:message-id:references:
in-reply-to:mime-version;
bh=AGj+aeqjKVAFivXiyiJYEs/2sAuUGl4LmvFhsC/o6pI=;
b=SFzhT8EdjfCigy+7dO7i4SUsfFTbccZy6+C4oylNHplf53BYIp2L6u2d
b1+1BTJVedN+PnjgkbdDykuKRmL8nELKmTB7RLC1Hpqs1Iw81W3yeUYx8
DivHImz4JjvqC3ARwW8hBgDvBfNewgo2JyVJfj4KDZ8JO31OVhdsMCeJ4
UOeSeupeJR2lW3mwTD1Z+oj3r3jyPNAOBNfoYplW2nUdIUXuCHqmclRoP
qihd+a3FpeqfV0VgptwIIQo9BkP5W+REiLSEQxjgVisq2lKMBX91hN03i
VrfcRrl+mR7OwgmcqilFNHFQA5lCY+dEbIS2d/gEkblhLctetulfeTHLG
Q==;
X-CSE-ConnectionGUID: gEG7NesJRwevB27yEsWv3A==
X-CSE-MsgGUID: N73Z52BxRlmyTIm6YMI8Aw==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="68627987"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="68627987"
Received: from orviesa001.jf.intel.com ([10.64.159.141])
by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 18:38:11 -0700
X-CSE-ConnectionGUID: zHqGCrLLSpOpI3zP4vasbQ==
X-CSE-MsgGUID: NMQpJrGcRFab3SXC49wmUQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="182562649"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by orviesa001.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 18:38:11 -0700
Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 18:38:10 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 18:38:10 -0700
Received: from NAM04-DM6-obe.outbound.protection.outlook.com (40.107.102.73)
by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 18:38:10 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=BUJGQW2UqBEkQ5bcdWjL1KmtnqE3ObJGXoGbf+HQlzBtapW4Rnc5J3HFx+oYMZj/2knfMYKG6DFUGQ/hnq6/y9hbB4oTA/3WJVVNnJWXlT4cgGOFjotodFyMzFa3F+r71OSkeCwN5yV6HY/WicrPVLsdyQELkGT5qRMHD8US9lEL4My8MQMKZKWkS0qTaOLgGiLEkNyK78GKGta7eWBPh51kQ+NxATwuPDa2AfVwb0R6OloqyrIUCNheDcCXZWzaLrRa3vzGB6REXOIv988gj7C6OfigIZqcoUdq2JOdM73Is4ri0eOevMC19e//968MxJ1X/DVE6QMGLGt09yd6tg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=TgpsqDkxcn8QeUWsScfwyCPAeddsdW8Kb6y9zFKne6s=;
b=VRVmybhx3ZvsAz+ZmFjOFlUH3nprakKSHjpeFPoJw4Flms5JSJ14Z+n7tbWs39ENfQcpbT0rVQ13EPKgP483C9q8sfmXV+iIwMr7q6etVq10CIzfVfVviroYoW9b+1DtaSRhu9guzXmeFYsDFPf1YD8IPzxiOII4Rum4xmnPh+/uX8YbJzKAwOnnVWzJgzUMFgqvP8kbX2NxwDPDOj9Wrfcp8DSCzv510wHKpHOZcL/wi1sxMmbuc4rf3AHiyrz5x48Q0W5jt6JGyPgwD4Y/39B95M0KMYoRiJn77LTfBSRzR3joPdsP3qmadKFv92S8Ucwi59P7K0lIZLSyd6x7fA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6)
by IA1PR11MB6242.namprd11.prod.outlook.com (2603:10b6:208:3e8::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Thu, 5 Jun
2025 01:38:03 +0000
Received: from PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
01:38:03 +0000
Date: Wed, 4 Jun 2025 18:37:58 -0700
From: Dan Williams <dan.j.williams@xxxxxxxxx>
To: Alistair Popple <apopple@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>
CC: Alistair Popple <apopple@xxxxxxxxxx>, <gerald.schaefer@xxxxxxxxxxxxx>,
<dan.j.williams@xxxxxxxxx>, <jgg@xxxxxxxx>, <willy@xxxxxxxxxxxxx>,
<david@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <nvdimm@xxxxxxxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <linux-ext4@xxxxxxxxxxxxxxx>,
<linux-xfs@xxxxxxxxxxxxxxx>, <jhubbard@xxxxxxxxxx>, <hch@xxxxxx>,
<zhang.lyra@xxxxxxxxx>, <debug@xxxxxxxxxxxx>, <bjorn@xxxxxxxxxx>,
<balbirs@xxxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <loongarch@xxxxxxxxxxxxxxx>,
<linuxppc-dev@xxxxxxxxxxxxxxxx>, <linux-riscv@xxxxxxxxxxxxxxxxxxx>,
<linux-cxl@xxxxxxxxxxxxxxx>, <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
<John@xxxxxxxxxx>
Subject: Re: [PATCH 02/12] mm: Convert pXd_devmap checks to vma_is_dax
Message-ID: <6840f4f65a981_2491100b3@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch>
References: <cover.541c2702181b7461b84f1a6967a3f0e823023fcc.1748500293.git-series.apopple@xxxxxxxxxx>
<224f0265027a9578534586fa1f6ed80270aa24d5.1748500293.git-series.apopple@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <224f0265027a9578534586fa1f6ed80270aa24d5.1748500293.git-series.apopple@xxxxxxxxxx>
X-ClientProxiedBy: BYAPR01CA0025.prod.exchangelabs.com (2603:10b6:a02:80::38)
To PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|IA1PR11MB6242:EE_
X-MS-Office365-Filtering-Correlation-Id: b6e15110-6b18-4268-f4d8-08dda3d19c98
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?lW5bg1r/mhCCdlV69bKn9AXX7xxpnAYFzeJLow9o1rRGqgXSNyWSB8VClRWx?=
=?us-ascii?Q?UpvjaL7oGaIY321vsxUrZiDIyE6/69myVAhFGryd4lwGsHWNusm9vF7xXE9F?=
=?us-ascii?Q?LS4kyIylkaUj7eeo8ApsRzofO75PXFj5BtXXiUMlqQFL6iJb2LR8JxyZdn9P?=
=?us-ascii?Q?cJWuBMT7SJxCMKujt0dWdOJ+G0JmSfbQCfOHNqY9tHwfN9/4lfIA6HqwEiG5?=
=?us-ascii?Q?M5DzqHlSp+XUBOIGVOS2dlNteBeRxjPQLp2u8inbRrHbKBLHcbPpiWqfA9sQ?=
=?us-ascii?Q?3eXIsNKPS3OE7Z3AjkSVLuIoquxsDi0aYNyuF7MMkr2MCEvKOsORxWUGTdyu?=
=?us-ascii?Q?9aWh92MGcQKUxuzrzKY79IfDaTHMlNdbZuOxlt4n9dMdy/eEJNbI/Yi7E7sI?=
=?us-ascii?Q?3hWX1c68Rg6ogXe3qN1+pH/tiPBSrrPg0LNypLVp0910eWrNxjT8X4uadLzX?=
=?us-ascii?Q?iDg/Lp5fb6h8BvEPff4SSoQbGxeImoa30QihVmXYnuB94exnPjp0vgrJ6oIB?=
=?us-ascii?Q?zPXE5dY9dqcBU6fVIZozlIh88fS5eLq3j1Q0aA2znOgGGZLENjAGdC8MdUEQ?=
=?us-ascii?Q?HJu/iedy4w7LvvPfN7KYu0JyQTl5AL8dxD1bbqc1AqzDJfwi8wE983amfQXC?=
=?us-ascii?Q?Kq6Hv8AjAC+7FGcKL5OMT/MIObAqr70UxiOBOPIKtcG/ZMXf4grU+6u7XOTk?=
=?us-ascii?Q?TQEQVQenEUtaOrjchfYMGChPMWmE80Wodk02EfRJ4I49aBTqMts82Btn0Iw0?=
=?us-ascii?Q?whCR/+QnhCH7xAb2V5DH6YL/aEYPGlIig0OTf3DInomjcTuHx4Duu3mmwRzA?=
=?us-ascii?Q?JBluN2RjgK3Ih5gZvNboCd/iUmHVLnPM0DwFkz9l1EhNlDKUBzjR7+uvtK4v?=
=?us-ascii?Q?YT1pJ6ppSqNrYB3ntO7bw91pWViqq8OfE7QW6LF3AWAV0BxhLl9+rl182rYA?=
=?us-ascii?Q?0bnSNyE4FiMq2hdc9pQL/3Sa9eWyT/LsCTqd66TbD70eOEH0fn3y7tjEVJqJ?=
=?us-ascii?Q?nEDAw93Xo89lcE/Mnynez27KDzW5BBs7N4V9+/ulrkOKOmxj/+SI+wt/tA7G?=
=?us-ascii?Q?ukXM96XujmBzXVu3LWq8SmwX9WahNM/s059QZ/I/HudhtxN6ki06RJKOKbQn?=
=?us-ascii?Q?6vAAfaBL5aM6J4rhAM4gbkE4cH4P7IrqxQb81BeIOgN/dSWrl8G+I9T6NwN8?=
=?us-ascii?Q?9Ke+bTeFU2apSBxqn9DmKtN0tXEEWYHXbXHp5Ypogwa0OHELNs0PrIgt9Elo?=
=?us-ascii?Q?zvMduw2rvzExYnzu6Y3PouytOtd5GWvh7mJUkmld3kvKlEZlr9mX7Po/cSzZ?=
=?us-ascii?Q?+iWc2Jxq/oLDo05CptSiieOGdwROG6FzllXE/qDQYajNgJZ679aDJjVskK8L?=
=?us-ascii?Q?/UmvASaHnVODUHSv/H9Eb3r+mUBATfxAbLhXb+7NMlI2FJWzQ3G/5f4fZOLU?=
=?us-ascii?Q?ChrH0LMTJH0=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(7416014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vRSxZ10/swKa4CHSWm2C7YUtBe7g7XKEGAKjq3F3iJXRG77QAiI1kVNury2b?=
=?us-ascii?Q?J5cfaKTMekxqtN9NfyLAk3j3G1DmXylcSR4AB2G7c3ArlVWSVf6zyEL9QWzD?=
=?us-ascii?Q?giQAUgPhZqsYF0+wRMc6C8N4KtSS8Nru9bh/SjZUNEv8MM/fGm8LjKAxtM+Q?=
=?us-ascii?Q?oFGPJ3+DA/80W3JpTZDMEF6rvBqaFPCsgDhUHylNBRtqUSfCEEpl8GmaWIVX?=
=?us-ascii?Q?IWlO0J3mQ8sLSg/Yolodwy7Bzj+BVd01cgQJinQxVHxPWR/OErT5m+Ck1Fjb?=
=?us-ascii?Q?Mt2BWcTez7N1LvwasrFnOD78F0Ar2zW3Gd8eZUHwENu8Op8b07MTDQoiGi7s?=
=?us-ascii?Q?qQWEeUNovUSOUtSep5Q+6qrt86Ug6KQeKNSW5K9XojShUdWLWBf5ILbRp8Ys?=
=?us-ascii?Q?hr543k5r6aCadn6FbcquxeZYaboDOSHlBw0cb+mauuC0BPYFGd0o6HKy5kwh?=
=?us-ascii?Q?wBpZ9GO0s/QFaPAAl1RxHfaczFzUeJYVyO4mwCkz5qv/9PXQNSgeqgZOf52W?=
=?us-ascii?Q?etK2NnKUVDythOdbMlQeZq1i8ZSoK+Mj9RaqEh0vpha1xRI1nKanUSSe03wR?=
=?us-ascii?Q?we4+k+jUm25szkirV9zGEIl+YZ2AgOENn/83o/vsaFm1piLHJ2aKrAYMIFNc?=
=?us-ascii?Q?BiwmVxPLE6uX/8rAKzcbGNeclUBRoRNABcsUefybf38bkMF8N0t2sWclqlQt?=
=?us-ascii?Q?8wOAOCtoPfLkxcgShMwc2Im1uBG9/b9Uynmm3Tgc4wIy33eXiGQ2SwJGwj03?=
=?us-ascii?Q?eBCsyUJJc7EeHy+gO4ky2BS2OrdOyqRrNHFQLMW86LQSnlHr2onTgr2AJvTS?=
=?us-ascii?Q?ZwjGTbwMNTeatAho2zkiGm8YCLVfCFouS7ZP6jezPYFXPYKxOmu8TOGyHUuc?=
=?us-ascii?Q?WDBugLUx6MVtGN/13EggV6gtVgRs/BBQ6N7YkUuaS0IB5zbOHX1GDzbX7y9D?=
=?us-ascii?Q?fFhc1GX+ppC+ts65r4SOfpr7Vn8HBvj5rhFz5CHXwq3ZA78vqjMOC+AwI5tM?=
=?us-ascii?Q?FLiFCJ94zmxcMLQMfq4te93ljLYW+zPdD3RiNtTjVNePSpGdDpxczQ7ORM1m?=
=?us-ascii?Q?/RgMPwhqkd6DZ1+tQY37N2hTT3wQT3v2o48AontVU5dFTtVfFEpvsA22PCZQ?=
=?us-ascii?Q?XGujzbDRlGOmXnIaTJxjjVev61z3uHUJyYPXH8gM0Fp89olRyCGpUiOZxhtP?=
=?us-ascii?Q?UXHadCr2El4vIdy6a5kr0zyeYJHD+wIKoORjzaXlKSylSB3X/bbNlHYPz4Il?=
=?us-ascii?Q?zqxKMvcSLsm53ZcZgCmMfHNogGIEmx/XEHYYryeya4ugPxPwGYUGk6l/1fCh?=
=?us-ascii?Q?GITDoK/8d42I8u9R/m/xty+idXaNkptY/BwUmZxYQdWK2RS1vjRFsCxRvFF/?=
=?us-ascii?Q?xATNBOHz43Mzg0RrTJb6bGx4pj1n6OLbOAVLf6dWAoAVFYHf2Um8Xj3PT8gC?=
=?us-ascii?Q?M4MPUku541WyU3+OlgHDoY8pwvzpo1dx07hziCGYT+SElxqJjPa/JadNsdc0?=
=?us-ascii?Q?kThpYiUZkbwknWW3MkE5E8kwY3RLxd+tlVkepvLD+RUoJq7g63TJVt5Cmz4m?=
=?us-ascii?Q?jTW+92MQdCILVBSaBNbdy/q+KLD+GeSfgp7dOKLyCPOoWRKRXwe9eq4D7ckc?=
=?us-ascii?Q?Sg=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: b6e15110-6b18-4268-f4d8-08dda3d19c98
X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 01:38:03.0983
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VkeZN2X/UyCsf+Np3b+qWHCmILQEglBeCvzFdCC7hRBCI5NcnIZadQmyuNX4GBO8hA/cx1100G6EDJtk1RAtp5vgfOddQO+JdVqd590VbDs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB6242
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Alistair Popple wrote:
> Currently dax is the only user of pmd and pud mapped ZONE_DEVICE
> pages. Therefore page walkers that want to exclude DAX pages can check
> pmd_devmap or pud_devmap. However soon dax will no longer set PFN_DEV,
> meaning dax pages are mapped as normal pages.
>
> Ensure page walkers that currently use pXd_devmap to skip DAX pages
> continue to do so by adding explicit checks of the VMA instead.

tl;dr:

Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>

So I went through all the p[mu]d_devmap() checks and indeed this is the
set I also come up with that are implicitly checking for "dax" instead
of checking for "is this a larger than base pte size mapping".

While I am a little uncomfortable with the generality of calling the
policy "dax" in these locations I think it is ok for now. I.e. the
fundamental detail in these paths is "huge pte, but not typical
page-allocator THP page"

Also I would have felt better if some of the leftover places that are
doing "dax" checks but not updated were noted in the changelog just for
review purposes. Like:

"Note paths like follow_huge_pud and follow_pmd_mask also have 'dax'
checks, but those paths are for maintaining dev_pagemap refcounts which
no longer (since v6.15) need to be managed for dax pages. A later patch
cleans those up."


Return-Path: <linux-kernel+bounces-673948-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8023341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:42:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id ABFC77A9D8D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:41:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1476513B2A4;
Thu, 5 Jun 2025 01:42:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="RBrR7rnw"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8BEE9487A5;
Thu, 5 Jun 2025 01:42:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.19
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749087762; cv=fail; b=Tzt04DlYDSHiYEcVqrQYuDEdoLTGhO85jmfxvRrTiIzYraU1mznRRUZamGNZ6TAFDGyosVqzVHfaYe3FidqMkmqM6pm3mV/WTA6j5ivuq7d7iprk8du5vAtDijpIn8P5YMoMRC4UcdZJzNKxDesl8yAVjaE+3r6F0XufDKQIR58=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749087762; c=relaxed/simple;
bh=CZWOYrP0yauDQ2h2C9lgJfvMSuVRPqIgNYt5I8vjZSk=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=Epkt05F/qTb7GtKElYjW1v23aNECfdKtz0dVkTIbPBF0ZOqZD6M0l1GGdv/X+fShNIQq6l7l0iXVhW2BWlNdWHlaABhj3jalAEqaJ/ubKsMg0dOFlvodVDU6Lj5dNvCeMGtpQM2/pw38kZqEqi0T6SigTOyCs0g+e2ngEPhXPbs=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=RBrR7rnw; arc=fail smtp.client-ip=192.198.163.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749087761; x=1780623761;
h=date:from:to:cc:subject:message-id:references:
in-reply-to:mime-version;
bh=CZWOYrP0yauDQ2h2C9lgJfvMSuVRPqIgNYt5I8vjZSk=;
b=RBrR7rnwo3gps1XzSEC4OkO/Ag/tatt9z4NF//SCKvu3Y1KgOeV5Pxxv
zmBc/3FtXGOXyBKr7Pnoek8rvf0PFhUC8zHy7ZqfM0OhgqI+QmPE7XIum
TKb7clnEt4Zr9oaUIS8VeJFKE3Dq8FAdqNQm7KZSmkTIcNFEMjdANJHo/
YVfyk86Ycol/B3hAbzCA86GA2XaCKsXLQMxh6ycH5vlq9igQIDoqviUVf
fyoM3AA8BlxdL0ex6HazCED5j7GmbyXCjjXsOV1EmqqNdEx8TMtG621vs
kbC3OVTFG1wOrgp/kXjP1AaVTasSnOARCZMFu/uLzJQ/Jr36n/Q6obfwO
Q==;
X-CSE-ConnectionGUID: MYOI3NDVTPuFzczI7q9AcQ==
X-CSE-MsgGUID: hYchZbr4TP22R91AXBCttQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="50307034"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="50307034"
Received: from fmviesa005.fm.intel.com ([10.60.135.145])
by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 18:42:37 -0700
X-CSE-ConnectionGUID: F3dFQ5LMSAi6awq3NVTR+g==
X-CSE-MsgGUID: XbiD6OEFQ2q7gX7rZO+6FA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150229485"
Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25])
by fmviesa005.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 18:39:56 -0700
Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 18:39:56 -0700
Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 18:39:56 -0700
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (40.107.223.46)
by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 18:39:55 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=p59HILs9+FY7Q5xBB2Yzbbmdwlw5ncXf0EV9rZ2S+RRGaiiESJOzuzN9l30esuFX59YbcLeaJcU01Rt1ROKZHhGfQaUdrHZulAGzggTfp8XMT4+fKX8BFvrj/R9OHTR5VQRvZjpFFc2LROASOiFcODOdL0rTo/5NguFfeLRbN3GukTifz1ZydrK8EmZRwj6MM5muN5fCN2r0fq3gTDae+LhCV2cBqFKEwMv0ljwOJ6mhnc15v8QWL5rBBESFVmSCLhHmSRwJ4FHqMXOT/AUGFJuQbOD+PZ1UIE+8UmMUwG9zEnReYGfDLuMqO03W0nOT1t+CaIxAZtQTevkmAiHKsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=2i/rP31qF3JI9NzuuIO3GTSvtgnYf7oBvUgMayrGmH4=;
b=aHvP+jiH3af8+VM0oKDKPmAMoQD0HUhHhWABjFuyGoRYl6D/xVfkrr1C0tDrQJby8RbsLCR//A2draZU1oLd5zL+p1s5TEUzlsBwV+9P96LkjycHDhlNdtonBh/6+Dqdx3a1ny88Xwwr7x734lqc9N/6T3KUy2FnAn2K+wEeUFSRxGvszGPGMFreGkRsB6qKQ0JZTVfbttpWNgfv6VIQNOpXUspERLv4QPhUbjBxNoOIdxFlkbpZMLwi4eC6cAaonTW1LfrHgbpS6L/ppF0dIzFkKAtrKe/wMRZ3+O2K0WJTyvTEW0Qodping+pqHSZZVfolVC6vuc4P9xV0TPkUDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6)
by SA3PR11MB7434.namprd11.prod.outlook.com (2603:10b6:806:306::13) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.24; Thu, 5 Jun
2025 01:39:39 +0000
Received: from PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
01:39:39 +0000
Date: Wed, 4 Jun 2025 18:39:35 -0700
From: Dan Williams <dan.j.williams@xxxxxxxxx>
To: Alistair Popple <apopple@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>
CC: Alistair Popple <apopple@xxxxxxxxxx>, <gerald.schaefer@xxxxxxxxxxxxx>,
<dan.j.williams@xxxxxxxxx>, <jgg@xxxxxxxx>, <willy@xxxxxxxxxxxxx>,
<david@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <nvdimm@xxxxxxxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <linux-ext4@xxxxxxxxxxxxxxx>,
<linux-xfs@xxxxxxxxxxxxxxx>, <jhubbard@xxxxxxxxxx>, <hch@xxxxxx>,
<zhang.lyra@xxxxxxxxx>, <debug@xxxxxxxxxxxx>, <bjorn@xxxxxxxxxx>,
<balbirs@xxxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <loongarch@xxxxxxxxxxxxxxx>,
<linuxppc-dev@xxxxxxxxxxxxxxxx>, <linux-riscv@xxxxxxxxxxxxxxxxxxx>,
<linux-cxl@xxxxxxxxxxxxxxx>, <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
<John@xxxxxxxxxx>
Subject: Re: [PATCH 00/12] mm: Remove pXX_devmap page table bit and pfn_t type
Message-ID: <6840f557bc89f_24911009d@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch>
References: <cover.541c2702181b7461b84f1a6967a3f0e823023fcc.1748500293.git-series.apopple@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <cover.541c2702181b7461b84f1a6967a3f0e823023fcc.1748500293.git-series.apopple@xxxxxxxxxx>
X-ClientProxiedBy: SJ0PR05CA0001.namprd05.prod.outlook.com
(2603:10b6:a03:33b::6) To PH8PR11MB8107.namprd11.prod.outlook.com
(2603:10b6:510:256::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|SA3PR11MB7434:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ff58ba6-256c-43fd-156c-08dda3d1d613
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?N66LU0Dw4fJJtta48YhRqz4HKa68+8V6hdIwjxdc2DwQaHQ0TwyZwtvv+PYX?=
=?us-ascii?Q?LMr9xRk5EUMjRaOwZTuGsxeKqnO5aZ9OKfgdQigfSP+RSMppmD/EZmdnNeOI?=
=?us-ascii?Q?g428Ltv7kCf4/vMyYYIz2QLVcuTmhJtE34KZwJWvR8lYYWlrsNKL1mqErVSH?=
=?us-ascii?Q?w9Z8jjeSBOMhtcgHhnWU6G5uYK4MAd6cRTs/OWek64y1H8LgXVifG9NNu3YU?=
=?us-ascii?Q?mugI0Vp0Lj5RMufMM/UUDe4DPTv1XQdRd6oAb9kGhdJA72Mxu0c1vD+RhiSs?=
=?us-ascii?Q?QVCayP7yiED8OkWWXAzCgT5InsnfMYoD9ywtCf5ysyxw/4CAgGVndmZLN9/o?=
=?us-ascii?Q?wYlZ02hefw6SgwR530sE16KZycbtzPdXBnnLSGD0HgKOqQvouNeLhBx2m8Gp?=
=?us-ascii?Q?RzFIRiA/PEZqrvIkj5pYXypsji6RuZuNk3UKdpzeTpuGkX1QgxVJMKOWYgOj?=
=?us-ascii?Q?JjGA+9FZlypOJ7MwqWGo7hYB/aMQ04RDj55x5iQcPAhbI8OH5fByEdO73v9W?=
=?us-ascii?Q?a2pVq+uu+v4XUvKtrPg05Qn4VaIh0sl2Cq/F+j1mnUHHJgFbDVX91KnWh98t?=
=?us-ascii?Q?ekfc2ACjYsKCnDKITr5UtpLk0xH4cH6A99a/7TvXS8s35GEGCTViPlZF+U8D?=
=?us-ascii?Q?7FjAE9ail1BzHFFjM4YoIlkTe4txPhfnzRHG8iD+8N4Jq7lAQ/ilRD2MG/e7?=
=?us-ascii?Q?z7e7Ir9BYF3wxXTmmMqOIvEnNf1GuG5r35z5lcHlDL4fIfJm+CAXIvmrKh8U?=
=?us-ascii?Q?WQH/CFCAt+jGSy5uotB1AbHrxmuf1MBKbZkaGdEqNv6SrDBZXWSHqT19E9jT?=
=?us-ascii?Q?SJ3lTTJW1DM/AeDTQkerXqGLo13nNhAuBpYARcGZqKIkmD9/c49X5DUP80b8?=
=?us-ascii?Q?rFfD2YVCeKsLkEI6kThTfrCIH0FDouWbsLgJfCxQ2GQTHbTKIq/DbnnnfsmW?=
=?us-ascii?Q?27EMm56SanYqtCE/L2LSnQ6dBoyHb9dXIjYsGnwqdrG1+oxFQ7hfHPQINH5J?=
=?us-ascii?Q?rNRasyWD5o92lN4QJqLGofEpSa5JYOrRHWcPSSwy3iOnTQZxqUAC9L3Lptta?=
=?us-ascii?Q?+0Ag/uZtlI3HJiFEdge6mcjpSlWYedY2zGNpaUmWU1GQBKqGUzKRQ/nl1dxe?=
=?us-ascii?Q?8VqsNMHPt+XOt42CUCB7RYipRLqDYdP+5UpoIRXpDa3IynksTg1FZLj29hoG?=
=?us-ascii?Q?gSJumivqZREp3kVhw5+IoyT9GFR6PvDyI8jxJ355qJXBMR4+ffWi4tfoHFcf?=
=?us-ascii?Q?6H/BHIUiIqhyTQeqc7YgqwdSa7WxvwtkjV3rk/GUSs9xWW+odni2/+PP1u0a?=
=?us-ascii?Q?cq79dAysbT/tuz1SBJiH+LIdnpSlN/IJZm/gfqxPiZ3w9dLGWcMM9ezKVpXH?=
=?us-ascii?Q?vJxI47R5iX2sz1V1L4wgyj8G96pczaCekPCVy4CaFjVe37h3A3SzB64VMeFG?=
=?us-ascii?Q?j4+Wslmcooc=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5EqsXWYYJH5JSkAUDmIZLbfzQ+aFSlSLLjeI3H9TCAOskf2qscy+26LHcB7h?=
=?us-ascii?Q?Q7gHRrXYKAs2JPlGyHxORoB2eJfGJOe8WboArsBOjEeAqHSXTCI3uLR+s7av?=
=?us-ascii?Q?Y63O5lOwl669CkynerLFXClg2/2iE7qKf1gLVrn8ZMf1GeUkiKA7mX81UJHw?=
=?us-ascii?Q?wm2KYWjW7FPQt3FYf1hI2myr6kECfcZjTev9dA7iLrHxW/kSohvItXuxEtQK?=
=?us-ascii?Q?DIq5CI79bsbFOmtmLEG6jLmu2jKCQW5sFSVblzRTQtntp0d6lkeXrckg0h+w?=
=?us-ascii?Q?xBsDqCZio82Uut43DiFkId0e2LAhzVBaj0Umu0SFCuYkXgtOCQE+G4n/iDNg?=
=?us-ascii?Q?ufMZuVG2hZyDTTVoYEtZrlC1eWZJxjzjw1X6XCAhAcB7pgovY69URyoCp4oF?=
=?us-ascii?Q?Stkw5jPNpAQTYOYUWdl9WDQHaqz0lMFED3mJ6TM/Hsz0tllYnFzS4KS/oFzP?=
=?us-ascii?Q?ecWlc4OX0LmBJQJL6AzSLSMwEq6Su0ayoJiFNmlMFTWmeZqh9B/c5H3FOh2A?=
=?us-ascii?Q?u9szr0sdL8ymfTUh4lhMGurgdxGL7YRApduNMPOij2W2acYRTZDj+veRvq+1?=
=?us-ascii?Q?lz+oX+k5h9AcIS5IwpMkVKzdCWuWl0G+mIwhjhgk98NJ+2be7s3oE0pFInGz?=
=?us-ascii?Q?AVcYOBMkw/ZtDrsAiAcTTKTRVC6ibbOYtyMyOcm3tk4ffuQ3VnE77hBOWmnc?=
=?us-ascii?Q?1jx4xLyXFND5EfMa7XFFFxfKyf7cUk+Vl99fDqInx8SDZbvKTYE3nE3q2fXy?=
=?us-ascii?Q?6NOs2J12vdZL5KwiqHJNh71S4ZOyrx6sLQduYh6vj5BhsuciplIA6lagVVu4?=
=?us-ascii?Q?5/aH2QI+HbkxLSYjg+04ip9GFjJLQQM8EWRTXeL56qQ1HKU+Jbqr4lplCrs2?=
=?us-ascii?Q?sMbc9fN7h7U/SkWkwtqUZJL3seUqSU56OgkSATrcoQQVfI/q+FbE3BsuAD50?=
=?us-ascii?Q?N1VlG4dZCtZiCMc5gbPpvt8ThoMdtZ20KDh6hOrhI7zfqD9y3PeteGKHylmJ?=
=?us-ascii?Q?Ip9TP4U8QXxVXqFwv0Bo4bS8Grd6POolNksjE/qEz//0Z9mSb2UgnU1pRBtR?=
=?us-ascii?Q?vxMuj7zqA/qTNMDeT7vhYh9eTXZOp2s7wMuLpDZ4k8UKcFyPq09zHEQrV9AQ?=
=?us-ascii?Q?LeWLLD8AZO4qLqCfQd+nf8LCly+zDIJbaJtULEo18QnHwyDiuE6QIz6eLePH?=
=?us-ascii?Q?rsWhuvDKxmVGGC0+GAEhjnfNLjAF9MYhzx/iAmREIDiSoEPqVvullo++0i1R?=
=?us-ascii?Q?qq+ec1+G2E7/gcRfAtBn/3GuZRGlt8Ea+lQxYOLbLDFjNr8JZd67QXbsc8Pn?=
=?us-ascii?Q?96zdf28GJf9z2XgAmr5RB1TZ+zLWSd/IC1BAHdMCrr/5avpcgejvs9B4qAqo?=
=?us-ascii?Q?6iwQxkjzud6j2NXP0gMov/DQUYgNq14BRNVvWSJOpBWjKI6kUnDNTb7C9UMo?=
=?us-ascii?Q?t9gooAg1sftbx6/MPaJA7irFfYEo/oibvTSh50gk7s8iiI8NreY/xC5kTBBR?=
=?us-ascii?Q?xl+R2+BzHJzTV95jS51USRjV1EgY/tc6g61N+2hC1cyeWV6/EhFGac0kltHo?=
=?us-ascii?Q?ySCdXaoJJJjlu6vWCUFspPaBxWLMzpfQW8FbDCnXYZOBP3MFKYjjnNcdF8kQ?=
=?us-ascii?Q?5g=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ff58ba6-256c-43fd-156c-08dda3d1d613
X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 01:39:39.3861
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dQuZLWzVW61eV9XsWqc9F+3k1vPt3Kk2ZVlXlX//etK3Pdzn7Er5BIcyeqYcrFZp1CWPoR4xt4TvHR65DoNhY5kgbWFSWNVfOmxIP5oQDwQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR11MB7434
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Alistair Popple wrote:
[..]
> Alistair Popple (12):
> mm: Remove PFN_MAP, PFN_SG_CHAIN and PFN_SG_LAST
> mm: Convert pXd_devmap checks to vma_is_dax
> mm/pagewalk: Skip dax pages in pagewalk
> mm: Convert vmf_insert_mixed() from using pte_devmap to pte_special
> mm: Remove remaining uses of PFN_DEV
> mm/gup: Remove pXX_devmap usage from get_user_pages()
> mm: Remove redundant pXd_devmap calls
> mm/khugepaged: Remove redundant pmd_devmap() check
> powerpc: Remove checks for devmap pages and PMDs/PUDs
> mm: Remove devmap related functions and page table bits
> mm: Remove callers of pfn_t functionality
> mm/memremap: Remove unused devmap_managed_key

I am still reviewing the individual patches, but it is passing my tests
so you can add for the series:

Tested-by: Dan Williams <dan.j.williams@xxxxxxxxx>


Return-Path: <linux-kernel+bounces-673949-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4BA0341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:43:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E91BA1892FF1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:43:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A2CF97DA9C;
Thu, 5 Jun 2025 01:43:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="SxUfd/aM"
Received: from AS8PR03CU001.outbound.protection.outlook.com (mail-westeuropeazon11012052.outbound.protection.outlook.com [52.101.71.52])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C45F812B17C;
Thu, 5 Jun 2025 01:43:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.71.52
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749087811; cv=fail; b=GVUbUKyt7efNQ6UN5dhTLQZ3RQzzE8Cp5TV//UUZdiWfyV5+fQXuub2sG/IgnMW3KfgQkr2psokSQv1gW+8BAZmBEaISnAdtGro5eWH1yLXbcvuZ5Jf9DL4zL7zHAAobrYndom6fQRU+BS2Q6mQkx1/ipK1Oc9jL5RCVJMYUtIU=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749087811; c=relaxed/simple;
bh=j8p0KreLPdt4ZnbTuwj2IR9wKp0CSP/jN8Zf1wIjsGU=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=jkRtOBdb31i1h0p4fOa/I/MZgFCdgpw9vU2Ra23CuKiR2rzjrhK7xMv4mN2LV2Xg/xnf1wPrYeFH5Q17AsVm6avMPZBzUH3yTT/e85+6H8rcm4eFkiAp7FnBXm2fXx419bbmIwPp43KpDFsv6bqgp6//nCvWgv3bRDYla41sEKM=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=SxUfd/aM; arc=fail smtp.client-ip=52.101.71.52
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=xI/eZk9FTqV9csrcbmaoAuE5bRruz17zDG1YS/9RLxlQqDRSuOzCxpjOr+KKVJuT7xBvlIsYzd86qlmpeHFOKLl3ugA4QQ7zl/GQKlZ7eZOEYmc//B7+Kb/rBe2xvaFWH8rdS86N/pgR5nzc1G/lx95DlR9Mt+qM/nflOP/cNVm3h2id2ugPmjtk0/nPKeBu4ZQ2HldJ5Mnp5uO+DXs3oRq4D2lqxCTpSeIWRAenzklHz8sbYUO25BfBCaNPwdzRlPEofRm8JfqwnEju94Vinm+9ZlZUlFw53Fh+xmsVkwbGoBPiOg6s9wfcdSEyrxJZbzYVpHxflfbvMIeDMjqQ9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=j8p0KreLPdt4ZnbTuwj2IR9wKp0CSP/jN8Zf1wIjsGU=;
b=yCxUStwau5GSvNmF85EWBNtXRBFwfYA69+rGbvYbl43jUvPtcYmEIaemidznvJmd/v6MoYDHZJKo8Qgzi+6FluNORWP2PS/HHy82XUGLV/F4IZzRwvluQCD+YnqE6bd5I/ZRcGVeaxJN+Yf2DtHDuqg054jY6q0FlakF/LMlA0crloBaep/tjXDNoyDVQUjIRpn1OT53uQquUk6m1iwgBiIdH5Lyl+W/hKoxwEOHE9b0t5Y37fIOKgoUjZ34AoIHGw9b0npRFvQK4IF0na772aJAw1fixnFMCGiC18LMlYVScFos+9nTvdjzSfutGMzddA7Zl1/WJaIP5ui89+BBxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
s=selector1-NXP1-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=j8p0KreLPdt4ZnbTuwj2IR9wKp0CSP/jN8Zf1wIjsGU=;
b=SxUfd/aMaJxU+bwPfLHX1mOt6UuOEmuoNGhYsi8XLf19Wi+lf2c7zYk39Lle17R7+3/3qwEG/1tNPBeuECydhbdVwaStQe93JeC4sr+qi4WVJBdc780BTlwuZOLH4Ez3WRUfpFHhvL45F70HwPokARyZ/4qjERMnKOsDmjx5ym1SHfWpdj8SjnINqhssF2srPFkuhTRCOHTFudE5k5adzvvshdTOHGJDv8VBMDR6DRBfBhYwtDOptb2S8E7H5pbbtmCtjhB29Bysd/vtBKBc2ahUZeN1U6Q7nunVSwuxW9cEMyVPctBStii0raRW+P6tEvgKsiJpk+aiKNYGsCv1mg==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)
by GVXPR04MB10304.eurprd04.prod.outlook.com (2603:10a6:150:1e9::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Thu, 5 Jun
2025 01:43:25 +0000
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630%3]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
01:43:25 +0000
Date: Thu, 5 Jun 2025 10:53:25 +0800
From: Peng Fan <peng.fan@xxxxxxxxxxx>
To: Primoz Fiser <primoz.fiser@xxxxxxxxx>
Cc: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, upstream@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] arm64: dts: freescale: imx93-phyboard-nash: Move ADC
vref to SoM
Message-ID: <20250605025325.GF29462@nxa18884-linux>
References: <20250602125207.2265222-1-primoz.fiser@xxxxxxxxx>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250602125207.2265222-1-primoz.fiser@xxxxxxxxx>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-ClientProxiedBy: SG2PR02CA0031.apcprd02.prod.outlook.com
(2603:1096:3:18::19) To PAXPR04MB8459.eurprd04.prod.outlook.com
(2603:10a6:102:1da::15)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|GVXPR04MB10304:EE_
X-MS-Office365-Filtering-Correlation-Id: 8feee640-5f08-448f-ce50-08dda3d25d15
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|52116014|366016|1800799024|376014|7416014|38350700014|7053199007;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?p6l2Q9UFAm7uLX228od0MA9lXyRxfsakSwWS7xwVZijuD6YrOTgFmlaDg8Ip?=
=?us-ascii?Q?GGU5shrOgRDBnTc26hK+qnVJh/K0QertsfWO9uxlEtpPoY0YeVmEe+Sid4B/?=
=?us-ascii?Q?R+Okabe7mr6cNhpKdBm8O2G3IXvBda+/dZD1Q9wQZ/vWpx+z1SncyhKEWVqG?=
=?us-ascii?Q?2erG1l2j4B+dGbv+kYLoraU5EKHX/Ex8l11WzAlSU/4aDyAItHomIXNqLjmo?=
=?us-ascii?Q?7jMyKW3CUS/DKm/GcNxx6mg0qvQV0k6VxQ39zVcLuHjlrE3uKTSXyQtAc1BA?=
=?us-ascii?Q?UbWdiR+COuKY1UnRrNM9J0WwGtMMjpd0GOZtQjead6XHlDKnR3++WDZEiIAf?=
=?us-ascii?Q?aSqTXhvbMthjSF5bnwQlcWAhkh8UQckWVio3l755cntZi6cK1BFaUYxp5MzO?=
=?us-ascii?Q?fSiMFYchfSHngd8EYs8WUzTXobllw6smVCGtRgsfF4jZzcb/sVj7C+NRrH9e?=
=?us-ascii?Q?r3vy4Fg5wP1b5DGflIcIcxviCeAPO9EYILWfOUM4xIVvNdoirwqR1HEuThDy?=
=?us-ascii?Q?N7cHU+3bVit557MeW6oCeO7Z0MW9kNmp7+W0NkEqEjWuttBVCnWqc9MI+gMg?=
=?us-ascii?Q?f5ZYQirA93EApnNm+wBdjtN9mM3Wxkfhw2cY7hEhSVjWeFNc1prp+3szQ0hw?=
=?us-ascii?Q?2sEOwOAz1+Gb6ZzOqziZR3rNv0L291eht0rbztEdTnYV9k2jgXDrbXWckBaV?=
=?us-ascii?Q?ZfNrZT/3C96hcKpqdSwVuNkXl6hbmqC0L2N/B+NVp2Zf8JjUHTPSrSu9ixBb?=
=?us-ascii?Q?bT38BNQ2ROyt9VqHQcM8EhHhKVevWG1XPQFlzmDauht7DtbSpKlKwsOqfpeV?=
=?us-ascii?Q?agPT44wN/+lyaxDxcqQGqAasulyf5G6NaVV9K+fbuPWbkiKEXmuKjebu2GnB?=
=?us-ascii?Q?fvKhQ6rOwe7LC3KU16eRz3Dvcag1j8FkBBk2YJNxlwb3Duwpr5EOPxpBsQ7p?=
=?us-ascii?Q?RDAwqfpzOjP4Q1h9YI40bfzauObcJjPSvdphXFusY+s1XICRs1uQ4gNhtaJA?=
=?us-ascii?Q?shysczJSyXwYrXXHqAlko/BDCZ8jsEo5O2rp7k7W9yyCvdcCnRFIgy/odw2M?=
=?us-ascii?Q?Lro3ALblEewRQPzd7GelzaCh7be7tCiQmeYHbF0ys3vol5Q3zgkhXjevil7a?=
=?us-ascii?Q?4MmFCyGjBnWI+CJLs/t0fVAewkItr3Bt9SPWdMbaHjgWQCEwuR3kiwDre9BF?=
=?us-ascii?Q?3IcvTvCXV181ffXkRO0Z6yUMQV0Av3feRPj5PiPNuE3wTVTwMID0a5Fw3OLI?=
=?us-ascii?Q?SASCp/38GMeDqMEYgiIk57NYOQCeD8rYu1eD2QHZ4GGdg5Vrw8mmh9cMd5eT?=
=?us-ascii?Q?Eh7NUbDFA5RC2yYJ94eyZwm201+R7RLIrXz06kFIS+PZT4oLt0032uFV7+Od?=
=?us-ascii?Q?Suq7WG77q6EQL0a0a5XDFzKXo+XKVIMqhpn8Q62mnPcIcak3n++tiYo8rcHa?=
=?us-ascii?Q?BPgo0o/Lc2OfDcotUdFP/Dq+DDlRNoDJDLBsbQpp9VCPQuKGccPLhg=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(1800799024)(376014)(7416014)(38350700014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?qRi45P0TD8ZkgXMg7rXvSt9i97fkGdu/SWslw72IHBriVoFyZ31brpu3e49q?=
=?us-ascii?Q?HiplUjOONQyFMuNbha8zgPJBjAQMckMjIaYmc4bP0VL3K9MCt1D3Lqdz92bc?=
=?us-ascii?Q?CALYCFhL0WfwtEQIeCr+OrAyFMdKkGfTjTyEUTytzW67U7nZ9torbHGG5NT3?=
=?us-ascii?Q?XCuazDUx7sqOVEsF8pM4F4nGXzlfVKX9hjPDlYY1njNa6qEMda0Dv+8l78Uk?=
=?us-ascii?Q?zb7QoMoVRvcJrQaMLTxvWsoCLkgtlvua7+/Kq81HaDlnGPIS4ZRwTvidlVfU?=
=?us-ascii?Q?rC9LgUG4vD9/lSKPxWASQDoznVddpJfhUsL/AxZf/yTebtQZZoEtqGMTLTpA?=
=?us-ascii?Q?C3dD8ZONN/4w117axKVSXCi5gv0XvyZ0mWKYK572pz1hnR/cyJqszRTmaIyC?=
=?us-ascii?Q?L2vaUJp6xj4UiPJFVhd3okwexNBcVGgH1tXNBuebDDPSI48eDfhesGpfflp1?=
=?us-ascii?Q?M4DCKMjBWtvP+80nDq5Ik0VEn46XnZFIRE2vfYzPP38POhFHU74lw0wrv1zu?=
=?us-ascii?Q?7tPL6HTMPzb0mSd/fOo9o+U4IxjKsTfgE4xq2Sc1kJ2/WvSvbNCAxEXcFziU?=
=?us-ascii?Q?8yoSTrJLTTGbkSdwSEQDowHaSLbHt3mK2vFddgkC3HShwVvRxhkwpBEmVD4R?=
=?us-ascii?Q?kYqhQKescXec2E+XgqxWaPaDoaJBS4K7TL6rD+DLVSB99dcIMiy3ZXfX1Js+?=
=?us-ascii?Q?05HELdiNRdyKXSfGBvNd613v6xB1dFf1BYW+/v8jTlzSpYtXY91HQApmCwI9?=
=?us-ascii?Q?JaHaXSNxNS5Vqs0oeAKF04jafKd4m/R+xx2HW/kP/gILZMQSkNXb+6l4fkbm?=
=?us-ascii?Q?caKtcn3bj+w6vQJQr/mGSdLb59yF0RuD+gjvAWifCWhZ0eRaRdiH8qvgIW82?=
=?us-ascii?Q?syCOkCdOReNccBhtkLS27HjAiyNBzXZlFkC2mGEkIXpkILQuS62rDu4yYCy7?=
=?us-ascii?Q?s1uKFRODvzkC3SgV06mk3yFlYn8m9D4XUZDqf2y/tA4rZBwa3DuglHjYDxqe?=
=?us-ascii?Q?os+gTewLQT+0FMzNRkWD8xddcMIQRAKj7wECLgSkGq81LzS18Ia1zjggXfhs?=
=?us-ascii?Q?k3PIDo1vMELBYDc4zwXGD8e45podm14UHzii3z5wqUf7sDADW70pKZyHqekv?=
=?us-ascii?Q?dP/WdbWJeh+PKulucLGPIlzkh+PuixeEnz/z7KguvTeao/QOSTVDiOXFsQZa?=
=?us-ascii?Q?fe8KzMwg5B2N6BJnKszmfG/ykTDbI7/qYoj1S+hWYzFPI9lBSCII2ywq3IDr?=
=?us-ascii?Q?vCHbFZUo6mrP3DsY57+YXYGeFwMsFLK3hTSHIif0YTauyfhTGzbaiBZENTjx?=
=?us-ascii?Q?0aZXpQLzaVSsbt0z4Ctu6zAQOKUGBE5WV6iPs8keQ2bSpqu3lX7+AJzAqRfl?=
=?us-ascii?Q?L37ZNG8eRZWg4ifk41hv7X25McPB/IXInPOvIZ5imx34ezf1W/34/ElsR82D?=
=?us-ascii?Q?tpFIK8iu1Ig5YZSASs4AVk3fOfGawQzZBcWoWRaH4AndC+yvKEdhw2DVbxyl?=
=?us-ascii?Q?GK/+YdjoX5z1KDmYX7nnKvCw37lk1f4K686W+kOjcjKXcYvCaDyWl3qrUpnx?=
=?us-ascii?Q?aYPaX3Yj3il0F5lO0a7o8uWr1qZTC7LYZio6Rxuk?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8feee640-5f08-448f-ce50-08dda3d25d15
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 01:43:25.7874
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fbNW0fxNhVEPHuS7OvUK/EqQXVEI0Z/RiCzfzLR1gKELR3THEUUDMrbu4222P2eDPBeMRyR8TtiuJhe5WwEWqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10304
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Mon, Jun 02, 2025 at 02:52:07PM +0200, Primoz Fiser wrote:
>Move configuration for ADC voltage reference from board DTS to a SoM
>include file. The SoC ADC reference voltage is connected to a "VDDA_1V8"
>voltage node and supplied by the PMIC's BUCK5 regulator. The reference
>voltage is thus defined by the SoM and cannot be changed by the carrier
>board design and as such belongs into the SoM include file.
>
>Moreover, with this in place, customers designing own carrier boards can
>simply include imx93-phycore-som.dtsi and enable adc1 in their own DTS
>without the need to define dummy ADC vref regulator themselves anymore.
>
>Signed-off-by: Primoz Fiser <primoz.fiser@xxxxxxxxx>

Reviewed-by: Peng Fan <peng.fan@xxxxxxx>


Return-Path: <linux-kernel+bounces-673950-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 346F241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:44:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 59E6F168D2E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:44:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3FCD5824A3;
Thu, 5 Jun 2025 01:44:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=aspeedtech.com header.i=@aspeedtech.com header.b="ONmP3laV"
Received: from TYPPR03CU001.outbound.protection.outlook.com (mail-japaneastazon11022115.outbound.protection.outlook.com [52.101.126.115])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC84270808;
Thu, 5 Jun 2025 01:44:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.126.115
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749087853; cv=fail; b=sS6tu0bw5R5yYH0sw+ZUDQWSznATlYKTJiEffX7CYj5sB1OVHwglnG3xDrkdO1Cy5Ct0UCJS02jGyLgkMSnNzeTSoHeQiBSBhy4ywe29QZzQeQW8PnSHymvrit5Fi+H0FM8gwtk40B8Vo+wTaRNfjM33R77bI6iHT1hJjsYXrYo=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749087853; c=relaxed/simple;
bh=UckRJstE4f8SH+8sMpUhZux7k8ZpEVYNu5ToBgLPK/E=;
h=From:To:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=ZewBeOl6GLnK7CgMqq7t5wd6Exbg8Odp65bJsa/qHvZXnedxYQaXvWs7PefNdzFBUMkxSPBwa4yt7rG6zYY20rxPnwV/Gmf1sjTdKU23qlB3qA9hyXfvSLmT+nMBatKokrfiSenk6QAqRj/g6eus93JVAc7SsHdCalLiagkgrNI=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=aspeedtech.com; spf=pass smtp.mailfrom=aspeedtech.com; dkim=pass (2048-bit key) header.d=aspeedtech.com header.i=@aspeedtech.com header.b=ONmP3laV; arc=fail smtp.client-ip=52.101.126.115
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=aspeedtech.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aspeedtech.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=xkfcE08NOzmt8jB5GSVYIQRObQ6BzE0wzREiQq8PGCuW4liG8miM54jCaFQZipHikPslUgREngffx85OYgJzEw0RTOWHchh/2quRs28k67AhSPfZLFltnZUTJQ2XSAUBGMNN/3hSAYbbCGh7ME2LBNkymxlzT6KAeVwwfy05Tqgqn44ub1sQIoSSSVqOh477MnVn7G3bimpDQSb7xo9G4AMYB+D3RbqEN1kAH4bqhyhkjWVQ31QCsMUG/ww+wh7ycmHPC7NfAUrDDQtaaz27BmZf45x67gAwsR4YrgVCMT+ZScc2iPg5sRcVWmF4FBx98mwcv4E2PU3w/hLR5obfNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=UckRJstE4f8SH+8sMpUhZux7k8ZpEVYNu5ToBgLPK/E=;
b=wIM322l2+cmJfYeZfkiANqWbrsnxZTwqpwPo/2CrUb6oGCnHQ5vPK1KXUIXOKeMZXvo8fOA3ypOnbIFHrH9QzaTSYObiUgyz6cWmxhzp65TUuSAFf92bbXYNf0fL7tTBotoa3JFmY2mOgkiOKvcIik2ojs4vHss/jNpDYZ1hew1qG1P9piWl7Q0oZbFOwb7xsZrOdyji8sXylZn423Q1MYgbDoMHW6+rfyVc9CatSnY5kLU1+HsGWJyUv3p7HxflBMlHToJuXIm36NQ1Yhm7il7nKdehG0b3ICTzJF3dYPDlIMhjznTxBI9KCY+hly3FnDYUcPbIgRFwOTd2vf4J4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=aspeedtech.com; dmarc=pass action=none
header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=UckRJstE4f8SH+8sMpUhZux7k8ZpEVYNu5ToBgLPK/E=;
b=ONmP3laVR2r0bp4bReoxv8MPmVL8TM5+WzQ1+kod3f2ZCiwNlMYQixXilCwhIPQ/n5XFpgFV51vYWk8qZDZoXCbDyD19NzozQA61Ba+JwqeHKgoYGl2849VoST0xO1JUpirgqTcQQ0QmGUerUh5r3h9cKqxR1g1SVilto8zIs2/4cF2l/doHguQJy8kcSpwoqnpsaLORMy1Ciet9bcl7jkFkcIaokJyy85F/HrPfaI/bNTDGujDTb8U4klxlM11+adhbvwTF35XFeDcmjPmrr/LStu9xokJ/By40XVIOAr/g8XZksaCUQSg/2D1pzJ888B/4zuCYo9NNEbU5oXBb4g==
Received: from TYZPR06MB6568.apcprd06.prod.outlook.com (2603:1096:400:45f::6)
by TYUPR06MB6050.apcprd06.prod.outlook.com (2603:1096:400:356::15) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Thu, 5 Jun
2025 01:44:01 +0000
Received: from TYZPR06MB6568.apcprd06.prod.outlook.com
([fe80::72b8:dce5:355b:e84b]) by TYZPR06MB6568.apcprd06.prod.outlook.com
([fe80::72b8:dce5:355b:e84b%5]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
01:44:01 +0000
From: Jammy Huang <jammy_huang@xxxxxxxxxxxxxx>
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>, "jassisinghbrar@xxxxxxxxx"
<jassisinghbrar@xxxxxxxxx>, "robh@xxxxxxxxxx" <robh@xxxxxxxxxx>,
"krzk+dt@xxxxxxxxxx" <krzk+dt@xxxxxxxxxx>, "conor+dt@xxxxxxxxxx"
<conor+dt@xxxxxxxxxx>, "joel@xxxxxxxxx" <joel@xxxxxxxxx>,
"andrew@xxxxxxxxxxxxxxxxxxxx" <andrew@xxxxxxxxxxxxxxxxxxxx>,
"devicetree@xxxxxxxxxxxxxxx" <devicetree@xxxxxxxxxxxxxxx>,
"linux-arm-kernel@xxxxxxxxxxxxxxxxxxx"
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, "linux-aspeed@xxxxxxxxxxxxxxxx"
<linux-aspeed@xxxxxxxxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>
Subject: RE: [PATCH v2 1/2] dt-bindings: mailbox: Add ASPEED AST2700 series
SoC
Thread-Topic: [PATCH v2 1/2] dt-bindings: mailbox: Add ASPEED AST2700 series
SoC
Thread-Index: AQHb1VAI1rJPhsQxKUGpHJ7mTL5g97PzHW8AgACs7BA=
Date: Thu, 5 Jun 2025 01:44:00 +0000
Message-ID:
<TYZPR06MB656866677C78C34A5AFDC985F16FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250604125558.1614523-1-jammy_huang@xxxxxxxxxxxxxx>
<20250604125558.1614523-2-jammy_huang@xxxxxxxxxxxxxx>
<e27f3ea6-943d-4d78-b4d6-85d0dd521fe7@xxxxxxxxxx>
In-Reply-To: <e27f3ea6-943d-4d78-b4d6-85d0dd521fe7@xxxxxxxxxx>
Accept-Language: zh-TW, en-US
Content-Language: zh-TW
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=aspeedtech.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: TYZPR06MB6568:EE_|TYUPR06MB6050:EE_
x-ms-office365-filtering-correlation-id: d8bae5fd-a6dc-468f-2f4c-08dda3d27224
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
BCL:0;ARA:13230040|366016|1800799024|376014|7416014|38070700018|921020|13003099007;
x-microsoft-antispam-message-info:
=?utf-8?B?M0VJM0VrNTdveEhzQ3NjKzE0NWpSOXdDc2NoM2dZZ1ljVlhrS1h2SGFGdEZB?=
=?utf-8?B?enh0Y0FlWkVpTXV5bGVWSFl6SThUVDVIdjZuQkxCQzZQaE9Zd2VXWW0zRzJM?=
=?utf-8?B?YzJhZnZqa1BhZmtTVU5PQnhwcWxYK2g4aTJrZFE4ajRaeG43UERKUlgrSlpQ?=
=?utf-8?B?amxuWThiUkJ6WnhtVEY4bnk4QVlZcmJoMTRkbjZOQXhmOVJ1RFFCaVBSdTlx?=
=?utf-8?B?NFVPV21ZR20wLytQOHc4eHFoYjhWK1ZXOHRSSkNVNm9MVWJ3QW0yMjdrU0g3?=
=?utf-8?B?WFY4YzN6ODNka3dJYlRBTkxqWXNQUVlmRGpLTkNKMTJYVFJCZ1M3aWd3YkpN?=
=?utf-8?B?Q05mZTJSSk5iR05kM1ljZGQvQ1RmNWhEeFltbkRaT1pYanROb2ZUbmxvTE9C?=
=?utf-8?B?VnQvZStMMkZ1VGVPeHZHdktGaHgzZ2UvWFBxd3dlTW1LTDZiK0d1RFFZcjE1?=
=?utf-8?B?b3Arc3hKOFlYNzRYZWRMdkFrdTBxTERUY0dhRTlpWURDSEZDZGRlYmlaMnVl?=
=?utf-8?B?TVhlQmU4TzlkSGlYWGpiUUhVZTdaT29kZTBBWk16ODRTQjVBSG1EMndjSytJ?=
=?utf-8?B?TU90eFBzb3hFT2pRd0NIRFhtOGxDVjQ4d05wZzRJUWEvb3NrQXVCVk1wWlZh?=
=?utf-8?B?aG4rRWJZOTltdCtiVjQ0Z1RZZ0VXdVovM0h0MlJmMENwcThVU0h1UlcxQkhR?=
=?utf-8?B?eFpBUzlDeURjSzhFUmJ0ZENBNWd0MURmUFI4Vk9sWXZxVzQra0haTFhyODJz?=
=?utf-8?B?R3BCaThWNGEyMEoyL3N5SWYyWjBJcUR6RXJybUVZbEhqdTRuWUtBZm4wK1pQ?=
=?utf-8?B?V0VNazNhWTA0dW5wNWpZS0ViNkpGOXkrOHozbUg0Vys2QytIMGl3ZFB0RWti?=
=?utf-8?B?QzBUVHN0b2F3d0laL1puU2N1MHhSRXU4R1hLYlJJM3c2bENqUU0rYldGZWx5?=
=?utf-8?B?ajhYb1llck1DclgwRUdHOEZiS0h0dDZVSVFYTGNGVnhvd2hRZ0FvMFFpSzNa?=
=?utf-8?B?NlZCNDRNbTZrOGk2QnBSRy83NXFIZEMyYi9mWWdnQ2FINDdIcThIMm9EdkVD?=
=?utf-8?B?UFMyTTQxVmZWckhiMkhMRVZrMmRDY2RYZE52QXpoaElIVkJ4aTJ1d2llbFhT?=
=?utf-8?B?Y3VBSlZnR0ZqTTEvVzNVZkZGV0sxMzBHbG56Z29IWFFSb1E3WE0zMXhNQzhT?=
=?utf-8?B?bFhrRDUzS0hQSnFVWXRBTFZNZjZnUXdLVHJhSnhOZU43bktPRE9aSzFyWXNU?=
=?utf-8?B?dmtDeHdtYUNJb1RJRjNxMWl6WlBEY3dCZTZUcGgxZUprTUJTVnFWS3l0Wk5u?=
=?utf-8?B?d002cWtiaDQ2MTQ2RGhmV3FtSUkxajh5Qlk4RE05TG1VRWpmL216UkpvZlJY?=
=?utf-8?B?QXY3VjhXbnQ1N3Z1RmdicUFSbFhERVVUSzVHVWt2TXI0Z1F6SHN5aDJDZmR0?=
=?utf-8?B?ODE4RERsTGhad3lPQ1hQNTdtK3ZwekVoQ1NhZWswZzU4WXNTQkpaN3pDOG9h?=
=?utf-8?B?VmhCMVNSdmNncno1a2ZaN2xLYldvQXpwRU4vbTJ0cVhOM0Q3UFFiRi9SUkdh?=
=?utf-8?B?dlhYbzdNWjRmdEhVVEdHbnk3RzFrL3A3TWZsVExTRjkraCsvMUhZbzA2Nisy?=
=?utf-8?B?SFZpQXFCdkl5TXVmdWtubUkyN2diRDlIcGxxVWY0cUZpU0ZndWRVZFB2OFdV?=
=?utf-8?B?R2RiQi96bnplRFFtWGx1MnNHYUhDOUVZYzdiWTdHTlBYUjNaZWtOK3JIUzZV?=
=?utf-8?B?elVqTkYrQURGR3lQZ3FYOUk1WHlpT3NHVEJ4dndpSWN0aXRNVVo5MFYzWW5o?=
=?utf-8?B?Q0R3LzZvbUNVOFZ6T3dTdHI1TVlLSWRxa29QN1dIVlNVVzgvQU1OdURPZHdU?=
=?utf-8?B?M1Zndlo4MCs3MkV1U2FuQlBnYk9RaEJkUzNHTEJpQkhJc29YTzVTWUZrWWhY?=
=?utf-8?Q?4z/6IPs/dXckb1ssPTMy7oE0DfKdkg5P?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:zh-tw;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYZPR06MB6568.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(38070700018)(921020)(13003099007);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?SmtPd1VteSs4STRaQTJMd3pqeXV6Z2taYkp4cUMvR1U1VlE4SVNMOEVCWHpY?=
=?utf-8?B?OWs1NmlnQVNWVmpqZHE0SC94T2F1ejV4ekNoT3FrQ0ZFK3dtMm5RZVlGYklm?=
=?utf-8?B?WGVZTVhyRkt1RDV0V3o3QVNpUXhnd3FPM2xVMTZrYnpzVCtEVEcrUHlUWml2?=
=?utf-8?B?MjZjVytWYnlKeDB5UThlZHgvam1STHA1Nkh4S0xEdERwSWh1OXFUaFEzMEFC?=
=?utf-8?B?ZjJ2VEZ6ZWUxc1ZVTmtjREV5NDZlYzQ0WVRLa20yVlAxWlRwS3A0S1V5Nnpx?=
=?utf-8?B?UGxoTGVmektqblVDNXMzalhtMVRjeDdaN3A1ajZzeVUrbFR5SXpEeTd0eFd0?=
=?utf-8?B?UXVVZEMyZVd2UGorcm9CWVJvNENubGtqOGRHZVRrZTJIL0JzQXA4Nzc3YVZq?=
=?utf-8?B?aUtwa3BwVlJ6ZHJaM0l6RVVsU3VQdm55UWV3N2dTYWNhUnNDVU8xT3FlbGx3?=
=?utf-8?B?OXc0aWhncUExNzFERUxJTEJJZlZ4cDdCMU96aTdtcS8wQytrd2VmWXRDands?=
=?utf-8?B?TlZuTzFTRWU1TC9uM3YybStxcDkvWWwrNWRhV1B5clVpT0xCbVdsNm5tS1k0?=
=?utf-8?B?TXljVzRoOThpRDErQ1M5NVhXQ3k4ei9xb1p4ckNmZThpL1lIR1VsMzBocG1m?=
=?utf-8?B?TExheUlxVDY0aFdjc0hkTkxTNWpwZHpTTDZGWjc4M1dSN1JCcVhZRU15Yk9j?=
=?utf-8?B?N2NLNmc1bGlJWHNROVhjd3Axcmo5bGcrSEZWSXBGN0JXNmFFcUEybWEvUlBp?=
=?utf-8?B?Wm9INkdZdEpBN0h6ZjFEdDRxNmNsa2ZyNFJYLzhRa1B6V0xGaEptRXZQenJp?=
=?utf-8?B?L2t5VThQaElPM2x2dDBiOHY2QlVobG41VEY4MjJUSFFweVd1NEx4WmZUeXMz?=
=?utf-8?B?aThMclMzVXpIeVFMclV6VVoxNHlBSGFka3ZFbmVMTzllY2NOMlVReGdXS1E3?=
=?utf-8?B?NGdER2FQRmxjck1xZStjYkRSNVExZWdKdU15SjE3NDhWWmlPRDNnU3pVRS9M?=
=?utf-8?B?OEIxZW11T3RuV0JwVXF3aXp2UDRGZHpZSjRMRkNhRGZkdlJxWEY1WXROL3JO?=
=?utf-8?B?d2RpNnQ0TzZCdmxyeUY4cDVGVFRlZ1NyRm0ydXpMZWgrSUd4MHFSTCtjd0lq?=
=?utf-8?B?RC9GenZvVDB5aGZCM2V5UFA0ekxZbURjMlFjZ2EzQVBBbmcyMkVVZndnTHVU?=
=?utf-8?B?VHA2eStKRERxZDFtVVpmMiswa3JBbVNvaFpFUi9UNGJCak9rb2F3aU13NGFF?=
=?utf-8?B?cjRBdkk3Y1VKTktERlo2bWIyNXFSSjVsdEQwT2g0ODl4SDMwUnR3MmVWOExu?=
=?utf-8?B?OEt1QnI1ckdyVTJFd3p0cUtNckxyMTBVcFhXTG51Q3B4bU9OQ21QMWh4Y2Ry?=
=?utf-8?B?cU9XQVhNZWJ0a0kxMS8yWmk0eUo5NnlKMnlTdWJSYWRrY0s5TmFtWGg4ZHFN?=
=?utf-8?B?a0VYWUk1NkRMdWcxUDEyWE91SERDMzN6QlRGTjZDRTVzL1FSMlJSRndZeEpo?=
=?utf-8?B?Q3FoSUcyQzdBTGtRVm5Dek1FY0FXYjVzMlc1c3BFVFhPaWo4RElTNEtjYXBX?=
=?utf-8?B?S2Z1RjBybmhtcm1NYzJWelMrUWxyVjBzNjdHVTd0MmtlN1VWWXBrUGNNbjVp?=
=?utf-8?B?amZadUlQZlRpMWxLZ2YraGVJZmdKMktPVzY5SFgzK05ZblR0NkNGUDN1MHBF?=
=?utf-8?B?T1lSazVDZVFCVEpWbXNpeHVmZUg3K3NvYWpISWR6akpuUFkzNElPOTJVc0JL?=
=?utf-8?B?MHhnR1F4dFlYcXV6eG5iSmthVUxmVXdpT2lBMnlEOFJYNUhJNkVwSGJkUm9L?=
=?utf-8?B?M0hDQnVJRk9kcGpyTHNYNVpQNkVyb09HSmtRVnhWSlc1bzFMbUNKVmFZOWd4?=
=?utf-8?B?L2dJc2I4VmdvNHNMVW5RVTc5S3R4cE9XeUVCRHJ0YVA5b0RzR0lFbjE4YXFY?=
=?utf-8?B?aGQxZDRhTy9JQkg3K2dNZ0ZDaHZFS0MxU2J5S0YzNHViM2JDU3YyWkdCTjVw?=
=?utf-8?B?R3ZyUWQrY2RxQk95Mms2Nytqcm94R0hGcWtSeU8xa3JGYnFYRjl6c2R3WUJk?=
=?utf-8?B?R0NvT3pkbjB5RFMya1dTcUJncVpCZS83RmFsdStDdmV2ei9HU0pUU0hkNWFW?=
=?utf-8?B?MkZvSGNUWUVQQ1hyRncrR045Ykd0MytMdTFDUjcrVFN5QUR2SlZuMGZHbXE2?=
=?utf-8?B?L3c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-OriginatorOrg: aspeedtech.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB6568.apcprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d8bae5fd-a6dc-468f-2f4c-08dda3d27224
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 01:44:00.9538
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: WArpwR+76esrig3LLnAeBE00sz5t4BitfBaKsQBNsP9VQjhIu3v2yBctrM3jdedmxsPi1sbSlYIk1CUouQlK4WZ+S3SyqlcOvovTwImlduE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR06MB6050
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

PiBPbiAwNC8wNi8yMDI1IDE0OjU1LCBKYW1teSBIdWFuZyB3cm90ZToNCj4gPiArDQo+ID4gK2V4
YW1wbGVzOg0KPiA+ICsgIC0gfA0KPiA+ICsgICAgI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2ludGVy
cnVwdC1jb250cm9sbGVyL2FybS1naWMuaD4NCj4gPiArDQo+ID4gKyAgICBtYWlsYm94QDEyYzFj
MjAwIHsNCj4gPiArICAgICAgICBjb21wYXRpYmxlID0gImFzcGVlZCxhc3QyNzAwLW1haWxib3gi
Ow0KPiA+ICsgICAgICAgIHJlZyA9IDwweDAgMHgxMmMxYzIwMCAweDAgMHgyMDA+Ow0KPiANCj4g
TGFzdCB0aW1lIEkgYXNrZWQgdG8gdGVzdCwgeW91IHJlc3BvbmRlZCB5b3Ugd2lsbCB0ZXN0LiBX
aGF0IGhhcHBlbmVkPw0KPiBZb3UgZGlkIG5vdCB0ZXN0LiBUaGlzIGlzIGp1c3QgZGlzYXBwb2lu
dGluZy4NCkkgZGlkIHRlc3QgZm9yIG15IGxhc3QgcGF0Y2guIEluIHRoZSBlbmQsIHRoZSBlcnJv
cnMgc2hvd24gYXMgYmVsb3cgZGlkIG5vdCBpbmNsdWRlIGFzdDI3MDAtbWFpbGJveC4NClNvIEkg
dGhpbmsgaXQgaXMgb2suIEkgd2lsbCBjaGVjayB3aGF0J3Mgd3Jvbmcgb24gbXkgZW52aXJvbm1l
bnQuDQoNCiAgQ0hLRFQgICAuL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncw0KL2hv
bWUvb3Nib3hlcy9saW51eF90b3J2YWxkcy9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu
Z3MvY3J5cHRvL2luc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTMueWFtbDogcHJvcGVydGllczpj
b21wYXRpYmxlOm9uZU9mOjE6aXRlbXM6ICdvbmVPZicgY29uZGl0aW9uYWwgZmFpbGVkLCBvbmUg
bXVzdCBiZSBmaXhlZDoNCiAgICAgICAgW3snbm90Jzoge30sICdkZXNjcmlwdGlvbic6ICdOZWVk
IGEgU29DIHNwZWNpZmljIGNvbXBhdGlibGUnfSwgeydlbnVtJzogWydpbnNpZGUtc2VjdXJlLHNh
ZmV4Y2VsLWVpcDkzaScsICdpbnNpZGUtc2VjdXJlLHNhZmV4Y2VsLWVpcDkzaWUnLCAnaW5zaWRl
LXNlY3VyZSxzYWZleGNlbC1laXA5M2lzJywgJ2luc2lkZS1zZWN1cmUsc2FmZXhjZWwtZWlwOTNp
dyddfV0gaXMgbm90IG9mIHR5cGUgJ29iamVjdCcNCiAgICAgICAgQWRkaXRpb25hbCBwcm9wZXJ0
aWVzIGFyZSBub3QgYWxsb3dlZCAoJ25vdCcgd2FzIHVuZXhwZWN0ZWQpDQogICAgICAgIEFkZGl0
aW9uYWwgcHJvcGVydGllcyBhcmUgbm90IGFsbG93ZWQgKCdkZXNjcmlwdGlvbicsICdub3QnIHdl
cmUgdW5leHBlY3RlZCkNCiAgICAgICAgZnJvbSBzY2hlbWEgJGlkOiBodHRwOi8vZGV2aWNldHJl
ZS5vcmcvbWV0YS1zY2hlbWFzL3N0cmluZy1hcnJheS55YW1sIw0KL2hvbWUvb3Nib3hlcy9saW51
eF90b3J2YWxkcy9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tc20v
bWRwNC55YW1sOiBwcm9wZXJ0aWVzOmNsb2NrLW5hbWVzOml0ZW1zOiAnb25lT2YnIGNvbmRpdGlv
bmFsIGZhaWxlZCwgb25lIG11c3QgYmUgZml4ZWQ6DQogICAgICAgIFt7J2NvbnN0JzogJ2NvcmVf
Y2xrJ30sIHsnY29uc3QnOiAnaWZhY2VfY2xrJ30sIHsnY29uc3QnOiAnYnVzX2Nsayd9LCB7J2Nv
bnN0JzogJ2x1dF9jbGsnfSwgeydjb25zdCc6ICdoZG1pX2Nsayd9LCB7J2NvbnN0JzogJ3R2X2Ns
ayd9LCB7J2NvbnN0JzogJ2xjZGNfY2xrJ30sIHsnY29uc3QnOiAncHhvJywgJ2Rlc2NyaXB0aW9u
JzogJ1hPIHVzZWQgdG8gZHJpdmUgdGhlIGludGVybmFsIExWRFMgUExMJ31dIGlzIG5vdCBvZiB0
eXBlICdvYmplY3QnDQogICAgICAgIEFkZGl0aW9uYWwgcHJvcGVydGllcyBhcmUgbm90IGFsbG93
ZWQgKCdkZXNjcmlwdGlvbicgd2FzIHVuZXhwZWN0ZWQpDQogICAgICAgIGZyb20gc2NoZW1hICRp
ZDogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9zdHJpbmctYXJyYXkueWFtbCMN
Ci9ob21lL29zYm94ZXMvbGludXhfdG9ydmFsZHMvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp
bmRpbmdzL2NyeXB0by9tYXJ2ZWxsLG9yaW9uLWNyeXB0by55YW1sOiBwcm9wZXJ0aWVzOnJlZy1u
YW1lczppdGVtczogJ29uZU9mJyBjb25kaXRpb25hbCBmYWlsZWQsIG9uZSBtdXN0IGJlIGZpeGVk
Og0KICAgICAgICBbeydjb25zdCc6ICdyZWdzJ30sIHsnY29uc3QnOiAnc3JhbScsICdkZXByZWNh
dGVkJzogVHJ1ZX1dIGlzIG5vdCBvZiB0eXBlICdvYmplY3QnDQogICAgICAgIEFkZGl0aW9uYWwg
cHJvcGVydGllcyBhcmUgbm90IGFsbG93ZWQgKCdkZXByZWNhdGVkJyB3YXMgdW5leHBlY3RlZCkN
CiAgICAgICAgZnJvbSBzY2hlbWEgJGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hl
bWFzL3N0cmluZy1hcnJheS55YW1sIw0KL2hvbWUvb3Nib3hlcy9saW51eF90b3J2YWxkcy9Eb2N1
bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvaW5wdXQvdG91Y2hzY3JlZW4vdGksYWRzNzg0
My55YW1sOiBwcm9wZXJ0aWVzOnRpLHgtcGxhdGUtb2htczogJyRyZWYnIHNob3VsZCBub3QgYmUg
dmFsaWQgdW5kZXIgeydjb25zdCc6ICckcmVmJ30NCiAgICAgICAgaGludDogU3RhbmRhcmQgdW5p
dCBzdWZmaXggcHJvcGVydGllcyBkb24ndCBuZWVkIGEgdHlwZSAkcmVmDQogICAgICAgIGZyb20g
c2NoZW1hICRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwj
DQovaG9tZS9vc2JveGVzL2xpbnV4X3RvcnZhbGRzL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i
aW5kaW5ncy9pbnB1dC90b3VjaHNjcmVlbi90aSxhZHM3ODQzLnlhbWw6IHByb3BlcnRpZXM6dGks
eS1wbGF0ZS1vaG1zOiAnJHJlZicgc2hvdWxkIG5vdCBiZSB2YWxpZCB1bmRlciB7J2NvbnN0Jzog
JyRyZWYnfQ0KICAgICAgICBoaW50OiBTdGFuZGFyZCB1bml0IHN1ZmZpeCBwcm9wZXJ0aWVzIGRv
bid0IG5lZWQgYSB0eXBlICRyZWYNCiAgICAgICAgZnJvbSBzY2hlbWEgJGlkOiBodHRwOi8vZGV2
aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCMNCi9ob21lL29zYm94ZXMvbGludXhf
dG9ydmFsZHMvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2lpby9hZGMvYWRpLGFk
NzE3My55YW1sOiBvbmVPZjogTWlzc2luZyBhZGRpdGlvbmFsUHJvcGVydGllcy91bmV2YWx1YXRl
ZFByb3BlcnRpZXMgY29uc3RyYWludA0KDQovaG9tZS9vc2JveGVzL2xpbnV4X3RvcnZhbGRzL0Rv
Y3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9paW8vYWRjL2FkaSxhZDcxNzMueWFtbDog
b25lT2Y6IE1pc3NpbmcgYWRkaXRpb25hbFByb3BlcnRpZXMvdW5ldmFsdWF0ZWRQcm9wZXJ0aWVz
IGNvbnN0cmFpbnQNCg0KL2hvbWUvb3Nib3hlcy9saW51eF90b3J2YWxkcy9Eb2N1bWVudGF0aW9u
L2RldmljZXRyZWUvYmluZGluZ3MvdGltZXIvcmVuZXNhcyxvc3RtLnlhbWw6IGlmOnByb3BlcnRp
ZXM6Y29tcGF0aWJsZTogQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGFyZSBub3QgYWxsb3dlZCAoJ25v
dCcgd2FzIHVuZXhwZWN0ZWQpDQogICAgICAgIGZyb20gc2NoZW1hICRpZDogaHR0cDovL2Rldmlj
ZXRyZWUub3JnL21ldGEtc2NoZW1hcy9zdHJpbmctYXJyYXkueWFtbCMNCi9ob21lL29zYm94ZXMv
bGludXhfdG9ydmFsZHMvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21haWxib3gv
cWNvbSxhcGNzLWtwc3MtZ2xvYmFsLnlhbWw6IG9uZU9mOiBNaXNzaW5nIGFkZGl0aW9uYWxQcm9w
ZXJ0aWVzL3VuZXZhbHVhdGVkUHJvcGVydGllcyBjb25zdHJhaW50DQoNCi9ob21lL29zYm94ZXMv
bGludXhfdG9ydmFsZHMvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21haWxib3gv
cWNvbSxhcGNzLWtwc3MtZ2xvYmFsLnlhbWw6IG9uZU9mOiBNaXNzaW5nIGFkZGl0aW9uYWxQcm9w
ZXJ0aWVzL3VuZXZhbHVhdGVkUHJvcGVydGllcyBjb25zdHJhaW50DQoNCi9ob21lL29zYm94ZXMv
bGludXhfdG9ydmFsZHMvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2RtYS9hZGks
YXhpLWRtYWMueWFtbDogcHJvcGVydGllczphZGksY2hhbm5lbHM6dHlwZTogJ2Jvb2xlYW4nIHdh
cyBleHBlY3RlZA0KICAgICAgICBoaW50OiBBIHZlbmRvciBib29sZWFuIHByb3BlcnR5IGNhbiB1
c2UgInR5cGU6IGJvb2xlYW4iDQogICAgICAgIGZyb20gc2NoZW1hICRpZDogaHR0cDovL2Rldmlj
ZXRyZWUub3JnL21ldGEtc2NoZW1hcy92ZW5kb3ItcHJvcHMueWFtbCMNCiAgTElOVCAgICAuL0Rv
Y3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncw0KDQo+IA0KPiBCZXN0IHJlZ2FyZHMsDQo+
IEtyenlzenRvZg0K


Return-Path: <linux-kernel+bounces-673951-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2800641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:44:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D14921894E5C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:44:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 027E882866;
Thu, 5 Jun 2025 01:44:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="MOj6AOTL"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.18])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89F3778F20
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:44:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.18
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749087874; cv=none; b=qSjvk7TPhaWlrYlYQCav8XbOCiTh9t79yXtxvSv//acwA3f+QUrn3emY10YgIDPobWuijdwi59R82OzEhsI6zFwfFvVPYWkGtsfhpHoVnrgkoaeBePgqDFLSIeP1CDF93HfKWxYMEav3G/C7CCMzqzjilhlHoANjg3g9QK+1ZQ8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749087874; c=relaxed/simple;
bh=98JOeQbdHFLnotA+noW+iaW7ngQU/8uiWvpLuOb+XPU=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=AlalbHrNNWcOdPV+C0CHf9cJ2qpN36IjHUh81PPrbI8kMLQO9A7+Eo5LEznC+NqHTe8dnINl/0hJuyQNWMaQic0Dk339RUsPSujJ0Nei1A5a/qcczs9evkCPzC0OYCztWGFxovAFAhUr0/dOv0TLu7NAhwn6tCCFo2bKqtNs0FQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=MOj6AOTL; arc=none smtp.client-ip=192.198.163.18
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749087873; x=1780623873;
h=date:from:to:cc:subject:message-id:mime-version;
bh=98JOeQbdHFLnotA+noW+iaW7ngQU/8uiWvpLuOb+XPU=;
b=MOj6AOTLbEtlzzohiKDYX6HNVyLwUqDNFOmcdhd+CR5Zjb/ghEeQZMg6
evNxz6rFTs8OjED94OXXKhRyiA6u93hTbVb67w9batZvDSJPfM28rNBVO
A1PJNSBkefSEaA0/RYI49pIYHLtNGeib9HSzUF3s07AFZp3dOE/Q6tF+I
D7KbfQ92tot0rbxm4S35u/1/D7F2MtqgO1EcDGP9tYg5WCRpQL747VJdX
BD/uR72KduNZ/HF+AdF4gOLmtj4aCx/z9FepZrxJBCY4Ts5UJLwU18g4G
qGt1F6VkzJbx5BnJYYjNs8TZnzMm4UOiyYyiBhn04p6AjfdOEtpDs9EBI
g==;
X-CSE-ConnectionGUID: /skg3JqsTXqurzqLR3PcYg==
X-CSE-MsgGUID: TEzpWWRUSGa+m6MVOVWbtA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="50428993"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="50428993"
Received: from fmviesa007.fm.intel.com ([10.60.135.147])
by fmvoesa112.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 18:44:32 -0700
X-CSE-ConnectionGUID: dEUDQmIrQ66OfnWE4rAZqQ==
X-CSE-MsgGUID: weT2W26dST+ROmHqbZ/jjw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145317455"
Received: from igk-lkp-server01.igk.intel.com (HELO b69e6467d450) ([10.211.3.150])
by fmviesa007.fm.intel.com with ESMTP; 04 Jun 2025 18:44:30 -0700
Received: from kbuild by b69e6467d450 with local (Exim 4.96)
(envelope-from <lkp@xxxxxxxxx>)
id 1uMzee-0001qI-02;
Thu, 05 Jun 2025 01:44:28 +0000
Date: Thu, 5 Jun 2025 09:43:43 +0800
From: kernel test robot <lkp@xxxxxxxxx>
To: Frank Li <Frank.Li@xxxxxxx>
Cc: oe-kbuild-all@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Hans Verkuil <hverkuil@xxxxxxxxx>,
"Rob Herring (Arm)" <robh@xxxxxxxxxx>,
Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Subject: arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: mipi@21dc000
(fsl,imx6-mipi-csi2): 'port' does not match any of the regexes:
'^pinctrl-[0-9]+$', '^port@[1-4]$'
Message-ID: <202506050912.DQmua49D-lkp@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1af80d00e1e026c317c6ec19b1072f81ba7af64c
commit: 48dbb76cef65fabaa3ac97461eda90495e954ecd dt-bindings: media: convert imx.txt to yaml format
date: 4 weeks ago
config: arm-randconfig-2052-20250514 (https://download.01.org/0day-ci/archive/20250605/202506050912.DQmua49D-lkp@xxxxxxxxx/config)
compiler: arm-linux-gnueabi-gcc (GCC) 10.5.0
dtschema version: 2025.3.dev27+g32749b3
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250605/202506050912.DQmua49D-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506050912.DQmua49D-lkp@xxxxxxxxx/

dtcheck warnings: (new ones prefixed by >>)
arch/arm/boot/dts/nxp/imx/imx6qdl.dtsi:907.28-915.6: Warning (unique_unit_address_if_enabled): /soc/bus@2000000/iomuxc-gpr@20e0000: duplicate unit-address (also used in node /soc/bus@2000000/pinctrl@20e0000)
arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: /ldb: failed to match any schema with compatible: ['fsl,imx6q-ldb', 'fsl,imx53-ldb']
arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: /ldb: failed to match any schema with compatible: ['fsl,imx6q-ldb', 'fsl,imx53-ldb']
arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: iomuxc-gpr@20e0000 (fsl,imx6q-iomuxc-gpr): 'ipu1_csi0_mux', 'ipu2_csi1_mux' do not match any of the regexes: '^pinctrl-[0-9]+$'
from schema $id: http://devicetree.org/schemas/soc/imx/fsl,imx-iomuxc-gpr.yaml#
arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: pcf8523@68 (nxp,pcf8523): $nodename:0: 'pcf8523@68' does not match '^rtc(@.*|-([0-9]|[1-9][0-9]+))?$'
from schema $id: http://devicetree.org/schemas/rtc/nxp,pcf8523.yaml#
arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: /soc/bus@2100000/i2c@21a0000/tc358743@f: failed to match any schema with compatible: ['toshiba,tc358743']
>> arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: mipi@21dc000 (fsl,imx6-mipi-csi2): 'port' does not match any of the regexes: '^pinctrl-[0-9]+$', '^port@[1-4]$'
from schema $id: http://devicetree.org/schemas/media/fsl,imx6-mipi-csi2.yaml#
arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: /soc/bus@2100000/vdoa@21e4000: failed to match any schema with compatible: ['fsl,imx6q-vdoa']
arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: /soc/ipu@2400000: failed to match any schema with compatible: ['fsl,imx6q-ipu']
arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: /soc/ipu@2800000: failed to match any schema with compatible: ['fsl,imx6q-ipu']
arch/arm/boot/dts/nxp/imx/imx6q-h100.dtb: /display-subsystem: failed to match any schema with compatible: ['fsl,imx-display-subsystem']

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


Return-Path: <linux-kernel+bounces-673952-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9D4C241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:49:11 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id B36B77A2D5D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:47:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3B1DE12B17C;
Thu, 5 Jun 2025 01:48:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iK1y/bQ2"
Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180])
(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 E997428EB;
Thu, 5 Jun 2025 01:48:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088137; cv=none; b=SEfMfRom0ku+4mDO1omFFncDAE6gQa6Z5MdfnPA6/lAcF00DYswMjDmr8IXv+bF6nz/IfABC3nWsItOmlUWSX87mHF8ztyJDilFRm8vyG7soATOGxqw4Vwk22tJaCKw0mT4ZwoHfmD9faJP5l3G8LPR+mOyyiRiYFcJkw1c3hWI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088137; c=relaxed/simple;
bh=P1aMTBsnJVSY/v90gEBryK00v+FDJaZ8jiV/JtTDAGY=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=nLuau5YobCtN4Q/UzTq/ibF5tdNTCVno7Ky4CNs0+XCbGHAFPd7bl6PGk+ZQPuX3DW8i3mTv+qiLNoG2PXWUvVl/u1s0GhmF2h/BaPUMOmODt6zDXK0Fj2zLDMZPeKiQhg7Gr6R8ZzpqdZYTzIieaX5WzlyXscfQ03YImkH8gmQ=
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=iK1y/bQ2; arc=none smtp.client-ip=209.85.210.180
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
Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-742c2ed0fe1so521736b3a.1;
Wed, 04 Jun 2025 18:48:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749088135; x=1749692935; 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=by+7BIPkkw8WZPU+Sg0JjlCtfySnrdWiSJR+X3EkEx0=;
b=iK1y/bQ2YpDP4bsrzkfM6XVpSUh6ZpCjbVNcaw08RpMbMscUYBSdBfvpc3WQ+XcGr+
dUcbgbVg70ZenQBCuL2j5tatoymPhrtDEUVmhOxV+SnI8qh4JPUunOG4xPgUkwGBVBAK
VmIMiAyo1Qdw1WGMNQIUy4kJJpLZF5Y+DDShHv44oYaq0UeyKqzettweNI271wLNRRU5
5N2RNq8IaYQJz+E3Cv34oQK4j3k6tSV8a+XzLkoax5z7t3Xzjs6OIRFEV/+9FZnQUr0f
1oqpnzKUGf69g/DEPnu6Y9snPucrp/gnIxKpW928Z4w6SwWLPxkX8PpXxjBoO8SVc2vy
qCYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749088135; x=1749692935;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=by+7BIPkkw8WZPU+Sg0JjlCtfySnrdWiSJR+X3EkEx0=;
b=odGsR1tFaX7jUvkfdTj4Z/zHiYMxU1uVf69Jai3PKHXgWWJcKW6nIGsscIzquDV0I+
0lLa6URwrHnPIdmH8wd4u12rPRuUOpRGFeH50VOwVjFxwtICakJj3QHYeTy9tz2D5ZDN
50yqT/YyYd4CvEOfAQKbGikyKMku6usIGnywcdbfdqTu/dc72AFpvcRVpjE+/NOfnHQF
weJ2sUXyVk4LMKl/tbP2qGfR572LFlkJhac0WnUCl1juttGEgPCswfn7Aq5fAcAbq0QC
o+C/IMrJtG/LDTtfZXbo9MGxb3WJxUs81Rjnhg2kVCKiHCcadm/aXr+pdVPBXoz/KN67
muew==
X-Forwarded-Encrypted: i=1; AJvYcCV+NuUOoa1vAwKUnvp1emndHLOMGbqtw7HojHvVRnDj7bOyIQZ/Wmyk2GhFBQ0JiABVjz6Kp+GT/KC3Mu8vx7k=@vger.kernel.org, AJvYcCVs7//1ydCDiMPCb2AoFIkbpJw15Iao5Bc4/r7DmqLlJNYojzwrgWfEXmf6fwrHWN5J7Zd8IwVxUplOneQ=@vger.kernel.org
X-Gm-Message-State: AOJu0YxaY0TO4QsYZI23mrZb8to+fhDkNqr03OhP2QL/aYAOradR0Vcj
etxejSfLtZB+C6gUNMNWlQhpF+Y4V1J6L1AwljUyi9sJFLDdlGfpE7tlHsf1Yg==
X-Gm-Gg: ASbGncv0hUOO5Yb0gEaOBip2wFuk9BPv3JTwbPybqzTUK8ndbepU2lDjBpkMiWWijoh
EPntd9mqg+mxeAftbrIPE56WDJjPQXcJpi9E7TYpnIbyTJDoZeNMpUjLirU4I+DJwChyg0Kg0Ve
UTJ6IPvGUo06wk/Z3ey4Mzyw3Yi8/AAFE8DowGoXfnlP57w6qhOCIqF5RyH6RKJIVuZU1vxBbLt
mPkp8FKXp9vZT2N7EKlDrqL5v8bcCgjs2bNYmV4O3WQdpMHD7VuYX6OQHjK4b/MrFfHhXOf+XpS
M4nmO5raZsa+3TAJfJPhB1Yj066MqW0Gv6CmFiknPfGe2g/v8qUxEjfLbwELKahyB8rgumFWeqW
+JBr9E04=
X-Google-Smtp-Source: AGHT+IHV8YHr0uXpF/OHEsa+kL8AF1LWep7wKAP7SEElccAGzTR4C5CaMZdh2g0nGrxO21JkO9tM4w==
X-Received: by 2002:a05:6a00:813:b0:73c:c11:b42e with SMTP id d2e1a72fcca58-7480b4216b7mr6876405b3a.20.1749088134902;
Wed, 04 Jun 2025 18:48:54 -0700 (PDT)
Received: from archie.me ([103.124.138.155])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-747affafd60sm12220612b3a.97.2025.06.04.18.48.53
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 18:48:53 -0700 (PDT)
Received: by archie.me (Postfix, from userid 1000)
id B13AD4209E8C; Thu, 05 Jun 2025 08:48:50 +0700 (WIB)
Date: Thu, 5 Jun 2025 08:48:50 +0700
From: Bagas Sanjaya <bagasdotme@xxxxxxxxx>
To: Alex Davis <alex47794@xxxxxxxxx>,
Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>,
Linux Wireless <linux-wireless@xxxxxxxxxxxxxxx>,
Linux Regressions <regressions@xxxxxxxxxxxxxxx>
Cc: Miri Korenblit <miriam.rachel.korenblit@xxxxxxxxx>
Subject: Re: Latest kernel firmware update breaks intel wifi card.
Message-ID: <aED3gmw0xqm_lMRQ@xxxxxxxxx>
References: <CADiockAtCnLdN1rWTRuMeyuQisAWRyosG_K64AQSdVr-k7CLug@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="KVPUsnhqMaipHaNp"
Content-Disposition: inline
In-Reply-To: <CADiockAtCnLdN1rWTRuMeyuQisAWRyosG_K64AQSdVr-k7CLug@xxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


--KVPUsnhqMaipHaNp
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

[also Cc: iwlwifi folks]

On Wed, Jun 04, 2025 at 05:20:31PM -0400, Alex Davis wrote:
> I have the following card:
> 2f:00.0 Network controller: Intel Corporation Wi-Fi 7(802.11be)
> AX1775*/AX1790*/BE20*/BE401/BE1750* 2x2 (rev 1a)
> Subsystem: Intel Corporation BE200 320MHz [Gale Peak]
> Flags: bus master, fast devsel, latency 0, IRQ 19, IOMMU group 16
> Memory at aa800000 (64-bit, non-prefetchable) [size=3D16K]
> Capabilities: [40] Power Management version 3
> Capabilities: [50] MSI: Enable- Count=3D1/1 Maskable- 64bit+
> Capabilities: [70] Express Endpoint, IntMsgNum 0
> Capabilities: [b0] MSI-X: Enable+ Count=3D32 Masked-
> Capabilities: [100] Advanced Error Reporting
> Capabilities: [148] Secondary PCI Express
> Capabilities: [158] Physical Layer 16.0 GT/s <?>
> Capabilities: [17c] Lane Margining at the Receiver
> Capabilities: [188] Latency Tolerance Reporting
> Capabilities: [190] L1 PM Substates
> Capabilities: [1a0] Vendor Specific Information: ID=3D0002 Rev=3D4 Le=
n=3D100 <?>
> Capabilities: [2a0] Data Link Feature <?>
> Capabilities: [2ac] Precision Time Measurement
> Capabilities: [2b8] Vendor Specific Information: ID=3D0003 Rev=3D1 Le=
n=3D054 <?>
> Capabilities: [500] Vendor Specific Information: ID=3D0023 Rev=3D1 Le=
n=3D010 <?>
> Kernel driver in use: iwlwifi
>=20
> With the current firmware, I get the following error in dmesg:
> iwlwifi 0000:2f:00.0: Detected crf-id 0x2001910, cnv-id 0x2001910 wfpm
> id 0x80000000
> iwlwifi 0000:2f:00.0: PCI dev 272b/00f4, rev=3D0x472, rfid=3D0x112200
> iwlwifi 0000:2f:00.0: Detected Intel(R) Wi-Fi 7 BE200 320MHz
> iwlwifi 0000:2f:00.0: Direct firmware load for
> iwlwifi-gl-c0-fm-c0-93.ucode failed with error -2
> iwlwifi 0000:2f:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.182.4.1
> iwlwifi 0000:2f:00.0: loaded firmware version 92.67ce4588.0
> gl-c0-fm-c0-92.ucode op_mode iwlmvm
> iwlwifi 0000:2f:00.0: Detected RF FM, rfid=3D0x112200
> iwlwifi 0000:2f:00.0: loaded PNVM version 71864399
> iwlwifi 0000:2f:00.0: Microcode SW error detected. Restarting 0x0.
> iwlwifi 0000:2f:00.0: Start IWL Error Log Dump:
> iwlwifi 0000:2f:00.0: Transport status: 0x0000004A, valid: 6
> iwlwifi 0000:2f:00.0: Loaded firmware version: 92.67ce4588.0
> gl-c0-fm-c0-92.ucode
> iwlwifi 0000:2f:00.0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
> iwlwifi 0000:2f:00.0: 0x000002F0 | trm_hw_status0
> iwlwifi 0000:2f:00.0: 0x00000000 | trm_hw_status1
> iwlwifi 0000:2f:00.0: 0x002C43D6 | branchlink2
> iwlwifi 0000:2f:00.0: 0x002B89BE | interruptlink1
> iwlwifi 0000:2f:00.0: 0x002B89BE | interruptlink2
> iwlwifi 0000:2f:00.0: 0x00015ADA | data1
> iwlwifi 0000:2f:00.0: 0x00000010 | data2
> iwlwifi 0000:2f:00.0: 0x00000000 | data3
> iwlwifi 0000:2f:00.0: 0x00000000 | beacon time
> iwlwifi 0000:2f:00.0: 0x0001A67A | tsf low
> iwlwifi 0000:2f:00.0: 0x00000000 | tsf hi
> iwlwifi 0000:2f:00.0: 0x00000000 | time gp1
> iwlwifi 0000:2f:00.0: 0x00046F7B | time gp2
> iwlwifi 0000:2f:00.0: 0x00000001 | uCode revision type
> iwlwifi 0000:2f:00.0: 0x0000005C | uCode version major
> iwlwifi 0000:2f:00.0: 0x67CE4588 | uCode version minor
> iwlwifi 0000:2f:00.0: 0x00000472 | hw version
> iwlwifi 0000:2f:00.0: 0x58C80002 | board version
> iwlwifi 0000:2f:00.0: 0x800CFD1B | hcmd
> iwlwifi 0000:2f:00.0: 0x00020000 | isr0
> iwlwifi 0000:2f:00.0: 0x20000000 | isr1
> iwlwifi 0000:2f:00.0: 0x48F00002 | isr2
> iwlwifi 0000:2f:00.0: 0x00C0001C | isr3
> iwlwifi 0000:2f:00.0: 0x02000000 | isr4
> iwlwifi 0000:2f:00.0: 0x00000000 | last cmd Id
> iwlwifi 0000:2f:00.0: 0x00015ADA | wait_event
> iwlwifi 0000:2f:00.0: 0x10000004 | l2p_control
> iwlwifi 0000:2f:00.0: 0x00000000 | l2p_duration
> iwlwifi 0000:2f:00.0: 0x00000000 | l2p_mhvalid
> iwlwifi 0000:2f:00.0: 0x00000000 | l2p_addr_match
> iwlwifi 0000:2f:00.0: 0x0000000B | lmpm_pmg_sel
> iwlwifi 0000:2f:00.0: 0x00000000 | timestamp
> iwlwifi 0000:2f:00.0: 0x00000024 | flow_handler
>=20
> When I use the file iwlwifi-gl-c0-fm-c0.pnvm from the previous
> version, it works. I'm running kernel 6.12.30 in Slackware current

What firmware versions?

Confused...

--=20
An old man doll... just what I always wanted! - Clara

--KVPUsnhqMaipHaNp
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQSSYQ6Cy7oyFNCHrUH2uYlJVVFOowUCaED3fgAKCRD2uYlJVVFO
o7fOAP4gYZ8wbhKTkxmGANJUXc5ckfnpKCTwF31wEnUcPN/ewgEA0o0GPsWmnMdJ
0sI7xax5GaA3vFJrSPh99/4N++27iQI=
=QU/g
-----END PGP SIGNATURE-----

--KVPUsnhqMaipHaNp--


Return-Path: <linux-kernel+bounces-673953-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7B36241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:49:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 746667A46B9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:48:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 588DE151990;
Thu, 5 Jun 2025 01:49:06 +0000 (UTC)
Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1AA328EB;
Thu, 5 Jun 2025 01:49:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.166.238
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088145; cv=fail; b=fpuuw8yLB5wzvXowbfgjbUTjW3eHQwR9r1I5e6nnmhpijh548Y/LV+Bpw41jDUB/NhSgSv/0+4fElWMj9GbomtdJFdr8ibnR+tDO24+dfVN9KAjjLI+QUaM1cpAKYGb2zauBug2SzaN0wCP+AzIxwmSvmxncaVqTyn8NhaH7ku4=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088145; c=relaxed/simple;
bh=3HDpdjrscQ8Q2OAC0pOt9oWktCgE2or/Xdr1i6ku43Q=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=B1YKprMIE0+dA/CrAvY39ygWHYVMNjIee7aIx1XZBtdKbzDxp35bc1lntrqh0nXLs6hCKR72n8Zsskpf9y+XlIrU/cizK5SWZPwGmBxXPA+76eCz9D5hJK1roJh1yjr+h74MtXkyfTzr5jE91IijHZpp2n3BupwzopAf3PhqEiE=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=windriver.com; spf=pass smtp.mailfrom=windriver.com; arc=fail smtp.client-ip=205.220.166.238
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=windriver.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=windriver.com
Received: from pps.filterd (m0250809.ppops.net [127.0.0.1])
by mx0a-0064b401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5551S5JS018181;
Wed, 4 Jun 2025 18:48:15 -0700
Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10on2088.outbound.protection.outlook.com [40.107.93.88])
by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 471g9ruaa7-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 04 Jun 2025 18:48:14 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=W8FeuQRbQ/9KORUGj3D8/Kpz9yQpaUvQlMzdE/yRhZ6Js9PcT8mJteYScRsE2SP5TZu6yQPwuIUcepfwRzgB+szZ7GYIc518M2EeweL7dUBQZmZhJIMrxozQHWeDhAeACi/YWyN2r4Ug8OkBrJyz5YreA4fq25Eiy6KnnEKFXfYMvgHNSw4a20PmVetrIg3Cd1oBZpI8Kuy4bZuolWCm+fT4yB0imkGzoQwWZc9y4AlRLRo2uSENH5Ig59kBh8mv5uIG/31J8MyE83epHvyemjNRt4VqAWqVUGCM3znoJ0Pw9dkQ5eJw+dL6suUgJcB6lIrMzrAHQW/YRDW2kYIaeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=hlqiUZROhg+++/wP43yNPXDwtD/0LLinl16Btxat40Y=;
b=jcRPTHkEEV4GgqKLRXFaPj98VAS7AscGFrJ5EH0k3040BqMGLa5/wY5WDFY+3WEsuRi042h34R3ZABPQOnH4MU/mO8oztm+kqXim2dSh65Jth3xSxcAJutbNt9NXo4gAm9iDogL/PYGC6AMsmiy5HWJZouscqBrn1WcjrRsCRrjSivhIeQk6MVJDti5G/3e9wXs8VE77GVPyvIjOoGmCj+pMdNq3ED9Qde+MjmlmkN+Mz7puRscnDBWflw4lfJ53NlmvKA3ym8X9bXPrLtt5etVU8GkWqsLRC34lZlL2S/4ZWvs4zrH6q8EMQUR8r9aa2bNkHMNsAoMgjiRiieOTlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=windriver.com; dmarc=pass action=none
header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none
Received: from CH3PR11MB8773.namprd11.prod.outlook.com (2603:10b6:610:1cb::13)
by SJ0PR11MB5006.namprd11.prod.outlook.com (2603:10b6:a03:2db::22) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Thu, 5 Jun
2025 01:48:11 +0000
Received: from CH3PR11MB8773.namprd11.prod.outlook.com
([fe80::c241:6bd2:b212:f4b2]) by CH3PR11MB8773.namprd11.prod.outlook.com
([fe80::c241:6bd2:b212:f4b2%4]) with mapi id 15.20.8769.037; Thu, 5 Jun 2025
01:48:10 +0000
From: "Li, Meng" <Meng.Li@xxxxxxxxxxxxx>
To: Peng Fan <peng.fan@xxxxxxxxxxx>, Frank Li <Frank.li@xxxxxxx>
CC: "linux@xxxxxxxxxxxx" <linux@xxxxxxxxxxxx>,
"s.hauer@xxxxxxxxxxxxxx"
<s.hauer@xxxxxxxxxxxxxx>,
"kernel@xxxxxxxxxxxxxx" <kernel@xxxxxxxxxxxxxx>,
"linux-watchdog@xxxxxxxxxxxxxxx" <linux-watchdog@xxxxxxxxxxxxxxx>,
"imx@xxxxxxxxxxxxxxx" <imx@xxxxxxxxxxxxxxx>,
"shawnguo@xxxxxxxxxx"
<shawnguo@xxxxxxxxxx>,
"robh@xxxxxxxxxx" <robh@xxxxxxxxxx>,
"conor+dt@xxxxxxxxxx" <conor+dt@xxxxxxxxxx>,
"linux-arm-kernel@xxxxxxxxxxxxxxxxxxx"
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
"devicetree@xxxxxxxxxxxxxxx"
<devicetree@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>
Subject: RE: [v3 PATCH 2/2] arch: arm64: dts: add big-endian property back
into watchdog node
Thread-Topic: [v3 PATCH 2/2] arch: arm64: dts: add big-endian property back
into watchdog node
Thread-Index: AQHb1DxtI3Kt9L+Ix0WIQUVf0qnRsrPxhn2AgAJX9AD///CJsA==
Date: Thu, 5 Jun 2025 01:48:10 +0000
Message-ID:
<CH3PR11MB8773011E4E5161BA95275060F16FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250603040230.2012772-1-Meng.Li@xxxxxxxxxxxxx>
<20250603040230.2012772-3-Meng.Li@xxxxxxxxxxxxx>
<aD8MxZUCkzRR0IWt@lizhi-Precision-Tower-5810>
<20250605024220.GE29462@nxa18884-linux>
In-Reply-To: <20250605024220.GE29462@nxa18884-linux>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CH3PR11MB8773:EE_|SJ0PR11MB5006:EE_
x-ms-office365-filtering-correlation-id: 13e6cd68-d96e-4ea1-46be-08dda3d30702
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
BCL:0;ARA:13230040|366016|1800799024|7416014|376014|38070700018;
x-microsoft-antispam-message-info:
=?us-ascii?Q?sZ0L2kXfLVE2U+2aM3UX/TZNXo9vASYsiVMtPgEDgrlsLPwUhA2mj9hndty2?=
=?us-ascii?Q?vl/GETkXPAHKsHbXiir5yZb5YySMX1fwjTAyzq/hh2oyx/wntDNjo/OVHa0X?=
=?us-ascii?Q?tq0Z+xYf5UiPatAZ1GwW9SWncJE9YVUDcx2FUSIDpEntCNQ5fdhUS19+Jljv?=
=?us-ascii?Q?SoDUb8Saf3zfE+Oi+RVCOaOqfm8g72YSIvAWkOO3uRhnwk3SCpi/kcPkVMBn?=
=?us-ascii?Q?h0v6JtodKJLccArkaVh2lArMnYQRh7jWJsred6cJjJcqVFzxk6Pv3+bGtuUc?=
=?us-ascii?Q?jNMjNXMiOIc8miS2nwgB/+YICADyNqjX13cLc7RosC2AkB/ilrjT2NNqkgiu?=
=?us-ascii?Q?b0FZyL/F4tz3drd5uHPJMJ1zDLiEXsP04+gL9tniUJB9hBxuDryPDFoKMS2i?=
=?us-ascii?Q?FiU0+rhZKoDKR5UkqtZ0BwhdszShq321i+YfFFxPCQrw7N1MWSNF1icG5Q1B?=
=?us-ascii?Q?uYBn/gFlBikGEh30YquIbUAYqhNYyLu0BCf9g8WJ5OBqZ0mgSIvSKyu0mhHL?=
=?us-ascii?Q?z7WofBn1rCCjvzqT/bXIrq1AYeaG17QvMl6XzjFbw4xMeFog71N7jCB9ZJlW?=
=?us-ascii?Q?A2THrnYWpke1XzJTuzQTrl1MmQqHKowRIhEeEdpfVYCj66/2EuHlqdtNkd7C?=
=?us-ascii?Q?oK4X5fcBXWDrQ25vyme3wfE7YSMq88DiJZLs9gT15maZxZwIHZ/jyL7muuoB?=
=?us-ascii?Q?HoAI5CfyaxdkHC6YOOwwazQAKT6SmtNaD73yHryqiILX5muy99yzLSzdZsbc?=
=?us-ascii?Q?aRRPLZPvlwCkJ3rLSbW6vvLPOejo6FVj/AwE8MEXX+O1O4czC0rPurozTUt+?=
=?us-ascii?Q?vyrxLOWjSB7Cg39rKMIqBuh4uI7Q1oG1aqIzBFIRjoP7RVLUuTeqgH/YON/G?=
=?us-ascii?Q?r8mWcLqF0jNniiouslHK0UgMXnvFnTJWdl8v00XMvpd5INY2H09Q0B+F9fr4?=
=?us-ascii?Q?1SgGd7q+x86DftPibR91d0cKgFiZCexHXJninmO+e8bacnvxBtErm8MHxAdb?=
=?us-ascii?Q?KtBTa406BZeu1qbl0J2qDz8L10UBC+uCFDt1qnBL8al6ugJoWr+QPGSYVQHP?=
=?us-ascii?Q?LW3kmYQht/u5KScp+kikxIpndttyH9j3LQTh5F5IcGinSxqR9WND96tHYItp?=
=?us-ascii?Q?7j72B7ojhRv+Av+g35O06uxppc9C2XMObUEuMDhOBd4ukzEu9fX695/OXyEq?=
=?us-ascii?Q?gNa5IdwPqDLTSs7pdcEnrwwINXbIUUoYbqg2yzkVCczWC+K/8zKFFNZq7/a+?=
=?us-ascii?Q?yzcdO8r3nU+WzKlkPBrKG3Y3XxkYXmk/623iebd9GlqtM61EKFhukZQviKvC?=
=?us-ascii?Q?3PyHfLdh31rCHhRcPJZNw/w1IlTHiNIQZXuX1cT2KmVG3jginid1Pxk9pK8j?=
=?us-ascii?Q?21Mvks94z491CR5Mr9JFVhEysFlUk7JAKhbOCP7wxucmZAEm/1TN6fIWMaqF?=
=?us-ascii?Q?9gqHT0BmDtF6vYVnqAatTUt8junE4VKX4LRcnwvXJjc0CNe8zX+6e0viW2HI?=
=?us-ascii?Q?HZvCz0cdb/lKI/M=3D?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR11MB8773.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?us-ascii?Q?PmQ6JEdbX15ECPNoMFaaDi4YLAd3awUoHIJDdaiNUha+ELfAKBp8gQhEHukq?=
=?us-ascii?Q?yaCbhczwnj8cTEwpWsAY6e2O9P6Uk1/0enyBIrxOSiDb1Y2DHr6yL9OQJSf+?=
=?us-ascii?Q?JfMHHx6WpHJkasY38c861ZFwmkmYnNEBqzX2/YHNemooPqBTLubpMMTW6Cki?=
=?us-ascii?Q?e/gRilpD2eSA781c8pUKfyeNiKPZXhHuzjc49R9LqdRpKbi/fgFe0nV94xA2?=
=?us-ascii?Q?Tj10MSWG+N4ZIuY6YEXsliSQgkpZItPvT/tgplw1BgKxhprqNyNyeGPF8FJJ?=
=?us-ascii?Q?9qoRCdBWIfSV8uQa/GVPW4vXn93/H5v/wnUr2rDxqqqcwhii+4MHoc6JWFlH?=
=?us-ascii?Q?5DrP+uB6+NvDMkH9E82BoRFa2KnlOWR5B41aMWy2lkDa+SyxFQ9AzBHrqV5U?=
=?us-ascii?Q?wxgoM0qUArkX6LmCDngB9OwiWLizFlp6Rj8HWqTbC3cVOIT0yUJKutTLfpQO?=
=?us-ascii?Q?us5pMd+B5TsRs8CJksckA8ZiNTzwaQO9vAWOgofTU8zhqcdd9hpx2h3hmkiY?=
=?us-ascii?Q?U/bq2nbfPMYl9Y5qLsnDUnUd+s3sC+0qy1lrbcgTmD7RXnT4O+wuBKfsaZDL?=
=?us-ascii?Q?IeVszXFD2ndaxb/qXfkBBcO4ufKr1L/BtM3UJCRkY+eB/T65F6G429lj1r8l?=
=?us-ascii?Q?38h8QROrKR7UF70Whg0GUa3PceHAYVlw7dSlRH5A/86WXsxJa51JvABlPglH?=
=?us-ascii?Q?9rClQVRe+cHPDVXnN53Ca9xRDqjJ/MUJYNjyXEoxdoZlruWKp9E2dYUX5F51?=
=?us-ascii?Q?Gvtpjma+Q6vKE9nxVGF2CcqjqxFY15htBNTPJcKX//C16+2HMcfrJaj1AwG9?=
=?us-ascii?Q?gMvdPVWx+wsi2AhJO2zwJGHMz6uKGabUuvZHu9Z2um+xPfGvG9aTOaf/FPZz?=
=?us-ascii?Q?/f/7J62j9TyyO6kiTPnonk9lyCjkpB3DxDtckQarhjVJRrxs+LRgiNKRwuLW?=
=?us-ascii?Q?RVE8z0uxuzokM1q8lzPSEjF3E6EGo8j4QVYe0OWd46AlRTrVuY1CWNMWbwK+?=
=?us-ascii?Q?8xPhCCnQ55YqoijZygAuGN90N8XJR3qoNtyjm/PC+i6s3TgsjeT1NOiN/rNk?=
=?us-ascii?Q?8yhdAJRVb94timzZ2cXpIu48JHFTrrJ3XjtubLpJdlgWbI/6yx9HRejy9wPZ?=
=?us-ascii?Q?9GPVEs6BPcZCBDC/d3OqHm0GymQVXTrBWgw5bfFFo0xYGfYHJtLYNBJFUCXy?=
=?us-ascii?Q?RsvRVnWTUWfUA4RhHxSBr8gZKvEZAYAc/ZFqZSWhUhe4/Ijvjmf1LXx7szwn?=
=?us-ascii?Q?p1ud0IHBMI7AjoAWgRrPDGoNPbS2FXvKJtkPIGWSmwvpZ6zSJ8BzNMYCwITX?=
=?us-ascii?Q?NyAPvGA3kzXSiSoxnsz+32EwhLG0KVbC8oxnL1Cava/gqk2XF2cHtQedvAXw?=
=?us-ascii?Q?rfT8j7LgRYUFHG4ndSjNKrNpo0TOnbO4vlqI3p0vfnNTyjTKWhxO59bgK5Iv?=
=?us-ascii?Q?2XEIb/PyyS/3XtxEWcRr2s8baChaemWnr//kxdoXTaejyLqLOppTjZeTTj5t?=
=?us-ascii?Q?/WIDiou2Kh8vaoxp2hWo5D4AU0MBeYNdFDvS0SwiY8g06EgCIH7+nWE8NBWG?=
=?us-ascii?Q?lQi49lOmaQEKsyfGc+Uuc7tD6mPeg8bkDrmx9JXn?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-OriginatorOrg: windriver.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH3PR11MB8773.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13e6cd68-d96e-4ea1-46be-08dda3d30702
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 01:48:10.7348
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 8ddb2873-a1ad-4a18-ae4e-4644631433be
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: //tqYJRu2zk4JEZI/rQSKT4liLfruiix04uryuz0L/vEHTGZkxoXeHumyoCat3/eVrbIi/tgFChsnp5lR3WomA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5006
X-Proofpoint-GUID: PmR27IK5WdGfm6sUsVkfnxkB2WoNWeJa
X-Authority-Analysis: v=2.4 cv=VIHdn8PX c=1 sm=1 tr=0 ts=6840f75e cx=c_pps a=J1E+JpBSxTWGFwZU4p+gNg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
a=6IFa9wvqVegA:10 a=8AirrxEcAAAA:8 a=t7CeM3EgAAAA:8 a=_jlGtV7tAAAA:8 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=A6gBwVhSIv3_1ttho3oA:9 a=CjuIK1q_8ugA:10 a=ST-jHhOKWsTCqRlWije3:22 a=FdTzh2GWekK77mhwV6Dw:22 a=nlm17XC03S6CtCLSeiRr:22 a=1CNFftbPRP8L7MoqJWF3:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDAxNCBTYWx0ZWRfX+o+WnXK/GTCS xycg8BljZOOD/O8FgbK9lDgglfor7pzi3fPY66KmWC8R/AFRuIg1k2nv2Ny+e+68mxDt8RWiRgg Y7J3jKfRvTGEVWDwyubLsZmOlgc/UefVdQM8OxoZ14D+KToXheaEJRu+d0PPGGgYn+A9aEhQHA6
SIlPWFbBtLe/0uEvWpnHtERBV5/l4uYvuKnKFFLc7uOGTaXKeWrqKyd5V3qdNQBX1TP98NpeTE0 hl3oVG8Dy9Hfb3Ds3BzpRvmfTAkvbeHsokw5loi6VKvRjQxsD+6Qc3+TmeOMv8EPv4Z/QKEYFIE 8a722FAPQaVlI/dDMtuBFaGM9xHoEuq0B8V1PhWHLKqV+3RU6TEFY103PNVXa8cobq9TF+eus0k
s9zk9UVpb3bUNtAFuuMT/tponc6Hb275MbVSISbB1vYVt5jFpXNeTAMsJCXM1UFF0f6VhiuV
X-Proofpoint-ORIG-GUID: PmR27IK5WdGfm6sUsVkfnxkB2WoNWeJa
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-04_05,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 mlxlogscore=999
adultscore=0 malwarescore=0 spamscore=0 impostorscore=0 mlxscore=0
priorityscore=1501 clxscore=1011 lowpriorityscore=0 bulkscore=0
suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2505280000
definitions=main-2506050014
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



> -----Original Message-----
> From: Peng Fan <peng.fan@xxxxxxxxxxx>
> Sent: Thursday, June 5, 2025 10:42 AM
> To: Frank Li <Frank.li@xxxxxxx>
> Cc: Li, Meng <Meng.Li@xxxxxxxxxxxxx>; linux@xxxxxxxxxxxx;
> s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx; linux-
> watchdog@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx; shawnguo@xxxxxxxxxx;
> robh@xxxxxxxxxx; conor+dt@xxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxx=
g;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [v3 PATCH 2/2] arch: arm64: dts: add big-endian property bac=
k
> into watchdog node
>=20
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender an=
d
> know the content is safe.
>=20
> On Tue, Jun 03, 2025 at 10:55:01AM -0400, Frank Li wrote:
> >On Tue, Jun 03, 2025 at 12:02:30PM +0800, Meng Li wrote:
> >> When verifying watchdog feature on NXP ls1046ardb board, it doesn't
> >> work. Because in commit 7c8ffc5555cb("arm64: dts: layerscape:
> >
> >Watchdog doesn't work on NXP ls1046ardb board because ...
> >
> >please wrap at 75 chas.
> >> remove big-endian for mmc nodes"), it intented to remove the
> >> big-endian from mmc node, but the big-endian of watchdog node is also
> >> removed by accident. So, add watchdog big-endian property back.
> >
> >extra empty line here.
> >
> >> In addition, fsl,ls1046a-wdt allows big-endian property, so add it
> >> into compatible property.
> >
> >In addition, add compatible string fsl,ls1046a-wdt, which allow
> >big-endian property.
> >
> >>
> >> Fixes: 7c8ffc5555cb ("arm64: dts: layerscape: remove big-endian for
> >> mmc nodes")
> >> Cc: stable@xxxxxxxxxxxxxxx
> >> Signed-off-by: Meng Li <Meng.Li@xxxxxxxxxxxxx>
> >
> >after above small fix
> >
> >Reviewed-by: Frank Li <Frank.Li@xxxxxxx>
> >
> >> ---
> >> arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 ++-
> >> 1 file changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
> >> b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
> >> index 0baf256b4400..983b2f0e8797 100644
> >> --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
> >> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
> >> @@ -687,11 +687,12 @@ lpuart5: serial@29a0000 {
> >> };
> >>
> >> wdog0: watchdog@2ad0000 {
> >> - compatible =3D "fsl,imx21-wdt";
> >> + compatible =3D "fsl,ls1046a-wdt", "fsl,imx21-wdt"=
;
>=20
> So ls1046a is really compatible with imx21?
>=20

Yes. I think LS1046/ls1043 use the same watchdog device as imx21

Thanks,
LImeng

> Regards,
> Peng
>=20
> >> reg =3D <0x0 0x2ad0000 0x0 0x10000>;
> >> interrupts =3D <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
> >> clocks =3D <&clockgen QORIQ_CLK_PLATFORM_PLL
> >> QORIQ_CLK_PLL_DIV(2)>;
> >> + big-endian;
> >> };
> >>
> >> edma0: dma-controller@2c00000 {
> >> --
> >> 2.34.1
> >>


Return-Path: <linux-kernel+bounces-673954-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6890C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:51:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 489A93A9ADA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:51:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A4A171BD4F7;
Thu, 5 Jun 2025 01:51:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="iCgDCqRH"
Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44])
(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 620EA1AF0C1;
Thu, 5 Jun 2025 01:51:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.44
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088280; cv=none; b=chSjhOdgu8LnO9IxAiqHPGip6QiqmkR4KmpErpKxhEliXZZ2SH+eRU3ovGHpE3xwpZVikSFDiX8iKK3Cv1PyS2raRfDUyz3hPs3O9nWr3p36+H+zUDufnSgLJq7JZZ8sBNGZ6ynOuqEICYsFHlF7DonlUNyptKotBxyalL4Ul7s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088280; c=relaxed/simple;
bh=/x4DxIxH0BWpIRnk/qPEJtSiycWgqptgoe9uavKpWAg=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=CRcuCmMJZQXRqGV1CVgZMW40SE8ElC+tmIqSHhnykcUXDApTYwvaG96DmVWP1QW/FONnnxT7C0D0xlYQz9nqEC+UrLvR5geUtW980y2OjuLDNo10Tpt4a9f2ZtmPXBxaEeLJu7RVtjfMEKZhy4wMOyJfQrjVStlOZjRAlqOVJN8=
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=iCgDCqRH; arc=none smtp.client-ip=209.85.167.44
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
Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-551efd86048so455580e87.3;
Wed, 04 Jun 2025 18:51:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749088276; x=1749693076; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=+mlWn7On6mtDyUyW8xiNB9TSuIFhA67fSgyfU5pNabg=;
b=iCgDCqRH15atGfTJLCuLLzdf5KK5p/iHM0ZCthrnHIc4hH0nyjQ3jn+KavF2er5tIF
GdY73z6u0UZvCwWt8kHfS3b3DS91VJhkCJggGr2L49S4bxZ1YT6aGTfFHjM1pyO/XlWq
s6nmX95qviPeqrnltjPprTlLEySJH6IvGc+0bFnyRUK9aVYUQ6lJcSNQZ3Oqvo+LgDSF
ce6YxHsO1r2z3MVtSPgplf692NG+gv15Mr3+zeFnufgMZ/QKO6rwKqOnd3m9d//VBykC
EBjgZRggncHO7DwjnJ40yI1XoPx6cqDqJrhMIoH7Fcqfn8cXCmW7Y83hBodHITjwsTu1
jo/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749088276; x=1749693076;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=+mlWn7On6mtDyUyW8xiNB9TSuIFhA67fSgyfU5pNabg=;
b=qvUAJEarR0W2lzWkjsgd++lZ3CVDXCWmG04snAEmrK+FEd3IFWbcQCLK9CidBLh5aa
BVu/ZO4Xt/ijG+NzBE7sv9ofKn06Z4jL12xEs+kxFllfmAER4TeBcm7lu0aSIRq1ygmZ
RRaTKK+f+i0jCKi0l47OQAF7xJgszyy00CAB+H892mRM80+RET4oONB8UKo5mhvzCHAl
1nezOryymf8YUQ2FFjcFlqgdDcEQdcS8NNpgm7FYVHOn7P2EnpDywHZ0Gv8z/qABCiYt
hzeKuDY82HCjFIaRmMawK7qImVgB4o+4BQB4ixlo9ymag5J2VpU13pJEMAfPM/EEADUi
XLBg==
X-Forwarded-Encrypted: i=1; AJvYcCUXBZ7NT54RxXo54W8v6id4xwUjWmC0e1bhMOvm/1ElNjbRfRaV0wurj86FdArmvSnbeiaJZhry6Xkp5eZ1@xxxxxxxxxxxxxxx, AJvYcCUZNDoaoSXYxZQTX8KefR+Iem4HnP2TUVbBTYmooLFq6RTwSm9pt/RLx1INMaqnsvR278s5BmCAooCN@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YxR+Mcb61aiIN4HXiL7C1q/AN5+Y3lm2fnw1ZE4YEY38PwKr4Hk
UdydNULGen/fPAOOGeZVC52a6/XTjaj+ztbXOWCpy1e02BEPXeclyyAtEemhvTbFDB4F1TcZx7G
E737FgQIO8+h7noQj1/OkudgVu3u5Lsk=
X-Gm-Gg: ASbGncvOlm23KKU23eiXLk+9qLD435LEq1PohoRpVz8dx6Z+4DK6M7hOEbkIMGCDPJ9
VvTDevPvJIF6rxZi2Y93UN+c7tcdqSHPgntpMJoACkrYRMI7yXagzfrsHgLGmZs/jFpQTGJ77JD
SJQOv6DYstZTAeu37HAvDWkSUoPFRxxmQCOBYtqd8Fo2YVqElZxqNhKCbMAK0lxX+KtsSS1psSA
MDjmXxhoaHY6g==
X-Google-Smtp-Source: AGHT+IEk5Zzw6tHETC9Olgqf21/GWZkYciJCw0USM5fgKHPvApi5DG0a0gN6WZoczUuRV0vhQDc7Mouv0C1rm4TpyHg=
X-Received: by 2002:a05:6512:e9e:b0:553:302b:85ce with SMTP id
2adb3069b0e04-55356ae0fb3mr1520607e87.7.1749088276083; Wed, 04 Jun 2025
18:51:16 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250604200301.1192096-1-Frank.Li@xxxxxxx>
In-Reply-To: <20250604200301.1192096-1-Frank.Li@xxxxxxx>
From: Fabio Estevam <festevam@xxxxxxxxx>
Date: Wed, 4 Jun 2025 22:51:04 -0300
X-Gm-Features: AX0GCFvVFxob8EVb6NLsa3nj-286Crhe1GjgNqXQ3KjHN84Y-NY38GeprMrasXw
Message-ID: <CAOMZO5B4QQmZ3evum871m8AF36UTckbaPCwVyKF8QVN4-Z5=iw@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 1/4] arm64: dts: imx95-19x19-evk: add adc0 flexcan[1,2]
i2c[2,3] uart5 spi3 and tpm3
To: Frank Li <Frank.Li@xxxxxxx>
Cc: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>, Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@xxxxxxxxxxxxxxx>,
"open list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" <imx@xxxxxxxxxxxxxxx>,
"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
open list <linux-kernel@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 4, 2025 at 5:03=E2=80=AFPM Frank Li <Frank.Li@xxxxxxx> wrote:

> + spidev0: spi@0 {
> + reg =3D <0>;
> + compatible =3D "lwn,bk4-spi";

This is wrong.

I'm pretty sure there is no "Liebherr's BK4 external SPI controller"
on this board.


Return-Path: <linux-kernel+bounces-673955-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 61DF041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:51:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id AAC773A9A41
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:51:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4D2F81C9EB1;
Thu, 5 Jun 2025 01:51:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="WnBSKAgY"
Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173])
(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 019081BEF7E
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:51:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.173
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088282; cv=none; b=Vf2eJS+WEt11ZLtQfzkrOJYaF2CJ2SNpolh+l+OhWP+h5YaB/VUe30ZGvSljpRXYFR8aSDZMmmen2BV867J5D6RJCE98PruV4F5SPSU3rULso2wyQE3pHAsAD5yWzkVu0Sv8lbpaBFKQkJOaAKBYIXD4wd56FNcDx7Ljlw2eJf8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088282; c=relaxed/simple;
bh=Yi8DF512UCzmVxdqiiVnhqdNBf7mr98slXO/xgZ3GEA=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=WLgioCaN/638hzcOZjc+TgSKimjW1lgVI3wJOmAjH4x8Uku7X2Oduo7pUirCptCNezff2JM72896GCIdOXq2/MvAXtvS3Uzz/omUaGdeak6nGbijz38AEku8z7/6kC8guhYNHlZnUDvczCZo2hwUNmRKNHXN2OjT7thMHP/DPIw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=WnBSKAgY; arc=none smtp.client-ip=209.85.215.173
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com
Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-b26e6c551f8so49581a12.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 18:51:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=broadcom.com; s=google; t=1749088278; x=1749693078; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=Yi8DF512UCzmVxdqiiVnhqdNBf7mr98slXO/xgZ3GEA=;
b=WnBSKAgYo/icmBVCMNxIlvpqMKS4/z3Bdu7oDjcTEqnLRJ3Q0MeyidTt64YzJ6Q+QX
cg7Avxwg17JMYq9suu298rpED4H9nLwNdKf1YfBYVON4+lBPQZjGe/gMbNbdtQG0H8FV
EMI7ngtrH2Ms/7d27Zy3rNl8NuJQ9G30E60DY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749088278; x=1749693078;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=Yi8DF512UCzmVxdqiiVnhqdNBf7mr98slXO/xgZ3GEA=;
b=FiaTyplwVgcbRTkSzSAccJu8QZA/cDeUd3M1Z4HxPiVZL6R4wyQs6jbrIOJz77kjoq
vccOnYIjWnanO6Od7rNMK6DJuHLx6UWLEoOnyRmEa9AB97JeIaHoO4t5tzhz5eYD/j0h
ctUsZw8UWdIFD87fE0bB7wnhr15WL/tO/Ix17rAnBYuQbFFpI7ypqUFn13WqbwzDS2bT
c+NudMatWlxeC/d4WJsd/zisJoplwwaA3e5M4czN2qGRUMXZ35/OzbIK5f4Q/c+2i/YB
yuIXpSyDULY+9hBvWmNxIwFZJZ9RVj1HMz3AmeIZ5alKKQEJEVEgpsGaERljQhRsP87P
gM5A==
X-Forwarded-Encrypted: i=1; AJvYcCXL73Pcyx1V86W+Uj5CP9Ks1RUbd2TYz/ShmmWcXgQt59lJ/06aFMeIQhnjElqfwHA2daHwpvCeGdPa9qA=@vger.kernel.org
X-Gm-Message-State: AOJu0Ywt+MPTub0zaJM7IvoArw7ZK4A1xQNcbUFb6hcvEsEUvW/VSmtP
q+0R8V8Sf4AsCRWbUUCcV+LNN4rRGttVuwG87jx/9PLZmTGKoYVDZYmU23quDRwYlx3hbpQeztX
v2n1vOOmArjjWbA3hjlCcSM/iabkEYWVqxHRTl/qe
X-Gm-Gg: ASbGncst91gjerURsETYZP1sAyZBDXPTpqvxHEXghXqNUEPkKUO3sY2lbpfNL3BTmxH
fBsjzeSdsU0yQNf4g1slYHWQWYRff0op4DKTnrAkbP6XnZob9uENJSfBzuTnoSLfP1F5AJNEn+4
p2bfwOCMuLt6BnqVABMVoahOPUPsO85r6vgA==
X-Google-Smtp-Source: AGHT+IEaFKpjsWFeskLAEGV0N1RudoEjQsia03gkWWg1f3quBLAvO5IT5KWoJHnonAXrBHF0+OjfG5W1pzvZPIDQF9A=
X-Received: by 2002:a17:90b:180c:b0:311:c939:c842 with SMTP id
98e67ed59e1d1-3130cd7eab2mr2600137a91.7.1749088278026; Wed, 04 Jun 2025
18:51:18 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250530034713.4165309-1-dregan@xxxxxxxxxxxx> <87ecw2ns3s.fsf@xxxxxxxxxxx>
In-Reply-To: <87ecw2ns3s.fsf@xxxxxxxxxxx>
From: David Regan <dregan@xxxxxxxxxxxx>
Date: Wed, 4 Jun 2025 18:51:06 -0700
X-Gm-Features: AX0GCFtC8Agsi1wpjEZkyB90by2xTmeQg1m7afAny8GVFx1QEwwSpixj_fSsOh0
Message-ID: <CAA_RMS52nYO=XqQH9VkCDTC=OrrCLSAcXXeR41qCKNNVLzzi5g@xxxxxxxxxxxxxx>
Subject: Re: [PATCH] mtd: nand: brcmnand: fix mtd corrected bits stat
To: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
Cc: David Regan <dregan@xxxxxxxxxxxx>,
Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, linux-mtd@xxxxxxxxxxxxxxxxxxx,
bcm-kernel-feedback-list@xxxxxxxxxxxx,
William Zhang <william.zhang@xxxxxxxxxxxx>, Anand Gore <anand.gore@xxxxxxxxxxxx>,
Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>, Kamal Dasu <kamal.dasu@xxxxxxxxxxxx>,
Dan Beygelman <dan.beygelman@xxxxxxxxxxxx>, =?UTF-8?B?w4FsdmFybyBGZXJuw6FuZGV6IFJvamFz?= <noltari@xxxxxxxxx>,
rafal@xxxxxxxxxx, computersforpeace@xxxxxxxxx, frieder.schrempf@xxxxxxxxxx,
Vignesh Raghavendra <vigneshr@xxxxxx>, Richard Weinberger <richard@xxxxxx>,
Boris Brezillon <bbrezillon@xxxxxxxxxx>, kdasu.kdev@xxxxxxxxx,
JaimeLiao <jaimeliao.tw@xxxxxxxxx>, Adam Borowski <kilobyte@xxxxxxxxxx>,
Jonas Gorski <jonas.gorski@xxxxxxxxx>, dgcbueu@xxxxxxxxx, dregan@xxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Miqu=C3=A8l,

On Mon, Jun 2, 2025 at 7:19=E2=80=AFAM Miquel Raynal <miquel.raynal@bootlin=
.com> wrote:
>
> On 29/05/2025 at 20:46:59 -07, David Regan <dregan@xxxxxxxxxxxx> wrote:
>
> > Currently we attempt to get the amount of flipped bits from a hardware
> > location which is reset on every subpage. Instead obtain total flipped
> > bits stat from hardware accumulator. In addition identify the correct
> > maximum subpage corrected bits.
>
> This change does not feel correct. We gather two statistics:
> - the maximum number of bitflips corrected in a single ECC chunk
> - the total number of bitflips among the whole page
>
> The most important one is the former, because it may trigger wear
> levelling from the top layer (UBI, usually). It feels like you are
> breaking this, am I wrong? Would you mind to be more explicit otherwise?

Detecting the maximum number of bitflips corrected in a single subpage
(ECC chunk) doesn't work correctly, however the code will still
trigger an EUCLEAN since we return max(mtd->bitflip_threshold,
corrected) . My fix is to accurately report the maximum number of bit
flips per subpage, in addition to counting the total bit flips per
whole page to update the mtd corrected bits stat.

>
> Thanks,
> Miqu=C3=A8l

-Dave


Return-Path: <linux-kernel+bounces-673956-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D631941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:54:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id BD8BD1895AA5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:54:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4C4FA1AF0C1;
Thu, 5 Jun 2025 01:54:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="U+cOxR8I"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4D8B1B4153
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:54:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088449; cv=none; b=mSBoI9EW04t9i89ORVxdOIak073m4B6rvF43qGFrprCJQsAGPcpc6Zyz+w8wBmfUD9VKhOsoDzYDN+nhvYXLoeFlMqe79X/4lTtqDvNwH0OhdiT+7wQDUPcq1LwIyZ+ZVVY19nWZw504iCicS1vcDLEx3/K/6jyCCUigwsSUh1Y=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088449; c=relaxed/simple;
bh=vQTwx8rjcXn0A4riGtEhQ1K3L41kSXoaebSKay+4t4w=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=OFn565EXy/+aIVu/r8C2m/rUn3G15dy4DYkOy+NNltjPslu53WOVPD1dgcLV0ul5prwBWASXhorJEBIL0eWfKsI+nB6Q0YpWn/PMXrf2sEI3crBCOysO+ZN4eBwdPdtUvoJJkABKAXzUJSr2NchjK5/BEyPiNy14MfSkkwTSvFI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=U+cOxR8I; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749088445;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=BC2mBK4yBi4qafCyDggN6PiVKb9O1UTdapJO1DummFw=;
b=U+cOxR8IqSd/ktq8baYMTZsblXnZbFoKzewBlCm2lsSXF5bnAZrCv1AyY6pDiV2X7j32mX
lrYcYwaUL15oo0TLTongA192dCUcdP8CoxBxCqhWgJVTZPDf+rEYXCQV+AVSMdNCPV9i9/
1KeyYm0VGFKoWGf+ALwxhiFjEmNVsMw=
Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com
[209.85.216.71]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-258-_UajmzJWPheD7bzvPkRGmQ-1; Wed, 04 Jun 2025 21:54:04 -0400
X-MC-Unique: _UajmzJWPheD7bzvPkRGmQ-1
X-Mimecast-MFC-AGG-ID: _UajmzJWPheD7bzvPkRGmQ_1749088443
Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-3132c8437ffso327586a91.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 18:54:04 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749088443; x=1749693243;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=BC2mBK4yBi4qafCyDggN6PiVKb9O1UTdapJO1DummFw=;
b=EYo58OElO7yfzkHizhITyJlt5z+3X9AQld3msduuAAIa9dsZbicjPV2sq7ZYOLuKLp
Y2DcuBog6BxQjplEPQqkEnHzfTJR0ztAyez11cgrieyP1eXTvgTig9DLbQv0n9dUmfHZ
Tw2OmwMYV/T6PFvDhTUECX/5deAH4DprSnjL0ji12JPpXe77/RYlbEpskB8hDtK3zckH
9i9rL0n1cdId7OLD9xgaVe7ZMm4a2ZyQID/J5in4sN+UsHPzqU2c6/YLxiBwZ8F8h8Di
HRi0+WVxaUbbp0Hhj/WdBONVbdtRsCzPaYqKyXc7p532zTYey+D9CTk4iBSJDIqqGb4U
8u2A==
X-Forwarded-Encrypted: i=1; AJvYcCVlK/wkRkBPmLOPS2xecH9MASPuTJhIuFvVYzpo9vTD/CzMm7Cvh2N6Aej+i4cIAtZKYqGwKJmKfXuR/yE=@vger.kernel.org
X-Gm-Message-State: AOJu0YwWGffCHD0Ix5NFd9pSOQuT2DRiJqOBLZORFQymoSaKrmTxH3zu
Us1BeD2PeoaMlciiWw/Otma9DpR9ruOoFd5e55QiYC8MJPuMrzHUsob0TBgfmCyQhxe4Jtos16f
tbtt1dnaC4KdvdkaB1C1zueGQQ8ixr8DzRJgcNzpJW6ZBEBqebAtBjAItuUUWiKQxo4WYWzD/8G
JlxA2sx0HZTIGpd7GuwKdbxGoCGlJ7KRIHr82BvXF0
X-Gm-Gg: ASbGncsDetg+0RodocYJ+/wu/iI6ld+RtYB7zhFOeO0PsUsCt4jmkKb7aarw82Fu5zN
LhNHrvv9qt1e86RiYJZF1T4BTVrJs0xs5C5qaUzABuuv96y2HKL30DElqUHqg8pbZvsLz
X-Received: by 2002:a17:90a:2d7:b0:313:1e60:584e with SMTP id 98e67ed59e1d1-3131e60681bmr3809502a91.9.1749088443129;
Wed, 04 Jun 2025 18:54:03 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFG0yzA99Erlj2MhkgitZrXe/a2toXhaJ/g+nzdB5AodaS9MJdc58V+7sd9YNfwB2uorJqDK32mTTajXn9WVFY=
X-Received: by 2002:a17:90a:2d7:b0:313:1e60:584e with SMTP id
98e67ed59e1d1-3131e60681bmr3809457a91.9.1749088442626; Wed, 04 Jun 2025
18:54:02 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250530-rss-v12-0-95d8b348de91@xxxxxxxxxx> <20250530-rss-v12-1-95d8b348de91@xxxxxxxxxx>
<CACGkMEufffSj1GQMqwf598__-JgNtXRpyvsLtjSbr3angLmJXg@xxxxxxxxxxxxxx>
<95cb2640-570d-4f51-8775-af5248c6bc5a@xxxxxxxxxx> <CACGkMEu6fZaErFEu7_UFsykXRL7Z+CwmkcxmvJHC+eN_j0pQvg@xxxxxxxxxxxxxx>
<4eaa7aaa-f677-4a31-bcc2-badcb5e2b9f6@xxxxxxxxxx>
In-Reply-To: <4eaa7aaa-f677-4a31-bcc2-badcb5e2b9f6@xxxxxxxxxx>
From: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 09:53:51 +0800
X-Gm-Features: AX0GCFs6gwWaUHSoehy3V82tjRpIbnMIfL8B0gU0JQ9aatmr2UJ2cS77eqKWV84
Message-ID: <CACGkMEu3QH+VdHqQEePYz_z+_bNYswpA-KNxzz0edEOSSkJtWw@xxxxxxxxxxxxxx>
Subject: Re: [PATCH net-next v12 01/10] virtio_net: Add functions for hashing
To: Akihiko Odaki <akihiko.odaki@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>, Willem de Bruijn <willemdebruijn.kernel@xxxxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
"Michael S. Tsirkin" <mst@xxxxxxxxxx>, Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>,
Shuah Khan <shuah@xxxxxxxxxx>, linux-doc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx,
virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
Yuri Benditovich <yuri.benditovich@xxxxxxxxxx>, Andrew Melnychenko <andrew@xxxxxxxxxx>,
Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>, gur.stavi@xxxxxxxxxx,
Lei Yang <leiyang@xxxxxxxxxx>, Simon Horman <horms@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 4, 2025 at 3:20=E2=80=AFPM Akihiko Odaki <akihiko.odaki@daynix.=
com> wrote:
>
> On 2025/06/04 10:18, Jason Wang wrote:
> > On Tue, Jun 3, 2025 at 1:31=E2=80=AFPM Akihiko Odaki <akihiko.odaki@day=
nix.com> wrote:
> >>
> >> On 2025/06/03 12:19, Jason Wang wrote:
> >>> On Fri, May 30, 2025 at 12:50=E2=80=AFPM Akihiko Odaki <akihiko.odaki=
@daynix.com> wrote:
> >>>>
> >>>> They are useful to implement VIRTIO_NET_F_RSS and
> >>>> VIRTIO_NET_F_HASH_REPORT.
> >>>>
> >>>> Signed-off-by: Akihiko Odaki <akihiko.odaki@xxxxxxxxxx>
> >>>> Tested-by: Lei Yang <leiyang@xxxxxxxxxx>
> >>>> ---
> >>>> include/linux/virtio_net.h | 188 ++++++++++++++++++++++++++++++++=
+++++++++++++
> >>>> 1 file changed, 188 insertions(+)
> >>>>
> >>>> diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h
> >>>> index 02a9f4dc594d..426f33b4b824 100644
> >>>> --- a/include/linux/virtio_net.h
> >>>> +++ b/include/linux/virtio_net.h
> >>>> @@ -9,6 +9,194 @@
> >>>> #include <uapi/linux/tcp.h>
> >>>> #include <uapi/linux/virtio_net.h>
> >>>>
> >>>> +struct virtio_net_hash {
> >>>> + u32 value;
> >>>> + u16 report;
> >>>> +};
> >>>> +
> >>>> +struct virtio_net_toeplitz_state {
> >>>> + u32 hash;
> >>>> + const u32 *key;
> >>>> +};
> >>>> +
> >>>> +#define VIRTIO_NET_SUPPORTED_HASH_TYPES (VIRTIO_NET_RSS_HASH_TYPE_I=
Pv4 | \
> >>>> + VIRTIO_NET_RSS_HASH_TYPE_TC=
Pv4 | \
> >>>> + VIRTIO_NET_RSS_HASH_TYPE_UD=
Pv4 | \
> >>>> + VIRTIO_NET_RSS_HASH_TYPE_IP=
v6 | \
> >>>> + VIRTIO_NET_RSS_HASH_TYPE_TC=
Pv6 | \
> >>>> + VIRTIO_NET_RSS_HASH_TYPE_UD=
Pv6)
> >>>> +
> >>>> +#define VIRTIO_NET_RSS_MAX_KEY_SIZE 40
> >>>> +
> >>>> +static inline void virtio_net_toeplitz_convert_key(u32 *input, size=
_t len)
> >>>> +{
> >>>> + while (len >=3D sizeof(*input)) {
> >>>> + *input =3D be32_to_cpu((__force __be32)*input);
> >>>> + input++;
> >>>> + len -=3D sizeof(*input);
> >>>> + }
> >>>> +}
> >>>> +
> >>>> +static inline void virtio_net_toeplitz_calc(struct virtio_net_toepl=
itz_state *state,
> >>>> + const __be32 *input, siz=
e_t len)
> >>>> +{
> >>>> + while (len >=3D sizeof(*input)) {
> >>>> + for (u32 map =3D be32_to_cpu(*input); map; map &=3D =
(map - 1)) {
> >>>> + u32 i =3D ffs(map);
> >>>> +
> >>>> + state->hash ^=3D state->key[0] << (32 - i) |
> >>>> + (u32)((u64)state->key[1] >> i=
);
> >>>> + }
> >>>> +
> >>>> + state->key++;
> >>>> + input++;
> >>>> + len -=3D sizeof(*input);
> >>>> + }
> >>>> +}
> >>>> +
> >>>> +static inline u8 virtio_net_hash_key_length(u32 types)
> >>>> +{
> >>>> + size_t len =3D 0;
> >>>> +
> >>>> + if (types & VIRTIO_NET_HASH_REPORT_IPv4)
> >>>> + len =3D max(len,
> >>>> + sizeof(struct flow_dissector_key_ipv4_addr=
s));
> >>>> +
> >>>> + if (types &
> >>>> + (VIRTIO_NET_HASH_REPORT_TCPv4 | VIRTIO_NET_HASH_REPORT_U=
DPv4))
> >>>> + len =3D max(len,
> >>>> + sizeof(struct flow_dissector_key_ipv4_addr=
s) +
> >>>> + sizeof(struct flow_dissector_key_ports));
> >>>> +
> >>>> + if (types & VIRTIO_NET_HASH_REPORT_IPv6)
> >>>> + len =3D max(len,
> >>>> + sizeof(struct flow_dissector_key_ipv6_addr=
s));
> >>>> +
> >>>> + if (types &
> >>>> + (VIRTIO_NET_HASH_REPORT_TCPv6 | VIRTIO_NET_HASH_REPORT_U=
DPv6))
> >>>> + len =3D max(len,
> >>>> + sizeof(struct flow_dissector_key_ipv6_addr=
s) +
> >>>> + sizeof(struct flow_dissector_key_ports));
> >>>> +
> >>>> + return len + sizeof(u32);
> >>>> +}
> >>>> +
> >>>> +static inline u32 virtio_net_hash_report(u32 types,
> >>>> + const struct flow_keys_basi=
c *keys)
> >>>> +{
> >>>> + switch (keys->basic.n_proto) {
> >>>> + case cpu_to_be16(ETH_P_IP):
> >>>> + if (!(keys->control.flags & FLOW_DIS_IS_FRAGMENT)) {
> >>>> + if (keys->basic.ip_proto =3D=3D IPPROTO_TCP =
&&
> >>>> + (types & VIRTIO_NET_RSS_HASH_TYPE_TCPv4)=
)
> >>>> + return VIRTIO_NET_HASH_REPORT_TCPv4;
> >>>> +
> >>>> + if (keys->basic.ip_proto =3D=3D IPPROTO_UDP =
&&
> >>>> + (types & VIRTIO_NET_RSS_HASH_TYPE_UDPv4)=
)
> >>>> + return VIRTIO_NET_HASH_REPORT_UDPv4;
> >>>> + }
> >>>> +
> >>>> + if (types & VIRTIO_NET_RSS_HASH_TYPE_IPv4)
> >>>> + return VIRTIO_NET_HASH_REPORT_IPv4;
> >>>> +
> >>>> + return VIRTIO_NET_HASH_REPORT_NONE;
> >>>> +
> >>>> + case cpu_to_be16(ETH_P_IPV6):
> >>>> + if (!(keys->control.flags & FLOW_DIS_IS_FRAGMENT)) {
> >>>> + if (keys->basic.ip_proto =3D=3D IPPROTO_TCP =
&&
> >>>> + (types & VIRTIO_NET_RSS_HASH_TYPE_TCPv6)=
)
> >>>> + return VIRTIO_NET_HASH_REPORT_TCPv6;
> >>>> +
> >>>> + if (keys->basic.ip_proto =3D=3D IPPROTO_UDP =
&&
> >>>> + (types & VIRTIO_NET_RSS_HASH_TYPE_UDPv6)=
)
> >>>> + return VIRTIO_NET_HASH_REPORT_UDPv6;
> >>>> + }
> >>>> +
> >>>> + if (types & VIRTIO_NET_RSS_HASH_TYPE_IPv6)
> >>>> + return VIRTIO_NET_HASH_REPORT_IPv6;
> >>>> +
> >>>> + return VIRTIO_NET_HASH_REPORT_NONE;
> >>>> +
> >>>> + default:
> >>>> + return VIRTIO_NET_HASH_REPORT_NONE;
> >>>> + }
> >>>> +}
> >>>> +
> >>>> +static inline void virtio_net_hash_rss(const struct sk_buff *skb,
> >>>> + u32 types, const u32 *key,
> >>>> + struct virtio_net_hash *hash)
> >>>> +{
> >>>> + struct virtio_net_toeplitz_state toeplitz_state =3D { .key =
=3D key };
> >>>> + struct flow_keys flow;
> >>>> + struct flow_keys_basic flow_basic;
> >>>> + u16 report;
> >>>> +
> >>>> + if (!skb_flow_dissect_flow_keys(skb, &flow, 0)) {
> >>>> + hash->report =3D VIRTIO_NET_HASH_REPORT_NONE;
> >>>> + return;
> >>>> + }
> >>>> +
> >>>> + flow_basic =3D (struct flow_keys_basic) {
> >>>> + .control =3D flow.control,
> >>>> + .basic =3D flow.basic
> >>>> + };
> >>>> +
> >>>> + report =3D virtio_net_hash_report(types, &flow_basic);
> >>>> +
> >>>> + switch (report) {
> >>>> + case VIRTIO_NET_HASH_REPORT_IPv4:
> >>>> + virtio_net_toeplitz_calc(&toeplitz_state,
> >>>> + (__be32 *)&flow.addrs.v4add=
rs,
> >>>> + sizeof(flow.addrs.v4addrs))=
;
> >>>> + break;
> >>>> +
> >>>> + case VIRTIO_NET_HASH_REPORT_TCPv4:
> >>>> + virtio_net_toeplitz_calc(&toeplitz_state,
> >>>> + (__be32 *)&flow.addrs.v4add=
rs,
> >>>> + sizeof(flow.addrs.v4addrs))=
;
> >>>> + virtio_net_toeplitz_calc(&toeplitz_state, &flow.port=
s.ports,
> >>>> + sizeof(flow.ports.ports));
> >>>> + break;
> >>>> +
> >>>> + case VIRTIO_NET_HASH_REPORT_UDPv4:
> >>>> + virtio_net_toeplitz_calc(&toeplitz_state,
> >>>> + (__be32 *)&flow.addrs.v4add=
rs,
> >>>> + sizeof(flow.addrs.v4addrs))=
;
> >>>> + virtio_net_toeplitz_calc(&toeplitz_state, &flow.port=
s.ports,
> >>>> + sizeof(flow.ports.ports));
> >>>> + break;
> >>>> +
> >>>> + case VIRTIO_NET_HASH_REPORT_IPv6:
> >>>> + virtio_net_toeplitz_calc(&toeplitz_state,
> >>>> + (__be32 *)&flow.addrs.v6add=
rs,
> >>>> + sizeof(flow.addrs.v6addrs))=
;
> >>>> + break;
> >>>> +
> >>>> + case VIRTIO_NET_HASH_REPORT_TCPv6:
> >>>> + virtio_net_toeplitz_calc(&toeplitz_state,
> >>>> + (__be32 *)&flow.addrs.v6add=
rs,
> >>>> + sizeof(flow.addrs.v6addrs))=
;
> >>>> + virtio_net_toeplitz_calc(&toeplitz_state, &flow.port=
s.ports,
> >>>> + sizeof(flow.ports.ports));
> >>>> + break;
> >>>> +
> >>>> + case VIRTIO_NET_HASH_REPORT_UDPv6:
> >>>> + virtio_net_toeplitz_calc(&toeplitz_state,
> >>>> + (__be32 *)&flow.addrs.v6add=
rs,
> >>>> + sizeof(flow.addrs.v6addrs))=
;
> >>>> + virtio_net_toeplitz_calc(&toeplitz_state, &flow.port=
s.ports,
> >>>> + sizeof(flow.ports.ports));
> >>>> + break;
> >>>> +
> >>>> + default:
> >>>> + hash->report =3D VIRTIO_NET_HASH_REPORT_NONE;
> >>>> + return;
> >>>
> >>> So I still think we need a comment here to explain why this is not an
> >>> issue if the device can report HASH_XXX_EX. Or we need to add the
> >>> support, since this is the code from the driver side, I don't think w=
e
> >>> need to worry about the device implementation issues.
> >>
> >> This is on the device side, and don't report HASH_TYPE_XXX_EX.
> >>
> >>>
> >>> For the issue of the number of options, does the spec forbid fallback
> >>> to VIRTIO_NET_HASH_REPORT_NONE? If not, we can do that.
> >>
> >> 5.1.6.4.3.4 "IPv6 packets with extension header" says:
> >> > If VIRTIO_NET_HASH_TYPE_TCP_EX is set and the packet has a TCPv6
> >> > header, the hash is calculated over the following fields:
> >> > - Home address from the home address option in the IPv6 destinatio=
n
> >> > options header. If the extension header is not present, use the
> >> > Source IPv6 address.
> >> > - IPv6 address that is contained in the Routing-Header-Type-2 from=
the
> >> > associated extension header. If the extension header is not pres=
ent,
> >> > use the Destination IPv6 address.
> >> > - Source TCP port
> >> > - Destination TCP port
> >>
> >> Therefore, if VIRTIO_NET_HASH_TYPE_TCP_EX is set, the packet has a TCP=
v6
> >> and an home address option in the IPv6 destination options header is
> >> present, the hash is calculated over the home address. If the hash is
> >> not calculated over the home address in such a case, the device is
> >> contradicting with this section and violating the spec. The same goes
> >> for the other HASH_TYPE_XXX_EX types and Routing-Header-Type-2.
> >
> > Just to make sure we are one the same page. I meant:
> >
> > 1) If the hash is not calculated over the home address (in the case of
> > IPv6 destination destination), it can still report
> > VIRTIO_NET_RSS_HASH_TYPE_IPv6. This is what you implemented in your
> > series. So the device can simply fallback to e.g TCPv6 if it can't
> > understand all or part of the IPv6 options.
>
> The spec says it can fallback if "the extension header is not present",
> not if the device can't understand the extension header.

I don't think so,

1) spec had a condition beforehand:

"""
If VIRTIO_NET_HASH_TYPE_TCP_EX is set and the packet has a TCPv6
header, the hash is calculated over the following fields:
...
If the extension header is not present ...
"""

So the device can choose not to set VIRTIO_NET_HASH_TYPE_TCP_EX as
spec doesn't say device MUST set VIRTIO_NET_HASH_TYPE_TCP_EX if ...

2) implementation wise, since device has limited resources, we can't
expect the device can parse arbitrary number of ipv6 options

3) if 1) and 2) not the case, we need fix the spec otherwise implement
a spec compliant device is impractical

>
> > 2) the VIRTIO_NET_SUPPORTED_HASH_TYPES is not checked against the
> > tun_vnet_ioctl_sethash(), so userspace may set
> > VIRTIO_NET_HASH_TYPE_TCP_EX regardless of what has been returned by
> > tun_vnet_ioctl_gethashtypes(). In this case they won't get
> > VIRTIO_NET_HASH_TYPE_TCP_EX.
>
> That's right. It's the responsibility of the userspace to set only the
> supported hash types.

Well, the kernel should filter out the unsupported one to have a
robust uAPI. Otherwise, we give green light to the buggy userspace
which will have unexpected results.

>
> > 3) implementing part of the hash types might complicate the migration
> > or at least we need to describe the expectations of libvirt or other
> > management in this case. For example, do we plan to have a dedicated
> > Qemu command line like:
> >
> > -device virtio-net-pci,hash_report=3Don,supported_hash_types=3DX,Y,Z?
>
> I posted a patch series to implement such a command line for vDPA[1].
> The patch series that wires this tuntap feature up[2] reuses the
> infrastructure so it doesn't bring additional complexity.
>
> [1]
> https://lore.kernel.org/qemu-devel/20250530-vdpa-v1-0-5af4109b1c19@daynix=
.com/
> [2]
> https://lore.kernel.org/qemu-devel/20250530-hash-v5-0-343d7d7a8200@daynix=
.com/

I meant, if we implement a full hash report feature, it means a single
hash cmdline option is more than sufficient and so compatibility code
can just turn it off when dealing with machine types. This is much
more simpler than

1) having both hash as well as supported_hash_features
2) dealing both hash as well as supported_hash_features in compatibility co=
des
3) libvirt will be happy

For [1], it seems it introduces a per has type option, this seems to
be a burden to the management layer as it need to learn new option
everytime a new hash type is supported

Thanks

>
> Regards,
> Akihiko Odaki
>



Return-Path: <linux-kernel+bounces-673957-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5F3A141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:56:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 097C81898D74
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:56:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7CD6E1C84A2;
Thu, 5 Jun 2025 01:55:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="AYe3L2h5"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D16601B4153
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:55:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088546; cv=none; b=fHVbi/uT8uMiUn/pbau17U8rgaTuAPJm4wDtkFowrpWPLySvC366Ol/wQR4BvmBMfd3rEmFbQXsyQiPS1tKwWumEwZAbgNIcvQU6TtDUZ7PNAdubVy60H5KgntFnRZuuAOyV7rC56/OhTyXQgLudkdTpI2u/lBvfWb9S5AX3zG0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088546; c=relaxed/simple;
bh=+c9Fev8/Meg10Uoay1ZU/kdCAOWZDW9/gdNngKjH6Go=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=KHiudpDIrQ1Rkx/O0toS33M5C2FeAZvjb/Kxm4b/UAqggyvP2V0YPdWZjdw3R8ZZjShJMhDcIqWOcAKHO2D1APKd3gCsqy5ZSGkWpxlEe8IiJs3Ur4Y058rQ20AEXm16JxLrdfrHHdzWwy8zCa7ocv2c2IEN8s2WJtC2FdPxrGE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=AYe3L2h5; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749088544;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=9AwB0rFfcz08HKP4jJKt0w7l+d02ZrCK/l/MYo9cvhM=;
b=AYe3L2h5+WV3v1fGRdDtOoJICmTJnX22XM5MagCWy/d10VhwQnJ3OkKRUs4gW6Ob4QRkUh
cSr6I48iW8sQxg2KiULoYMhiVSWT6Tu5QIaWQ19LZiwhMbmrlObojNF+O19fRdzJJ928c6
ZYhM/f1Aagunlq5WtXucK3lmWfZM6gg=
Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com
[209.85.210.197]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-262-VZpwWm5XMaK4cKUGi0tgfQ-1; Wed, 04 Jun 2025 21:55:42 -0400
X-MC-Unique: VZpwWm5XMaK4cKUGi0tgfQ-1
X-Mimecast-MFC-AGG-ID: VZpwWm5XMaK4cKUGi0tgfQ_1749088542
Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-74292762324so491498b3a.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 18:55:42 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749088541; x=1749693341;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=9AwB0rFfcz08HKP4jJKt0w7l+d02ZrCK/l/MYo9cvhM=;
b=pKSh6PuUZTFtigaNvFUyxjqiS1DbFy6BSdbx4xZWijtgQiP3icteLA42s9unkzuGxE
aOiqoZTQHcoIY+ZBwvmCrJ/dqXs2KX5r98BCdo7QmdGxx9isAgqEbjT/euGZwXEpULvG
XmnjTXx94VIl0KvRrqcp8pTCdbQCaVVlhdcriXLMixQnfXUwog3l1ejiEZ5eWWrlAepx
yfCFh/R4LjSTe132woJr31GB1IzGd2LlP87RUorXIA4M0tZGAH/+SZJmTADQPl/4yrVe
Qdb38MFOU27Ih5lekCAwi6d9vpo697zFoGxDXa4YM2oZNxnBPkW5B7LpBO9cDnuPVnU4
/e4A==
X-Forwarded-Encrypted: i=1; AJvYcCWMdH2cKg/wB1VAapysVw3uormfej7cYHoh/VxrMJmqG+PqBS0a/ckmws9jqqwDekwXB86DlmANHUR64Yk=@vger.kernel.org
X-Gm-Message-State: AOJu0Yzy24CRqgLY38MAoLQ9/mAgValxfT/mOKM6JRiaYSCtcccg4DvG
DJlSAfZX09FEplv/mMahEFMgwoQSxKhzxWcUgFCTiWqY50533cJyPIOlbGfOE+aSmFe/ftlyUDt
pDU28xirUfOqMavOmYKuwulPxQrchOzFLro1BV3eK6DVM2lIRlBkT6TPBY2056Z+aGmZYOjCbQH
IXOVPVkwMk5S1G4PAibqNqBNu3VF5eqfaFnEFAS0sD
X-Gm-Gg: ASbGncvDF9oL4dF5jmuQw4uc9EfN+skm2eVsjtGkb6NP4QwLHC+5nyXXzyzJjB3Jwpp
gpmShqVIqoM0Po+ebhUhJQIsvW/3DzcI4fpyE/dmlDNGlJzSIuWrw70a3sIfXdD1MNcqtKUcWET
F6s4o=
X-Received: by 2002:a05:6a00:2388:b0:740:9d7c:aeb9 with SMTP id d2e1a72fcca58-7480b4d1082mr6213285b3a.21.1749088541554;
Wed, 04 Jun 2025 18:55:41 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFwnJcqWyBWgiV7ZC471A+qE9fAqmmsGEYcyWVU07xTy7Qtf9rwO6aj8PQ3oqhbhbV/So3yIUnkKqxQkvKzki0=
X-Received: by 2002:a05:6a00:2388:b0:740:9d7c:aeb9 with SMTP id
d2e1a72fcca58-7480b4d1082mr6213256b3a.21.1749088541126; Wed, 04 Jun 2025
18:55:41 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250530-rss-v12-0-95d8b348de91@xxxxxxxxxx> <20250530-rss-v12-3-95d8b348de91@xxxxxxxxxx>
<CACGkMEvVf0LrquZcWSv3vp-r44sTj0ZDnjwbwB20N0aU35+vxw@xxxxxxxxxxxxxx> <517d5838-3313-4b31-b96d-d471b062cd1a@xxxxxxxxxx>
In-Reply-To: <517d5838-3313-4b31-b96d-d471b062cd1a@xxxxxxxxxx>
From: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 09:55:29 +0800
X-Gm-Features: AX0GCFurXm0NIffhahLwnERAjW3lh1v_d_xG6UdMjWsQHXxbHYsep8L113YBN6k
Message-ID: <CACGkMEvyaY0rdNTj_jP_4HF5TrCCNeTKZZ8U2LsMikLqyctkzA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH net-next v12 03/10] tun: Allow steering eBPF program to
fall back
To: Akihiko Odaki <akihiko.odaki@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>, Willem de Bruijn <willemdebruijn.kernel@xxxxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
"Michael S. Tsirkin" <mst@xxxxxxxxxx>, Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>,
Shuah Khan <shuah@xxxxxxxxxx>, linux-doc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx,
virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
Yuri Benditovich <yuri.benditovich@xxxxxxxxxx>, Andrew Melnychenko <andrew@xxxxxxxxxx>,
Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>, gur.stavi@xxxxxxxxxx,
Lei Yang <leiyang@xxxxxxxxxx>, Simon Horman <horms@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 4, 2025 at 3:24=E2=80=AFPM Akihiko Odaki <akihiko.odaki@daynix.=
com> wrote:
>
> On 2025/06/04 10:27, Jason Wang wrote:
> > On Fri, May 30, 2025 at 12:50=E2=80=AFPM Akihiko Odaki <akihiko.odaki@d=
aynix.com> wrote:
> >>
> >> This clarifies a steering eBPF program takes precedence over the other
> >> steering algorithms.
> >
> > Let's give an example on the use case for this.
> >
> >>
> >> Signed-off-by: Akihiko Odaki <akihiko.odaki@xxxxxxxxxx>
> >> ---
> >> Documentation/networking/tuntap.rst | 7 +++++++
> >> drivers/net/tun.c | 28 +++++++++++++++++----------=
-
> >> include/uapi/linux/if_tun.h | 9 +++++++++
> >> 3 files changed, 33 insertions(+), 11 deletions(-)
> >>
> >> diff --git a/Documentation/networking/tuntap.rst b/Documentation/netwo=
rking/tuntap.rst
> >> index 4d7087f727be..86b4ae8caa8a 100644
> >> --- a/Documentation/networking/tuntap.rst
> >> +++ b/Documentation/networking/tuntap.rst
> >> @@ -206,6 +206,13 @@ enable is true we enable it, otherwise we disable=
it::
> >> return ioctl(fd, TUNSETQUEUE, (void *)&ifr);
> >> }
> >>
> >> +3.4 Reference
> >> +-------------
> >> +
> >> +``linux/if_tun.h`` defines the interface described below:
> >> +
> >> +.. kernel-doc:: include/uapi/linux/if_tun.h
> >> +
> >> Universal TUN/TAP device driver Frequently Asked Question
> >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> >>
> >> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> >> index d8f4d3e996a7..9133ab9ed3f5 100644
> >> --- a/drivers/net/tun.c
> >> +++ b/drivers/net/tun.c
> >> @@ -476,21 +476,29 @@ static u16 tun_automq_select_queue(struct tun_st=
ruct *tun, struct sk_buff *skb)
> >> return txq;
> >> }
> >>
> >> -static u16 tun_ebpf_select_queue(struct tun_struct *tun, struct sk_bu=
ff *skb)
> >> +static bool tun_ebpf_select_queue(struct tun_struct *tun, struct sk_b=
uff *skb,
> >> + u16 *ret)
> >> {
> >> struct tun_prog *prog;
> >> u32 numqueues;
> >> - u16 ret =3D 0;
> >> + u32 prog_ret;
> >> +
> >> + prog =3D rcu_dereference(tun->steering_prog);
> >> + if (!prog)
> >> + return false;
> >>
> >> numqueues =3D READ_ONCE(tun->numqueues);
> >> - if (!numqueues)
> >> - return 0;
> >> + if (!numqueues) {
> >> + *ret =3D 0;
> >> + return true;
> >> + }
> >>
> >> - prog =3D rcu_dereference(tun->steering_prog);
> >> - if (prog)
> >> - ret =3D bpf_prog_run_clear_cb(prog->prog, skb);
> >> + prog_ret =3D bpf_prog_run_clear_cb(prog->prog, skb);
> >> + if (prog_ret =3D=3D TUN_STEERINGEBPF_FALLBACK)
> >> + return false;
> >
> > This seems to break the uAPI. So I think we need a new ioctl to enable
> > the behaviour
>
> I assumed it is fine to repurpose one of the 32-bit integer values since
> 32-bit integer is too big to specify the queue number, but it may not be
> fine. I don't have a concrete use case either.
>
> Perhaps it is safer to note that TUNSETSTEERINGEBPF takes precedence
> over TUNSETVNETRSS to allow such an extension in the future (but without
> implementing one now).

Yes, that's my original point. Let's start from something that is
simpler and safer.

Thanks



Return-Path: <linux-kernel+bounces-673958-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EDBD141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:56:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 2A060174283
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:56:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 63A711C1AB4;
Thu, 5 Jun 2025 01:56:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UYUzaYxP"
Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44])
(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 5DCE23FB31;
Thu, 5 Jun 2025 01:56:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088606; cv=none; b=rOikNvCv2rLA9nXlk7CYHSbM11acxsv7aU42JSWz1JtZcNZMBp2QRUn2bX42O21nWLJCWpaLRsXjxMCRce0IUZS9VR0eNE0vEZ5h8sC4MGBmOspKloEMkp/pVfPYaAGSf7NFEncBgOkeKZ6Cd/UMMqUusWnxWzHx9zhW7KexViA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088606; c=relaxed/simple;
bh=hxHhCDDPHxwIzDJ0REZ0X+PrkWb9cpY+n8pdJBmfk4E=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=kpNjxkDCSmrtUxL6JAPXWd9RUQokecX98ZkVTQTSQ9O7Lq4ozTnOCP0X0Ng1MAaWrIdkqIkaeOit02H4B52KhnzAeRx5Pft/Naaf//WgoCP+TB6KFWlbxty0prpZpnZtpzdWZLgzqXvpEnjN9sh7Akl8lGb3eX2xytrmJgwqZWg=
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=UYUzaYxP; arc=none smtp.client-ip=209.85.216.44
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
Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-312efc384fcso61124a91.3;
Wed, 04 Jun 2025 18:56:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749088604; x=1749693404; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=hxHhCDDPHxwIzDJ0REZ0X+PrkWb9cpY+n8pdJBmfk4E=;
b=UYUzaYxPRk0exd0Vu9Ll93ebUVv8OFB1RLSLyKUmWob3WLtq9LZITLIlExTZUYgO6h
+jyifjedp9+rw1f1OOHM2uBwYGA6fEewqVzbsE6Z4YjQXs0UFRtCpKi8E86MAlDu8Xyq
eU54KgV+5SY1Hoyt3Ynmk8k4ZtJqHYzw2X4oBXP2eLN2tYeeyt/8/fKyjQMvgE06z9k2
3co7+mjI6059CmXE4GhqP4O7en5Law5vHivf06OiDUmHasxJob8CIApvC7HOLokojV5X
fEbH/CuZfG4UnCw/+dRsB/rTi82DSltBeJCNdyjflgkyXMEE7otp91+aO/jZhRIi5Qb1
i09Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749088604; x=1749693404;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=hxHhCDDPHxwIzDJ0REZ0X+PrkWb9cpY+n8pdJBmfk4E=;
b=hppNHGfJSBWAnQ9fPEXCOUj1X+8jumV8W00o1qwTxnnjJvZ/Rwdt0v1r+ihDCE+/id
L9Zmcqdcyv5l30jXIXKHajp3zuRLrdA557mpA9S2InK0caM9JK/fUyfvSOth4XTCceTv
e3uwEp/PtuSQ0ZmXmpD1XCLXv+2h9vwpBHwAf/47TcZg4/8qsFlFFUj4nKNeh5ocGLzf
mHfAbURtZDCm+6VEn9yZGTEsHArkjpSxv4a4/4N9CiXPcHOduKLQUCXyxSHfv4i14rhs
g6F+8BIv8PCPkYJKz+IXgvah6juU6Y2lnpuy3jukddtJwW7JIYRpFJRl93xZU4lIg+Hy
eNpg==
X-Forwarded-Encrypted: i=1; AJvYcCWTo47NvrQj3IDMH3T+UvGzGUc+CluI2wOHRtqpVDl0CZZGMAOkc+QcblSExbWrCH96TyrwLhFNIrxTZd8HdA==@vger.kernel.org
X-Gm-Message-State: AOJu0Yy44nfiO2TAHfPLrCJ6NXGKeC//p7EiSFFsHDBwePq1ix7rdOQn
8gQ9Znhu57sS4EZBVxxhMXOHEL193vSW8XAlcZ2TQiOIdvaR5VLCuWcKfdcv26zK9e3gntYcYw7
noQ60YZqBw5qqtqfUu73t7MgR1jMCTcU=
X-Gm-Gg: ASbGncsrN8p1s6rA0m7tCHK0G++uRgqJgE/0PSrCY9Hw+RQ/4Ea/EhkFxBEzaNxP/Q+
sCEksF3VmpwuCxlBe2x0o6z9NvwNk8+8M4+lFGM3MxmPdGM+y/IAbimcxg4DDSBDwlCThyyuJ9v
qrChOoC2ACtg+S2xLtHxu7fKJWCeGpuMXy
X-Google-Smtp-Source: AGHT+IFHh37ON8OdKdzVBBFcxedCAlOOwXK4V/iC1EPOOjVJZxdYBvuNOsHpf8VVt21G19e5ASyjwRRmZcF7LJTAmMs=
X-Received: by 2002:a17:90b:48c6:b0:30a:80bc:ad4 with SMTP id
98e67ed59e1d1-3130cabf1f7mr2575310a91.0.1749088604483; Wed, 04 Jun 2025
18:56:44 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250502094537.231725-1-fujita.tomonori@xxxxxxxxx>
In-Reply-To: <20250502094537.231725-1-fujita.tomonori@xxxxxxxxx>
From: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>
Date: Thu, 5 Jun 2025 03:56:31 +0200
X-Gm-Features: AX0GCFugcCm505NwwgN-68q9ZVnBp5bIOw8-paPBHPB9oCMtC5Zudgwp1svRBNU
Message-ID: <CANiq72=GXWj-aj1kPwnH=9mwR=GgrfJ4xsQUK36SFBRedk3oYg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v6 0/4] rust: Add bug/warn abstractions
To: FUJITA Tomonori <fujita.tomonori@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, rust-for-linux@xxxxxxxxxxxxxxx,
x86@xxxxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx,
tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, bp@xxxxxxxxx,
dave.hansen@xxxxxxxxxxxxxxx, peterz@xxxxxxxxxxxxx, hpa@xxxxxxxxx,
paul.walmsley@xxxxxxxxxx, palmer@xxxxxxxxxxx, aou@xxxxxxxxxxxxxxxxx,
catalin.marinas@xxxxxxx, will@xxxxxxxxxx, chenhuacai@xxxxxxxxxx,
kernel@xxxxxxxxxx, tangyouling@xxxxxxxxxxx, hejinyang@xxxxxxxxxxx,
yangtiezhu@xxxxxxxxxxx, ojeda@xxxxxxxxxx, alex.gaynor@xxxxxxxxx,
boqun.feng@xxxxxxxxx, gary@xxxxxxxxxxx, bjorn3_gh@xxxxxxxxxxxxxx,
benno.lossin@xxxxxxxxx, a.hindborg@xxxxxxxxxx, aliceryhl@xxxxxxxxxx,
tmgross@xxxxxxxxx, dakr@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Fri, May 2, 2025 at 11:46=E2=80=AFAM FUJITA Tomonori
<fujita.tomonori@xxxxxxxxx> wrote:
>
> This patchset adds warn_on macro with the bug/warn abstraction that
> utilizes the kernel's BUG/WARN feature via assembly.

This passed my usual tests -- I will take a better look and pick it
early next cycle.

Cheers,
Miguel


Return-Path: <linux-kernel+bounces-673959-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9A3BC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:58:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 520207A4588
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:56:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DE1A91C07F6;
Thu, 5 Jun 2025 01:58:08 +0000 (UTC)
Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 151AF3FB31;
Thu, 5 Jun 2025 01:58:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088688; cv=none; b=DVvEXKgVHE6T2KDo3ZjO7/XR0cd0XSyxu1+cNkVoe+j4dn+euFzSRi4eqJ3u9eqsa8pk15TmB08oUD+IVdGBfV6kVglYRvNfrmpmOPtewS1MQhlyZtQbvErwkfouWN+7O1N0qJQB7FO+nubhwuslCtbb4OqRFBewr7Z8JM7Il8U=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088688; c=relaxed/simple;
bh=czbs0CMUJecgt7puMJk/u5v90WUDmuXrW/b8pPHegAA=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=SAeOeoJO3TG6hGdwnwon0xIOAolMJRfGmcFQtutVi6foXWkA+QqUXnYx564V89ImlV/dDK80pFvkZo9yO6CcJ6ozix1yKTT3DNgwOVgdRsffS0wzknVGdk/xRvkjUBFSe48bMTi0STwf7K4O9/WSrZv3gBDGdGmB32A3caGmXu0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn
X-UUID: 7f6d354041b011f0b29709d653e92f7d-20250605
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.1.45,REQID:fd0b5c91-f519-4ec9-892f-9d599c009841,IP:0,U
RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION:
release,TS:0
X-CID-META: VersionHash:6493067,CLOUDID:fdcaecf91da6615da2a4ee37ccdfa291,BulkI
D:nil,BulkQuantity:0,Recheck:0,SF:80|81|82|83|102,TC:nil,Content:0|52,EDM:
-3,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,
AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0
X-CID-BVR: 0,NGT
X-CID-BAS: 0,NGT,0,_
X-CID-FACTOR: TF_CID_SPAM_SNR
X-UUID: 7f6d354041b011f0b29709d653e92f7d-20250605
Received: from node4.com.cn [(10.44.16.170)] by mailgw.kylinos.cn
(envelope-from <xiaopei01@xxxxxxxxxx>)
(Generic MTA)
with ESMTP id 1383227863; Thu, 05 Jun 2025 09:57:55 +0800
Received: from node4.com.cn (localhost [127.0.0.1])
by node4.com.cn (NSMail) with SMTP id 729B216001A00;
Thu, 5 Jun 2025 09:57:55 +0800 (CST)
X-ns-mid: postfix-6840F9A3-383599263
Received: from [10.42.13.56] (unknown [10.42.13.56])
by node4.com.cn (NSMail) with ESMTPA id 08FBB16001CC7;
Thu, 5 Jun 2025 01:57:54 +0000 (UTC)
Message-ID: <3f668462-ac5f-49fa-bd9d-140d32fc9627@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 09:57:54 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] ASOC: rochchip: Simplify the condition logic in
rockchip_sai_xfer_stop
To: Nicolas Frattaroli <nicolas.frattaroli@xxxxxxxxxxxxx>,
linux-rockchip@xxxxxxxxxxxxxxxxxxx, linux-sound@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <cover.1749006565.git.xiaopei01@xxxxxxxxxx>
<81c7955216f5cc7565a396e50e5474ec8f6e3017.1749006565.git.xiaopei01@xxxxxxxxxx>
<5104592.0VBMTVartN@workhorse>
From: Pei Xiao <xiaopei01@xxxxxxxxxx>
In-Reply-To: <5104592.0VBMTVartN@workhorse>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


=E5=9C=A8 2025/6/5 01:23, Nicolas Frattaroli =E5=86=99=E9=81=93:
> On Wednesday, 4 June 2025 05:13:29 Central European Summer Time Pei Xia=
o wrote:
>> cocci warning:
>> ./sound/soc/rockchip/rockchip_sai.c:387:8-10:
>> WARNING: possible condition with no effect (if =3D=3D else)
>>
>> Simplify the condition logic in rockchip_sai_xfer_stop() by removing t=
he
>> redundant SNDRV_PCM_STREAM_PLAYBACK branch. The modified logic now:
>> 1. For stream < 0: handles both playback and capture
>> 2. For all other cases (both PLAYBACK and CAPTURE):
>> sets playback =3D true and capture =3D false
>>
>> Signed-off-by: Pei Xiao <xiaopei01@xxxxxxxxxx>
>> ---
>> sound/soc/rockchip/rockchip_sai.c | 3 ---
>> 1 file changed, 3 deletions(-)
>>
>> diff --git a/sound/soc/rockchip/rockchip_sai.c b/sound/soc/rockchip/ro=
ckchip_sai.c
>> index 602f1ddfad00..79b04770da1c 100644
>> --- a/sound/soc/rockchip/rockchip_sai.c
>> +++ b/sound/soc/rockchip/rockchip_sai.c
>> @@ -384,9 +384,6 @@ static void rockchip_sai_xfer_stop(struct rk_sai_d=
ev *sai, int stream)
>> if (stream < 0) {
>> playback =3D true;
>> capture =3D true;
>> - } else if (stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK) {
>> - playback =3D true;
>> - capture =3D false;
>> } else {
>> playback =3D true;
>> capture =3D false;
>>
> You can probably get rid of the locals playback and capture altogether:
>
> static void rockchip_sai_xfer_stop(struct rk_sai_dev *sai, int stre=
am)
> {
> unsigned int msk, val, clr;
>
> msk =3D SAI_XFER_TXS_MASK;
> val =3D SAI_XFER_TXS_DIS;
> clr =3D SAI_CLR_TXC;
> =20
> if (stream < 0) {
> msk |=3D SAI_XFER_RXS_MASK;
> val |=3D SAI_XFER_RXS_DIS;
> clr |=3D SAI_CLR_RXC;
> }
>
> regmap_update_bits(sai->regmap, SAI_XFER, msk, val);
> rockchip_sai_poll_stream_idle(sai, true, stream < 0);
>
> rockchip_sai_clear(sai, clr);
> }
>
> but this in general makes me suspicious of the intent of the code in
> the first place. Playback always being true and capture only being
> true if playback is also true seems odd. Checking the callsites of

Yes,it's very odd to me too.So I send this patch to ask for your advice.

> this function confirms my suspicions that while this fixes the cocci
> warning, it just means the code is now intentionally broken.
>
> This here may be closer to the original intent:
>
> static void rockchip_sai_xfer_stop(struct rk_sai_dev *sai, int stre=
am)
> {
> unsigned int msk =3D 0, val =3D 0, clr =3D 0;
> bool capture =3D stream =3D=3D SNDRV_PCM_STREAM_CAPTURE || =
stream < 0;
> /* could be <=3D 0 but we don't want to depend on enum valu=
es */
> bool playback =3D stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK |=
| stream < 0;


bool invalid =3D=C2=A0 stream < 0;=C2=A0

bool capture =3D=C2=A0 stream =3D=3D SNDRV_PCM_STREAM_CAPTURE || invalid;=
=C2=A0

bool playback =3D stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK || invalid;

Would this modification be acceptable?=C2=A0

It could shorten each line since the stream value only needs to be evalua=
ted once.

> if (playback) {
> msk |=3D SAI_XFER_TXS_MASK;
> val |=3D SAI_XFER_TXS_DIS;
> clr |=3D SAI_CLR_TXC;
> }
>
> if (capture) {
> msk |=3D SAI_XFER_RXS_MASK;
> val |=3D SAI_XFER_RXS_DIS;
> clr |=3D SAI_CLR_RXC;
> }
>
> regmap_update_bits(sai->regmap, SAI_XFER, msk, val);
> rockchip_sai_poll_stream_idle(sai, playback, capture);
>
> rockchip_sai_clear(sai, clr);
> }
>
>
> Please let me know whether this looks right to you.

thanks=EF=BC=81

Pei.

> Kind regards,
> Nicolas Frattaroli
>
>


Return-Path: <linux-kernel+bounces-673960-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 427A841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:58:47 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 889BF189525A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:59:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1066B1BF33F;
Thu, 5 Jun 2025 01:58:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="wwquhIMJ"
Received: from out-180.mta0.migadu.com (out-180.mta0.migadu.com [91.218.175.180])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 442981BC07A
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:58:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.180
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088718; cv=none; b=Wye4+mJdZ0jPzITDTJU5FhchqQ9pNszHj63T7I78Y4td3DCNbJTKBSptx7BQg4o8wKkUyVW+smvieFFPLzI74PycDXhGvHlhDQn0JAZCRlSCt5oRu8i6y0QJj3yBW3QSHmsPbaPDWUyAE8YrhyNemq7rpX+vU/eFcDut5U6Whkk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088718; c=relaxed/simple;
bh=HiMqOMogaPO00WEmzbxR2t2alShtYY94hveqXZdKB7U=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=J8eJoSQZMxjxwBQq8qVC1HNJ6iVDdu0451QT8ZdsgjHCTfHcgBWm8LcmMc1GqCbn4RCB29vN3+JhQ3YIHDXsIu20qKactQgy4yXzyR8I0014zL8SapsCEf20Opvgm8qhlSotMnFzLyuU1KRnnLSPiEEWIXI+ZqKFFrYYg/o/SHg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=wwquhIMJ; arc=none smtp.client-ip=91.218.175.180
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
Date: Wed, 4 Jun 2025 19:58:19 -0600
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1749088711;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=2pGp4RUhvoSSPmBY1Hz2PrPlipkQlVMkrKAc4XT96CM=;
b=wwquhIMJ7FM57vTLu/RXHpLjlxsxYpGlyC3XNARi+m8ScB9uB1FsFNUxXyNiA1vFVajdv7
ejoMFixztDMCnVky0yjU0c9/CFesDsirz8N5DSgIKwDPnUQQXRi/WTgf4+HGhEddwEbyNL
Fm+dxrCbcibtjsCt7MzICQ+EIa32jWM=
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
From: Russ Weight <russ.weight@xxxxxxxxx>
To: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
Cc: Luis Chamberlain <mcgrof@xxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, "Rafael J. Wysocki" <rafael@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>,
Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>, Kamel Bouhara <kamel.bouhara@xxxxxxxxxxx>,
Marco Felsch <kernel@xxxxxxxxxxxxxx>, Henrik Rydberg <rydberg@xxxxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-input@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 1/4] firmware_loader: expand firmware error codes with
skip error
Message-ID: <b5jlh7ngl64aqrm7b2hkpafvfk6rmuyhwshzogxqozpal3owmj@u26s6bpwbax7>
References: <20250529-v6-10-topic-touchscreen-axiom-v2-0-a5edb105a600@xxxxxxxxxxxxxx>
<20250529-v6-10-topic-touchscreen-axiom-v2-1-a5edb105a600@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250529-v6-10-topic-touchscreen-axiom-v2-1-a5edb105a600@xxxxxxxxxxxxxx>
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, May 29, 2025 at 12:08:42AM +0200, Marco Felsch wrote:
> Add FW_UPLOAD_ERR_SKIP to allow drivers to inform the firmware_loader
> framework that the update is not required. This can be the case if the
> user provided firmware matches the current running firmware.

The changes below look fine, but the commit message is inconsistent
with the actual changes. The commit message should reference
FW_UPLOAD_ERR_DUPLICATE instead of FW_UPLOAD_ERR_SKIP.

- Russ

>
> Sync lib/test_firmware.c file accordingly.
>
> Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> ---
> drivers/base/firmware_loader/sysfs_upload.c | 1 +
> include/linux/firmware.h | 2 ++
> lib/test_firmware.c | 1 +
> 3 files changed, 4 insertions(+)
>
> diff --git a/drivers/base/firmware_loader/sysfs_upload.c b/drivers/base/firmware_loader/sysfs_upload.c
> index 829270067d1632f92656859fb9143e3fa9635670..0a583a1b3f4fde563257566426d523fbf839b13f 100644
> --- a/drivers/base/firmware_loader/sysfs_upload.c
> +++ b/drivers/base/firmware_loader/sysfs_upload.c
> @@ -28,6 +28,7 @@ static const char * const fw_upload_err_str[] = {
> [FW_UPLOAD_ERR_RW_ERROR] = "read-write-error",
> [FW_UPLOAD_ERR_WEAROUT] = "flash-wearout",
> [FW_UPLOAD_ERR_FW_INVALID] = "firmware-invalid",
> + [FW_UPLOAD_ERR_DUPLICATE] = "firmware-duplicate",
> };
>
> static const char *fw_upload_progress(struct device *dev,
> diff --git a/include/linux/firmware.h b/include/linux/firmware.h
> index aae1b85ffc10e20e9c3c9b6009d26b83efd8cb24..fe7797be4c08cd62cdad9617b8f70095d5e0af2f 100644
> --- a/include/linux/firmware.h
> +++ b/include/linux/firmware.h
> @@ -29,6 +29,7 @@ struct firmware {
> * @FW_UPLOAD_ERR_RW_ERROR: read or write to HW failed, see kernel log
> * @FW_UPLOAD_ERR_WEAROUT: FLASH device is approaching wear-out, wait & retry
> * @FW_UPLOAD_ERR_FW_INVALID: invalid firmware file
> + * @FW_UPLOAD_ERR_DUPLICATE: firmware is already up to date (duplicate)
> * @FW_UPLOAD_ERR_MAX: Maximum error code marker
> */
> enum fw_upload_err {
> @@ -41,6 +42,7 @@ enum fw_upload_err {
> FW_UPLOAD_ERR_RW_ERROR,
> FW_UPLOAD_ERR_WEAROUT,
> FW_UPLOAD_ERR_FW_INVALID,
> + FW_UPLOAD_ERR_DUPLICATE,
> FW_UPLOAD_ERR_MAX
> };
>
> diff --git a/lib/test_firmware.c b/lib/test_firmware.c
> index 211222e63328f970228920f5662ee80cc7f51215..603c3a4b385c849944a695849a1894693234b5eb 100644
> --- a/lib/test_firmware.c
> +++ b/lib/test_firmware.c
> @@ -1133,6 +1133,7 @@ static const char * const fw_upload_err_str[] = {
> [FW_UPLOAD_ERR_RW_ERROR] = "read-write-error",
> [FW_UPLOAD_ERR_WEAROUT] = "flash-wearout",
> [FW_UPLOAD_ERR_FW_INVALID] = "firmware-invalid",
> + [FW_UPLOAD_ERR_DUPLICATE] = "firmware-duplicate",
> };
>
> static void upload_err_inject_error(struct test_firmware_upload *tst,
>
> --
> 2.39.5
>


Return-Path: <linux-kernel+bounces-673961-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 44FE941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 21:59:47 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E47811896597
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:00:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 64BDE1D0F5A;
Thu, 5 Jun 2025 01:59:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="n5HHfbDv"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A0381BC07A;
Thu, 5 Jun 2025 01:59:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.10
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088773; cv=fail; b=mE5iwX8LS3OlxNT1ufsf5Ui9QZveghD/PuRwRyL8sMZ3mCu+NythRQHvr+dYm9IHtMSNHvpQhZCEz5kfMV2rOgC3THjPgWVc0tHZ0ZuAzu+u8IGYYmM6fp7YscOji2Av4i/mCTsK/C2B1BlWWjI1ZT3FArpMHllJA9yEUDLWH7s=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088773; c=relaxed/simple;
bh=nfpL2OcIVjcodReoWXVyoH7czE33uISBGzdtHIVOSEg=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=jX0c4wsE4Uc71Cu1fndDeViQSe1MgAeuvdNJc8nRk6MxSUF+EGl/0h8LfwWFQSclf2NQn5K2CYeHxgJECiRfAnUzzkJdIRyDirZ5iyhY6spSWqLR6r4NlPDKw6Wcj03T0ouoBDGFrsMNouKEArywZPKxu4B2D4s4fSYd/FmwrnI=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=n5HHfbDv; arc=fail smtp.client-ip=198.175.65.10
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749088772; x=1780624772;
h=date:from:to:cc:subject:message-id:references:
in-reply-to:mime-version;
bh=nfpL2OcIVjcodReoWXVyoH7czE33uISBGzdtHIVOSEg=;
b=n5HHfbDvJoqSD87EiyFVDDUiFCXEqTVPQDMKYbCh6VofsCiuh0UQSHCG
K/k+hIJq7SlGRZh0bdfguthWfteKYA6lw0hydFLZv+QWfcJzzeCnQWlBC
fbc+6oiU1ufqNtWVCnCcQUtZ+ozOfv6YNbymkTisI1xHFrZ7rlP2HHfIv
lBfcRz5J2KV/jM4EbHV2VwtLKN2Aia91OUPJJff7A2bJjZXdck9i5anBC
0CGeUtz09TV4xED1UcnhAwXWFU2EeJDCloH11NF7uKzMzZIyHwWkKpIHE
aWG1ZuRRY/sMj/Okey9fTapq732sDFbClUtMzMrxTTpvQcW7M4Js7K0Ym
A==;
X-CSE-ConnectionGUID: Y7Gk3iePQHu4o2NJCNck+w==
X-CSE-MsgGUID: KSOO/RozQEaRoc40hK3sXg==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="68629856"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="68629856"
Received: from orviesa008.jf.intel.com ([10.64.159.148])
by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 18:59:21 -0700
X-CSE-ConnectionGUID: ydu45TO3TYWVz4FbtTlzyg==
X-CSE-MsgGUID: P9YSHCfOTeG78AKFpYDl+Q==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="146345170"
Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25])
by orviesa008.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 18:59:20 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 18:59:19 -0700
Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 18:59:19 -0700
Received: from NAM04-MW2-obe.outbound.protection.outlook.com (40.107.101.68)
by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 18:59:19 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=ianb8mKH6KTunPBhiCQH+urgj8rgqAIggKyPasHu7eW1zkDhpWV21C0s/zb6ALIIatINr1u7QUL0utxIcSa72wa9lVcOMEDSVA8vLQozfjt3wYcxCoU5SjzxHLRWOv9BglCzLByCZl00dyMLl0WmY0r0kzucKlSGTYalMJqQ/R4zm3TTgD0l9pR2fSXHQRNtmm7j7xYnqMCKKJU/C2tui5s2JovDU/nJE2B7pRvVxnImyVRMlYaDhtTrqc2ystwK9wTknfzUsDvkM8l3F4wasFeQYhJfCuT9XCqYFe/dC9hBA/UJJhmSTerSKgbnwf78bjZ4lAkgYa3eapzqSINg+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=TqeZhNZeWFKq4OswiArec8QoaYfEsdU2+7yW+M6B0rI=;
b=ueUv/oGGF5StVDMmDB75ukMqUJDL3p2QSIGkqRhhvfFtunL+4NxR6twQrl78QYwC0iHqu3peTunXAdQg1HM8CmPHFo4uBzRcYpbILGzW/TvmOZXRHlPVsJ+holGVKq4gsM1b02JNJd0w7okUWFMCa8HZYF4WsWc/bJW0/3p03T2o7OAtUJDQaaiBHw4+yjVCOjJ6641m0Wud8/aQpzudC3DjXdnKWjtqJNiwSU8DT/ERYY5lSB8TaX+c+0ESSCWguQ2jaS/N9jS1liPv814jtQJf5P6+qMzeJZ8nxQqYE0E2W8awx0z34DYdvPGxffdIV7otchJgRb6gUWjjFAswpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6)
by MW3PR11MB4604.namprd11.prod.outlook.com (2603:10b6:303:2f::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Thu, 5 Jun
2025 01:59:12 +0000
Received: from PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
01:59:12 +0000
Date: Wed, 4 Jun 2025 18:59:09 -0700
From: Dan Williams <dan.j.williams@xxxxxxxxx>
To: Alistair Popple <apopple@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>
CC: Alistair Popple <apopple@xxxxxxxxxx>, <gerald.schaefer@xxxxxxxxxxxxx>,
<dan.j.williams@xxxxxxxxx>, <jgg@xxxxxxxx>, <willy@xxxxxxxxxxxxx>,
<david@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <nvdimm@xxxxxxxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <linux-ext4@xxxxxxxxxxxxxxx>,
<linux-xfs@xxxxxxxxxxxxxxx>, <jhubbard@xxxxxxxxxx>, <hch@xxxxxx>,
<zhang.lyra@xxxxxxxxx>, <debug@xxxxxxxxxxxx>, <bjorn@xxxxxxxxxx>,
<balbirs@xxxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <loongarch@xxxxxxxxxxxxxxx>,
<linuxppc-dev@xxxxxxxxxxxxxxxx>, <linux-riscv@xxxxxxxxxxxxxxxxxxx>,
<linux-cxl@xxxxxxxxxxxxxxx>, <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
<John@xxxxxxxxxx>
Subject: Re: [PATCH 03/12] mm/pagewalk: Skip dax pages in pagewalk
Message-ID: <6840f9ed3785a_249110084@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch>
References: <cover.541c2702181b7461b84f1a6967a3f0e823023fcc.1748500293.git-series.apopple@xxxxxxxxxx>
<1799c6772825e1401e7ccad81a10646118201953.1748500293.git-series.apopple@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <1799c6772825e1401e7ccad81a10646118201953.1748500293.git-series.apopple@xxxxxxxxxx>
X-ClientProxiedBy: SJ0PR13CA0098.namprd13.prod.outlook.com
(2603:10b6:a03:2c5::13) To PH8PR11MB8107.namprd11.prod.outlook.com
(2603:10b6:510:256::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|MW3PR11MB4604:EE_
X-MS-Office365-Filtering-Correlation-Id: 62dec856-fda4-4beb-5aa7-08dda3d49120
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016|7053199007;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?39Wf5m4ct40NCB4EVaGzBhBzU+gpjZXTYoweYWfgP1RBBhvZZGXzFVD0rcD7?=
=?us-ascii?Q?AgrmrnlYTTuo4vW4doKUZX10xG2YTNKEVJbfarL09eOyqIaYE7t6P9DiKgzF?=
=?us-ascii?Q?OhhHLh0zIOU9wKYQahDf1ao5Kwva1bLGRbiT/aeF4ABS0rXfScuA3oQWTZsB?=
=?us-ascii?Q?QdT6tupnmtb97wQaIgdzh68oV8tJ9aSUw45ruo7KMr+or1pf/NQBfjhbhZpd?=
=?us-ascii?Q?2+5nT3mx6lr/QMqvC5U2t1OpzBuytf9/BNo2tItDOuaKwpVtqhPFzHR4UKWE?=
=?us-ascii?Q?eHMF/Sj/fzQovwgWqKJ2dstXUjgKL+NWudsw9JG4la/NixjzpxARPxD1XV96?=
=?us-ascii?Q?GkJiFwmhNdfE65VzEMonA+eI1SJNEVg3zQL7tG/K2zRCxmBqstPOFVajWTcc?=
=?us-ascii?Q?P7UE6eOUmnSPeHpFw1AMvqmBHhZVXvZWm1aeMMdVYwQLYNk4qeMOUIzYqOiS?=
=?us-ascii?Q?1MEaYozM0NGBnDj7vk12Q1dHkcEX1IbS75nAONsDpFvhaHZyTkEXDLr3o+7T?=
=?us-ascii?Q?2S2CL6yxdPvu/TAMZevpbJr5zwIr6grXvjcBisrliAz2YuBLoIcC6Bm/Z2zI?=
=?us-ascii?Q?Ob9m9y+GS9aRZ7AiAhZxDS3/3K3v/rQM7BZujj8nvrlJ/pBg0cGSXjnu/1TX?=
=?us-ascii?Q?s1SchLDw6C6skjx/NREhsHdN+tJZywxqLSrqDE8OHUSPi5ocEjyq06dfMPIi?=
=?us-ascii?Q?x+bxs1jPLGGlQBIvJMtGQZMB2NCI6qlncagvMbud/ydiO1JY7sbvuGSpegEF?=
=?us-ascii?Q?BmJBuTv4Be4oehA4mDjW4t9vfFKudZYcgfe8W4xDjlbmRRVoMgAj4Njz6R4M?=
=?us-ascii?Q?I9fIeumTwqLEZs2n/vLYdN5gVeK9aL/rsQuf2/eRdVbqUoinjEonF5Z0pSnT?=
=?us-ascii?Q?6pTTMiL3mXZ2aKVegbr7qL1I6h+I0xR7CtZ4Vz7Zgoa/yjQL7jASJvUu+r5U?=
=?us-ascii?Q?mCMRBsJQWcQxYwYe8ooKMcM1EytECUHFtnl0Rwh3TKhagucOKShKozNp9yK2?=
=?us-ascii?Q?RUcEg4vSdJ2E9qNIr0OPRNb2+T7V/b3olyf5Nq619bm7PV5W5aGsaovuBp0i?=
=?us-ascii?Q?OysQQ+TqlOwAYhErjC8jWAGG8rhf1HVmYDQSEb/bQmUbtEddXk8nc/F7FO6n?=
=?us-ascii?Q?lcTJ+kAtsEiT9RwQbxsCebOtKjLfczlcdeSZG4f+mKVtnezmrh/+f40Df6tn?=
=?us-ascii?Q?jSOT7NSoG/VMzpW/9bFj5ZejgbD8ybNYoDms07ZlLegHezJTBAxLuUQJjrd8?=
=?us-ascii?Q?wmVHOE6+05EX00Gr28C/bMtGHBwzpgppL9i36NQdR71+3W0MsFZtSChO64ug?=
=?us-ascii?Q?LtOM09bSLVcDj7hpx69vRQ1eSLdgbsnjRbfz85NpsV/xY7dIEcOm3M/wjuUS?=
=?us-ascii?Q?lY4EW8UyCWqj/viumkx+d3+IEAmzG24y+9dzJxolvQLi9kQoYbrB/ooljb9f?=
=?us-ascii?Q?0kHnhF7GHdI=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(7416014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lA1l8sWjxQ+gmRzLx+OkHn+bBccCHYBpO7CBmL/5MX2FhrIUVtcZ3d4+Bu/f?=
=?us-ascii?Q?lf4FQruRQ6R3y/AvAX6XxKu8oTm0Vf8nD/shh+vUeAetcieFKm69ZG74KnNL?=
=?us-ascii?Q?5+dgiZbZl3flBB/8t6RWBmr17DNo2YVRu6VI5Dci1WAo3AjePmTc1GBj0Nva?=
=?us-ascii?Q?2IxlhjGwzPNzTeq4/nfLFB6O98IU3PICs10Och+q5utmEc8r8y5BYsHOG/1L?=
=?us-ascii?Q?YATQo5pmbjEwf43WaGID2SCZFZOALeBc/d2GuN5Ui5O6ObaYjgU2FrEzkwIe?=
=?us-ascii?Q?HZIYvV1CtH6zJIBPq1rCiZSir+NFzWLghlfxU+nD4I57H/gGX+eNZkt3p5Ca?=
=?us-ascii?Q?JraWCEuHPBRygAayk+zG9S+XdKMEUQ2anQFgaXoKH6WaQX+/gOc1bNmV7Aur?=
=?us-ascii?Q?y5POMR4KMGwU8JmUKhUc04UkoYx0oQtvwxD/Cmt82hSXXVnKuDKQliE3CY6S?=
=?us-ascii?Q?9IdtwNvsKKgHiXnMWgmw33oEigqdJ8Wp7+m0fN1g32RBKuv8bROsY/mcq8rs?=
=?us-ascii?Q?iSRC9yHUYALG8nszRUQNJizcpLBbum0Zt+FQHDJUwMGp7deDfAshtLIC2XbN?=
=?us-ascii?Q?qh0ksyU5tNtut0aKJWP1WGPlLRUOrvTh52jDf8OZLLQb+A/xOpp1C++DnXRh?=
=?us-ascii?Q?MBiCHUiUbmFNcd33wLCTG8fiKsxS4NwFqhW5AdYoRTNSzPVAWkRxe0Cw2IKs?=
=?us-ascii?Q?3em2TsrACLX4n/jiLWaBOnURFgTN9Ubk6VbTsO5bLIKcrFC7RzVzCcJoudxm?=
=?us-ascii?Q?dDC4KW6iudniUc61FNFwVBpN06MYtyT3o42xYyZ2Ll6ym29X0eOgaglRmN9A?=
=?us-ascii?Q?TBlcFj4w2n3Q/bFU/4rdLrm0oJngISxjewET6S/QYO8UN5xMnpW6dLY1eUrw?=
=?us-ascii?Q?xTdXOrY0OxDCDyf+m2fi7vNirEIQw5jGXHwE1adsfIw1V0Kk0U6Pj9VqebmE?=
=?us-ascii?Q?J2s3hTQeNkiAuubZc8fRXv1vQfXc5OE6rwHFA/7sRLQQLPb5SjjOtTW3JoSU?=
=?us-ascii?Q?Cs+ogMWjW6rVcVLGedEPtB9c0Y0908g09fH3YTgbmbUqzIj0ckzrMIPhQnvX?=
=?us-ascii?Q?vxQfb2KLuppOPAFcH4b+NrtR3tvDGTC5EXKR08hpg+tnFKvUxb/BroL+GAuU?=
=?us-ascii?Q?KQ4iKbRBVZ1KpepVMsJvStGEsMAOwTkLtkxqhRYbB0TIyDHMV+YfIseRLxbo?=
=?us-ascii?Q?xGDA3UCr6AlmYAL8QbN987ywmzWaPTsgAxZIPXokwjpY1FJGz8esvVj9S+vd?=
=?us-ascii?Q?0EB/+RO8od3eB0bvBrCzKG0wKwrmnMHkxBqP4833I2Mvdum65Dtyus3IuF20?=
=?us-ascii?Q?pvlRlUcTXdY8J4TF2K1eNDDxnCD6AGnGjGy8Ai+WVrMI54FppcHXDsp9ytjR?=
=?us-ascii?Q?pu0t/rnYzGlW5DaQIn64xDg7dYJ8ADnCxoN2wv2whKN9ZbO2HX/+bzHsdndz?=
=?us-ascii?Q?NC2FOm7Ig95itmQ/hB1j8kR5PcOjqeZW8NeBbo3pIH4lbB7PpTXXawUx1hMb?=
=?us-ascii?Q?fl233kejYKYBjEKA4wl2+A88vRcdXwOgy4WR1l3U910pn0Th5oUAIrdl6IOq?=
=?us-ascii?Q?RWRERHth6ccKGLCSZ3jfdj6q7YIDzQq1+Qac/dKwfGB2Luajaf22xo2UWs6F?=
=?us-ascii?Q?5g=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 62dec856-fda4-4beb-5aa7-08dda3d49120
X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 01:59:12.1877
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ihh09ZvmuQw5JCe9POBPH4PwjvSWvMcggnsK8h6POm3gtlrQr36mz+OCChi6bMo+50UN5xYJcFhvtA6gbApuOhZeSUPMKwfqdHNrpShtwJM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4604
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Alistair Popple wrote:
> Previously dax pages were skipped by the pagewalk code as pud_special() or
> vm_normal_page{_pmd}() would be false for DAX pages. Now that dax pages are
> refcounted normally that is no longer the case, so add explicit checks to
> skip them.
>
> Signed-off-by: Alistair Popple <apopple@xxxxxxxxxx>
> ---
> include/linux/memremap.h | 11 +++++++++++
> mm/pagewalk.c | 12 ++++++++++--
> 2 files changed, 21 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/memremap.h b/include/linux/memremap.h
> index 4aa1519..54e8b57 100644
> --- a/include/linux/memremap.h
> +++ b/include/linux/memremap.h
> @@ -198,6 +198,17 @@ static inline bool folio_is_fsdax(const struct folio *folio)
> return is_fsdax_page(&folio->page);
> }
>
> +static inline bool is_devdax_page(const struct page *page)
> +{
> + return is_zone_device_page(page) &&
> + page_pgmap(page)->type == MEMORY_DEVICE_GENERIC;
> +}
> +
> +static inline bool folio_is_devdax(const struct folio *folio)
> +{
> + return is_devdax_page(&folio->page);
> +}
> +
> #ifdef CONFIG_ZONE_DEVICE
> void zone_device_page_init(struct page *page);
> void *memremap_pages(struct dev_pagemap *pgmap, int nid);
> diff --git a/mm/pagewalk.c b/mm/pagewalk.c
> index e478777..0dfb9c2 100644
> --- a/mm/pagewalk.c
> +++ b/mm/pagewalk.c
> @@ -884,6 +884,12 @@ struct folio *folio_walk_start(struct folio_walk *fw,
> * support PUD mappings in VM_PFNMAP|VM_MIXEDMAP VMAs.
> */
> page = pud_page(pud);
> +
> + if (is_devdax_page(page)) {
> + spin_unlock(ptl);
> + goto not_found;
> + }
> +
> goto found;
> }
>
> @@ -911,7 +917,8 @@ struct folio *folio_walk_start(struct folio_walk *fw,
> goto pte_table;
> } else if (pmd_present(pmd)) {
> page = vm_normal_page_pmd(vma, addr, pmd);
> - if (page) {
> + if (page && !is_devdax_page(page) &&
> + !is_fsdax_page(page)) {

It just looks awkward to say "yup, normal page, but not *that*
'normal'".

What about something like the below? Either way you can add:

Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>

diff --git a/include/linux/mm.h b/include/linux/mm.h
index 12d96659e8b4..4e549669166b 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2471,6 +2471,27 @@ struct folio *vm_normal_folio_pmd(struct vm_area_struct *vma,
struct page *vm_normal_page_pmd(struct vm_area_struct *vma, unsigned long addr,
pmd_t pmd);

+/* return normal pages backed by the page allocator */
+static inline struct page *vm_normal_gfp_pmd(struct vm_area_struct *vma,
+ unsigned long addr, pmd_t pmd)
+{
+ struct page *page = vm_normal_page_pmd(vma, addr, pmd);
+
+ if (!is_devdax_page(page) && !is_fsdax_page(page))
+ return page;
+ return NULL;
+}
+
+static inline struct page *vm_normal_gfp_pte(struct vm_area_struct *vma,
+ unsigned long addr, pte_t pte)
+{
+ struct page *page = vm_normal_page(vma, addr, pte);
+
+ if (!is_devdax_page(page) && !is_fsdax_page(page))
+ return page;
+ return NULL;
+}
+
void zap_vma_ptes(struct vm_area_struct *vma, unsigned long address,
unsigned long size);
void zap_page_range_single(struct vm_area_struct *vma, unsigned long address,
diff --git a/mm/pagewalk.c b/mm/pagewalk.c
index cca170fe5be5..54bfece05323 100644
--- a/mm/pagewalk.c
+++ b/mm/pagewalk.c
@@ -914,9 +914,8 @@ struct folio *folio_walk_start(struct folio_walk *fw,
spin_unlock(ptl);
goto pte_table;
} else if (pmd_present(pmd)) {
- page = vm_normal_page_pmd(vma, addr, pmd);
- if (page && !is_devdax_page(page) &&
- !is_fsdax_page(page)) {
+ page = vm_normal_gfp_pmd(vma, addr, pmd);
+ if (page) {
goto found;
} else if ((flags & FW_ZEROPAGE) &&
is_huge_zero_pmd(pmd)) {
@@ -949,9 +948,8 @@ struct folio *folio_walk_start(struct folio_walk *fw,
fw->pte = pte;

if (pte_present(pte)) {
- page = vm_normal_page(vma, addr, pte);
- if (page && !is_devdax_page(page) &&
- !is_fsdax_page(page))
+ page = vm_normal_gfp_pte(vma, addr, pte);
+ if (page)
goto found;
if ((flags & FW_ZEROPAGE) &&
is_zero_pfn(pte_pfn(pte))) {



Return-Path: <linux-kernel+bounces-673962-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 151B541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:00:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 43B223AA093
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:00:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5F9171EF080;
Thu, 5 Jun 2025 02:00:24 +0000 (UTC)
Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28D1A1DE2D8;
Thu, 5 Jun 2025 02:00:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088824; cv=none; b=U087xIRbRrJLfF1qDJLx4ftFBnhpYCmcZVKVP9Y5TNQgzyHaUWOIMZx8X8Zi7BrCCU4PwmVi5FT2pY5a2NQSzmDVojIJaonySE8emflC2x/9DR562k/FmL6Ph4hExeG/0zNtckL5i4UQ/FQcLUdXs3rdnXRzJVr6foQKuQGaDXU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088824; c=relaxed/simple;
bh=SsY4V+0EqON5Mu5iyCTybFqUbNp8xhclaSWdRVbv5jY=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=UgsgeSobg77U2thDjIeX+hk6a50E5Fs6xTi/BL23EDFcQklTeT1EFS7GampMUkgFk2FqRbmYkYe3jTJCcS/wjLpzjYqJaoA3vbadNlmdF/1NrMAQddkXlqi3Zyb8Fjuc6HZyBD5Q64o+9k0Ip69ilaWPHHipFV4iUz+CsXI3rCU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn
X-UUID: cdf716fe41b011f0b29709d653e92f7d-20250605
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.1.45,REQID:42cce35d-b191-4d52-8bd2-d3791e58895d,IP:0,U
RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION:
release,TS:0
X-CID-META: VersionHash:6493067,CLOUDID:40a90521bca85b4a2152347b6db4d582,BulkI
D:nil,BulkQuantity:0,Recheck:0,SF:80|81|82|83|102,TC:nil,Content:0|52,EDM:
-3,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,
AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0
X-CID-BVR: 0,NGT
X-CID-BAS: 0,NGT,0,_
X-CID-FACTOR: TF_CID_SPAM_SNR
X-UUID: cdf716fe41b011f0b29709d653e92f7d-20250605
Received: from node4.com.cn [(10.44.16.170)] by mailgw.kylinos.cn
(envelope-from <xiaopei01@xxxxxxxxxx>)
(Generic MTA)
with ESMTP id 2077564834; Thu, 05 Jun 2025 10:00:07 +0800
Received: from node4.com.cn (localhost [127.0.0.1])
by node4.com.cn (NSMail) with SMTP id 2D31716001A00;
Thu, 5 Jun 2025 10:00:07 +0800 (CST)
X-ns-mid: postfix-6840FA26-862248265
Received: from [10.42.13.56] (unknown [10.42.13.56])
by node4.com.cn (NSMail) with ESMTPA id 8FE2816001CC7;
Thu, 5 Jun 2025 02:00:05 +0000 (UTC)
Message-ID: <6399b093-f8ce-4dff-9cf8-f483d221d034@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 10:00:05 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] ASOC: rockchip: Use helper function
devm_clk_get_enabled()
To: Nicolas Frattaroli <nicolas.frattaroli@xxxxxxxxxxxxx>,
linux-rockchip@xxxxxxxxxxxxxxxxxxx, linux-sound@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <cover.1749006565.git.xiaopei01@xxxxxxxxxx>
<3b3d8f60e553af09a51b501b8ff5406fa5e898dd.1749006565.git.xiaopei01@xxxxxxxxxx>
<24654754.ouqheUzb2q@workhorse>
From: Pei Xiao <xiaopei01@xxxxxxxxxx>
In-Reply-To: <24654754.ouqheUzb2q@workhorse>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


=E5=9C=A8 2025/6/5 01:42, Nicolas Frattaroli =E5=86=99=E9=81=93:
> On Wednesday, 4 June 2025 05:13:30 Central European Summer Time Pei Xia=
o wrote:
>> Since commit 7ef9651e9792 ("clk: Provide new devm_clk helpers for prep=
ared
>> and enabled clocks"), devm_clk_get() and clk_prepare_enable() can now =
be
>> replaced by devm_clk_get_enabled() when driver enables the clocks for =
the
>> whole lifetime of the device. Moreover, it is no longer necessary to
>> unprepare and disable the clocks explicitly.
>>
>> Signed-off-by: Pei Xiao <xiaopei01@xxxxxxxxxx>
>> ---
>> sound/soc/rockchip/rockchip_sai.c | 8 +-------
>> 1 file changed, 1 insertion(+), 7 deletions(-)
>>
>> diff --git a/sound/soc/rockchip/rockchip_sai.c b/sound/soc/rockchip/ro=
ckchip_sai.c
>> index 79b04770da1c..2ec675708681 100644
>> --- a/sound/soc/rockchip/rockchip_sai.c
>> +++ b/sound/soc/rockchip/rockchip_sai.c
>> @@ -1448,16 +1448,12 @@ static int rockchip_sai_probe(struct platform_=
device *pdev)
>> "Failed to get mclk\n");
>> }
>> =20
>> - sai->hclk =3D devm_clk_get(&pdev->dev, "hclk");
>> + sai->hclk =3D devm_clk_get_enabled(&pdev->dev, "hclk");
>> if (IS_ERR(sai->hclk)) {
>> return dev_err_probe(&pdev->dev, PTR_ERR(sai->hclk),
>> "Failed to get hclk\n");
>> }
>> =20
>> - ret =3D clk_prepare_enable(sai->hclk);
>> - if (ret)
>> - return dev_err_probe(&pdev->dev, ret, "Failed to enable hclk\n");
>> -
>> regmap_read(sai->regmap, SAI_VERSION, &sai->version);
>> =20
>> ret =3D rockchip_sai_init_dai(sai, res, &dai);
>> @@ -1512,8 +1508,6 @@ static int rockchip_sai_probe(struct platform_de=
vice *pdev)
>> if (pm_runtime_put(&pdev->dev))
>> rockchip_sai_runtime_suspend(&pdev->dev);
>> err_disable_hclk:
>> - clk_disable_unprepare(sai->hclk);
>> -
>> return ret;
>> }
>> =20
>>
> Please get rid of the err_disable_hclk label, and change the
>
> goto err_disable_hclk;
>
> in the resume failure condition to a=20
>
> return ret;

ok,thanks!

> Other than that, patch tested to be working fine.
>
> Kind regards,
> Nicolas Frattaroli
>
>


Return-Path: <linux-kernel+bounces-673963-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D308441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:01:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1CC5A3AA127
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:01:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 50DCB1E51E1;
Thu, 5 Jun 2025 02:01:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="L0bwDh/6"
Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170])
(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 1755C1EF1D;
Thu, 5 Jun 2025 02:01:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749088881; cv=none; b=jhaPjZn6+biivVilG2/Ustb6yLgQgb1T+7V42Df2WR25IAWwxE9YqmfTwq8eFmLbnREBBf/xZovCvM7hQyw47G5YwtD5GVITAALAii+4GVa5K4AeHpFDprqpKOj6n9E0KIjlxY5pJWXmmUZ9FxolsG7eb7qGQ/bsfCQR4C9GYm8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749088881; c=relaxed/simple;
bh=fnHqjeoRa3loKHhYS5bX+oT63Gr6BHq+bGrhR4L6D7g=;
h=Date:From:To:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=oIo3ntH/baon3kgvQ5I1JtWDEUdsshIMPH2zEJlD+Lk8cX03cqqvAGhBeCAxltaROg5aPH595FWZmtED6ex2EXjep248j350+ze79/9ts/sLnERFY7A1tSOY2pWRJQRrjJgW5ApgTuYNQLh27aAk/pshriMxVWLrcDWclvws16Y=
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=L0bwDh/6; arc=none smtp.client-ip=209.85.214.170
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
Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-23526264386so4272235ad.2;
Wed, 04 Jun 2025 19:01:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749088879; x=1749693679; darn=vger.kernel.org;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:to:from:date:from:to:cc:subject:date:message-id:reply-to;
bh=B4XY4QyVzfpslN+lSr0r9kDuHIIiF3VbHDAvnPwfeec=;
b=L0bwDh/6/26vyFkC1lSYqtj1/FAAx7QFN8uQjhCa7w3glw3X2C0OxwnRaYJnYsfE3o
DXM8XROS7rLHoPvQ8BeizF5JcAApifQzwvzAnVJV3vO5LgHxyxTR7w6qXvtXHMRKxk4J
cD9Pusae0/FpB2dyG1ZA88TMwVM/3b7fidgaBxUGu/L+EbmjpyJvRky2IXgL2/oEavZX
6lF7x/oS3fWGc3IGtznTEaDDT327nGjJBFTIzSdf6dIknAoMCd7TuLJydgebBGcNDdLh
p+8/haFlfrk+lYHZRXkzhAkLSRubqtsHfmgnKIsvo2irVFY8oQ5BKLuYRgmABSLVKoPA
YMcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749088879; x=1749693679;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=B4XY4QyVzfpslN+lSr0r9kDuHIIiF3VbHDAvnPwfeec=;
b=J8TMaXD/aoNso2Q/lR1FUnlmblc9Z8Eb3zLlRFDPJKcFhzoWks8s1+27h4I4CJ83iq
iWlM+8MqpLjOTaumBGIEtg3ZI0aW8qTceDQQhA2TEdBNCyN5aAXiS2TFooB9vVTWHWBz
za9IwAuA8Pj22GeEmZGnKe1R8dSiOviT3xMAfARtIb8SZ3l3h1v4zlsl5ikYiOjkQJB7
wwXjG8m8aePzHZPpIUrt/gWsNSPG2OOt/eUUkhyBBi37EGI407kd6M3toyV7YQeI9EZJ
/m4AP5b45UgUZ2pYZ0mT8Tt7IIlYrDWmHGjTkNJmt8RiWnLoTpPxhArJWQ5f9qLyKHCW
eFwQ==
X-Forwarded-Encrypted: i=1; AJvYcCU/Kd/aHztu1UTqdqRLCrwBaZIVTnQ2GSb8CTzyGDki08GknsFn0rwQ1AjyzJY5aZUAQGv5PBqe9+lKIU4X@xxxxxxxxxxxxxxx, AJvYcCXtLyLPZApQMy9V3A/hjqXDqql4NrxQ37NLjWLHVDNBi2QPOYlnOUmLzgj32Nz2gbKEoZ2Zw+ZlgBM=@vger.kernel.org
X-Gm-Message-State: AOJu0YxiSxOgUSbTv8BWXbKFNZKY8ZMseL6BptVjiMyThvRwZ+QSL/Np
A36yDopEg3G9FgROfbT8ZAhke5iLjU3TN+Ti0sbcPwukrO6S50kdnX7i
X-Gm-Gg: ASbGncuZh0vyfA5xZic/t7WjoU9Qfh/R1pOVMTHRsTYeSJMtWAQ9LD/UQAWSxJyBaoh
gxyBCnizAUwIA9JLB3Jzwd5KgwF7ZZhRUyrGTpSm2/RM87XX7/vxNh0akw+ZtxqjlPGQTk2jOxB
OekRKjLAa5RIKVLPy6fOeiYCOL9psFBylKwEWxTa1PLGdHEd/vidNYV3tjSzwO35oc17przaXuM
+KX6zd8M51NYkwf9P9wPbJyBNo6ii1B+pE2xf/W3z437yzrVLQsweVvd58plTFrfHc9EnsGXwWU
WuTNJPFCp32w4UJ0pj7UWBQMB5+GdQdynZV+ROQRSBU/ZWH3QRI=
X-Google-Smtp-Source: AGHT+IGyZy18YKprGlTzoo34XE4Q33oI40JvIwcZGv4ymlfnzos5D3EVaruPWivmKI3pyBJL2DdAxQ==
X-Received: by 2002:a17:902:cecf:b0:234:8ec1:4aea with SMTP id d9443c01a7336-235e1200863mr66986925ad.52.1749088879071;
Wed, 04 Jun 2025 19:01:19 -0700 (PDT)
Received: from archie.me ([103.124.138.155])
by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b2eceb297c8sm9365315a12.26.2025.06.04.19.01.17
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 19:01:18 -0700 (PDT)
Received: by archie.me (Postfix, from userid 1000)
id ABA104209E8C; Thu, 05 Jun 2025 09:01:14 +0700 (WIB)
Date: Thu, 5 Jun 2025 09:01:14 +0700
From: Bagas Sanjaya <bagasdotme@xxxxxxxxx>
To: Abdulrasaq Lawani <abdulrasaqolawani@xxxxxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>,
Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Jonathan Corbet <corbet@xxxxxxx>, dri-devel@xxxxxxxxxxxxxxxxxxxxx,
linux-doc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v4] drm: add overview diagram for drm stack
Message-ID: <aED6ahMoKjO11JVv@xxxxxxxxx>
References: <20250601-drm-doc-updates-v4-1-e7c46821e009@xxxxxxxxx>
<aDz-Pq4eMAYmzqsJ@xxxxxxxxx>
<aEBaJ5zMHfzhpdlz@phenom.ffwll.local>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="esmnYBZSXAl4HZ/C"
Content-Disposition: inline
In-Reply-To: <aEBaJ5zMHfzhpdlz@phenom.ffwll.local>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


--esmnYBZSXAl4HZ/C
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Jun 04, 2025 at 04:37:27PM +0200, Simona Vetter wrote:
> On Mon, Jun 02, 2025 at 08:28:30AM +0700, Bagas Sanjaya wrote:
> > On Sun, Jun 01, 2025 at 06:18:47PM -0400, Abdulrasaq Lawani wrote:
> > > Add an overview diagram of Linux DRM architecture for
> > > graphics and compute to introduction.rst
> > >=20
> > > Signed-off-by: Abdulrasaq Lawani <abdulrasaqolawani@xxxxxxxxx>
> > > ---
> > > <snipped>...
> > > diff --git a/Documentation/gpu/introduction.rst b/Documentation/gpu/i=
ntroduction.rst
> > > index 3cd0c8860b949408ed570d3f9384edd5f03df002..a8d3f953a470180b395ec=
52a45d0f3f4561424e0 100644
> > > --- a/Documentation/gpu/introduction.rst
> > > +++ b/Documentation/gpu/introduction.rst
> > > @@ -14,7 +14,45 @@ including the TTM memory manager, output configura=
tion and mode setting,
> > > and the new vblank internals, in addition to all the regular features
> > > found in current kernels.
> > > =20
> > > -[Insert diagram of typical DRM stack here]
> > > +Overview of the Linux DRM Architecture
> > > +--------------------------------------
> > > +::
> > > +
> > > + +-----------------------------+
> > > + | User-space Apps |
> > > + | (Games, Browsers, ML, etc.) |
> > > + +-----------------------------+
> > > + |
> > > + v
> > > + +---------------------------------------+
> > > + | Graphics APIs | Compute APIs |
> > > + | (OpenGL, Vulkan) | (OpenCL, CUDA) |
> > > + +---------------------------------------+
> > > + | |
> > > + v v
> > > + +---------------------+ +-----------------------+
> > > + | User-space Driver | | Compute Runtime |
> > > + | (Mesa, AMD/NVIDIA) | | (OpenCL, CUDA, ROCm) |
> > > + +---------------------+ +-----------------------+
> > > + | |
> > > + +--------+----------+
> > > + |
> > > + v
> > > + +-----------------------+
> > > + | libdrm (DRM API) |
> > > + +-----------------------+
> > > + |
> > > + v
> > > + +-------------------------------------------+
> > > + | Kernel DRM/KMS Driver (i915, amdgpu, |
> > > + | nouveau, etc.) |
> > > + +-------------------------------------------+
> > > + | |
> > > + v v
> > > + +----------------+ +-------------------+
> > > + | GPU Display HW | | GPU Compute Units |
> > > + +----------------+ +-------------------+
> > > +
>=20
> I'm a bit late to the party, apologies. I'm not sure how much use there is
> in an extremely simplified diagram like this, least because it's really
> incomplete and leaves out the entire display and compositor side.
>=20
> My idea was that we'd instead link to the large pile of introductory and
> overview talks further down in this file, if people want to get an
> overview over what drm does.

So the stub that's being patched here can be removed, right?

>=20
> If you want I guess you could add some links to the relevant wikipedia
> pages, I think they also do a fairly decent job of explaining the big
> picture.

What articles?

Thanks.

--=20
An old man doll... just what I always wanted! - Clara

--esmnYBZSXAl4HZ/C
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQSSYQ6Cy7oyFNCHrUH2uYlJVVFOowUCaED6agAKCRD2uYlJVVFO
o+P/AP46+k76LZr5ysuDahlolJMYUhTpQvrwrM4YWtWsu9yU8QEA9v9QEfg1I8Ew
mwig43hchoMKvLYr3f/QQu4dFHZ1fQ0=
=capg
-----END PGP SIGNATURE-----

--esmnYBZSXAl4HZ/C--


Return-Path: <linux-kernel+bounces-673964-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8FED041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:05:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 946EF1758E8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:05:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 195741F3B85;
Thu, 5 Jun 2025 02:04:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Y0ieT3vv"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 91004770E2;
Thu, 5 Jun 2025 02:04:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.15
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749089089; cv=fail; b=A8nmL0tjJI2JKcPCaMnxg/rsL4AJD7A7yD7fNAzlhHfeXzrpSqS3tybehUVqFLsrkFwXyhN+z+WYhth4PCTdpfa41ytrYz/ofwCVdjxY/XiGnEbsWWcgXgyMhuFsE052jNttuC/CmJ31jdhoura/OcLdpSFobC1Mgab65f5FaE0=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749089089; c=relaxed/simple;
bh=7y3dxA8J3xesYiYhw//lZdAvyFAU/muCn8/qB8yzXpA=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=Iu2YLPFZc7HA+eWKzQsAdTez5KPfj9zfCdo701Udu5eHaYoXN1C/tPWuja97XWVnnXvF08PNfggK4VJUd9sYV7UNtltqVsPtYuXUqitWT2zpPJe0kVYkGPtQwNncFNPiulNB3O+URNTDAyQ/oQ/FZJTacdKWOPKW0IswPKN/kJE=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Y0ieT3vv; arc=fail smtp.client-ip=198.175.65.15
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749089088; x=1780625088;
h=date:from:to:cc:subject:message-id:references:
in-reply-to:mime-version;
bh=7y3dxA8J3xesYiYhw//lZdAvyFAU/muCn8/qB8yzXpA=;
b=Y0ieT3vvYSmLrYLskPp7k0XCY7fiOmXiwRvjQyL4XraZCPECJ6zl7hcz
IHZ+Smm9QAxxQ1AA+CPuE1qzWt/cf0TTxUnEXCtHcXls9D3iEwThGQtL6
dSy+d1WvpBQQ4KawOiLUVav8cfUMDCmAjghCAiym5vtiK3BUF/hzQ6niU
vqbaoBMPhqoh5nVSEIMwac7Dby5KzQb2vZdvv0g4UbREThf1sNImN9tbx
ctx/3JGSc3F0fxI71zMEOmR4DRAaxlJiUrHiUaNxNFqtlitCb/qJIiTSx
he3KFi3fMXQiD+grGfXUQIBMLdguklDwRMjoNCwZJZc6dUEEM7XljhryJ
w==;
X-CSE-ConnectionGUID: tpHpV9mXRbqMLlRa/rTySA==
X-CSE-MsgGUID: xGtLwgwHSP2WNv38B7KwOA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="54852707"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="54852707"
Received: from fmviesa009.fm.intel.com ([10.60.135.149])
by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:04:40 -0700
X-CSE-ConnectionGUID: cqgM76XcTR+siKFdBxDcaA==
X-CSE-MsgGUID: 118nHMKfT8yD5kWsHhLIOg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="146298980"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by fmviesa009.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:02:30 -0700
Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:02:29 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 19:02:29 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (40.107.94.70) by
edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 19:02:29 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=xBoRBazUpotngTB2DswS561QonY+Y/ZzoXTWaSwRMju3lj9itEyUQFGs3idwYfgENJ45sgYIjqB3TN0mssAGOwZi0tNP3NWQw0HoHsipLFMkRkCE7HP4v0DLUV+xmwledZzHhc3awfp1XqvpWRHu2xat2dRxSlKocWddXAzckyuBsQ2Bz+i79w+7G+WECwlmy183Y9HgU9A1bhtvWeCKQLz3gL218qLVMTCBGbfN+20Z7JbTQf2ARET02uKcDeQnmW7Ao6aFHJ3+X5pDC2qJleV+Jih/D0IZDN2iZG2RN0BJG3dYBeuKTzoioJU5c4pPV1AMiGMWEQSyL3yY1ww7/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=YVIsnd8y9mTEQzykMTYlKep/DTad4B7wKRqRECe6s/A=;
b=uDVLDI0eph82QVjhpsGhKZRcTMgtd5NehnybOETG5lzkO8JF1zxJYl6NIa9PBCPPl1UbR3zVmYpHTJqPnqItF/OxQ4X0z6GBuqVfp05tFkYd6weIp0eIf8JpmDF9iVfU3RfFvdTEEVPxWlcbQeuSGoWVcFivBfD6fzpXTH9AVy7Y4nh4sx+bVtiHrrB7JC89PD3YRXmFXJWWyzMc9iWQf0L64SbD7bJHLgPkfy7Kx/lnjxXYqzqmLJW9CUbBVIUgPBd7LjyZhwnYLCWVOx5FONjTIbBol5UAj9CqE5QKWQRvyyejlKjswSWbpI8iMNyB9ko/9VqbvIq8lzo5yBgAxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6)
by MW3PR11MB4604.namprd11.prod.outlook.com (2603:10b6:303:2f::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Thu, 5 Jun
2025 02:02:27 +0000
Received: from PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
02:02:27 +0000
Date: Wed, 4 Jun 2025 19:02:24 -0700
From: Dan Williams <dan.j.williams@xxxxxxxxx>
To: Alistair Popple <apopple@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>
CC: Alistair Popple <apopple@xxxxxxxxxx>, <gerald.schaefer@xxxxxxxxxxxxx>,
<dan.j.williams@xxxxxxxxx>, <jgg@xxxxxxxx>, <willy@xxxxxxxxxxxxx>,
<david@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <nvdimm@xxxxxxxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <linux-ext4@xxxxxxxxxxxxxxx>,
<linux-xfs@xxxxxxxxxxxxxxx>, <jhubbard@xxxxxxxxxx>, <hch@xxxxxx>,
<zhang.lyra@xxxxxxxxx>, <debug@xxxxxxxxxxxx>, <bjorn@xxxxxxxxxx>,
<balbirs@xxxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <loongarch@xxxxxxxxxxxxxxx>,
<linuxppc-dev@xxxxxxxxxxxxxxxx>, <linux-riscv@xxxxxxxxxxxxxxxxxxx>,
<linux-cxl@xxxxxxxxxxxxxxx>, <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
<John@xxxxxxxxxx>
Subject: Re: [PATCH 04/12] mm: Convert vmf_insert_mixed() from using
pte_devmap to pte_special
Message-ID: <6840faaff197a_24911007d@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch>
References: <cover.541c2702181b7461b84f1a6967a3f0e823023fcc.1748500293.git-series.apopple@xxxxxxxxxx>
<171c8ae407198160c434797a96fe56d837cdc1cd.1748500293.git-series.apopple@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <171c8ae407198160c434797a96fe56d837cdc1cd.1748500293.git-series.apopple@xxxxxxxxxx>
X-ClientProxiedBy: SJ0PR13CA0105.namprd13.prod.outlook.com
(2603:10b6:a03:2c5::20) To PH8PR11MB8107.namprd11.prod.outlook.com
(2603:10b6:510:256::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|MW3PR11MB4604:EE_
X-MS-Office365-Filtering-Correlation-Id: b587d396-9805-4370-50c7-08dda3d50538
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?sFEza5/+kxd1MXVAvAspWt7+XTp4+brAKFLZjNsCkFuK5npSif9r9Pnenkr9?=
=?us-ascii?Q?XJ9l7f8QN3ZeHwfdCGgPN+93CDDsySY8faQwM2Oil15YlFtRR7yujbrplLCV?=
=?us-ascii?Q?jmzvZ5q2fo74DW/t/1fpyjSxYbJEJ3tp/s6b12Kv2zOm/994Pay5NfBcY6YH?=
=?us-ascii?Q?LkOm/3cxWGuAQlhzvqEUjmVAItkuk2aiiSWG+pVTgJdBvunY9Lp47idoLRRA?=
=?us-ascii?Q?RH5TTvSk+F0vSEXcQBB7cZgHJWhE+LTkzRvBJ10x+tTssEr3doZ6K6O298ws?=
=?us-ascii?Q?vI9BuRdedyfuTtJ1aL5Jfrr5ROKoP5fXRDfkkk/VvIb0eSvl1y3wFwRZpeum?=
=?us-ascii?Q?vtuYbL5kyWCJb04iA8wb6M78QVS2sbQCofzR4ClFoMscVvavzFdol77zVVAc?=
=?us-ascii?Q?ZcVS4EmLcCWFnyc5LqSF5Bbvl7cgRbLAPodIAS8SYY00CX1A1OiEHOeOwmYf?=
=?us-ascii?Q?04whc5WEmNRTMpPKj6oFLgQIJvCUJGjxHf0zwOf3ba5E3jchAzKaGlPvZ0aV?=
=?us-ascii?Q?bwLa4CthRY2jY5lhn+r9Rn2Zl28m5a9bDhXd0aSzvy9gd6oG/f0vM7tcYOaf?=
=?us-ascii?Q?nvs7nSMjqH+m+jUDstGKMy2LbTI7r/kp0/a54qRPHkJABaQpayoVvYvarBxi?=
=?us-ascii?Q?XzTir3Jk5J0ZLoHrzID8M2AxEw3bsj4cIoI18u0vmxr2Y90e5kUSnWdJtA3y?=
=?us-ascii?Q?kQO4mKmrtwBtHtfB/IsbXQc6x8ZOANmNAtTCThi87lJ6xe74vVJzHJ1RzY7H?=
=?us-ascii?Q?+MJHFES03HsOvmjvcy8rILEGHyNvD3R9yhaAf75sxDYbgYCxhRqSYOFfBbco?=
=?us-ascii?Q?eqH9tdth/0EtiGv6yG+1SBazKeQ7MjSwfhJj6VUTNloFnGkV77rYDXWqceKk?=
=?us-ascii?Q?JSHGK//W0YWEJms3imKyiXChkMUyUvGHG1l2a+ioFZXGdm/kbwClcMQ/yKCY?=
=?us-ascii?Q?5QQv5VyIHhvrZ2ebwYUwK0X2Ee3WAPQcDH8Pcbn0FfNU9O91D94gK9/N8+C3?=
=?us-ascii?Q?p9NB0fsIgqn7v2PNqz4Qs8mofXJ7bf+/tHuyB+KOTUX3lU+qH1m/u87q/RYl?=
=?us-ascii?Q?jy1cvyUj8xJSembxXx+rtuBftYpjbyvyhCy94pTBo237ov2EPJnSFUtsaXgU?=
=?us-ascii?Q?Us1OzMuoC5P9g/wcns2q7+pMEwXJfN9sNDQV8oAKAkt3JGL5VPEYrDlKJgRS?=
=?us-ascii?Q?O0WeqTDJBdZQP/sVJLAxq9cVrH0vUgnt9jtPFH28BaGqCp7vyEoUEEP1LhL7?=
=?us-ascii?Q?ZL6/KImXP+Amjz8oDZvgHL9n64sCFGxNAsVrTP7v+K4Pb0u8aYE/3wheR/8K?=
=?us-ascii?Q?LGdd7bF/eI0Nglmy0cQ+rjOb3wUU5fZEvFGY+FP9qjln997SvILcPsdqQEGx?=
=?us-ascii?Q?FWQ3mmf1ACF3dV6iw7OV1kf3Mcs4uY6hUFxZugbghZxmOip09zOnLOEjCiJM?=
=?us-ascii?Q?GCSxjsg/CXQ=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(7416014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fEKK2h45XYObxBcT4vooGVeXjA01uYGS4DviP04N3sbB+2evApabG2Fasd48?=
=?us-ascii?Q?IDc7jeUzOWl0+waLtcu6YMUcrHYhInL/k95Yb6e/agQ2kbZe9Kr2YTQ3OvJ6?=
=?us-ascii?Q?OFSOi5spKGEm354Mih8o/eO00GYuBZQ+SzuhSGEPD0lt2KobKSH/iuAEpdB4?=
=?us-ascii?Q?2xPhduhVYTy8wbTYtE1fmMUjskLiwK4VteDOfjR6ePBb7RzK/tBTyW5E+p14?=
=?us-ascii?Q?15hFg/BPHza2GiHBuhEgXLMTwvatw4GU93rrrFVKHhAlx99606DCGgtMJeF8?=
=?us-ascii?Q?zteXiKX1SMivoMRbloO/aCXzgeIuFoKITR9kmgYxZwk19hsGhPhIiYKbqGY+?=
=?us-ascii?Q?ubHeIEwXza7PWnpJhycWMECSI7veFMu9dDPbPnrup2kIsIGFFDcFF2sSwP7c?=
=?us-ascii?Q?8C9VbDkIO6hGrwH8TVcUFSQmmkoEL9d8QzbsGNCoce6WGqInexKq8qJpXD2P?=
=?us-ascii?Q?DzA3LFU82tHrGaRS9TtSXmyMp/YQ/bvZxvMXORlV1dv9wmMLUQZCMDW/P2DN?=
=?us-ascii?Q?ZgN2mz0AlN9zgpEcanRurEaydWvvPZnv0H+0CeDj08ZpHJuyAq3gQTVJfhx8?=
=?us-ascii?Q?g6to2dNm4l33WW02w1eota3aEoveJKRHNGm4f4VP6IxyHpOv3t7T/jroZWWb?=
=?us-ascii?Q?JBnIlzVDt3b1u7DcxByA1CzgdBaS6zRdZ9kqeWGqZJRW5zNdYxA1PsowKbAe?=
=?us-ascii?Q?SoYL9TsA0pBHU4VvUU9sFaszaUJMMHKQbbr3RVaPb/I9NZNc2W5HUe4IuRMz?=
=?us-ascii?Q?Dj+h+4QHPG/KMHsgl1cVEalIweDjFRhiBD5gN6FoEDB82clc7akItPKHLXIS?=
=?us-ascii?Q?aMejloRRWGFR4kbR/CjpHBIW5d+eMtAeaopVBXpGuAeHBwrHK0Qw0AbiV+16?=
=?us-ascii?Q?9mcjhWQHA7DlO+aHFhQOEVV5vJl6k1JFYFyx1+oKcWTBUlwF9BnR7esYvLJz?=
=?us-ascii?Q?SXXkNFBXIvcWL2P1FAoxF2hcPuzcXMeZnakThAEuS3ehNTN4K+nRVUld/XrN?=
=?us-ascii?Q?7wr73DtUVkW9PxaWxykFYD3rZyC2Tfqbub9IRSq26dIfenA3s0wipNaR6UwD?=
=?us-ascii?Q?Xi7a/lSi/PjA56hKcXUWPZS4U8qNx46krnWqGcU8e86K8FAlQL8N8SuNkFyc?=
=?us-ascii?Q?qc/nudN2c9ShqaaM0ZS+rNI1hcjg07tE0kWAnCy0cHRHLlmN/+Log3k4PD4U?=
=?us-ascii?Q?nAe6fvWQwApyTLDL3caAS1la9qKWwuNFeXju6eFzVJPuUL2sQ9eqj+pOPm2P?=
=?us-ascii?Q?D1xQIuvfjr5Ntob3ObNguBtREn2EKoK/9eBF9OC951FuZtehQZOM0ttsNgpU?=
=?us-ascii?Q?l49j2IiRQP3ZKghp7AFWpdygFn+JGh7ZUpA4s+UtrXchbkPjQgvd5kFK+wtT?=
=?us-ascii?Q?pBj2tVJrwDX/B2EBrU3PlHiie7seeCmuHrhpcM8HCbpezTThA79Pp3KQZwec?=
=?us-ascii?Q?KQEe6Vl5XtoKyW45esS9MnLlg45eHnHrKkwQUxLFYnApnWVqjdOPVc1bzDgt?=
=?us-ascii?Q?VyvMAeTyu7X7v2T17sWVmKuMKtBPoIye7nJ913sSdVAUfeVCsz/FX8lfWtIz?=
=?us-ascii?Q?R/0T40Vcy+TIznRpe+CfpOcaBKkWSiuB+Pmxmf2NkflYj3BOC6p3t7t8LFva?=
=?us-ascii?Q?Rw=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: b587d396-9805-4370-50c7-08dda3d50538
X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 02:02:26.9341
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eEqwRu1gHkZgYqLlhhcNaDumsojCbtGS0veyG/qTZxy/UN0QQyRcQV/u2axeNyBcuxfj9kgPHuzgTokXyh0orad2gHrgXl+Kccs/29cQ7KA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4604
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Alistair Popple wrote:
> DAX no longer requires device PTEs as it always has a ZONE_DEVICE page
> associated with the PTE that can be reference counted normally. Other users
> of pte_devmap are drivers that set PFN_DEV when calling vmf_insert_mixed()
> which ensures vm_normal_page() returns NULL for these entries.
>
> There is no reason to distinguish these pte_devmap users so in order to
> free up a PTE bit use pte_special instead for entries created with
> vmf_insert_mixed(). This will ensure vm_normal_page() will continue to
> return NULL for these pages.
>
> Architectures that don't support pte_special also don't support pte_devmap
> so those will continue to rely on pfn_valid() to determine if the page can
> be mapped.

Looks good,

Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>


Return-Path: <linux-kernel+bounces-673965-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E631741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:05:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id AD11D7A6C7F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:04:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 618781F3B85;
Thu, 5 Jun 2025 02:05:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="kp1OIsRu"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A0EEA770E2;
Thu, 5 Jun 2025 02:05:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.18
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749089103; cv=fail; b=ue9znDC0O5WDm91JYbEY2yXc+qX8qo4qpHPaZxjnTWflPh7UtIErMh/ItQIElV8idybKWocrPgkWtFhafhQLQS7ILCFMFF8Nafbf+iUZoxZeGsIK3va3HrxnHAmTXHY1RW59UGjBD4S5cA7EpQ8ELnpR0UH5BUlAc4ovPYpxNww=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749089103; c=relaxed/simple;
bh=r+5gWDOhtKzefmv+qnlVavJ3+KyWl4HcHI3khC354qM=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=NHw7eVXfksxn2qGX8R+F2DIqHnAbivHx9t5+YoVTvIXKxkFErRqI/5/jKp8CR3UnSQBsmgH4gbO7Azlo2s+3BMXlDVrMzneS2Xcf314CvHWvCyMvCmUE8qZvoNYNkhA2gfSHX+4DZLNfm0nMVlrgtwdJln2sZXu1F1tRcqU1e98=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=kp1OIsRu; arc=fail smtp.client-ip=198.175.65.18
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749089102; x=1780625102;
h=date:from:to:cc:subject:message-id:references:
in-reply-to:mime-version;
bh=r+5gWDOhtKzefmv+qnlVavJ3+KyWl4HcHI3khC354qM=;
b=kp1OIsRuuuyVWKPxRgL07BuWWqOiFqyIfuVK5RkqkYMj26edH5vrwELz
uhUpDiB7ZVcsHdEsEnVq+ulTum68Rx7NUeDFAjpoj30C1IEooFyvE8zcB
pKzTO0YudzwRRcs7XkfmwhfMT841IwbAqyO95EVcyuNwd3ZgTLzms5QGx
v6rhZdh4MAHnSVFWko2tUAe8PAdweCYTR+c7uI4LG3TcU2erxny8BbL+t
MQljG/CLl7bTPs1cig0fPLp5r+cWEuTCJha35DToewRXYOnN2207WBF4A
oFB/xYQNGb79Ccyq7E8JJf5okn4cynU0N2aThtVSHnA5nLmxk4ZCXIqPf
Q==;
X-CSE-ConnectionGUID: VcmmtXGDTkqydTQ9vh6/2Q==
X-CSE-MsgGUID: BBx+VQsBQsO98uy7pyZKLg==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51338703"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51338703"
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:05:01 -0700
X-CSE-ConnectionGUID: 5ygUBDzRRL+Pg4/E1YHKxg==
X-CSE-MsgGUID: j6MZxh2ERGiYfyO8f0dPOg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150513994"
Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25])
by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:03:06 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:03:05 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 19:03:05 -0700
Received: from NAM04-DM6-obe.outbound.protection.outlook.com (40.107.102.47)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 19:03:02 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=B1f9iiQFHxfPCNiFUY/LrTo4wCzJNtUlwRHv3PCBLp6Y8Sf/MQJXz6WjBUOA0siaivKmyPXfi01lr/FbmZ1HdGdJ0E8Z/tBK/BBadkdudqB7Kb0/CaS0r57uKw9KjXej209vig7BPaETpah5epV9R94czpvcRIs0XiTLNIvHNu09w9QThP3hZqMVH8ry6G+7nvQguR5dn7UNkeamVoi/L6GflsQWHgRVFGViuS7I+0ia8eeoybAA92Xp7tY+ibD8Cq63tCevIe5TKGB1y1/qmna3041NmVsAAmZECELvbeOzQ5soYFqx3iHSQXPmCT5aUQxWLlfNzTxs7+eBJfiVEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=FGHe9/g0QEHc4X9Qs5Y8VHUcW8qj8G//YEpspPjEJPo=;
b=d2eRADlMCZl9Blc8Ke5a9WZx2yjwilmAaUojst39CM6W6HbRyom16wDmWz6UnULeGMXWSIKPcj+QHHuxVg5scpLcP8FCCKsoMuHXY9htkzFsm/HDpsNSv5c6reVyoQff8WA+/zt/aRUbdKvjPeWGRiinnqX617+Tbsc3HV/DaSAz2H9B8bHfSwj52IzpgcDcZjgxVIb/x4Cj+qnmiIcEshapDCxmURdKzSls1NCR2otpyEbacDbEuhA6yfto/4KtaVgryJxfFXrY7QHZSoHjhV/K1SffqWvlXuE4bVvhP8TWobrwPpDz4w3/efaBLezd8wkvEvipZ2X7cVMHHFx2SA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6)
by MW3PR11MB4604.namprd11.prod.outlook.com (2603:10b6:303:2f::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Thu, 5 Jun
2025 02:02:55 +0000
Received: from PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
02:02:55 +0000
Date: Wed, 4 Jun 2025 19:02:52 -0700
From: Dan Williams <dan.j.williams@xxxxxxxxx>
To: Alistair Popple <apopple@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>
CC: Alistair Popple <apopple@xxxxxxxxxx>, <gerald.schaefer@xxxxxxxxxxxxx>,
<dan.j.williams@xxxxxxxxx>, <jgg@xxxxxxxx>, <willy@xxxxxxxxxxxxx>,
<david@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <nvdimm@xxxxxxxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <linux-ext4@xxxxxxxxxxxxxxx>,
<linux-xfs@xxxxxxxxxxxxxxx>, <jhubbard@xxxxxxxxxx>, <hch@xxxxxx>,
<zhang.lyra@xxxxxxxxx>, <debug@xxxxxxxxxxxx>, <bjorn@xxxxxxxxxx>,
<balbirs@xxxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <loongarch@xxxxxxxxxxxxxxx>,
<linuxppc-dev@xxxxxxxxxxxxxxxx>, <linux-riscv@xxxxxxxxxxxxxxxxxxx>,
<linux-cxl@xxxxxxxxxxxxxxx>, <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
<John@xxxxxxxxxx>
Subject: Re: [PATCH 05/12] mm: Remove remaining uses of PFN_DEV
Message-ID: <6840facc407be_2491100d6@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch>
References: <cover.541c2702181b7461b84f1a6967a3f0e823023fcc.1748500293.git-series.apopple@xxxxxxxxxx>
<ee89c9f307c6a508fe8495038d6c3aa7ce65553b.1748500293.git-series.apopple@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <ee89c9f307c6a508fe8495038d6c3aa7ce65553b.1748500293.git-series.apopple@xxxxxxxxxx>
X-ClientProxiedBy: SJ0PR05CA0054.namprd05.prod.outlook.com
(2603:10b6:a03:33f::29) To PH8PR11MB8107.namprd11.prod.outlook.com
(2603:10b6:510:256::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|MW3PR11MB4604:EE_
X-MS-Office365-Filtering-Correlation-Id: c4752bdc-9533-48dd-c37f-08dda3d51645
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016|7053199007;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?0yg2MQ/DqyAsnlz4ibExKr207mzchHSIBu4qLBKL/afHfX37myd6aqBjQ9lT?=
=?us-ascii?Q?WsVhXlNlHKhz60T1gQz3s1QJApMmt5UqjwDvsHLtanQCBtIXbQtXdI0kKFUc?=
=?us-ascii?Q?4VAmEVj47MnmwNwEQ/gJYXU95IdreE/9Bteg11IH8E+3HgNw333v49tE4yoq?=
=?us-ascii?Q?EvJMj/+8wfWujaG6OBYPSEJgizyetCB5IEmOGHYgyNa4xShu1L11i/FiaH7L?=
=?us-ascii?Q?DSUJkbMClOKoSjvvLsp/EJgkl4ysh3/rnwpCCUd9hQj5m2rudwK4AGmxLAch?=
=?us-ascii?Q?JXNNxKg7sZ6cAApQoEx3hG3PwOfKqdg1druDSZk6+cUX3twUW6q2cEyliEih?=
=?us-ascii?Q?7rKHb9ouNqWfLBnbDUcb+RLBSGvJ9p1AK0Pg+TxfbZJpi6DnOzD4MGjVB7Wt?=
=?us-ascii?Q?U3zP73i4hl+Qy3TMMwnRYn9QhyFkOKRzE2beEoQxPm9q2tyYX/2EA8OeYE9Y?=
=?us-ascii?Q?VMzbFUjU8UfYGuRmju3gnXpIYfm0vuofvMMs/iKkR2PfyXXegfjcXUUlreAF?=
=?us-ascii?Q?HISYCyYmV35VdZjWqCmQeFuWW56CiIUa6wS4ekt76poTkASozaviMVlEwddQ?=
=?us-ascii?Q?71e1QkAdLt7glstWn8AUhOLCJtloGwO4Igy+FTXJ+WMpmReYrtV7lSU43KOH?=
=?us-ascii?Q?593PSq6qDoEJ5kg7LEblvdIl9rcB0kO0yLy9pmFutuEtQVjfZ/HdARqdZBMV?=
=?us-ascii?Q?TJtBcYEUmsKGvyDRwA5CNjPFyzsavbXlNJ3siJwnUzIiqDwAFgKnOOf/3hTk?=
=?us-ascii?Q?cl3zJDAghmq2QMA47B+ibrA9D50zbj9+wfIOFb53o1JWLGRnALI1tor5VRUk?=
=?us-ascii?Q?Z/emJVszrgKlieVM8AwuZSEp4xIDu3kEqAncmMdbQRIlwWUNak4EuKMvnFks?=
=?us-ascii?Q?UmV3lTI6NNkd0ihBDGtymPtGhCC3ktFPDxYHbX8Mb//zIEgZtxjngQou7ahf?=
=?us-ascii?Q?YHeddaKinhg2IrpKNPQtmxWc6i2zi/W496+AWVFRuYB69V28J443/zfJ61gY?=
=?us-ascii?Q?fn3fGNCw6+ATjehSeXIAaq5MKKAXkA22e7ronPLvIc+vxo3amc4Sj8ruAy5V?=
=?us-ascii?Q?O0JcGh83uxBQZdIzQ9vk1bfeqDE/UiBXzsDdTGYhJ/XwAf5yQQuz4pbcnBzo?=
=?us-ascii?Q?AV5A+tQQj4sjIsTgMmLBXHaddmOQCYZUZiF7ZMtHlEddS/sXcsXmLlJ1xXiu?=
=?us-ascii?Q?PIYmLW9R/yHmBj+SomBwhly2VvEKpmTZ0hixj20tkFUMFAwqT5P8EyF3Xon2?=
=?us-ascii?Q?Si+80zVCiwaNLKX8V5QpDQiyaqhZ0yL8wp5d/3hn/43BM28vh2rBHPBtZdhq?=
=?us-ascii?Q?GhfBsHv4gP0af5qjuYJg1lwGO7qBOxqQcQcN9mZse4bMQphjmmlVUZr9JLvy?=
=?us-ascii?Q?aL7z+U6NSwqxE6oinzMW7c2sSYfXOefxJppu3BgacEicdPvv4nyUKuZVyZBp?=
=?us-ascii?Q?gzCxsfgoIpw=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(7416014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HUvAxZnnA1C7vZGvrzLDnI3Yu+C0T5x1kHChdIKDVtJahLKgzPVarbaYBpZh?=
=?us-ascii?Q?2qgCpdxw3LNrrmEGqCpNFVYmbWnUDT0nxEV9NeGdzuYUyunvgDNksWleZsYH?=
=?us-ascii?Q?l8kztRYjNzhIBZkbSnrCTF7pBybp/7F2CMY0a+xC/csGbDtv0jPdW7+MCU6W?=
=?us-ascii?Q?54FJrRLTf5Su3FIn2CFedbpDViCaXzR+MrxAZwyFTsnaGfV1rIsA86KcHC4q?=
=?us-ascii?Q?XPBjJ++zZ3Hk8Tk06cSuxiqkIeWuQQfO+Bogq4ohKcZP/KYC7N6+/R0Fhb9k?=
=?us-ascii?Q?8lZ+NFhqZaEpjXbPbeVfRbOf+4QJZnLp9N96hfU79Lnm6m9gDuz7N5wBOWY4?=
=?us-ascii?Q?LEgdkCB1F2cehzR/9AUH8LXvr5JZXGPwescwM/FY/DHyWKcdYKK7w4p/Zhhj?=
=?us-ascii?Q?YkI4mtfH9ltfaYJ4pArzS2l7FIAWA8+q24fdhMXviq89KhIpETaizjMpjyWI?=
=?us-ascii?Q?N4E1QaVt+ZhK4wYn0siMGpyjUCT6Tc4fV51M7mgAN7qw4cNlFZz9COwAn9EV?=
=?us-ascii?Q?owBcNCcnjWB0RFz6SE0ROIIHbXhzXyLkX75yMx+7+ug6V1XRnuiVC4KmT2Hb?=
=?us-ascii?Q?YIHfXy1ee1qa+9kjd6rBU9g6fehy36KPbAXEBCEJCc7bfhT6D8LyDbwoVROv?=
=?us-ascii?Q?9NIctfoKtgxCcqNsIKVsoLTXTsHxRaLAfT1vWYgt7AbB6721XhAQvF2voWWy?=
=?us-ascii?Q?zVki3Rrry9h3XVrTfq59M3lvetiIDz2Kx16QYy/iqVzoaiKoP/2dXFcRXF3l?=
=?us-ascii?Q?T2Ks0cABsl2Ed2GJgfHM5rVHo1/Lc21TS04DuyosQFuOUKZKJ8cFSAvSkaQA?=
=?us-ascii?Q?IrwwkIW3Qg4PfIfcV3+ma/TgOXKCH44KM7/cIy0BdPFVYoZPgcBCd63Udizc?=
=?us-ascii?Q?z/ZSGLH56UdFizX7cWGmo2Jms3lut2HSAThzTDcC70PNSj97V3C0QBUcsNTB?=
=?us-ascii?Q?O/TMp2kkLqPQDqkjJ1X+krWUyZAZfgGDs7zGOCvBmad1vt5Z7jXWISpuNNjV?=
=?us-ascii?Q?7E7+dgMNsJ37BjlLRT0wv9b2/rg1DwBjPIcq70pohfxcpWc6SijoOaUqa/FK?=
=?us-ascii?Q?aOUiWS/UkZhELCfsTu7kCDt6AxIiHM6aQIjWEnjy1132FuqDTW2uBsLu9r/9?=
=?us-ascii?Q?kcfaZzrZIB7dYzBSPR/HFowmJrihYa6+ubYdAeXeRlhE/nIWL8bgQzzasCTD?=
=?us-ascii?Q?e39LfiU4igvnJz2ocpI5NKcInMg5dXE/ocg11LRQEFk6y9sCuN+oG3eiTXsP?=
=?us-ascii?Q?qKZ2aTlSTZ05JnhvcbPGkCYuMOHyOYiAa+YsCu7js3nSEKuU9OFEmPN1Cphu?=
=?us-ascii?Q?V4wFZRD0Rs6HW7Yb8oeEk3uQjridCeeKbvSlJq0mrvVvob3H97vKWhzDtruH?=
=?us-ascii?Q?EgzdttgvJzm1ajs8xMJaPXGpiUPFwzrJWlYS5tmwBXSOJx+Pt2kZiVDn05cX?=
=?us-ascii?Q?KoLPYPXQmRiQkG9pGU6Njz1dJcveDSlx7Rkkj97dDdPdWDaxlKhom4QUQLkO?=
=?us-ascii?Q?B9I1wj7mdd5gCOo6kgeyJMNhON0iDc+gnfe1TOYWBsdpw1XzZeFcvUiT52rp?=
=?us-ascii?Q?Wjdi2FZR83K/TZ+xPUFEw5zxRme4WwzA1Gdz+GgYw+jcgxGh8f1IdnFJpd5S?=
=?us-ascii?Q?fw=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: c4752bdc-9533-48dd-c37f-08dda3d51645
X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 02:02:55.4938
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3fdZHv1tIFKHFjEqxmCBJIAZeoJ1TWDFMRGdVznEoxH66XaLY4xP73qLUpj/rmF6YvGTJUqYaK0SBUHzn5Mdmol2lkJRc7K3xTWX/O1PIzI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4604
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Alistair Popple wrote:
> PFN_DEV was used by callers of dax_direct_access() to figure out if the
> returned PFN is associated with a page using pfn_t_has_page() or
> not. However all DAX PFNs now require an assoicated ZONE_DEVICE page so can
> assume a page exists.
>
> Other users of PFN_DEV were setting it before calling
> vmf_insert_mixed(). This is unnecessary as it is no longer checked, instead
> relying on pfn_valid() to determine if there is an associated page or not.
>
> Signed-off-by: Alistair Popple <apopple@xxxxxxxxxx>
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>

Looks good,

Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>


Return-Path: <linux-kernel+bounces-673966-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DCBAC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:07:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id D6F093AA305
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:06:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9BD081F30AD;
Thu, 5 Jun 2025 02:06:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="OX7LnGfs"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 17860770E2;
Thu, 5 Jun 2025 02:06:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.18
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749089204; cv=fail; b=RdhXuYz8K65iJVf1pobV+/8Cry5ZXC2/mgzHumgqLdGMu6GKAD/PM6oIprDVnHlbWpQO9xKlG3V4zjJW4/S9g9kHTNxNwaOAVYm1jJfn9LVtUsNzZkEj0ohzhFLT+ZdhN5AvAZBW68TSnGonVlWeoQqjjzj4civ+fPnIkjnPUs8=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749089204; c=relaxed/simple;
bh=kgbGVz3netzGevZSeRAVbBSOKeKebteG7hNne9YYH/U=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=hixsjEXw0zzwrcxCsHUJ+gIvePgLU0FTgx9Hs8daGJz3PVSBsuGamQjZlz1cfX7j6zkBqCuPptx0Q9fA+YK6S2PvL2rKHdCTq/tHPtPyW0NI7XJ9lrrdPq4+ImnA24qFw9th/YptKsbBY4Mm20sRU4y4kCtp6sQiEmOO8+Ovz3E=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=OX7LnGfs; arc=fail smtp.client-ip=198.175.65.18
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749089203; x=1780625203;
h=date:from:to:cc:subject:message-id:references:
in-reply-to:mime-version;
bh=kgbGVz3netzGevZSeRAVbBSOKeKebteG7hNne9YYH/U=;
b=OX7LnGfsAuf+rJGp+ojuy2bPIinzPKxxqAicgN6HXWx6BgMUEGQDKzig
H5dyNz+fNM0w1pF0q2ryVy+Y4Rie6gNpRl8dBO3/uEuQOUdK/KVWOEn01
q9+qVbAb76YNSKiYeKcYOFd2S5Vw/9z5fytWnEZY00ZbZTNqGcge6M4C5
r81tqbK0cdQ6kHLgsz1q8gHim2Gk44Rr13KmzZin7IcP/VCot/79EfDh1
gS6NzX3H4ViYKEnOy8BJHxVk7ciYUT8RMf/SKuAcVG5n8AKvYApUaP/Eg
IzG7VTiKOW3ETA5bS1HdC5176YLynEWhcpfTq87pzV2MywVcj0SthUn0L
Q==;
X-CSE-ConnectionGUID: H8EDMp7+TualNAiI1wAuQA==
X-CSE-MsgGUID: E9VGz0PUROqlVIRh+D8KGg==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51338890"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51338890"
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:06:42 -0700
X-CSE-ConnectionGUID: sk4nLyRgRK+7rVV8O9Adtw==
X-CSE-MsgGUID: To389ub4SqqKsSsoSSSUCw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150514276"
Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25])
by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:04:45 -0700
Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:04:45 -0700
Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 19:04:45 -0700
Received: from NAM04-MW2-obe.outbound.protection.outlook.com (40.107.101.84)
by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:04:45 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Ylslldg/yGrqhZAi+fSgV6wCCQoUt02gItOWcDl5iC9sK00OfBtL6uur9OTJDWlWVYGuRtZx2iV1j9HHvNnTkVsmmsHTpXot+QPMXWKCOVmXnApNUp+JkCkWcckUS3bdQB/SZqpd3lEZlBFrv0TFIt/qewyoPNk+dvfsWkQ8ItNsBt6z5+Rt5LU/BkINqcTB8DtbUoy5FV/seJ1jzzGfJp1kI64HmClWkMJlUEsAdcjbQTaLdsz4jEtsgVZDN93AbuGrj7OkFzuwfPPjiF6+vf+AA+VLrRFVeBqG6yAGT3jZCIB69dkcX3nmZjci1ywiOXvGWXuI4Eqha6guTt4nfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=PsicUNFLW/RcNisC36S0SjgywQrdm4jwgrmcGMQuFoc=;
b=kukIG1ysD4HfXHVy9qPbhbup3bYB+KtDwlqXU+opy7l1M8EU8FPRpmM6cdLnGLKqB1EMGX1gqHRVMnO6hrDf8OW9oc8EQ5e9BvL38sC1xHaDq+aa455+AHlCl3RLqkW35aXAvujO/ILpoy2uvkADiSPMfTD+5aly1b8Yn/o8x6CNN1aUAhoJWcuVD2qVZk/7ndwOWdoUaRzGJomJxXgGulYOvNYLb4pTcZJKq1AeF4rqlWl+2HYo1XoP4xSImwLMVpHNm+LHhE2RFJEwL3I2Yzn1uNxXWxMdusxiWe9UnnqcuSHmpbS32qHdkDWBhS1u338HnQYAm19qGPKBBsGpzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6)
by MW3PR11MB4604.namprd11.prod.outlook.com (2603:10b6:303:2f::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Thu, 5 Jun
2025 02:04:43 +0000
Received: from PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
02:04:43 +0000
Date: Wed, 4 Jun 2025 19:04:40 -0700
From: Dan Williams <dan.j.williams@xxxxxxxxx>
To: Alistair Popple <apopple@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>
CC: Alistair Popple <apopple@xxxxxxxxxx>, <gerald.schaefer@xxxxxxxxxxxxx>,
<dan.j.williams@xxxxxxxxx>, <jgg@xxxxxxxx>, <willy@xxxxxxxxxxxxx>,
<david@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <nvdimm@xxxxxxxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <linux-ext4@xxxxxxxxxxxxxxx>,
<linux-xfs@xxxxxxxxxxxxxxx>, <jhubbard@xxxxxxxxxx>, <hch@xxxxxx>,
<zhang.lyra@xxxxxxxxx>, <debug@xxxxxxxxxxxx>, <bjorn@xxxxxxxxxx>,
<balbirs@xxxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <loongarch@xxxxxxxxxxxxxxx>,
<linuxppc-dev@xxxxxxxxxxxxxxxx>, <linux-riscv@xxxxxxxxxxxxxxxxxxx>,
<linux-cxl@xxxxxxxxxxxxxxx>, <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
<John@xxxxxxxxxx>
Subject: Re: [PATCH 06/12] mm/gup: Remove pXX_devmap usage from
get_user_pages()
Message-ID: <6840fb3848258_24911003e@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch>
References: <cover.541c2702181b7461b84f1a6967a3f0e823023fcc.1748500293.git-series.apopple@xxxxxxxxxx>
<c4d81161c6d04a7ae3f63cc087bdc87fb25fd8ea.1748500293.git-series.apopple@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <c4d81161c6d04a7ae3f63cc087bdc87fb25fd8ea.1748500293.git-series.apopple@xxxxxxxxxx>
X-ClientProxiedBy: SJ0PR05CA0144.namprd05.prod.outlook.com
(2603:10b6:a03:33d::29) To PH8PR11MB8107.namprd11.prod.outlook.com
(2603:10b6:510:256::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|MW3PR11MB4604:EE_
X-MS-Office365-Filtering-Correlation-Id: 921a7f0f-c876-4adb-4f09-08dda3d55680
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016|7053199007;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?t1GZXcNzS5LsgFpg7s1ba65o/1yNhgv7/JnUpk15RSYssgno3Bc1QtiWtu55?=
=?us-ascii?Q?dCHVM8bPrN+Panh7TCFTbX50+l8DI18Kw2FbBvvMWNYqjr9X2l2sadusHfAj?=
=?us-ascii?Q?i6mMQJ35UVVHQtXOIXVNlyiY1AmvVu87cbi1CZOVvg0MkPHWsaHJDUcgE7RK?=
=?us-ascii?Q?Es6w/3sl+mIsuIrXzEYMub5Ig2ElK/KSY7qbSgGCrXYcb8Kxeo2K772FVyV9?=
=?us-ascii?Q?pXDuqdTCGz+6I9xubD518nz+dgRb4oheJbzGoMChLb0eferw50oH+kTZ90Tc?=
=?us-ascii?Q?RIdnZotVtzvQM+5mIA6WkK3mCRkIypnOBLucdTe0Aj5eARLYW1mvWj3KZGLJ?=
=?us-ascii?Q?YNl7V3yzFy28GzRCl9lR4EvrgcI/J9Mes6ZfriNR01n17bWTqDZYNiJRT5JU?=
=?us-ascii?Q?A55PRipsT0RD4ZYEEl8DHy1ds04xUwJzbJEL6szDfOx8Bo2E16SGyXh0qNFV?=
=?us-ascii?Q?cuNL1OZvVp7+FEu+JmKIPhk6TvI7lyTsuQqOB1on3EdT0Xpy4LHbS4xz2tP0?=
=?us-ascii?Q?vQJi4fd6J0PgDx2Zgzv2bfqpSdGvHuuYFrVzre7CP8mtk1x+rEuTSph+SMjL?=
=?us-ascii?Q?zjFXtG9lro+pWE63d2udcfeMOcw/DPXgTMFDQy/5+wQVWSKDjLPE6pS8W2rg?=
=?us-ascii?Q?ee3dgsZvEVTcJkNUNTucd1iHKUA8RltsJXpM3nTny2FJFHpZv/GlFvATERm6?=
=?us-ascii?Q?qfAW767wGHXcUrcuL23TN5Wz+VmDmGh5Ai+IszVC5oITSxSkcyMkAkwZmj06?=
=?us-ascii?Q?2lzULn3URPTG3sM5lp15QyAz1SK4fabVBkVZY3sZc+95c0qaapEg3N/dOrzg?=
=?us-ascii?Q?IlIWIapbhGb3595OV5/dHSiWSKTpduvLUrrjKDvAytxK6r7MeDhkQ0MitqGA?=
=?us-ascii?Q?MPKEzULNDDFnSQ2SeCVcdrvpravkC1Su4BvJ8txPptvpppestnaxCAQwLUdZ?=
=?us-ascii?Q?YaHsLir45gKSt8jZklV3PXlOBofTaz1jU+5lo6qXinGwsdeoTk7bz/SU7RSO?=
=?us-ascii?Q?wcwW3cVdFxd7WZD9Q9KB++wXcjI7o5skynVA28CQ+oUHGrQ9fgsnhLBeEiEe?=
=?us-ascii?Q?Azj6H7sfqQiCnd0ux7CqaA2ZPT1ql7Zc3BtDGL0SiMVb3x8DNR4hF2p3KFoV?=
=?us-ascii?Q?Hnx0KC7/noJ9Ei9xb5cieKrDegCPr7BZ/VKtCrP3wsKjItEZPBFssrPfazmm?=
=?us-ascii?Q?acsUu4+yJMzwxTZEt941UqxjwAbQYVw6svxJ47hpZd5tndDDVh0+B33Gx5Rw?=
=?us-ascii?Q?hEWo4dp13Zh9DsTS99FnYNjwa1uNaMLRassq9QvvhSyDqsYqP3mn98PafUYy?=
=?us-ascii?Q?usP1jZshoI7kgeQQQebLkslC2L+XkqTj9MuDg6FNYsDYiWJX6YTLcLfxrn89?=
=?us-ascii?Q?NN/R6jRswz3Lfocp06iE8yerLfg50KhzPHXz7fR2fiCTDjJaJJOeJ98DR/n/?=
=?us-ascii?Q?qRmo+cqNnR4=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(7416014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4jxf3zRkomqA76/rdkdGGp0qPtvg71vrSeCbmuqixAYAjgMdjliMDsMElfHi?=
=?us-ascii?Q?M0K1WvMeSG/r8j3QJ1GM3LrqBtOXHuej/MxkMUaHi5HPPa2wx7ktCCPr079c?=
=?us-ascii?Q?jIaSI4YUJ8WNBGzhuCon5Ewb6y98DGeVYuwLoFF9qpT+nKziadnrkO6dt5Pe?=
=?us-ascii?Q?o/B/qlVvdgtK3CjCZ5M+mFq6T4vxYqQvHAf5wYHGA8wOtGOI3ff8S2dbDIo6?=
=?us-ascii?Q?cXW45UasHPYohctg4UK1MbIxCLQh0inY5isdV+luaWGpeRH6VqkfHFK/TsV3?=
=?us-ascii?Q?ATTpeWxngbXVQAG/RRXRuHMr/ZJVtsbNm5l+Go6FqqEV3P6cKNwqm0JvJo/K?=
=?us-ascii?Q?VigQBYNEktUlNCzNci3LyjWXAp5tyChd5nnfY8hiIqaCnMh2T2lf/zLuO0Ds?=
=?us-ascii?Q?MVkZS1CAltrE85hBiPpkXwO25VQMuOykk+4jTG12Dz8bpkA9IuVPpPubVikL?=
=?us-ascii?Q?lu/7kgs+qtXi0ob5mwCs45fsmKWVsAjHR3HZd2mfUlarlukq4OPO3SIgUhQo?=
=?us-ascii?Q?ShuiOdnU3mhKdxOnyHYZyNKp9mhWW1O2OvKhtSzjlRG9w2tYGz0ColjGc+47?=
=?us-ascii?Q?D+2M4WQdeB4ZirwdeSDVw5MDF5Q2dLX7unTGcE9JVJEBtMr/OpLp64Aq6WU9?=
=?us-ascii?Q?gjJBOsBVy/R8hThE0PiW2WzzkUQdJGlf7WT6T/cZD81lCpPi5nrKRxt2okEy?=
=?us-ascii?Q?Svti6pgm+KNcNl4FAQ+VsOawWGwE1fAOzemvZRjCQCqqaHWoJdEJcD9aiLtp?=
=?us-ascii?Q?6Lz3pitNFeYkGD5jgxLaFFjLIQEISW52lEjDprCC3v8D3IuwRg+2y4AQgyD5?=
=?us-ascii?Q?xXuZa85dMNn8H3rJEI7Nla7GQjShhfyNSOPIHLpia+d+tP/CWbpcAiVuok1o?=
=?us-ascii?Q?VkoormPscxdMAk3agJXMeIAZPhRBn/pqOKsbGTClj4AIswtyAQzV9dT6Hlo3?=
=?us-ascii?Q?yVOT9F+EqJyRRhtStwPYGIHZQtZjAp9+ySU7LMHnQaDxqhhYZGHfPiZm/syv?=
=?us-ascii?Q?3wnSnZ5HF6LyD5CL7SJ2Y3TdgKVM3kHE9eZ4O8UwtTjLmpQK89cfOcEhD2FL?=
=?us-ascii?Q?9ZWCuyc+1CS67TISk0eBnC+xG3vWrn+YLiRMHvJQffyGrdxFOxv7LzYXgJLB?=
=?us-ascii?Q?XxqLagCk0+59wR2MP/u8IeB2qaXs/IkCPpVlKqvs0VBOcIsxz2KLPweA9yoi?=
=?us-ascii?Q?eiMrrQigzrEjqggFB3ypHAHPPfUDOEFsadx4osduNuKhN9gXIVIc4tUOuwP8?=
=?us-ascii?Q?AeBEBqcxF2lKVJVKXTnvrWt7w7Fx3iTUnfxlme3n+Mx3P4gpbSfEuC7INFNp?=
=?us-ascii?Q?GkxQM45BMD9y12UFLIhLYknbtMZBOg2pv2QpcUELbWLln8/jC1viJvMMFfx4?=
=?us-ascii?Q?sDpQELmsrnm8UiAqERc0e3/wambObzFTXutlllUxKJq6Fp4tbxQKXkTQLCsr?=
=?us-ascii?Q?pNgxq6T2azm2Cgavq+MeLxT7b5AJK5MAn+zRuv6HSM04tSVJcl3KWg4e26uh?=
=?us-ascii?Q?74WRYDM4tgp6nRlllgpv8trqrijPKQ7lub0Q0HmN54DBWZtWjrCce9duRb90?=
=?us-ascii?Q?ec4p9bpJimx9G8c3OJK2n7ehV8aCwk6PmmJEGfkezoB6iO5QGBaejnfhK2dc?=
=?us-ascii?Q?cA=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 921a7f0f-c876-4adb-4f09-08dda3d55680
X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 02:04:43.2548
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xUwyUHhdwz67dZq4IqgPwLSoumjovyehS6e7OgI7rAiDcqung/39kalRr2eyrui3Oi0hmybt6zQiylMjXpUP3R/WTgf77Drt2B2gJjwtnJQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4604
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Alistair Popple wrote:
> GUP uses pXX_devmap() calls to see if it needs to a get a reference on
> the associated pgmap data structure to ensure the pages won't go
> away. However it's a driver responsibility to ensure that if pages are
> mapped (ie. discoverable by GUP) that they are not offlined or removed
> from the memmap so there is no need to hold a reference on the pgmap
> data structure to ensure this.
>
> Furthermore mappings with PFN_DEV are no longer created, hence this
> effectively dead code anyway so can be removed.
>
> Signed-off-by: Alistair Popple <apopple@xxxxxxxxxx>
> ---
> include/linux/huge_mm.h | 3 +-
> mm/gup.c | 162 +----------------------------------------
> mm/huge_memory.c | 40 +----------
> 3 files changed, 5 insertions(+), 200 deletions(-)

Hooray! Goodbye dev_pagemap mess in gup.c.

Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>


Return-Path: <linux-kernel+bounces-673967-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CE8BB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:07:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id D3DFC7A5C78
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:05:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 99E841E7648;
Thu, 5 Jun 2025 02:07:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="MlB7CEjM"
Received: from out-180.mta1.migadu.com (out-180.mta1.migadu.com [95.215.58.180])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED0BE1DE2D8
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:07:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.180
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749089224; cv=none; b=BTzIkCqW4pjcQFaVGuVvzUgJynIFdek8wcqXiP8YD9bS9xXopYKQCHysmE7kSgAu6GE92Zb2Rcrj3kG6J4dSSPPZ3dOsy06yOIS1cR/9KOTXQi6EUoRRCzRl3b2Worz0RLT1Og3PFgfzPmCcOeAo+c+9ZFUTPkrcFRyljZDzDXA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749089224; c=relaxed/simple;
bh=eolgoC1aUmRwxML9vyc1CJHnhATXcRd5QE4p7TSa2nA=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=mpOunVZe8h1CFDuIrJXtppvbBl9z0+3MAbHlecFIyZhb8Odpvj119/N1kE9DoEL7sXzvQlPJ7o9ItWRVsImPkGvlylOvQnIDeeElo8Ae/Am2/oaCxeFSDylV/OvOGGZgtPLktutG23gh2RKhoLf6c+df+9Ay4XjoAQg6x1u+G4o=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=MlB7CEjM; arc=none smtp.client-ip=95.215.58.180
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1749089219;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding;
bh=g8TKW7HqHtcBqqCdcNri6+ScIStdxlz6SwthG5XU7vA=;
b=MlB7CEjMMu5Yqyiu2FLO1hhBbVu/DDNRQZES60vkOc6fvF4jkLHEKILZMNpqHXYAYnXC8D
4u5a4FpoeA1LTaHhC1zWDT1fGuPDrZCQnA2/oJQesfS/Wz/5Q12XCcuTnefDKjF9Lq8xD0
MrRBIIqHMaD941B0Xrsd3b6lWdW/wok=
From: Youling Tang <youling.tang@xxxxxxxxx>
To: Kent Overstreet <kent.overstreet@xxxxxxxxx>
Cc: linux-bcachefs@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
youling.tang@xxxxxxxxx,
Youling Tang <tangyouling@xxxxxxxxxx>
Subject: [PATCH 1/2] bcachefs: Simplify bch2_bio_map()
Date: Thu, 5 Jun 2025 10:06:38 +0800
Message-Id: <20250605020639.6868-1-youling.tang@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Youling Tang <tangyouling@xxxxxxxxxx>

For the part of directly mapping the kernel virtual address, there is no
need to increase to bio page-by-page. It can be directly replaced by
bio_add_virt_nofail().

For the address part of the vmalloc region, its physical address is
discontinuous and needs to be increased page-by-page to bio. The helper
function bio_add_vmalloc() can be used to simplify the implementation of
bch2_bio_map().

Signed-off-by: Youling Tang <tangyouling@xxxxxxxxxx>
---
NOTE:
The following patch needs to be applied (because the bcachefs.git repository
has not been synchronized to the latest):
commit 850e210d5ad2 ("block: add a bio_add_virt_nofail helper")
commit 8dd16f5e3469 ("block: add a bio_add_vmalloc helpers")

fs/bcachefs/util.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/fs/bcachefs/util.c b/fs/bcachefs/util.c
index dc3817f545fa..5e5075630bc6 100644
--- a/fs/bcachefs/util.c
+++ b/fs/bcachefs/util.c
@@ -623,17 +623,10 @@ void bch2_pd_controller_debug_to_text(struct printbuf *out, struct bch_pd_contro

void bch2_bio_map(struct bio *bio, void *base, size_t size)
{
- while (size) {
- struct page *page = is_vmalloc_addr(base)
- ? vmalloc_to_page(base)
- : virt_to_page(base);
- unsigned offset = offset_in_page(base);
- unsigned len = min_t(size_t, PAGE_SIZE - offset, size);
-
- BUG_ON(!bio_add_page(bio, page, len, offset));
- size -= len;
- base += len;
- }
+ if (is_vmalloc_addr(base))
+ bio_add_vmalloc(bio, base, size);
+ else
+ bio_add_virt_nofail(bio, base, size);
}

int bch2_bio_alloc_pages(struct bio *bio, size_t size, gfp_t gfp_mask)
--
2.34.1



Return-Path: <linux-kernel+bounces-673968-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0929541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:07:19 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 45E7E175CD0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:07:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 89D9B1E521E;
Thu, 5 Jun 2025 02:07:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="tB6LJOsZ"
Received: from out-171.mta1.migadu.com (out-171.mta1.migadu.com [95.215.58.171])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B749E770E2
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:07:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.171
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749089227; cv=none; b=kkZMwq6BNDzCioODohWGvRiMwdt4cg/8JkRNkK/fo38otnp4mc4u41FoYc2IQuXRFkzMfDF78MLVUGu7MVOjtCBivKY6wJHAM0pqZFIMRmUMqdhiR8ixs1TcZ6eQ0GvIqK0Tzcnp9jOFkV8HRRs2Pkhx9jtov7cATQfTcRjzt5w=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749089227; c=relaxed/simple;
bh=g/89JrcinhaKCfauoUiwx+64YKczUou7i7jRjRO/y3E=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=ianezAHe3tNpNokhkoEOQxnGo2Nd0M0sQ3gIusIE3trDN2HW2HaMHVqMfZEXFuB9lDTvxpHevYJhUd8sp2kfCY1cOT3rRIAjyJwS7xS0agmmXqnnyiyYsAyzvLBKd2j5CARt0iqw8TFfbvk5kGtlHQVk6yh81pfOCNXhGIC5aH0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=tB6LJOsZ; arc=none smtp.client-ip=95.215.58.171
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1749089221;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=YR6p82qQa62oSNecEJ7kVe/ooitmM6WoRtJwRc9tQ54=;
b=tB6LJOsZRcusOXt9QznE6YOxRKeXJJWySg0+I5sy/FtKW2gb6I7ZO86HICYYp8uLoEQ69z
QoK1D5tNPBMSGQ1iwFUxEUu19z2cC0IU7n8a80VeurswQfe8D9N12E/wJLxkDc7WKN/JTr
baQEvnkJNCX1dDXAwEOkEnR0RUuls0c=
From: Youling Tang <youling.tang@xxxxxxxxx>
To: Kent Overstreet <kent.overstreet@xxxxxxxxx>
Cc: linux-bcachefs@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
youling.tang@xxxxxxxxx,
Youling Tang <tangyouling@xxxxxxxxxx>
Subject: [PATCH 2/2] bcachefs: Use bio_add_folio_nofail() for unfailable operations
Date: Thu, 5 Jun 2025 10:06:39 +0800
Message-Id: <20250605020639.6868-2-youling.tang@xxxxxxxxx>
In-Reply-To: <20250605020639.6868-1-youling.tang@xxxxxxxxx>
References: <20250605020639.6868-1-youling.tang@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Youling Tang <tangyouling@xxxxxxxxxx>

Use bio_add_folio_nofail() to replace the unfailable bio_add_folio()
operation.

Signed-off-by: Youling Tang <tangyouling@xxxxxxxxxx>
---
fs/bcachefs/fs-io-buffered.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/bcachefs/fs-io-buffered.c b/fs/bcachefs/fs-io-buffered.c
index 66bacdd49f78..dad48d44f47b 100644
--- a/fs/bcachefs/fs-io-buffered.c
+++ b/fs/bcachefs/fs-io-buffered.c
@@ -145,7 +145,7 @@ static int readpage_bio_extend(struct btree_trans *trans,

BUG_ON(folio_sector(folio) != bio_end_sector(bio));

- BUG_ON(!bio_add_folio(bio, folio, folio_size(folio), 0));
+ bio_add_folio_nofail(bio, folio, folio_size(folio), 0);
}

return bch2_trans_relock(trans);
@@ -311,7 +311,7 @@ void bch2_readahead(struct readahead_control *ractl)
readpage_iter_advance(&readpages_iter);

rbio->bio.bi_iter.bi_sector = folio_sector(folio);
- BUG_ON(!bio_add_folio(&rbio->bio, folio, folio_size(folio), 0));
+ bio_add_folio_nofail(&rbio->bio, folio, folio_size(folio), 0);

bchfs_read(trans, rbio, inode_inum(inode),
&readpages_iter);
@@ -354,7 +354,7 @@ int bch2_read_single_folio(struct folio *folio, struct address_space *mapping)
rbio->bio.bi_private = &done;
rbio->bio.bi_opf = REQ_OP_READ|REQ_SYNC;
rbio->bio.bi_iter.bi_sector = folio_sector(folio);
- BUG_ON(!bio_add_folio(&rbio->bio, folio, folio_size(folio), 0));
+ bio_add_folio_nofail(&rbio->bio, folio, folio_size(folio), 0);

blk_start_plug(&plug);
bch2_trans_run(c, (bchfs_read(trans, rbio, inode_inum(inode), NULL), 0));
@@ -639,8 +639,8 @@ static int __bch2_writepage(struct folio *folio,
atomic_inc(&s->write_count);

BUG_ON(inode != w->io->inode);
- BUG_ON(!bio_add_folio(&w->io->op.wbio.bio, folio,
- sectors << 9, offset << 9));
+ bio_add_folio_nofail(&w->io->op.wbio.bio, folio,
+ sectors << 9, offset << 9);

w->io->op.res.sectors += reserved_sectors;
w->io->op.i_sectors_delta -= dirty_sectors;
--
2.34.1



Return-Path: <linux-kernel+bounces-673969-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AEA4541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:07:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 164E77A61E2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:06:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id ACFC1770E2;
Thu, 5 Jun 2025 02:07:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="bxmbx5vY"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE46A1E521E;
Thu, 5 Jun 2025 02:07:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.18
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749089241; cv=none; b=IafZW9T+EVL0d0rJ3rd6iYAIiobnAyVjyC++V41fQ6r7r7O8c0mc8jnwW2pVP2XZ4d+ISxej79Rn0u+KzI/uvDr1hNxMyB2xI9+XNsbO7mZdvvnq1oyZZCkgHHEZRZmaYCORg2FsOb+rKCuzCKIr7WqSQNifI7EUzuVXxP9zhcI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749089241; c=relaxed/simple;
bh=yMce1iU4qlTP2YV6HR8iTvROrswiVvlSS11E20ztdoM=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=nppQDG6fSIIyk5Bz6CjwKCjj+Fv2PFeSewVJNPMqSr7AY1DM4WwweB55CBLKP1lkCqTpFNJvTfoKLGI+1pvcGSU72KmnkgyzJ8XRrF16uHwTBoIrE1zofVCDQnjbLV1gdXLLFtGiW9gqp3Y+q5mF6Lc80SFg+scAZuXmyBa7v1U=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=bxmbx5vY; arc=none smtp.client-ip=198.175.65.18
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749089240; x=1780625240;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=yMce1iU4qlTP2YV6HR8iTvROrswiVvlSS11E20ztdoM=;
b=bxmbx5vYZXO3XbMcRbTZfYqviAlJ3tC2QQ8EolmTGEbZ98gymUP0n+v5
WPeiqxnVzi6+h9/yH+YjUsvTcz/6Fm2yPPwGicd+1m7U7f3ui4ONLGsXT
Es9eF4eJmgMxeX0qAB7K5HeBERZJPKwDhYgVV0ywv1oPUOCnegcM21WLf
ZYhsrEGZNhgD/XLpFzerSMZYqVDOAP2+uaXoSFwF7WtiupfyyGYlCCsAq
9JJdsrT2HPUmMgm5my6Dle+0+tIZ9jC/qxtEUaP6aEcLbtB/BY48n1S32
mrTLvRdNkEtDrHGqqohNMbK7p9jtfmDZ+t/X+mm0wnCtZJ6L7prj0Oy+7
A==;
X-CSE-ConnectionGUID: 2/i1rnZXSRKbjoK7Mhyj1A==
X-CSE-MsgGUID: ln/G++SISnySSyqgAiyr7A==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51339063"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51339063"
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:07:14 -0700
X-CSE-ConnectionGUID: UpLwAK/uR4SBGSbZVL/C3A==
X-CSE-MsgGUID: DifQLQgITIS/vaqsPHMp0w==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150514743"
Received: from lkp-server01.sh.intel.com (HELO e8142ee1dce2) ([10.239.97.150])
by fmviesa004.fm.intel.com with ESMTP; 04 Jun 2025 19:05:58 -0700
Received: from kbuild by e8142ee1dce2 with local (Exim 4.96)
(envelope-from <lkp@xxxxxxxxx>)
id 1uMzzR-0003cj-0J;
Thu, 05 Jun 2025 02:05:57 +0000
Date: Thu, 5 Jun 2025 10:05:06 +0800
From: kernel test robot <lkp@xxxxxxxxx>
To: Jorge Marques <jorge.marques@xxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Frank Li <Frank.Li@xxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: oe-kbuild-all@xxxxxxxxxxxxxxx, linux-i3c@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Jorge Marques <jorge.marques@xxxxxxxxxx>
Subject: Re: [PATCH 2/2] i3c: master: Add driver for Analog Devices I3C
Controller IP
Message-ID: <202506050903.jk5UWok1-lkp@xxxxxxxxx>
References: <20250604-adi-i3c-master-v1-2-0488e80dafcb@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604-adi-i3c-master-v1-2-0488e80dafcb@xxxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Jorge,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 00286d7d643d3c98e48d9cc3a9f471b37154f462]

url: https://github.com/intel-lab-lkp/linux/commits/Jorge-Marques/dt-bindings-i3c-Add-adi-i3c-master/20250604-235108
base: 00286d7d643d3c98e48d9cc3a9f471b37154f462
patch link: https://lore.kernel.org/r/20250604-adi-i3c-master-v1-2-0488e80dafcb%40analog.com
patch subject: [PATCH 2/2] i3c: master: Add driver for Analog Devices I3C Controller IP
config: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20250605/202506050903.jk5UWok1-lkp@xxxxxxxxx/config)
compiler: loongarch64-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250605/202506050903.jk5UWok1-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506050903.jk5UWok1-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/i3c/master/adi-i3c-master.c: In function 'adi_i3c_master_disable':
>> drivers/i3c/master/adi-i3c-master.c:180:16: warning: conversion from 'long unsigned int' to 'u32' {aka 'unsigned int'} changes value from '18446744073709551615' to '4294967295' [-Woverflow]
180 | writel(~REG_IBI_CONFIG_LISTEN | ~REG_IBI_CONFIG_ENABLE,
In file included from include/linux/bits.h:6,
from include/linux/bitops.h:6,
from drivers/i3c/master/adi-i3c-master.c:8:
drivers/i3c/master/adi-i3c-master.c: In function 'adi_i3c_master_bus_init':
>> include/vdso/bits.h:7:33: warning: conversion from 'long unsigned int' to 'u32' {aka 'unsigned int'} changes value from '18446744073709551614' to '4294967294' [-Woverflow]
7 | #define BIT(nr) (UL(1) << (nr))
| ^
drivers/i3c/master/adi-i3c-master.c:72:41: note: in expansion of macro 'BIT'
72 | #define REG_IBI_CONFIG_LISTEN BIT(1)
| ^~~
drivers/i3c/master/adi-i3c-master.c:704:16: note: in expansion of macro 'REG_IBI_CONFIG_LISTEN'
704 | writel(REG_IBI_CONFIG_LISTEN | ~REG_IBI_CONFIG_ENABLE,
| ^~~~~~~~~~~~~~~~~~~~~
drivers/i3c/master/adi-i3c-master.c: In function 'adi_i3c_master_disable_ibi':
>> include/vdso/bits.h:7:33: warning: conversion from 'long unsigned int' to 'u32' {aka 'unsigned int'} changes value from '18446744073709551614' to '4294967294' [-Woverflow]
7 | #define BIT(nr) (UL(1) << (nr))
| ^
drivers/i3c/master/adi-i3c-master.c:72:41: note: in expansion of macro 'BIT'
72 | #define REG_IBI_CONFIG_LISTEN BIT(1)
| ^~~
drivers/i3c/master/adi-i3c-master.c:859:24: note: in expansion of macro 'REG_IBI_CONFIG_LISTEN'
859 | writel(REG_IBI_CONFIG_LISTEN | ~REG_IBI_CONFIG_ENABLE,
| ^~~~~~~~~~~~~~~~~~~~~


vim +180 drivers/i3c/master/adi-i3c-master.c

177
178 static int adi_i3c_master_disable(struct adi_i3c_master *master)
179 {
> 180 writel(~REG_IBI_CONFIG_LISTEN | ~REG_IBI_CONFIG_ENABLE,
181 master->regs + REG_IBI_CONFIG);
182
183 return 0;
184 }
185

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


Return-Path: <linux-kernel+bounces-673970-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5D62F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:15:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 750A4171BB4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:15:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CFD2A1E7C03;
Thu, 5 Jun 2025 02:14:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="EwcgxuTM"
Received: from out-173.mta0.migadu.com (out-173.mta0.migadu.com [91.218.175.173])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27A761CD0C
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:14:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.173
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749089697; cv=none; b=KcvFStQdeZiO0Wv6LoU6c6cTxXBQEFHlZlf8c4xUmqlT2wUTaHwv3wAU9IStzZDynMnjNd3+mGhK6Fdojfj16WnVKXrsGoG05TaOHbcCgi+9VToh6TIRvUZSFPw8ZXG3wzhhovrGYIJERdLz0SJtq1DplGf7PWfBpxHX5BnwJWE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749089697; c=relaxed/simple;
bh=+4mn5fNgQOMJOacoOcu07rtim7Io0FoDTdjCWuG/w54=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=aexGXu19NDuskwEF843t4Pd731ZuFoldQM1dD6j1yxNADTknkb+tTOlNHcJvqJXmwICqM5u9c9tOSodipoNExocbOkwLvWA3Kuxtg8Ci8f604tZlCD4DCncnHLUGJghqKVuI8aGSS4G8QMCjiBfBgVphFZI95+JwGH5bra7IVzg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=EwcgxuTM; arc=none smtp.client-ip=91.218.175.173
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
Date: Wed, 4 Jun 2025 22:14:38 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1749089681;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=2j144z67MmuLGueiqdrGDDX8vDpDTEBiE5P4jXnddcA=;
b=EwcgxuTMeYdPdyXsOqZB0FJxWwYmXRMuOUxgACwKQZzo4t4+EYBzGPmHsebYlt1rkUJ3p2
4lCQEEU3R/A+wyg2+S6PRx6Dp1gE6KcMrgInvaM4zS4bKwoOI4EpybNz5v9tqk9Q1mThru
eLSiHjy/INiO1d+jcboJf6mA6Dzz7YY=
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
From: Kent Overstreet <kent.overstreet@xxxxxxxxx>
To: Youling Tang <youling.tang@xxxxxxxxx>
Cc: linux-bcachefs@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Youling Tang <tangyouling@xxxxxxxxxx>
Subject: Re: [PATCH 1/2] bcachefs: Simplify bch2_bio_map()
Message-ID: <4j4uopk7emegyqrwr3kd7mmdc25ps66prypb3ehfqwo5oqs5pm@ipqb5mdibsml>
References: <20250605020639.6868-1-youling.tang@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250605020639.6868-1-youling.tang@xxxxxxxxx>
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, Jun 05, 2025 at 10:06:38AM +0800, Youling Tang wrote:
> From: Youling Tang <tangyouling@xxxxxxxxxx>
>
> For the part of directly mapping the kernel virtual address, there is no
> need to increase to bio page-by-page. It can be directly replaced by
> bio_add_virt_nofail().
>
> For the address part of the vmalloc region, its physical address is
> discontinuous and needs to be increased page-by-page to bio. The helper
> function bio_add_vmalloc() can be used to simplify the implementation of
> bch2_bio_map().
>
> Signed-off-by: Youling Tang <tangyouling@xxxxxxxxxx>

Thanks, I'll apply these after I rebase on 6.16-rc1.

> ---
> NOTE:
> The following patch needs to be applied (because the bcachefs.git repository
> has not been synchronized to the latest):
> commit 850e210d5ad2 ("block: add a bio_add_virt_nofail helper")
> commit 8dd16f5e3469 ("block: add a bio_add_vmalloc helpers")
>
> fs/bcachefs/util.c | 15 ++++-----------
> 1 file changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/fs/bcachefs/util.c b/fs/bcachefs/util.c
> index dc3817f545fa..5e5075630bc6 100644
> --- a/fs/bcachefs/util.c
> +++ b/fs/bcachefs/util.c
> @@ -623,17 +623,10 @@ void bch2_pd_controller_debug_to_text(struct printbuf *out, struct bch_pd_contro
>
> void bch2_bio_map(struct bio *bio, void *base, size_t size)
> {
> - while (size) {
> - struct page *page = is_vmalloc_addr(base)
> - ? vmalloc_to_page(base)
> - : virt_to_page(base);
> - unsigned offset = offset_in_page(base);
> - unsigned len = min_t(size_t, PAGE_SIZE - offset, size);
> -
> - BUG_ON(!bio_add_page(bio, page, len, offset));
> - size -= len;
> - base += len;
> - }
> + if (is_vmalloc_addr(base))
> + bio_add_vmalloc(bio, base, size);
> + else
> + bio_add_virt_nofail(bio, base, size);
> }
>
> int bch2_bio_alloc_pages(struct bio *bio, size_t size, gfp_t gfp_mask)
> --
> 2.34.1
>


Return-Path: <linux-kernel+bounces-673971-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A753041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:15:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 023773AA126
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:15:30 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 27E997494;
Thu, 5 Jun 2025 02:15:36 +0000 (UTC)
Received: from mail-io1-f77.google.com (mail-io1-f77.google.com [209.85.166.77])
(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 6965143AB7
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:15:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.77
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749089735; cv=none; b=fcwRX0YjQLm3KVJ/wVK4u15xU3CqOaAkFolSPNJ0N+l7HYd56aMPmhQFgtZ2pE+SYItB83v0hFSjZDRunrFoqfTwk0HnKGNqkaDyheMBZbueJwdOTgABbHWg4Bfa/vnElQAqG148d9+QHL0Nr4xXCOdIzsrsAkeQx7q443fw10A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749089735; c=relaxed/simple;
bh=OKqjIkAt1M0nGu1Bc1K1MhkqVY/36iPWBWVeGXyUdZ8=;
h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type; b=pAplvfzkLVxLZz/4ib2GkY09L29EVmBH4hqEMDcpm18Rf3HsKV272VGrGNwEdRJfked7w59YG6Sx5EfLh7Plfvuh2JQDWQ0ByuY8yrF86/oBmTZ8/jqLC7njND10B1wlRWIVsnbApIw9hEPaSvC238nGrMsUknBuZAFsnnVTwBQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.77
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-io1-f77.google.com with SMTP id ca18e2360f4ac-86cf306fc68so56028839f.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 19:15:33 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749089732; x=1749694532;
h=to:from:subject:message-id:date:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=gaJMOVzCvZ54gdZ0QfQJJiCN1xUxY6OMN696yAOJECU=;
b=gkvyTUuw9GoFyeqrCQl9aS0deWGk/KPMMmkwxrJJsB5F3ziLflC0QM7toeTC5xre5m
QwAniVUwOSSyxvposQNp1LBg7OfOci0TnIU3iKmvQiXfzosQAKUtmneyO5JqTl1qWbBP
FK6gYui7cL8e6LF/x3a2hUtmtvWzfj1Ups9RnBun3YW5Cf9zUXPMkw5vgRaCztxkQwGw
YsRSTSnNFT1FhN/WE631YEvsejGE13rcrQTsdU4bbXkeaEMCnJVeaZmFms9Wgj4vKzWT
Szuub2ogfOdoKSFmfufk2SApCdIJOkDbJ9tqvNuItnRF/IqBMCce1ZCmQ8Zzg4HjiDI+
JrLg==
X-Forwarded-Encrypted: i=1; AJvYcCXEnNPAqbwlPlgPBHi16nYAP0+YAb1+TRy7fw08GjHQUVh49vaWDxJi5EAv/wqR+4aKdk5xGc8PHZAYu2U=@vger.kernel.org
X-Gm-Message-State: AOJu0YygvO2xuTcM3De4Fvn9Hk1RYsf3R6XaxnZhkyEnxP9C0xXXdC6o
cIdsK4Q/0cfK0r9G2uCJxgBInz9wHfs0Zkq+teOywE3IxdHCwSq5WQmGkzd3ys+ZBPU+LqElsIq
1XnlJGsiMrsWaNqZuDJAzFSsEDMMIutQl5d60KUXnO/pc5pdUqFwDJ54XnG8=
X-Google-Smtp-Source: AGHT+IEHYGZDHF1gzdg0Mx9f90PfT0gX9qo+luirUu1IAxY6W8C9sQzLXiw+fQf2fRa3p1hjEtqbailhoPhTMFN8odA6Kdflr65k
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a92:c241:0:b0:3dc:7a9a:44d5 with SMTP id
e9e14a558f8ab-3ddbedc8c8fmr68982925ab.22.1749089732423; Wed, 04 Jun 2025
19:15:32 -0700 (PDT)
Date: Wed, 04 Jun 2025 19:15:32 -0700
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6840fdc4.a00a0220.68b4a.000d.GAE@xxxxxxxxxx>
Subject: [syzbot] [scsi?] [mm?] [block?] BUG: soft lockup in sys_sendmsg (2)
From: syzbot <syzbot+4032319a6a907f69e985@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: axboe@xxxxxxxxx, linux-block@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx,
syzkaller-bugs@xxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-0.5 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SORTED_RECIPS,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no
version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello,

syzbot found the following issue on:

HEAD commit: b4432656b36e Linux 6.15-rc4
git tree: bpf
console output: https://syzkaller.appspot.com/x/log.txt?x=13d76f68580000
kernel config: https://syzkaller.appspot.com/x/.config?x=a9a25b7a36123454
dashboard link: https://syzkaller.appspot.com/bug?extid=4032319a6a907f69e985
compiler: Debian clang version 20.1.2 (++20250402124445+58df0ef89dd6-1~exp1~20250402004600.97), Debian LLD 20.1.2

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/c9ea4f1822ea/disk-b4432656.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/c5effc66ca81/vmlinux-b4432656.xz
kernel image: https://storage.googleapis.com/syzbot-assets/49364ea611a8/bzImage-b4432656.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+4032319a6a907f69e985@xxxxxxxxxxxxxxxxxxxxxxxxx

watchdog: BUG: soft lockup - CPU#1 stuck for 120s! [syz.0.1:5966]
Modules linked in:
irq event stamp: 19582471
hardirqs last enabled at (19582470): [<ffffffff8b55e3c4>] irqentry_exit+0x74/0x90 kernel/entry/common.c:357
hardirqs last disabled at (19582471): [<ffffffff8b55cdbe>] sysvec_apic_timer_interrupt+0xe/0xc0 arch/x86/kernel/apic/apic.c:1049
softirqs last enabled at (17326936): [<ffffffff8185c3fa>] __do_softirq kernel/softirq.c:613 [inline]
softirqs last enabled at (17326936): [<ffffffff8185c3fa>] invoke_softirq kernel/softirq.c:453 [inline]
softirqs last enabled at (17326936): [<ffffffff8185c3fa>] __irq_exit_rcu+0xca/0x1f0 kernel/softirq.c:680
softirqs last disabled at (17326939): [<ffffffff8185c3fa>] __do_softirq kernel/softirq.c:613 [inline]
softirqs last disabled at (17326939): [<ffffffff8185c3fa>] invoke_softirq kernel/softirq.c:453 [inline]
softirqs last disabled at (17326939): [<ffffffff8185c3fa>] __irq_exit_rcu+0xca/0x1f0 kernel/softirq.c:680
CPU: 1 UID: 0 PID: 5966 Comm: syz.0.1 Not tainted 6.15.0-rc4-syzkaller-gb4432656b36e #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:rcu_read_unlock_special+0x87/0x4c0 kernel/rcu/tree_plugin.h:694
Code: f1 f1 f1 00 f2 f2 f2 4a 89 04 2b 66 42 c7 44 2b 09 f3 f3 42 c6 44 2b 0b f3 65 44 8b 35 e2 a3 cd 10 41 f7 c6 00 00 f0 00 74 49 <48> c7 44 24 40 0e 36 e0 45 4a c7 04 2b 00 00 00 00 66 42 c7 44 2b
RSP: 0018:ffffc90000a08680 EFLAGS: 00000206
RAX: 1a3e8c94b0fc9100 RBX: 1ffff920001410d8 RCX: 1a3e8c94b0fc9100
RDX: 0000000000000003 RSI: ffffffff8d749f78 RDI: ffffffff8bc1cde0
RBP: ffffc90000a08778 R08: ffffffff8f7ed377 R09: 1ffffffff1efda6e
R10: dffffc0000000000 R11: fffffbfff1efda6f R12: ffffffff8df40c00
R13: dffffc0000000000 R14: 0000000000000246 R15: 0000000000000002
FS: 00007fc1f490f6c0(0000) GS:ffff8881261cc000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555566fd55c8 CR3: 000000002fd82000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
__rcu_read_unlock+0x84/0xe0 kernel/rcu/tree_plugin.h:438
rcu_read_unlock include/linux/rcupdate.h:873 [inline]
class_rcu_destructor include/linux/rcupdate.h:1155 [inline]
unwind_next_frame+0x19ae/0x2390 arch/x86/kernel/unwind_orc.c:680
arch_stack_walk+0x11c/0x150 arch/x86/kernel/stacktrace.c:25
stack_trace_save+0x9c/0xe0 kernel/stacktrace.c:122
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:68
kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:576
poison_slab_object mm/kasan/common.c:247 [inline]
__kasan_slab_free+0x62/0x70 mm/kasan/common.c:264
kasan_slab_free include/linux/kasan.h:233 [inline]
slab_free_hook mm/slub.c:2398 [inline]
slab_free mm/slub.c:4656 [inline]
kmem_cache_free+0x192/0x3f0 mm/slub.c:4758
bvec_free block/bio.c:167 [inline]
bio_free+0x1b7/0x2a0 block/bio.c:236
blk_update_request+0x5ee/0xe80 block/blk-mq.c:983
scsi_end_request+0x7c/0x830 drivers/scsi/scsi_lib.c:638
scsi_io_completion+0x131/0x390 drivers/scsi/scsi_lib.c:1079
blk_complete_reqs block/blk-mq.c:1220 [inline]
blk_done_softirq+0x107/0x160 block/blk-mq.c:1225
handle_softirqs+0x283/0x870 kernel/softirq.c:579
__do_softirq kernel/softirq.c:613 [inline]
invoke_softirq kernel/softirq.c:453 [inline]
__irq_exit_rcu+0xca/0x1f0 kernel/softirq.c:680
irq_exit_rcu+0x9/0x30 kernel/softirq.c:696
instr_sysvec_irq_work arch/x86/kernel/irq_work.c:17 [inline]
sysvec_irq_work+0xa3/0xc0 arch/x86/kernel/irq_work.c:17
</IRQ>
<TASK>
asm_sysvec_irq_work+0x1a/0x20 arch/x86/include/asm/idtentry.h:738
RIP: 0010:__schedule+0x0/0x4cd0 kernel/sched/core.c:6646
Code: cb f6 45 89 f8 89 d9 48 8b 5c 24 08 e9 ee fe ff ff cc cc cc cc cc cc cc cc cc 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 <f3> 0f 1e fa 55 48 89 e5 41 57 41 56 41 55 41 54 53 48 83 e4 e0 48
RSP: 0018:ffffc90004f66e98 EFLAGS: 00000246
RAX: 1ffff11005ed429c RBX: ffffffff8b56f5de RCX: 0000000000000000
RDX: 0000000000000007 RSI: ffffffff8d749f78 RDI: 0000000000000001
RBP: ffffc90004f66f38 R08: ffffffff8f7ed377 R09: 1ffffffff1efda6e
R10: dffffc0000000000 R11: fffffbfff1efda6f R12: dffffc0000000000
R13: ffff888032138000 R14: ffff88802f6a14e0 R15: dffffc0000000000
preempt_schedule_common+0x83/0xd0 kernel/sched/core.c:6947
preempt_schedule+0xae/0xc0 kernel/sched/core.c:6971
preempt_schedule_thunk+0x16/0x30 arch/x86/entry/thunk.S:12
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline]
_raw_spin_unlock_irqrestore+0xfd/0x110 kernel/locking/spinlock.c:194
__debug_check_no_obj_freed lib/debugobjects.c:1108 [inline]
debug_check_no_obj_freed+0x451/0x470 lib/debugobjects.c:1129
free_pages_prepare mm/page_alloc.c:1269 [inline]
__free_frozen_pages+0x403/0xcd0 mm/page_alloc.c:2725
__slab_free+0x326/0x400 mm/slub.c:4567
qlink_free mm/kasan/quarantine.c:163 [inline]
qlist_free_all+0x9a/0x140 mm/kasan/quarantine.c:179
kasan_quarantine_reduce+0x148/0x160 mm/kasan/quarantine.c:286
__kasan_slab_alloc+0x22/0x80 mm/kasan/common.c:329
kasan_slab_alloc include/linux/kasan.h:250 [inline]
slab_post_alloc_hook mm/slub.c:4161 [inline]
slab_alloc_node mm/slub.c:4210 [inline]
__do_kmalloc_node mm/slub.c:4340 [inline]
__kmalloc_noprof+0x224/0x4f0 mm/slub.c:4353
kmalloc_noprof include/linux/slab.h:909 [inline]
kmalloc_array_noprof include/linux/slab.h:948 [inline]
genl_family_rcv_msg_attrs_parse+0xa3/0x2a0 net/netlink/genetlink.c:940
genl_start+0x180/0x6c0 net/netlink/genetlink.c:980
__netlink_dump_start+0x466/0x7e0 net/netlink/af_netlink.c:2415
genl_family_rcv_msg_dumpit+0x1e7/0x2c0 net/netlink/genetlink.c:1076
genl_family_rcv_msg net/netlink/genetlink.c:1192 [inline]
genl_rcv_msg+0x5da/0x790 net/netlink/genetlink.c:1210
netlink_rcv_skb+0x219/0x490 net/netlink/af_netlink.c:2534
genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219
netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
netlink_unicast+0x758/0x8d0 net/netlink/af_netlink.c:1339
netlink_sendmsg+0x805/0xb30 net/netlink/af_netlink.c:1883
sock_sendmsg_nosec net/socket.c:712 [inline]
__sock_sendmsg+0x219/0x270 net/socket.c:727
____sys_sendmsg+0x505/0x830 net/socket.c:2566
___sys_sendmsg+0x21f/0x2a0 net/socket.c:2620
__sys_sendmsg net/socket.c:2652 [inline]
__do_sys_sendmsg net/socket.c:2657 [inline]
__se_sys_sendmsg net/socket.c:2655 [inline]
__x64_sys_sendmsg+0x19b/0x260 net/socket.c:2655
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xf6/0x210 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fc1f3b8e969
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fc1f490f038 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007fc1f3db6160 RCX: 00007fc1f3b8e969
RDX: 0000000000000000 RSI: 00002000000000c0 RDI: 0000000000000003
RBP: 00007fc1f3c10ab1 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007fc1f3db6160 R15: 00007fff4aca2068
</TASK>
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 UID: 0 PID: 31 Comm: khungtaskd Not tainted 6.15.0-rc4-syzkaller-gb4432656b36e #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:rcu_rdp_cpu_online kernel/rcu/tree.c:3953 [inline]
RIP: 0010:rcu_lockdep_current_cpu_online+0x87/0x120 kernel/rcu/tree.c:3994
Code: 3c 30 00 74 08 48 89 df e8 96 87 7a 00 48 8b 03 48 8d 98 00 eb 76 92 48 8d b8 20 eb 76 92 48 89 f8 48 c1 e8 03 42 80 3c 30 00 <74> 05 e8 72 87 7a 00 4c 8b 7b 20 48 83 c3 18 48 89 d8 48 c1 e8 03
RSP: 0018:ffffc90000a87830 EFLAGS: 00000046
RAX: 1ffff11017107564 RBX: ffff8880b883ab00 RCX: af84634d00986b00
RDX: ffff88801dae3c00 RSI: ffffffff8bc1cdc0 RDI: ffff8880b883ab20
RBP: ffffc90000a87958 R08: 0000000000000000 R09: 0000000000080000
R10: 0000000000000000 R11: ffffffff81cad457 R12: 0000000000000001
R13: ffffc90000a878e0 R14: dffffc0000000000 R15: ffffffff8df9be88
FS: 0000000000000000(0000) GS:ffff8881260cc000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f397e3da1d0 CR3: 000000002fd82000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
rcu_read_lock_held_common kernel/rcu/update.c:113 [inline]
rcu_read_lock_held+0x1e/0x50 kernel/rcu/update.c:349
trace_call_bpf+0x1ad/0x850 kernel/trace/bpf_trace.c:146
perf_trace_run_bpf_submit+0x78/0x170 kernel/events/core.c:10788
do_perf_trace_preemptirq_template include/trace/events/preemptirq.h:14 [inline]
perf_trace_preemptirq_template+0x280/0x340 include/trace/events/preemptirq.h:14
__do_trace_irq_disable include/trace/events/preemptirq.h:36 [inline]
trace_irq_disable+0xee/0x110 include/trace/events/preemptirq.h:36
irqentry_enter+0x3d/0x60 kernel/entry/common.c:297
sysvec_apic_timer_interrupt+0xe/0xc0 arch/x86/kernel/apic/apic.c:1049
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:console_trylock_spinning kernel/printk/printk.c:2061 [inline]
RIP: 0010:vprintk_emit+0x58f/0x7a0 kernel/printk/printk.c:2449
Code: 85 32 01 00 00 e8 41 f3 1e 00 41 89 df 4d 85 f6 48 8b 1c 24 75 07 e8 30 f3 1e 00 eb 06 e8 29 f3 1e 00 fb 48 c7 c7 80 fa f2 8d <31> f6 ba 01 00 00 00 31 c9 41 b8 01 00 00 00 45 31 c9 53 e8 f9 3f
RSP: 0018:ffffc90000a87b80 EFLAGS: 00000293
RAX: ffffffff81a0cba7 RBX: ffffffff81a0ca64 RCX: ffff88801dae3c00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff8df2fa80
RBP: ffffc90000a87c90 R08: ffffffff8f7ed377 R09: 1ffffffff1efda6e
R10: dffffc0000000000 R11: fffffbfff1efda6f R12: dffffc0000000000
R13: 1ffff92000150f74 R14: 0000000000000200 R15: 000000000000003d
_printk+0xcf/0x120 kernel/printk/printk.c:2475
check_hung_task kernel/hung_task.c:181 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:265 [inline]
watchdog+0xb4f/0x1030 kernel/hung_task.c:437
kthread+0x70e/0x8a0 kernel/kthread.c:464
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup


Return-Path: <linux-kernel+bounces-673972-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 21C1041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:18:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id CFC957A6BAF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:17:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E26551EF080;
Thu, 5 Jun 2025 02:18:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="cuhs1V5e"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F2A684E1C;
Thu, 5 Jun 2025 02:18:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.18
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749089893; cv=fail; b=Fp6dCVKeOvp7r08b2r6JZsMqJWBT80LviqCXzpyIVWg1GOh8vHIYBPUVI0IQnFiOFckEUMEDs7sBrHhFfgFLYHLyuLPKt8HdKkNMuqWeYCceltkcb/HyyUT8ntgy626LyEcjBCuA15A/VwXxGJ8fh3sVl5pX337MfnAi7NNtgow=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749089893; c=relaxed/simple;
bh=9UsSveDyRLmIwE4zYZE4qY8s1KKIbnV7AL903pSZlzU=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=cT0DAAlPtk5N+kKwqMCPs9mFIXh8kLoA5A8bk9r5j1nn8AQtydR9WEnLWYojumREDlGphQJIaigIXc2ZkHTZyQZDOoDUU8k5kb4QMt6WbqNoTsGVTipSi9835OcU3dvwoIcYTirOfLe/pqxpq4YX9vAGptwoEX30Tem6tmUiDqo=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=cuhs1V5e; arc=fail smtp.client-ip=198.175.65.18
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749089892; x=1780625892;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-id:content-transfer-encoding:
mime-version;
bh=9UsSveDyRLmIwE4zYZE4qY8s1KKIbnV7AL903pSZlzU=;
b=cuhs1V5ed5I+cYBB8ThB6E3kmmT6uwwVE/Sb6HG654ltqqUJugfYWFQn
2f2OUIEaZoKzAl5a7epo17M2bLErgRh9sTtxGYdrWwtzN/gO69gwqjVsU
PVzykl22VgOUaO1RDNTBBU1cT6MOkloCACdE1kgDZpZGc9fs1lC6dYo9F
MQH62xTZxJJNmbqW02YKwTvGXdgLh6JhnXigikLXioCdp7QixzFtYneGf
98cVARkZIEsq1p1oqoCLWqxJZ3O/b/TTnXd55Awx0SATMKgNLxSI47dV1
Y3rH4tyA8SGrSnaHG4XgE8oYcBs8T76memgFLA0uypnJt4AkYchjEiI62
A==;
X-CSE-ConnectionGUID: rPJxN/0uQlGMZl7H8w1B7A==
X-CSE-MsgGUID: xgi1zvxASu+eurif72/E5Q==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51340308"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="51340308"
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:18:11 -0700
X-CSE-ConnectionGUID: xnBmXO8ER2mCwIrGRtjW6w==
X-CSE-MsgGUID: zmmblAnATouDamS5h2Uq3A==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150518301"
Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25])
by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:18:09 -0700
Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:18:09 -0700
Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 19:18:09 -0700
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (40.107.243.70)
by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:18:09 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=AAvY7JDyhyk0gkej7SCVBt8TDwkpuk9cjHfESAUCbyjnkyHOuclbqggSvSR7xLBjb2BvtxCGlV90uPbbxHKu18FEf+WhmOsBtrvR/Wck5NMwhsasmN2ai7welsjC/od/cldiUwBTlz43LPb6tvM9Z3ZiugfnNRjXgP0R0C91Muwn27Z7iG4Mzn9tlFBR1Gz/Yx/H+/0DRFObDHBHDoBj3hRS7MezAmEog/FeogFfaNeZBmLGfnR1c5oPhCROs7gdT7Y3/mg86MTlV/bCgzuNokM4BhXNbGrzobTIGZKRrnoI3vo1j6fmJiZbSkOtu1zuZwXEkno1TtBYUGI3CuJQpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=9UsSveDyRLmIwE4zYZE4qY8s1KKIbnV7AL903pSZlzU=;
b=QURbkSmY7O2qy3HJEGNk5foQFYH0Hk6Mmb+lBo4WKXjA0LasSIfGCVWehpdVF88YNvObSJQF/JYX3LxfILdag9WVN4OYc4E43RAiGtzxG6ygj1yzy3NT0SJyiDaVBzZjLPa5GGum+eCS/fyfIMep5f7p+y+oV9o70yroUiF/617UN9VjZTKCPD04tyXOBhvHD5EDdD7QWxM9yqHPMdcvK7QXVXsf9wDLDkEDek7OER78VSEH9luTGIMU8nUqHh1fJl6pNRd59OOzOLqainpDhAIroGUlj38IHdUKuesHsE2tLJ5vSW4jDT8lsizjhHYBuSreqM2nzDEinpmpvjBjVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Received: from PH0PR11MB7493.namprd11.prod.outlook.com (2603:10b6:510:284::15)
by PH0PR11MB4917.namprd11.prod.outlook.com (2603:10b6:510:32::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.33; Thu, 5 Jun
2025 02:18:08 +0000
Received: from PH0PR11MB7493.namprd11.prod.outlook.com
([fe80::b83b:c176:bef3:a4e3]) by PH0PR11MB7493.namprd11.prod.outlook.com
([fe80::b83b:c176:bef3:a4e3%5]) with mapi id 15.20.8769.029; Thu, 5 Jun 2025
02:18:07 +0000
From: "Zhang, Rui" <rui.zhang@xxxxxxxxx>
To: "srinivas.pandruvada@xxxxxxxxxxxxxxx"
<srinivas.pandruvada@xxxxxxxxxxxxxxx>, "lukasz.luba@xxxxxxx"
<lukasz.luba@xxxxxxx>, "rafael@xxxxxxxxxx" <rafael@xxxxxxxxxx>,
"daniel.lezcano@xxxxxxxxxx" <daniel.lezcano@xxxxxxxxxx>
CC: "linux-pm@xxxxxxxxxxxxxxx" <linux-pm@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH 2/2] thermal: intel: int340x: Allow temperature override
Thread-Topic: [PATCH 2/2] thermal: intel: int340x: Allow temperature override
Thread-Index: AQHb1ZA3JL2mYo8Ib068GOxg2oxm8LPz1QOA
Date: Thu, 5 Jun 2025 02:18:07 +0000
Message-ID: <545fae8be782943a92d9df1c4a3ff90b7a865c76.camel@xxxxxxxxx>
References: <20250604203518.2330533-1-srinivas.pandruvada@xxxxxxxxxxxxxxx>
<20250604203518.2330533-2-srinivas.pandruvada@xxxxxxxxxxxxxxx>
In-Reply-To: <20250604203518.2330533-2-srinivas.pandruvada@xxxxxxxxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Evolution 3.52.3-0ubuntu1
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH0PR11MB7493:EE_|PH0PR11MB4917:EE_
x-ms-office365-filtering-correlation-id: 892a590d-dc5e-45b5-3497-08dda3d73631
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?Y1dOQVlxakwvb1d1V0czWWVOdzN6VTBLR2pueUFSZEtVKzdHTzJBd0dZaUxP?=
=?utf-8?B?N1N5WGlyb3g1OG93ZzI3Qmlrdzhidm5VYVIvU0JEZkZYQ1FiTFVkOWxxRjhK?=
=?utf-8?B?UGdPblFSK2NmbGFkZ2dwbnRmeDFVZlJ2NDhMQzUwYkF0cXFrYTlIRHpCS0Fq?=
=?utf-8?B?QlVmWmxHS1JBT01vejM4ck5RTmRQdzZEY3RzbnF4c1UxUjJ2Tks1cElYNDJM?=
=?utf-8?B?SDZzMjI4ekQ0OEltWEFjcExxRVNTeE42YmFGNDJxZTlFZ3dEYWtuN1p2c3I5?=
=?utf-8?B?RTlxNk93Zy9ZdFdMSkI5ODNmY3pGUEhjRENpc2NkL1ZaTDlVWDBPMTZmT0Yw?=
=?utf-8?B?TXErUHgzM3ZpODM5V24wbXZjVGdNeEREUDkyVlRudEdOZFkwdC82YjRVOHdF?=
=?utf-8?B?UFVZWnlzczVyWmpNVzk0T3ZJUHp3NmpXRmxZNGlrU0pvblRFb20zbmVGZ2xk?=
=?utf-8?B?SGJvNWdKb0czaWJRTXM0TS9IaFRrTVJOaXRXcVdLWCtiQWpsMkc4ZXpBUGlT?=
=?utf-8?B?MVBwaVNpdXhDLytVeFZmVTIyUSt5VEFlSXk1b2hUMW81Zm1ORFBNTGlQckll?=
=?utf-8?B?aFg1K1hSaTRGOFJmcnJ1OW4rVThMSXArVmhSR2VDejRtZElBNVZUWis1YVZL?=
=?utf-8?B?aHlFV0lEUU5FekVtQm8rU0tFQjlsRVFWTHpDTnJEbU8xdnNYNUJteW9uZndI?=
=?utf-8?B?TU9XbkpPUHFpQm5mOHZnUzFmTHZTelhuSkQ4blZjZ00xWjA5WVd1cVU1aitS?=
=?utf-8?B?d0YxdFg4dnBIbUt6TjFNdXJuVjY5RHJSVitqMmpERk1TTUVpenlzelhWK25v?=
=?utf-8?B?bUZ0aS9JMDBsdE5zOGdlTXcvT1UrQU9XUDhpWTg3NTlMaG9XeStzZ2Vla0hL?=
=?utf-8?B?RjRVcjNoSzcybDVJVlpsejQyYjJjMlBMM3huK04vaWg4aFhPaHlMUEwzemcv?=
=?utf-8?B?c3hIa0M0TVRtYk1zOXo4cWNIVXZIRXYrRlJIVEtOM1N1TkR4TDg4UENjZ0hX?=
=?utf-8?B?bHNCYzFMOXFoajR6YTI4UGJKVHlCSlFGU0wyS0dGQ1dSbjNsYWpHZGVMd1Bo?=
=?utf-8?B?MVhmdHpvSU1pOTFNemwrSTdYaUgxV24rbDd6UHQ3eWRHRjhTRmRKMkErTEdl?=
=?utf-8?B?Qi9BWmRYd0pRajFibnNlTmtxcVAyMmE5eUpOR1pkT1ZXd3hQVVUzei9tbFhm?=
=?utf-8?B?MTBuUEM5c2RDZFFENHVzSzY1QlBpcFViS3FqWFkxaWFrN1NWVGZNd1UwU0V6?=
=?utf-8?B?R1pOejF1VnFSVUppaU9jWDBaZWhUNTVlOGpHeTJEUjRYQTVCbDFLTHRhTGxq?=
=?utf-8?B?dERxQUhMU0IyYk1NZVh2aWxHM1R0dms5Q2d4ZDc0M3k3alcrR1NheUZWTHFQ?=
=?utf-8?B?TDJBNGVML040SnpVZkIwY1NWb0VBNHc3ZlIxdW9WVlQvN1hXdjJFR3hiK0Z3?=
=?utf-8?B?TUE3SmhtbEdFN1NVcnBYSEUyM3RMUkxOTVV1ek5wc2JEaVdiTjdiR2k1TVZs?=
=?utf-8?B?eTBUcit3TWM3T0czcXk4alUvbVJsZkZvSm8waGlmZ1JLSVdhKzJBcy9UYWFH?=
=?utf-8?B?Wlh2Z1V6UXNncmZZY1dCcjZ3Z3dNb2pWc2VnZnRnT3lXa083azMwb093SUhQ?=
=?utf-8?B?cTVEZGxidXFVbUxLTWlnWEIvQXRLK2psTE0xeU05TGJzVmh1VnMydmpnOEhw?=
=?utf-8?B?dlJNZFpvOHR5RGUyZzB4UndPaUhsU3lXWmkyeFhkYVI2c2ZqM1NpNzB3ditw?=
=?utf-8?B?Q0w4Rm5tOFV5T3dLVmVTTnJDRW9Jb0tqaitvT3R5VXk3OVBteUQzeWkyaGZz?=
=?utf-8?B?b1AwZDNGWm02NWRRNnFpZ09MSzBPNUllTnJPWTBmOUMxN1NSN3YzWmNpb2Fv?=
=?utf-8?B?VGcvbjRnWG96NTVyY2lUZmxncmpOdjBZZnh2eFhMVnY4bVp4aHJ3VU5HVXVK?=
=?utf-8?B?alcxZ2N6eWJyVURTcVBqUm0yRU1oL0NCb3R5dGRCRUpYRGs5RTFXbE5BVDND?=
=?utf-8?B?L3U4KzhGVEVBPT0=?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB7493.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZVVQWFVlMHBieGJDa2ZTZFoycHVYSklRZkxnekt0b3FZNGhVZENKd3I1c2NO?=
=?utf-8?B?R0ZIZnB5bVNXSXgwQVRZcVV2U2VTWFNmZkxTUFNOZWxSc3dCQjNjWUxYTzIy?=
=?utf-8?B?VVFqaDBpcmlVSHYyY2RQU1l1MkR4WFhSbzZ1ZlJFOVFtNGEyaG1WMElGNGVt?=
=?utf-8?B?eC9wbXFPQ1p3SzZFMXlyN2ZidXcwTFphbHBzR2Z6TUluNVJGR0VwR2RqMEFI?=
=?utf-8?B?dEd0TUl2SWo4Z1FEWnA5MnlXNjdQbmRYZnhqNHlIanI3aEJYWEFDN2tlb3pn?=
=?utf-8?B?ZXV0VmtQaGQ4NFBGM2FUdkxkRzNDMjdFbnRjVHVVSUNOZitKaHp3RGxJYWxx?=
=?utf-8?B?L1owT2xsTktIVzd0VDd6WTBoMHFMWHFsSGdka0JNUUEwdWQyZ1NncVZ4ZVhZ?=
=?utf-8?B?eVNEWmdtYVVvem1YYWNWNHhqWHJOMnZVMHF2aWhobVhYU1hJcGR4QStuMjlF?=
=?utf-8?B?TEQyRTZmcThYdEdsOFA5U3lkMmt0RUxLWHY4YXh4VGtlN3RtYkxPY2JRZVI3?=
=?utf-8?B?WDAzQndZR2RSajhTMDZnempmZkdTZDFpK0k2U0hsVzhHUEhSR3YreXkxaldT?=
=?utf-8?B?VnJoVEhTSzNnZ0ZRTnIwT1c5YUJ4QzZXL3ZWc2NqWFhudktQaHA1UFQrVnpX?=
=?utf-8?B?ZmtKaTFpbDFSakJ1SEZBUTVnL2xFYWlsbWdYR2JZRGMrcjB6QXNrc0I0VFBp?=
=?utf-8?B?Q05RVkN6YlM0UzJHNERwakRCWHIrdk5pVi84dlFVSWZBZk9rb2MzUVJZbUM2?=
=?utf-8?B?eVRod1B2aDV2cTZYZnkrc3h1ajhmQjZhOVA0NnJRbXRWeC9WQ3lWWmswcmNm?=
=?utf-8?B?SnhQdG10SEx3YkFPY3Q1T2ZBUTEzd3lUM0h2ZW9XSjlmTmpWUkpNVXI2d3VU?=
=?utf-8?B?bG8rc3BxcmFuZVdiRE5OTTY0RFpVSjRhYkx1ZGN6Y05qVkhJZ0ovUnNxVW5V?=
=?utf-8?B?YlcxRU5Xa1MxTHZ3UVlUTTRIMm16MTNVOEZPOWF0WGhRdDBXbVhZWFpYeElh?=
=?utf-8?B?U09hbHd0Z3M3Z3hvcFo4NHJKRlg2VVRYWkZDT0hlRDM5RkZCNDUvVmUyZXN6?=
=?utf-8?B?cWo0eExSK3NhanJEbjVueTVXNjhKRGpvRWJ1aW0yL1JQOWdRSUJnZGZNT0lh?=
=?utf-8?B?eDYzQklwaEdQRmJHS015L2ZxSUlFSGFQSndwQjZHak1jbmxpTnRBNkVEaW0x?=
=?utf-8?B?ZlI0a1dXTEt0bCs2bC9zMnRFbUV6RzBaVndhd1dxNlE1SGxVQTlxbTNkaDNV?=
=?utf-8?B?cmJERmtSZ3pTekJweTdxbWh5cnczTVZ6NU10SHc2aVRvUXB6Q0VHZGxpdTUw?=
=?utf-8?B?Vys5THhpZ0RTYVFjbi96Zkpxb3dxYytnZXIzOERFendGaTNOTjg2bmFteXNT?=
=?utf-8?B?bzZsYmdpZ0ZGNXdCQ2FrT255N2EvcTEzSHoyNU1xWHBiblRpdDZseHVRMUtE?=
=?utf-8?B?MWw3cFlvNDN1UEtIZUF3Mkc1VEZnNWNYR2lPNTVwR1AyTUxLdU5ZZUJ2N1Rm?=
=?utf-8?B?ZUw0THI3K3lwYTRqSTZITHEyaVJYSDlnQmYxZGRFSndZdFZkTG5IalI3Zm52?=
=?utf-8?B?NkZsQklxQTJ1ODBJbXpKK2F2KytpekVvYVdPcFhweUxpSzYrMUlyUVJXOXNn?=
=?utf-8?B?WGhYRm10R0E1eGpuc3hxbEhkcVBrcWtMSzVSdTI0U2ttNk5qWGx1MjBxeTJk?=
=?utf-8?B?NFJRZ2MxUzFwNkpEUTVCRHBEYVprQ3M2TjdDQXdHbFR3OGNOb1ZtN1kvSEYy?=
=?utf-8?B?Z3ZnWVZzaFl0amhtVWtHeFUrbWJOdUFvYnZzQklpQjUxZHJQV3JYdU5ZSEI0?=
=?utf-8?B?WW9scTdiUENocllxZnloY2Z5Nzk2SDNydGxSV2Nqd0NrK1JZUmdFblpQR2Nz?=
=?utf-8?B?aXh5bXNxUFBPaEdBQXc1WWZxTFFLWGNVNWYydndIWE1Nc0MxanoweUNzSWRJ?=
=?utf-8?B?NE5hTDVGNThsZEdQL1RWNS81U0tINnBpQ3Y0Q1VHRStHU3grZytmRFJadUF2?=
=?utf-8?B?cGpJUUliRlhLKzVEc0ZtY25ldkVZZHBNbVYzUkpJd3F1WTJmR0NCNjNFQVcz?=
=?utf-8?B?UmhDYlFwc1Fya21QTStZSFZ1bytmdzJKSWJLNEEwQkZwU0dRbmNyVVVKaE9w?=
=?utf-8?B?MDBsL3ZJK2dFeEorZFcxdmpURkMxWXB3eW05NHZBOVBTWEQ1Tkw2K2EzOHY5?=
=?utf-8?B?bGc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <66E430D2ACA1D746A37A2863456A75A6@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB7493.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 892a590d-dc5e-45b5-3497-08dda3d73631
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 02:18:07.8612
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: N0DEfvpkUSIkveHZYPl5PziDQ9RSsx4do+PwbyyFeKOZ25AAGxVLUoee1oeRtVcJn2W8w1DxwNV2Is6enu7L7Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4917
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCAyMDI1LTA2LTA0IGF0IDEzOjM1IC0wNzAwLCBTcmluaXZhcyBQYW5kcnV2YWRhIHdy
b3RlOg0KPiBBZGQgZGVidWdmcyBpbnRlcmZhY2UgdG8gb3ZlcnJpZGUgaGFyZHdhcmUgcHJvdmlk
ZSB0ZW1wZXJhdHVyZS4gVGhpcw0KPiBpbnRlcmZhY2UgY2FuIGJlIHVzZWQgcHJpbWFyaWx5IGZv
ciBkZWJ1Zy4gQWx0ZXJuYXRpdmVseSB0aGlzIGNhbg0KPiBiZSBhbHNvIHVzZWQgdG8gdXNlIGhh
cmR3YXJlIGNvbnRyb2wgbG9vcHMgdG8gbWFuYWdlIHRlbXBlcmF0dXJlIGZvcg0KPiB2aXJ0dWFs
IHNlbnNvcnMuIFZpcnR1YWwgc2Vuc29ycyBhcmUgc29mdCBzZW5zb3JzIGNyZWF0ZWQgYnkga2Vy
bmVsLw0KPiB1c2VyIHNwYWNlIGFnZ3JlZ2F0aW5nIG90aGVyIHNlbnNvcnMuDQo+IA0KPiBUaGVy
ZSBhcmUgdGhyZWUgYXR0cmlidXRlcyB0byBvdmVycmlkZSB0aGUgbWF4aW11bSB0aHJlZSBpbnN0
YW5jZXMgb2YNCj4gcGxhdGZvcm0gdGVtcGVyYXR1cmUgY29udHJvbC4NCj4gL3N5cy9rZXJuZWwv
ZGVidWcvcGxhZnRmb3JtX3RlbXBlcmF0dXJlX2NvbnRyb2wvDQo+IOKUnOKUgOKUgCB0ZW1wZXJh
dHVyZV8wDQo+IOKUnOKUgOKUgCB0ZW1wZXJhdHVyZV8xDQo+IOKUlOKUgOKUgCB0ZW1wZXJhdHVy
ZV8yDQo+IA0KPiBUaGVzZSBhcmUgd3JpdGUgb25seSBhdHRyaWJ1dGVzIHJlcXVpcmVzIGFkbWlu
IHByaXZpbGVnZS4gQW55IHZhbHVlDQo+IGdyZWF0ZXIgdGhhbiAwLCB3aWxsIG92ZXJyaWRlIHRo
ZSB0ZW1wZXJhdHVyZS4gQSB2YWx1ZSBvZiAwIHdpbGwNCj4gc3RvcCBvdmVycmlkaW5nIHRoZSB0
ZW1wZXJhdHVyZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFNyaW5pdmFzIFBhbmRydXZhZGENCj4g
PHNyaW5pdmFzLnBhbmRydXZhZGFAbGludXguaW50ZWwuY29tPg0KPiAtLS0NCj4gwqAuLi4vcGxh
dGZvcm1fdGVtcGVyYXR1cmVfY29udHJvbC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDY0ICsr
KysrKysrKysrKysrKysrKysNCj4gwqAxIGZpbGUgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKQ0K
PiANCj4gZGlmZiAtLWdpdA0KPiBhL2RyaXZlcnMvdGhlcm1hbC9pbnRlbC9pbnQzNDB4X3RoZXJt
YWwvcGxhdGZvcm1fdGVtcGVyYXR1cmVfY29udHJvbC5jDQo+IGIvZHJpdmVycy90aGVybWFsL2lu
dGVsL2ludDM0MHhfdGhlcm1hbC9wbGF0Zm9ybV90ZW1wZXJhdHVyZV9jb250cm9sLmMNCj4gaW5k
ZXggNmNkMDU3ODNhNTJkLi41ZGNmZDJjYzkwODIgMTAwNjQ0DQo+IC0tLQ0KPiBhL2RyaXZlcnMv
dGhlcm1hbC9pbnRlbC9pbnQzNDB4X3RoZXJtYWwvcGxhdGZvcm1fdGVtcGVyYXR1cmVfY29udHJv
bC5jDQo+ICsrKw0KPiBiL2RyaXZlcnMvdGhlcm1hbC9pbnRlbC9pbnQzNDB4X3RoZXJtYWwvcGxh
dGZvcm1fdGVtcGVyYXR1cmVfY29udHJvbC5jDQo+IEBAIC0zOCw2ICszOCw3IEBADQo+IMKgDQo+
IMKgI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPg0KPiDCoCNpbmNsdWRlIDxsaW51eC9tb2R1bGUu
aD4NCj4gKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+DQo+IMKgI2luY2x1ZGUgPGxpbnV4L3Bj
aS5oPg0KPiDCoCNpbmNsdWRlICJwcm9jZXNzb3JfdGhlcm1hbF9kZXZpY2UuaCINCj4gwqANCj4g
QEAgLTUzLDYgKzU0LDcgQEAgc3RydWN0IG1taW9fcmVnIHsNCj4gwqANCj4gwqBzdHJ1Y3QgcHRj
X2RhdGEgew0KPiDCoAl1MzIgb2Zmc2V0Ow0KPiArCXN0cnVjdCBwY2lfZGV2ICpwZGV2Ow0KPiDC
oAlzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHB0Y19hdHRyX2dyb3VwOw0KPiDCoAlzdHJ1Y3QgYXR0
cmlidXRlICpwdGNfYXR0cnNbUFRDX01BWF9BVFRSU107DQo+IMKgCXN0cnVjdCBkZXZpY2VfYXR0
cmlidXRlIHRlbXBlcmF0dXJlX3RhcmdldF9hdHRyOw0KPiBAQCAtMjIyLDYgKzIyNCw2MyBAQCBz
dGF0aWMgaW50IHB0Y19jcmVhdGVfZ3JvdXBzKHN0cnVjdCBwY2lfZGV2ICpwZGV2LA0KPiBpbnQg
aW5zdGFuY2UsIHN0cnVjdCBwdGNfZGF0YQ0KPiDCoH0NCj4gwqANCj4gwqBzdGF0aWMgc3RydWN0
IHB0Y19kYXRhIHB0Y19pbnN0YW5jZVtQVENfTUFYX0lOU1RBTkNFU107DQo+ICtzdGF0aWMgc3Ry
dWN0IGRlbnRyeSAqcHRjX2RlYnVnZnM7DQo+ICsNCj4gKyNkZWZpbmUgUFRDX1RFTVBfT1ZFUlJJ
REVfRU5BQkxFX0lOREVYCTQNCj4gKyNkZWZpbmUgUFRDX1RFTVBfT1ZFUlJJREVfSU5ERVgJCTUN
Cj4gKw0KPiArc3RhdGljIHNzaXplX3QgcHRjX3RlbXBlcmF0dXJlX3dyaXRlKHN0cnVjdCBmaWxl
ICpmaWxlLCBjb25zdCBjaGFyDQo+IF9fdXNlciAqZGF0YSwNCj4gKwkJCQnCoMKgwqDCoCBzaXpl
X3QgY291bnQsIGxvZmZfdCAqcHBvcykNCj4gK3sNCj4gKwlzdHJ1Y3QgcHRjX2RhdGEgKnB0Y19p
bnN0YW5jZSA9IGZpbGUtPnByaXZhdGVfZGF0YTsNCj4gKwlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9
IHB0Y19pbnN0YW5jZS0+cGRldjsNCj4gKwljaGFyIGJ1ZlszMl07DQo+ICsJc3NpemVfdCBsZW47
DQo+ICsJdTMyIHZhbHVlOw0KPiArDQo+ICsJbGVuID0gbWluKGNvdW50LCBzaXplb2YoYnVmKSAt
IDEpOw0KPiArCWlmIChjb3B5X2Zyb21fdXNlcihidWYsIGRhdGEsIGxlbikpDQo+ICsJCXJldHVy
biAtRUZBVUxUOw0KPiArDQo+ICsJYnVmW2xlbl0gPSAnXDAnOw0KPiArCWlmIChrc3RydG91aW50
KGJ1ZiwgMCwgJnZhbHVlKSkNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKwlpZiAocHRj
X21taW9fcmVnc1tQVENfVEVNUF9PVkVSUklERV9JTkRFWF0udW5pdHMpDQo+ICsJCXZhbHVlIC89
IHB0Y19tbWlvX3JlZ3NbUFRDX1RFTVBfT1ZFUlJJREVfSU5ERVhdLnVuaXRzOw0KPiArDQo+ICsJ
aWYgKHZhbHVlID4gcHRjX21taW9fcmVnc1tQVENfVEVNUF9PVkVSUklERV9JTkRFWF0ubWFzaykN
Cj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKwlpZiAoIXZhbHVlKSB7DQo+ICsJCXB0Y19t
bWlvX3dyaXRlKHBkZXYsIHB0Y19pbnN0YW5jZS0+b2Zmc2V0LA0KPiBQVENfVEVNUF9PVkVSUklE
RV9FTkFCTEVfSU5ERVgsIDApOw0KPiArCX0gZWxzZSB7DQo+ICsJCXB0Y19tbWlvX3dyaXRlKHBk
ZXYsIHB0Y19pbnN0YW5jZS0+b2Zmc2V0LA0KPiBQVENfVEVNUF9PVkVSUklERV9JTkRFWCwgdmFs
dWUpOw0KPiArCQlwdGNfbW1pb193cml0ZShwZGV2LCBwdGNfaW5zdGFuY2UtPm9mZnNldCwNCj4g
UFRDX1RFTVBfT1ZFUlJJREVfRU5BQkxFX0lOREVYLCAxKTsNCj4gKwl9DQo+ICsNCj4gKwlyZXR1
cm4gY291bnQ7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRp
b25zIHB0Y19mb3BzID0gew0KPiArCS5vcGVuID0gc2ltcGxlX29wZW4sDQo+ICsJLndyaXRlID0g
cHRjX3RlbXBlcmF0dXJlX3dyaXRlLA0KPiArCS5sbHNlZWsgPSBnZW5lcmljX2ZpbGVfbGxzZWVr
LA0KPiArfTsNCj4gKw0KPiArc3RhdGljIHZvaWQgcHRjX2NyZWF0ZV9kZWJ1Z2ZzKHZvaWQpDQo+
ICt7DQo+ICsJcHRjX2RlYnVnZnMgPQ0KPiBkZWJ1Z2ZzX2NyZWF0ZV9kaXIoInBsYWZ0Zm9ybV90
ZW1wZXJhdHVyZV9jb250cm9sIiwgTlVMTCk7DQoNCnMvcGxhdGZvcm0vcGxhZnRmb3JtDQoNCkFu
ZCBzYW1lIGluIHRoZSBjaGFuZ2Vsb2cuDQoNCj4gKw0KPiArCWRlYnVnZnNfY3JlYXRlX2ZpbGUo
InRlbXBlcmF0dXJlXzAiLMKgIDAyMDAsIHB0Y19kZWJ1Z2ZzLMKgDQo+ICZwdGNfaW5zdGFuY2Vb
MF0sICZwdGNfZm9wcyk7DQo+ICsJZGVidWdmc19jcmVhdGVfZmlsZSgidGVtcGVyYXR1cmVfMSIs
wqAgMDIwMCwgcHRjX2RlYnVnZnMswqANCj4gJnB0Y19pbnN0YW5jZVsxXSwgJnB0Y19mb3BzKTsN
Cj4gKwlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0ZW1wZXJhdHVyZV8yIizCoCAwMjAwLCBwdGNfZGVi
dWdmcyzCoA0KPiAmcHRjX2luc3RhbmNlWzJdLCAmcHRjX2ZvcHMpOw0KPiArfQ0KPiArDQo+ICtz
dGF0aWMgdm9pZCBwdGNfZGVsZXRlX2RlYnVnZnModm9pZCkNCj4gK3sNCj4gKwlkZWJ1Z2ZzX3Jl
bW92ZV9yZWN1cnNpdmUocHRjX2RlYnVnZnMpOw0KPiArfQ0KPiDCoA0KPiDCoGludCBwcm9jX3Ro
ZXJtYWxfcHRjX2FkZChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgc3RydWN0DQo+IHByb2NfdGhlcm1h
bF9kZXZpY2UgKnByb2NfcHJpdikNCj4gwqB7DQo+IEBAIC0yMzAsMTAgKzI4OSwxMyBAQCBpbnQg
cHJvY190aGVybWFsX3B0Y19hZGQoc3RydWN0IHBjaV9kZXYgKnBkZXYsDQo+IHN0cnVjdCBwcm9j
X3RoZXJtYWxfZGV2aWNlICpwcm9jXw0KPiDCoA0KPiDCoAkJZm9yIChpID0gMDsgaSA8IFBUQ19N
QVhfSU5TVEFOQ0VTOyBpKyspIHsNCj4gwqAJCQlwdGNfaW5zdGFuY2VbaV0ub2Zmc2V0ID0gcHRj
X29mZnNldHNbaV07DQo+ICsJCQlwdGNfaW5zdGFuY2VbaV0ucGRldiA9IHBkZXY7DQo+IMKgCQkJ
cHRjX2NyZWF0ZV9ncm91cHMocGRldiwgaSwgJnB0Y19pbnN0YW5jZVtpXSk7DQo+IMKgCQl9DQo+
IMKgCX0NCj4gwqANCj4gKwlwdGNfY3JlYXRlX2RlYnVnZnMoKTsNCj4gKw0KDQpzaG91bGQgd2Ug
Y3JlYXRlIHRoZSBkZWJ1Z2ZzIG9ubHkgd2hlbiBQUk9DX1RIRVJNQUxfRkVBVFVSRV9QVEMgaXMg
c2V0Pw0KDQo+IMKgCXJldHVybiAwOw0KPiDCoH0NCj4gwqBFWFBPUlRfU1lNQk9MX0dQTChwcm9j
X3RoZXJtYWxfcHRjX2FkZCk7DQo+IEBAIC0yNDgsNiArMzEwLDggQEAgdm9pZCBwcm9jX3RoZXJt
YWxfcHRjX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4gwqAJCWZvciAoaSA9IDA7IGkg
PCBQVENfTUFYX0lOU1RBTkNFUzsgaSsrKQ0KPiDCoAkJCXN5c2ZzX3JlbW92ZV9ncm91cCgmcGRl
di0+ZGV2LmtvYmosDQo+ICZwdGNfaW5zdGFuY2VbaV0ucHRjX2F0dHJfZ3JvdXApOw0KPiDCoAl9
DQo+ICsNCj4gKwlwdGNfZGVsZXRlX2RlYnVnZnMoKTsNCg0KZGl0dG8uDQoNCnRoYW5rcywNCnJ1
aQ0K


Return-Path: <linux-kernel+bounces-673973-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8134541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:20:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id C258D18988D6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:20:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 90AAE1F4C8E;
Thu, 5 Jun 2025 02:19:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="uTaZBqus"
Received: from esa7.fujitsucc.c3s2.iphmx.com (esa7.fujitsucc.c3s2.iphmx.com [68.232.159.87])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA7DD84E1C;
Thu, 5 Jun 2025 02:19:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=68.232.159.87
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749089987; cv=fail; b=YGAp6dFaV+byJt1Qd+LPzK2xgosJQ7yxLkjYGfVDwZNzjysu6sidd2ird+hAwkgpoHf75qBHNN74A2UgJ+yEvjgM/4s9H8mC4ltAAJ2+ccL/xW7MHu3toDE7g83nq1SlheMFzad1/+CXOZv7Jf/uUavfb2qvx6JW6cMGC8Rbsu0=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749089987; c=relaxed/simple;
bh=JLzr8vQvnNhBEj1Oabml2Ba2GZwFqZgU4xhgcXfc1BA=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=e6CifQ+9wZ3grin2ARS+WLRi4baet69EwJx2c8AESkO5VBg8M5lVs9vW3HpA/PTUFj8kWV93+7ZcHaBjZAehPCdeH0sKL7KxtDvJ2bCkjL5209qSMETGSqTIByxDQXRqak2fNYqJDSfvlb9BMtv8HTX5bVpCzMTEIKVHHu3xCW0=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=uTaZBqus; arc=fail smtp.client-ip=68.232.159.87
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fujitsu.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1;
t=1749089985; x=1780625985;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-id:content-transfer-encoding:
mime-version;
bh=JLzr8vQvnNhBEj1Oabml2Ba2GZwFqZgU4xhgcXfc1BA=;
b=uTaZBqusUtf8rzy+Xde8XCWdAqWm3k/x+fI36BCBqRE5lq239A+m+ThN
Kpo2sPRV0ZW9+mGcu+hY3gHlFP6b6Gh28EfA0XcMDIzM2iNAzMNREZs0R
XkQuJ28MC7W7bLps5hbUxh1M8IOToQLSVLhk6513ETeA3f8RITI0ARn5F
HfNApVJHesnB8KGpwDfQXnWja9U//D13khCSRvyxtGV7HaMIhnHk0euRq
ph+6D6/K/BlHG/ytYc+qmkgGHXf+75KGg9VNCu1oyaN56iiBClz8Ly2pK
JP9JDDQF87xQEiPkgVBHqYWczUYt0xsV97nORV8n5vBX49URDet9/cwKY
g==;
X-CSE-ConnectionGUID: Sipr873bS/aQn1i+xcs4VQ==
X-CSE-MsgGUID: MxDJKgoDToyeffjUhBtSXA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="157633432"
X-IronPort-AV: E=Sophos;i="6.16,210,1744038000";
d="scan'208";a="157633432"
Received: from mail-japanwestazon11011006.outbound.protection.outlook.com (HELO OS0P286CU010.outbound.protection.outlook.com) ([40.107.74.6])
by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2025 11:18:26 +0900
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=QYidLXrGJg+o2PW8SzzbQMzfoK42C4dCo9bX6kgTvXATGWlcJEX9CnabeE85wpJ+sJufyueQfdqHmDHhzRWUBRp1W5l0E0fjShV6SE5/Z+7tC/HSb9JYWpn22LW3fmqtkb+3AdTnHQK3OtdWGxPPDn0zkWZAFgH9XVl8zzSATj2Ns9eo9toGB8mF0v/C9vBepvDU3xBMlHMRffYrs/X5oJJSywctLMcB09/gEm3BC/H7VfvTe/a10PubgLT8iNAV4jnQ8vf2g0HVTbvWHx2nB4aZAjbw05JSgG3lEWapzSIQHzvAtL9TaMv5E4XKUEeJJ1m++YTDIp7y+tw1l6lbmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=JLzr8vQvnNhBEj1Oabml2Ba2GZwFqZgU4xhgcXfc1BA=;
b=w0365kDjJ8nbtlJro9PVoxBmeSVdv8rVOfaJduXIliRVDJTxp/xjZsIiMFeMSzRhwA15pqvUCYez2HcytVe9J/9rL9VlGGRnq8Yy9QgsGwlaWnGgReLJpZPvYnJclv3f/f4BpBdRFlUl3zHKyPRB3l9+NJSfour0JXv3OGZ1QTovKXMCoPNh34Y//yE1VBGtc2Tm3D3E8BK5TBGpjX3G08zyJlXiqHlpftpn6P+ykKdxBXfet98kRWnidmcpJ5cwkk/q+Gyl7dkESr3kl/M4gfvy/F8uCPQQ/lI6k0KEbGXckiuRMxLVrth1KDJSzOaHhCugqevcdzhnTa6fe9ujOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com;
dkim=pass header.d=fujitsu.com; arc=none
Received: from TY1PR01MB1562.jpnprd01.prod.outlook.com (2603:1096:403:6::12)
by TYVPR01MB11277.jpnprd01.prod.outlook.com (2603:1096:400:36c::8) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Thu, 5 Jun
2025 02:18:22 +0000
Received: from TY1PR01MB1562.jpnprd01.prod.outlook.com
([fe80::d9ba:425a:7044:6377]) by TY1PR01MB1562.jpnprd01.prod.outlook.com
([fe80::d9ba:425a:7044:6377%5]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
02:18:22 +0000
From: "Zhijian Li (Fujitsu)" <lizhijian@xxxxxxxxxxx>
To: Dave Jiang <dave.jiang@xxxxxxxxx>, Smita Koralahalli
<Smita.KoralahalliChannabasappa@xxxxxxx>, "linux-cxl@xxxxxxxxxxxxxxx"
<linux-cxl@xxxxxxxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "nvdimm@xxxxxxxxxxxxxxx"
<nvdimm@xxxxxxxxxxxxxxx>, "linux-fsdevel@xxxxxxxxxxxxxxx"
<linux-fsdevel@xxxxxxxxxxxxxxx>, "linux-pm@xxxxxxxxxxxxxxx"
<linux-pm@xxxxxxxxxxxxxxx>
CC: Davidlohr Bueso <dave@xxxxxxxxxxxx>, Jonathan Cameron
<jonathan.cameron@xxxxxxxxxx>, Alison Schofield <alison.schofield@xxxxxxxxx>,
Vishal Verma <vishal.l.verma@xxxxxxxxx>, Ira Weiny <ira.weiny@xxxxxxxxx>, Dan
Williams <dan.j.williams@xxxxxxxxx>, Matthew Wilcox <willy@xxxxxxxxxxxxx>,
Jan Kara <jack@xxxxxxx>, "Rafael J . Wysocki" <rafael@xxxxxxxxxx>, Len Brown
<len.brown@xxxxxxxxx>, Pavel Machek <pavel@xxxxxxxxxx>, Li Ming
<ming.li@xxxxxxxxxxxx>, Jeff Johnson <jeff.johnson@xxxxxxxxxxxxxxxx>, Ying
Huang <huang.ying.caritas@xxxxxxxxx>, "Xingtao Yao (Fujitsu)"
<yaoxt.fnst@xxxxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Greg KH
<gregkh@xxxxxxxxxxxxxxxxxxx>, Nathan Fontenot <nathan.fontenot@xxxxxxx>,
Terry Bowman <terry.bowman@xxxxxxx>, Robert Richter <rrichter@xxxxxxx>,
Benjamin Cheatham <benjamin.cheatham@xxxxxxx>, PradeepVineshReddy Kodamati
<PradeepVineshReddy.Kodamati@xxxxxxx>
Subject: Re: [PATCH v4 4/7] cxl/acpi: Add background worker to wait for
cxl_pci and cxl_mem probe
Thread-Topic: [PATCH v4 4/7] cxl/acpi: Add background worker to wait for
cxl_pci and cxl_mem probe
Thread-Index: AQHb1NWwFxOtCct2okebJfTHnbLTZbPyv7mAgABSdoCAAMRbAA==
Date: Thu, 5 Jun 2025 02:18:22 +0000
Message-ID: <f96fc202-a3ff-488e-b0d5-e6505eb76da7@xxxxxxxxxxx>
References: <20250603221949.53272-1-Smita.KoralahalliChannabasappa@xxxxxxx>
<20250603221949.53272-5-Smita.KoralahalliChannabasappa@xxxxxxx>
<860121d7-4f40-4da5-b49a-cfeea5bc14c5@xxxxxxxxxxx>
<acb0f359-cd4a-4221-a7ba-9c473ad7ecd2@xxxxxxxxx>
In-Reply-To: <acb0f359-cd4a-4221-a7ba-9c473ad7ecd2@xxxxxxxxx>
Accept-Language: en-US, zh-CN
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla Thunderbird
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=fujitsu.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: TY1PR01MB1562:EE_|TYVPR01MB11277:EE_
x-ms-office365-filtering-correlation-id: d881e991-584b-474e-58f5-08dda3d73ef9
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
BCL:0;ARA:13230040|7416014|376014|1800799024|366016|1580799027|38070700018;
x-microsoft-antispam-message-info:
=?utf-8?B?d2N0SWdQOW5tWVREUnJ0Y2M2aTNFOXNNaS9KSFpsanpqOFNoRmZJdk82eVV2?=
=?utf-8?B?ZkFPY2NHMzV0TXdTNFpFUjgxUHhGY3dJcHIvRWVBaXN1eWpTOUd0RlI3TFZF?=
=?utf-8?B?NXIxS1VwdXdrdE42RmtsK2N5Z3dJeldTdE9TM1F6RmFVdmowcFRlUjcyVzR4?=
=?utf-8?B?amtjZlR1U3B2OStwRFZBSXRMNlhGLzZzZ2tJYWtMNzZtd25EUm8wUURoOVBL?=
=?utf-8?B?MGcwd3dvOTg2QmtaM3hUS3Z5b3luUVlSbEFOSUVtM2hvRHI0SFRQTjUrMXpD?=
=?utf-8?B?L1JZRktzT2p6akVDNVpCeldnODZBakg5RmZkalYrM0ViaTBCODlKOTFndnNH?=
=?utf-8?B?MURld0NTZnNvWmxoMVQxa0J1c1RPMXErWGxUQzF1blFnMDJtSGtXK2RjTzBp?=
=?utf-8?B?MDJmaGJsSVRWdFd2WVF6Y1NKaUVsQTlXUmFMTHp2TTFOUmtJYlkyaFd6aHVs?=
=?utf-8?B?T2tiWllQU3BLbE9YdWRkZFllYVJRQlc1amE2M1BLNG5UV1Q2YlkzREIrK05W?=
=?utf-8?B?NFlod0VFdTZyZzhiLzZ0cktEOWh5R2w5VGV2VkZoU0c4ejJRTDNtYytKcnA1?=
=?utf-8?B?N3ZoVEo0S1ppOW5hS1F1bGU4V3o4VTZYc21ST3R1UC95dEFyempZcDBZa2VV?=
=?utf-8?B?eGQzWjl6dmxCRUNSTDQ3Qm1mbndjd1d6anFnWkVPNzVBeDR2NmFOWkZ3dmJM?=
=?utf-8?B?bVJLSXdra1IwWG5qTWdQcW0wVzRZLzJLOXk1S3Nra0pnMU05TUJRUnlDVnRj?=
=?utf-8?B?TDlKcEJ4M0FaL3dDRGtSaUpHNzN0QURiODNSRmI5eFZlTklzRUZkeWYyNVNp?=
=?utf-8?B?ZkxlSnU0UkxOelZIVmZwMFpEZUNwNS96M1Z5VFQ0U1B4REEyYkczS29ybTkw?=
=?utf-8?B?NTA2b2hzOVh4MjNvM3R2SENDeW56RkdaS0JNaENZWXdWUitIekxJcytNNXZU?=
=?utf-8?B?OGVLbUl1WEJTVkgzUFpKU01lZFQyOUdOeEp6WElERG11TUdoYnBKNUJjdkxM?=
=?utf-8?B?MUZrQ2pnczE4TEZCd0orRkVleDBncHF4UG96MEVSaXExSkUxRkpKMmxxQzNw?=
=?utf-8?B?UENXMjgrZCsrdkJLaXkyaG4zTTQxd1QrdzA1OTgxUGlWcXMyLzZjNjNiZW5q?=
=?utf-8?B?MXZtcjFaWUpDQzZZV2t4Yko4MlF4amE2c3o0NFE2dVVPMzR0cUhCNjJPeUcw?=
=?utf-8?B?TjZPTmlwa2hOSFVvaGhOUk5zNHdpd0VHOUJaeWwwbEJlc0FjWk94S25zeFFu?=
=?utf-8?B?YmpWdGNheXdJalhsZjVla2Mrb0dtZk14U0NRbTJPSFMvSkxrMUtHemF2Yita?=
=?utf-8?B?cUtRS0pvY01vY0NoWnR5OStlQ0htdXB0UTUvWWoxMnFUc2dNbjZEd25WY0x2?=
=?utf-8?B?d2JFMWMzZ2g3Z201RzI5d1NvdENyRkF6WlF1S3lsYldabXVvNGFZaHQwWG5I?=
=?utf-8?B?cXhVbFB0emhhWkNjS2FPUkNVcEx0bWZqSFZqck12Y25mL1JNNklVWlNwVkpK?=
=?utf-8?B?QTdYbTVuLzh0TzB4RHFmQ21rdTFTMEFLVldDTysyd0c5WDZONGtvTzloVDVk?=
=?utf-8?B?S3RkWVNyYVFmMS9rY0tZcVd2allaOFlZc2UwTjlTK3JodythVUdEN1RST1Aw?=
=?utf-8?B?S2xuUVhOblpzQnFhTjVTTTN1NVFEemVVcGFhcit4QW1UNFJZbVVKaEc4WHhJ?=
=?utf-8?B?WUtEdGtwVkhCa0NMRU1tMEZUeWFxOG52ZlI4d3lqZDRNb1VhcWE5ZGR6QVNW?=
=?utf-8?B?Yjg4a2NHNDErNjlRYTNrNzl5R24wM0ZoVVpndE1DSFBQb1lmOWwvdFNadVIx?=
=?utf-8?B?dVdFWmRLQ252NmpzcE1LTEZaU0lCc0pFbnU2QUoyMDIyUHVseUhHS0pScUox?=
=?utf-8?B?RDRNNUo3YTRiR0MvN1FJSXRUM1k2K08wVW11emhrL3pUSzFwVDFYeW5DZUR5?=
=?utf-8?B?aGQvS2x0YzdTK2Y1UFljbEFGM3FJa1huSVpkcGNiSTh0M1NNdFUyV0dkR3Z4?=
=?utf-8?B?ZG5QSmFKYy9SSi9IQ1hPbTFnNlJNSmtXZDZodi9CVzBwK3NTb0VzdjdreUFP?=
=?utf-8?Q?MH5iBh?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY1PR01MB1562.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(366016)(1580799027)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?VXFNVG5xNmRDMjQwWE90T1FhWkEvdGx1b3hBS0xXQ2owblZyRVVxQTFjOGp2?=
=?utf-8?B?RWVqcXdOYXBFeDNTbm54c0IxUHM0cmIwYUMvNUs5dWkya2NFS2lJa2JET3k2?=
=?utf-8?B?QnB1TEFxNmYvVnljWnVuK3Ywbm1ISisySTVCZ0tjekR0Y1EvWG43ZXVicktC?=
=?utf-8?B?T3JPUGxpZEpwVWVDdzlBL1UwT1JsNTduZTc1OVRqSm5YYXJYN09Sb1pEZnJY?=
=?utf-8?B?MWFmSW9EL09ZTVNrOEFvNy9DMU4rMVIyOHc4TWFObVV0ZkZHaUt5cGJweVdU?=
=?utf-8?B?SXAxOG1yVXJOMkQzZ2tjYm96VjJWTk4wWmVWcDljZG92OFlhNEJsYWczQUt2?=
=?utf-8?B?aDMzTHNIVGd5a2hab2hVa3FHRy9YeXBFbWhKbXVEMEhiem1zbndTeTZaTjR3?=
=?utf-8?B?OHhhTXVMRU1VNHlUREZUWGs2NmRIKzduUXQ0K1YzS0VlM0ExTi9WMzYwZGRB?=
=?utf-8?B?VHdSNkU4aEpVYXJ1WjJrTm5EWTdGWmlmakh0emFUbjJ3eVhWYVZSRUlwY3po?=
=?utf-8?B?TnlGM1VsZUd3WE8zNUg2MzhrWmprSys5aENGRUVFaGpmcnExNm9TTUs1M3M3?=
=?utf-8?B?cVV4aUI0S0lzLzBqWktkNXZRMmpEb1orSVVwc2t4RUVKaDRBMGNJK2NybmFK?=
=?utf-8?B?ZCtvanlxZW9xejd3VTVmZFhrZHF3L1F5c3hPNG5IdDZwZDh2OWlJUUhxZjk1?=
=?utf-8?B?cE1zQldKdHdFL1crLzlXdFM4TEhDKzlTbWpWdU5ZVzZIdmpYTmZGdERUMVMx?=
=?utf-8?B?SytEemNueWVzdm9KTDhacVJ3di9rcFJYVW5iZnpheFJJaDlia2swTlUvSmEw?=
=?utf-8?B?amJIMXlkcUxtTXQ2eGs3ZDI0cnlJSGtDZDVJNEd3cTBLMm9JLys2ZWR1TGVa?=
=?utf-8?B?NzVzNmRuVnErdUxjdWxBWFhuUTRjYVNPaW9rMEdoR29hOEVueS9leWJGTUVJ?=
=?utf-8?B?WTFvT2VEd1JUNmd2ZnkxN0NhbUZENlE4c2xPbENGQXRqY3VPbXNtNnp4M0RX?=
=?utf-8?B?YktzcFhxSDdOci9YWjlJdFBiMFpHRklYcXFBNDJhTEV2RzJpRlplRFJUZlpJ?=
=?utf-8?B?TUo0ZExHNDdNM1lCV1N6QThWMFkxdWltdkdSWVBQbk5hM1k4bEFhK0hFK3Ra?=
=?utf-8?B?YVdOUTExT2NrSEpGN01XYnprRmprNlFmcVhyTWs0aHVYdG9hK1ZVZ2k2L1ZJ?=
=?utf-8?B?UXp4U1JjT1Z2cmRvelp5ZG5VUXlycWNEeUU5Zkc4Tm5QanJFcGVlTkVwVExZ?=
=?utf-8?B?cklPQTUyVW5BN3RjQitmbWR2MFJ4THk0NmZjSk5NWkZzY2NSa1JRTFA4TUlt?=
=?utf-8?B?VzJGckowdzJTWFo0VHYrbmlZWWhnWGMxREIrQndscmJnUmxUOVFveXhnZ2tl?=
=?utf-8?B?RExlcm9XeTRVWWJNdnpTU1BzY3VCWXVNS25XOGF4QkxUa0RBeElhYktNYlJ2?=
=?utf-8?B?VUtMa25adDJkVnZFYnlBV1lWSFJoZVdCWmlsNm1Mdm56elFHL0h1YlQ0VGda?=
=?utf-8?B?RnhsVFZSbm9pTHk2QjIxL3NNYWtHeFJvakRReGN1Z2kzVzViUWF5Y01MZGE1?=
=?utf-8?B?cGVjT2tzNXRVL3RzRmduZUxtMHF1M3orOHlPZXAzQmFlQ3RlQS9kTlEzRnli?=
=?utf-8?B?eTRDdzlGS01rQUk4S2lzeVUrRzNROUMrQ0VIbXRHN3o4eXd0UmlJcW03VkU5?=
=?utf-8?B?MHRmelh1OHNETGIxUTVCV1RtZVFYajhtTkJXYUdkR1E0M1NyS0NML0Q3TSs5?=
=?utf-8?B?WTJKdFE1bEQ1dklqTWVjWDRuTXFBOExHMlVKbGJLYW45QTFoSW1xMDZrbkxa?=
=?utf-8?B?OEhsRFNwSkdkNGZxcDQ2SmltQkZUQjhKMUp1bjh5eFhZSXZhZnc1aU9xWDlU?=
=?utf-8?B?U2RtM0hURWdtQ3lnclE2c2VsaVVLcndvYUhuREtSTGxQc3gyMG5mNUpua3lh?=
=?utf-8?B?c29YVzZDa1YvaW82V2hoeXIzS08vaDlwMnFZd1Q5aUpJV3IzQ0I4VlZkU1RV?=
=?utf-8?B?bE1KOXZvMnBBMkFEOWpLbzQ1RGRIQzJCY1FYTUZ4M2t1VGkxMTBlMXVhK0ZP?=
=?utf-8?B?NFRRTmhxUUdERTBybXhUREFsMkRlVTJONFdtcWtEeUtYV2wyMWRuSWY3OWJk?=
=?utf-8?B?ZytjTkpIUVY1UUxoaVlSK3NWSExQd25kdGtYOEQxT0p2L3IzV0llOEJKakZ5?=
=?utf-8?B?a3c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5CE00E8569E46342B45866DD4418231F@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
eReRtyaAAN6PV34Lw+CScxeb06PXUKXBqo5ocRsxUczmrK0zf7QrmXBaJtowcYAo+xJvmYv9KwlGQLhFLymjx0yftMRePGZIwQ3NosF0WJORBlY5icOE0bOyAIh8wKzUJoGsCTdq/wndt/4yb6rObkys9hvR0Q7xz+aUbqoMFFmBuslrvK2skdaaGV1oO3ZCgvCb5ITryBYfxc2JhnBHShoYcI0IEOKjq+zlNiZVkXBqFsUkrWQC48nuQ+dmGj6IbvJ5Ik9h+yUMb1h3aaxXM9TQOIVBmwF3tjiqx3fA2x3H6MzEhQ5lMjfMxNT3ATHgtDu7sLAz8youxd3eSX2rbd3s6aDGjavlrdEJMrVkyVM/2PvITsy5AjguWs6q/vxWUY0m2v9+cf1Ixtr582G9AXHc3aOWrTAjVjnCsFlRi9V8JE7vGVSxeeDdBQ3zV69T3bX0vZJehdhVllnogaXnAdmfKreKaNYBvrAr8T48WhXo4pPqiy0LVFLM0VJ6yQ7wFqRKJ8iNhtMbN0uA4LNQ5TJzsJDryD4RX0TbiSMVVVXzJJ/wc+fMRwwClBvxKmciwo6qqH9wznBObh9AuBaay8nUlsRB/4m1IY9bgCj7f8kzxuL7qlcSdb4J9Hfim6yW
X-OriginatorOrg: fujitsu.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: TY1PR01MB1562.jpnprd01.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d881e991-584b-474e-58f5-08dda3d73ef9
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 02:18:22.5804
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: hObMRO5SVPj6d0etH+PT2P9tFehHtQEq7+F3SYj6serMyfshwcQFkqcRZxr4mWrKwPcMgqqa430zg46QDRLcXw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYVPR01MB11277
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

DQoNCk9uIDA0LzA2LzIwMjUgMjI6MzUsIERhdmUgSmlhbmcgd3JvdGU6DQo+Pj4gICAgDQo+Pj4g
K3N0YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRChjeGxfd2FpdF9xdWV1ZSk7DQo+PiBHaXZl
biB0aGF0IHRoaXMgZmlsZSAoc3VzcGVuZC5jKSBmb2N1c2VzIG9uIHBvd2VyIG1hbmFnZW1lbnQg
ZnVuY3Rpb25zLA0KPj4gaXQgbWlnaHQgYmUgbW9yZSBhcHByb3ByaWF0ZSB0byBtb3ZlIHRoZSB3
YWl0IHF1ZXVlIGRlY2xhcmF0aW9uIGFuZCBpdHMNCj4+IHJlbGF0ZWQgY2hhbmdlcyB0byBhY3Bp
LmMgaW4gd2hlcmUgdGhlIGl0cyBjYWxsZXIgaXMuDQo+IFlvdSBtZWFuIGRyaXZlcnMvY3hsL2Fj
cGkuYyBhbmQgbm90IGRyaXZlcnMvY3hsL2NvcmUvYWNwaS5jIHJpZ2h0PyANCg0KWWVzDQoNCg0K
PiBUaGUgY29yZSBvbmUgaXMgbXkgbWlzdGFrZSBhbmQgSSdtIGdvaW5nIHRvIGNyZWF0ZSBhIHBh
dGNoIHRvIHJlbW92ZSB0aGF0Lg0KDQoNCkNvbXBsZXRlbHkgbWlzc2VkIGl0cyBleGlzdGVuY2Ug
LSB0aGFuayB5b3UgZm9yIGNhdGNoaW5nIGFuZCBjbGVhbmluZyB0aGF0IHVwIQ0KDQpUaGFua3MN
ClpoaWppYW4NCg0KDQo+IA0KPiBESg==


Return-Path: <linux-kernel+bounces-673974-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9DE9941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:20:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 9B6033A92C2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:20:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 868531F0E26;
Thu, 5 Jun 2025 02:20:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="MpCFRUwN"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28D4EBA49;
Thu, 5 Jun 2025 02:20:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749090034; cv=none; b=QtCE/c4fqgzhqIqTqXiN5DC617JN7m8Ywt+LVyoOL49JdXkjbB24gINZ6P7NCepp3uYrA2c8MrfvRfoyvViH+8UEFBqyxQ7Tp80Odf8eM3UmJ3LtEAbTEF9eJiBWYP+oplybH30oq20jHDPI25wWmAqlFC0ptogRDVRuJx4Uy5I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749090034; c=relaxed/simple;
bh=ceY7dKCe4Vt3IhmwDQK1JwI8lWqXAcH2dJx6fdPCClU=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=V8L7d974qjzUemuialhPPg80ON34QwKke/ysHgrJLDLJJaT1AqK8Ja/DtB+xTzAKvGNQyS0ynFVCtuqe47qWiy8h23BTLbLuhkIML29hXbSxL7DQobw/Kp8TJJGK/k1Fujqvxbi8WJWXawh6d7xLyK4rVJ6LC5ivHTWZwdG9bBg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=MpCFRUwN; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com
Received: from pps.filterd (m0279866.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554GXBCe004287;
Thu, 5 Jun 2025 02:20:15 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
98gkKO9VZgvyA6RyLdZ6gTWX/uaH9U1xgFjK/tP8Uig=; b=MpCFRUwNNc/pVjDM
tzoCYm5/v2UEHAgKQ2YHGT1yjjeqy9bu3GWH/jF4ZouKyZrNxyNpH95BrWn0QJJR
vexUjPZO+6ugKV4BDv53ZL+nim568qJOEZR2wvh7RgWQlqEPmZWf9Kew3GKYY6jI
BBdx82vbiRcDtltGAT2HHFPIeqwKTZPdPXhWxK7C8UQNtDz+VzA5QSeBWVmh8B1H
3B7OEg+ykwTvQFHrZe1JgBquJvjZPUO7BorCjd4O8QO/DPV2lcTfaq+7dIZQXzGJ
DthBHrWYGibOzK1DIjFOLQ/fd9MJRAeG2NhEGoJYr5vJTKQQbKkqYb+phOiN8jD8
ingv8Q==
Received: from nalasppmta02.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 471g8ryvdc-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 05 Jun 2025 02:20:15 +0000 (GMT)
Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196])
by NALASPPMTA02.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 5552KE9p011493
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 5 Jun 2025 02:20:14 GMT
Received: from [10.231.195.67] (10.80.80.8) by nalasex01a.na.qualcomm.com
(10.47.209.196) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Wed, 4 Jun 2025
19:20:13 -0700
Message-ID: <64f82d28-783e-46d4-a176-291c34183361@xxxxxxxxxxx>
Date: Thu, 5 Jun 2025 10:20:10 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH ath-next] wifi: ath12k: fix uaf in ath12k_core_init()
To: Miaoqing Pan <miaoqing.pan@xxxxxxxxxxxxxxxx>, <jjohnson@xxxxxxxxxx>
CC: <ath12k@xxxxxxxxxxxxxxxxxxx>, <linux-wireless@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>
References: <20250604055250.1228501-1-miaoqing.pan@xxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Baochen Qiang <quic_bqiang@xxxxxxxxxxx>
In-Reply-To: <20250604055250.1228501-1-miaoqing.pan@xxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To
nalasex01a.na.qualcomm.com (10.47.209.196)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Proofpoint-ORIG-GUID: zcvavKgNYEuAT1Wq1aUu_sBIdZExmT7z
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDAxOCBTYWx0ZWRfX4L1ZZobp30rC
d3sGEc2NqwZvFnzvQQn08BZYJsci7PUL80oVvKz7KLvWgmQjxXITdawShFNFa2jeOBfPSK6Maxz
6SQoDqKQJ9s77eeq2jwe29bzrvxoXN9uPwp3gOl9i1Uqt37Q/vpBRRVjm0M8m5/OjGyBqQPsgG0
j1QX+P6gs90AezdzA83Qaq7HNGRlnETDn0KYdkcdFQcUlrFHsQpktFdB6xcVJh2R7vFJBduKETn
UmKeqkb1P1GIUMDYs9x9tKe9kILz3mkO5lZCrgBqkUcEWOJuM0eBzAVjgJWPWXMXXX884qrg0Lw
yyC4x9MjOmg7goOgCBXOP8psarHWEkD8zMSIh7u/BvdnkzAG0V2ikxe7Elr7RZ835huXMkeGt4V
WWZ/nvc/IZe8pdis/hPXR/h9yJnVd1olqSE5btkIeBkwti0r5awYu1uyTfaR8kZ4xrW9ViTg
X-Authority-Analysis: v=2.4 cv=RdWQC0tv c=1 sm=1 tr=0 ts=6840fedf cx=c_pps
a=ouPCqIW2jiPt+lZRy3xVPw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17
a=GEpy-HfZoHoA:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8
a=COk6AnOGAAAA:8 a=1-M4W3lqKYxiIo6tb88A:9 a=QEXdDO2ut3YA:10
a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-GUID: zcvavKgNYEuAT1Wq1aUu_sBIdZExmT7z
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-04_05,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
bulkscore=0 adultscore=0 mlxscore=0 priorityscore=1501 phishscore=0
clxscore=1015 lowpriorityscore=0 malwarescore=0 suspectscore=0
impostorscore=0 spamscore=0 mlxlogscore=999 classifier=spam authscore=0
authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505280000 definitions=main-2506050018
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/4/2025 1:52 PM, Miaoqing Pan wrote:
> When the execution of ath12k_core_hw_group_assign() or
> ath12k_core_hw_group_create() fails, the registered notifier chain is not
> unregistered properly. Its memory is freed after rmmod, which may trigger
> to a use-after-free (UAF) issue if there is a subsequent access to this
> notifier chain.
>
> Fixes the issue by calling ath12k_core_panic_notifier_unregister() in
> failure cases.
>
> Call trace:
> notifier_chain_register+0x4c/0x1f0 (P)
> atomic_notifier_chain_register+0x38/0x68
> ath12k_core_init+0x50/0x4e8 [ath12k]
> ath12k_pci_probe+0x5f8/0xc28 [ath12k]
> pci_device_probe+0xbc/0x1a8
> really_probe+0xc8/0x3a0
> __driver_probe_device+0x84/0x1b0
> driver_probe_device+0x44/0x130
> __driver_attach+0xcc/0x208
> bus_for_each_dev+0x84/0x100
> driver_attach+0x2c/0x40
> bus_add_driver+0x130/0x260
> driver_register+0x70/0x138
> __pci_register_driver+0x68/0x80
> ath12k_pci_init+0x30/0x68 [ath12k]
> ath12k_init+0x28/0x78 [ath12k]
>
> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
>
> Fixes: 6f245ea0ec6c ("wifi: ath12k: introduce device group abstraction")
> Signed-off-by: Miaoqing Pan <miaoqing.pan@xxxxxxxxxxxxxxxx>
> ---
> drivers/net/wireless/ath/ath12k/core.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath12k/core.c b/drivers/net/wireless/ath/ath12k/core.c
> index 31d851d8e688..ebc0560d40e3 100644
> --- a/drivers/net/wireless/ath/ath12k/core.c
> +++ b/drivers/net/wireless/ath/ath12k/core.c
> @@ -2129,7 +2129,8 @@ int ath12k_core_init(struct ath12k_base *ab)
> if (!ag) {
> mutex_unlock(&ath12k_hw_group_mutex);
> ath12k_warn(ab, "unable to get hw group\n");
> - return -ENODEV;
> + ret = -ENODEV;
> + goto err_unregister_notifier;
> }
>
> mutex_unlock(&ath12k_hw_group_mutex);
> @@ -2144,7 +2145,7 @@ int ath12k_core_init(struct ath12k_base *ab)
> if (ret) {
> mutex_unlock(&ag->mutex);
> ath12k_warn(ab, "unable to create hw group\n");
> - goto err;
> + goto err_destroy_hw_group;
> }
> }
>
> @@ -2152,9 +2153,12 @@ int ath12k_core_init(struct ath12k_base *ab)
>
> return 0;
>
> -err:
> +err_destroy_hw_group:
> ath12k_core_hw_group_destroy(ab->ag);
> ath12k_core_hw_group_unassign(ab);
> +err_unregister_notifier:
> + ath12k_core_panic_notifier_unregister(ab);
> +
> return ret;
> }
>
>
> base-commit: c3910de7bab78afbc106206aed5ec8e79458fbee

Reviewed-by: Baochen Qiang <quic_bqiang@xxxxxxxxxxx>




Return-Path: <linux-kernel+bounces-673975-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E958141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:24:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 013373A89C1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:23:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4AE431EA7DF;
Thu, 5 Jun 2025 02:23:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bGAx2nZP"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D303BA49
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:23:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749090238; cv=none; b=jEhBd7lf9HmJmBPXddqyckQuhFRgjcaE9vB8YU8bCx8Gphb1rKBGevUrqTXgEKMdj4Mi9FHE2YMXD3yWGx2qNgMes4jqFLDbyQkoamuuRvDLT8CjYM6RXn+MjwRRYLJSwGapdXEONuaw3o3BpaY7M54uELyTKRtPzveucCmVcdE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749090238; c=relaxed/simple;
bh=/kcE555w9kFdV5l/AbRPGaf2+lFzCpzHbueTVlIUK+0=;
h=Message-ID:Date:MIME-Version:Cc:Subject:To:References:From:
In-Reply-To:Content-Type; b=sP4cP37g5nUNoePUP9KqPIrjD7tVOy4GSTU0kdHkMXPA/SCoRODO9Q+UZcdAEndwCQTo9AuNp4E8xshHkQwodU8MeF2L6SS4LUjy5Jgd8hrPtQCtkH7yB0bc5+KoagpQ3Dcag/uRPUx4/eImmRjZ2CS1kVa+LMaTvbdcZf5nJQE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bGAx2nZP; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0708AC4CEE4;
Thu, 5 Jun 2025 02:23:55 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749090237;
bh=/kcE555w9kFdV5l/AbRPGaf2+lFzCpzHbueTVlIUK+0=;
h=Date:Cc:Subject:To:References:From:In-Reply-To:From;
b=bGAx2nZPo/ajfn9KlbrYt473bL1oTK6so6RMy1Yds3rZrSP9uIuHsP3aq+f9vxgl2
wrUZAXhq7uryrXLXt8Jb5limPaFtfqNRxPU3PG+eoGNhoVVHn0CFUBVvmkAIdDsMW5
DYqERjxSW6l3fLVbP7P6d/AqVRH915liUmGv+2le3ACKRPyBR2tQ2stO2YA52D6+/8
ThYLyuieORgaWQF86u16jraYgYOSq5mtdCB3cx5KpkMwwpox6UP04BUoFWZkArOCsD
vnsCSLpVwoSSGiNGULCRJcoQmM/S6dI0Cqkfk3jCCGUpCuE5bOVJvh/gizYFQHwE0i
cW98ehacEXsjw==
Message-ID: <76adf905-191d-4415-a584-a79bc502bb87@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 10:23:53 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Cc: chao@xxxxxxxxxx, linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, niuzhiguo84@xxxxxxxxx, ke.wang@xxxxxxxxxx,
Hao_hao.Wang@xxxxxxxxxx, baocong.liu@xxxxxxxxxx
Subject: Re: [PATCH v2] f2fs: compress: fix UAF of f2fs_inode_info in
f2fs_free_dic
To: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>, jaegeuk@xxxxxxxxxx
References: <1749037059-4243-1-git-send-email-zhiguo.niu@xxxxxxxxxx>
Content-Language: en-US
From: Chao Yu <chao@xxxxxxxxxx>
In-Reply-To: <1749037059-4243-1-git-send-email-zhiguo.niu@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/4/25 19:37, Zhiguo Niu wrote:
> The decompress_io_ctx may be released asynchronously after
> I/O completion. If this file is deleted immediately after read,
> and the kworker of processing post_read_wq has not been executed yet
> due to high workloads, It is possible that the inode(f2fs_inode_info)
> is evicted and freed before it is used f2fs_free_dic.
>
> The UAF case as below:
> Thread A Thread B
> - f2fs_decompress_end_io
> - f2fs_put_dic
> - queue_work
> add free_dic work to post_read_wq
> - do_unlink
> - iput
> - evict
> - call_rcu
> This file is deleted after read.
>
> Thread C kworker to process post_read_wq
> - rcu_do_batch
> - f2fs_free_inode
> - kmem_cache_free
> inode is freed by rcu
> - process_scheduled_works
> - f2fs_late_free_dic
> - f2fs_free_dic
> - f2fs_release_decomp_mem
> read (dic->inode)->i_compress_algorithm
>
> This patch use __iget before f2fs_free_dic and iput after free the dic.
>
> Cc: Daeho Jeong <daehojeong@xxxxxxxxxx>
> Fixes: bff139b49d9f ("f2fs: handle decompress only post processing in softirq")
> Signed-off-by: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>
> Signed-off-by: Baocong Liu <baocong.liu@xxxxxxxxxx>
> ---
> v2: use __iget/iput function
> ---
> fs/f2fs/compress.c | 16 +++++++++++-----
> 1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
> index b3c1df9..3f0c18d 100644
> --- a/fs/f2fs/compress.c
> +++ b/fs/f2fs/compress.c
> @@ -1687,7 +1687,7 @@ static void f2fs_release_decomp_mem(struct decompress_io_ctx *dic,
> }
>
> static void f2fs_free_dic(struct decompress_io_ctx *dic,
> - bool bypass_destroy_callback);
> + bool bypass_destroy_callback, bool late_free);
>
> struct decompress_io_ctx *f2fs_alloc_dic(struct compress_ctx *cc)
> {
> @@ -1743,12 +1743,12 @@ struct decompress_io_ctx *f2fs_alloc_dic(struct compress_ctx *cc)
> return dic;
>
> out_free:
> - f2fs_free_dic(dic, true);
> + f2fs_free_dic(dic, true, false);
> return ERR_PTR(ret);
> }
>
> static void f2fs_free_dic(struct decompress_io_ctx *dic,
> - bool bypass_destroy_callback)
> + bool bypass_destroy_callback, bool late_free)
> {
> int i;
>
> @@ -1775,6 +1775,8 @@ static void f2fs_free_dic(struct decompress_io_ctx *dic,
> }
>
> page_array_free(dic->inode, dic->rpages, dic->nr_rpages);
> + if (late_free)
> + iput(dic->inode);
> kmem_cache_free(dic_entry_slab, dic);
> }
>
> @@ -1783,16 +1785,20 @@ static void f2fs_late_free_dic(struct work_struct *work)
> struct decompress_io_ctx *dic =
> container_of(work, struct decompress_io_ctx, free_work);
>
> - f2fs_free_dic(dic, false);
> + f2fs_free_dic(dic, false, true);
> }
>
> static void f2fs_put_dic(struct decompress_io_ctx *dic, bool in_task)
> {
> if (refcount_dec_and_test(&dic->refcnt)) {
> if (in_task) {
> - f2fs_free_dic(dic, false);
> + f2fs_free_dic(dic, false, false);
> } else {
> INIT_WORK(&dic->free_work, f2fs_late_free_dic);
> + /* to avoid inode is evicted simultaneously */
> + spin_lock(&dic->inode->i_lock);
> + __iget(dic->inode);
> + spin_unlock(&dic->inode->i_lock);

Oh, how about using igrab() instead?

> queue_work(F2FS_I_SB(dic->inode)->post_read_wq,
> &dic->free_work);
> }



Return-Path: <linux-kernel+bounces-673976-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CED9941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:24:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 309597A3ABF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:22:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 261081E5B9E;
Thu, 5 Jun 2025 02:24:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="DVTOuY4G"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A536BA49
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:24:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.15
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749090251; cv=none; b=PoOtMroF9gTqHZkaLxIjG/EFyOpQ2TAo1zNQULWtD95KbYTjJsEnwmOEm4Ciy+yPMDecmJGoFjp6JJYkOyEA14/PbPHLtvtn+n4Rgqr+0cW5WrApG+NjT8yIw0cR4byX7NLPQI00BmgiQLerBrw0yqZQTPQ5NMCqIIkaPL29AX4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749090251; c=relaxed/simple;
bh=V4rok7lW+n5Z+MDI3yPK1/H60EXqcu+mobX8r2avzIQ=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=dRMWdzkSwLiDp7rK/iiKiowHI6FN16h1WxgAR5p83S5vvL7+6rWzg/7Rj//DOENTihKUQK8Rmxm/OAXTipBM2cMQxrcCVNogbUcgnRGLY/0C1oPQsssHFsMwxELsoq1SDNmLwK4oF3jZTDkPkhxBormp7iDhbo3pLMq+rgS26mg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=DVTOuY4G; arc=none smtp.client-ip=198.175.65.15
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749090249; x=1780626249;
h=from:to:cc:subject:date:message-id:mime-version:
content-transfer-encoding;
bh=V4rok7lW+n5Z+MDI3yPK1/H60EXqcu+mobX8r2avzIQ=;
b=DVTOuY4GykhpRrPP8/o6CevG278H5x8Dh06kHDDuLrvQimlDdI78yugH
RXs1wTT1FF02HHYFQYgc89CkC4OuAMJ3kmWXf1kDXG7KwHjmQtZapSuE5
Drote6PP/Xk92FK1UuOK6DiNwyMeGbMAQEW5j06s9RXYWIIY1kdtILaRe
sC2NYux7UWw+TFsNlAbhZL9GLoKe+dUirrNUxc2Q42fbidaYZry7uWTzp
+U415H0wwQs6fPngxJpd5MtHtyuJMoDsm1SaOC5KEtT8GnV9SDJyub3bU
Tu3vQUuJWqQ2zzTLiqQNiazPm6uRveYY5Yl0mMwa9GRJI9tVAf4y6sd4M
Q==;
X-CSE-ConnectionGUID: uopI5kwaTZuPiqTCJg3l8Q==
X-CSE-MsgGUID: +BLraNn/TeCaYCcALQkfPQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="54854859"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="54854859"
Received: from orviesa005.jf.intel.com ([10.64.159.145])
by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:24:08 -0700
X-CSE-ConnectionGUID: ekfezvIyRieh6q+ZjFYnHw==
X-CSE-MsgGUID: wcOCUFU4TZO0IycvEbFreA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="150640710"
Received: from ww-dev.sh.intel.com ([10.239.48.95])
by orviesa005.jf.intel.com with ESMTP; 04 Jun 2025 19:24:06 -0700
From: Wei Wang <wei.w.wang@xxxxxxxxx>
To: baolu.lu@xxxxxxxxxxxxxxx,
kevin.tian@xxxxxxxxx,
yi.l.liu@xxxxxxxxx,
jgg@xxxxxxxxxx,
dwmw2@xxxxxxxxxxxxx,
joro@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
iommu@xxxxxxxxxxxxxxx
Cc: Wei Wang <wei.w.wang@xxxxxxxxx>
Subject: [PATCH v1] iommu/vt-d: Remove redundant SLTS cap check for nested and dirty tracking
Date: Thu, 5 Jun 2025 18:10:52 +0800
Message-ID: <20250605101052.955174-1-wei.w.wang@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DATE_IN_FUTURE_06_12,
DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

In intel_iommu_domain_alloc_paging_flags():
For the nested_parent case, nested_supported() has been check earlier,
and for the dirty_tracking case, ssads_supported() has been check earlier.
Both of these imply SLTS support, making the subsequent SLTS cap check
redundant.
Also, false-initialize the first_stage boolean to simplify the code.

Signed-off-by: Wei Wang <wei.w.wang@xxxxxxxxx>
---
drivers/iommu/intel/iommu.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 7aa3932251b2..a79f91b47a8a 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -3340,7 +3340,7 @@ intel_iommu_domain_alloc_paging_flags(struct device *dev, u32 flags,
struct intel_iommu *iommu = info->iommu;
struct dmar_domain *dmar_domain;
struct iommu_domain *domain;
- bool first_stage;
+ bool first_stage = false;

if (flags &
(~(IOMMU_HWPT_ALLOC_NEST_PARENT | IOMMU_HWPT_ALLOC_DIRTY_TRACKING |
@@ -3356,13 +3356,8 @@ intel_iommu_domain_alloc_paging_flags(struct device *dev, u32 flags,
* IOMMU_HWPT_ALLOC_NEST_PARENT or IOMMU_HWPT_ALLOC_DIRTY_TRACKING
* is specified.
*/
- if (nested_parent || dirty_tracking) {
- if (!sm_supported(iommu) || !ecap_slts(iommu->ecap))
- return ERR_PTR(-EOPNOTSUPP);
- first_stage = false;
- } else {
+ if (!nested_parent && !dirty_tracking)
first_stage = first_level_by_default(iommu);
- }

dmar_domain = paging_domain_alloc(dev, first_stage);
if (IS_ERR(dmar_domain))

base-commit: 16b70698aa3ae7888826d0c84567c72241cf6713
--
2.43.0



Return-Path: <linux-kernel+bounces-673977-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CE3F441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:36:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 3911E188ED40
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:36:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 944101F78F2;
Thu, 5 Jun 2025 02:36:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="bM5Qe4ya"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A1C82C181;
Thu, 5 Jun 2025 02:36:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.9
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749090963; cv=fail; b=IDWzJRYNkyIqEnOR86ztVZWTuOg39jgrlcSnNETGsWkAHfS4Mrc4XGDTYU15xJZWrdgslRt/Jpwl9cCioJ6cjK2PeEAjlmJW13ZNnXgcP555koqBqmPrXWDR0tUtmuD+Q0sqhptozbn8862VtH7uinlg6VL2tw51XyPjyhfjqhU=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749090963; c=relaxed/simple;
bh=y4pfXhnoi8acfJt7k3+rZbLuRW7I87OEtcDJIK/FMHc=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=J3sK+QVit8bcyhObzSgnwGQYG8W+8CbTXCqA+LrrYtvsjOcrWCmG4GOBq8lFKZ1fVLDwINsLkhClv86IHK1vZ/YR7Sa9RxRGqYsWV7esJ7LyP6oUOCDVE+9Lt466B8FpxQ87jbXqrtoLlzro3fniLXgecBIPuFP885Vs4yZAxmk=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=bM5Qe4ya; arc=fail smtp.client-ip=192.198.163.9
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749090961; x=1780626961;
h=date:from:to:cc:subject:message-id:references:
in-reply-to:mime-version;
bh=y4pfXhnoi8acfJt7k3+rZbLuRW7I87OEtcDJIK/FMHc=;
b=bM5Qe4yav/Pgp1fI05/yTRNTFbNgu68Tf9KPzQV8q1XYaOoa0v76KahB
BfXdWgKklJDtSXoOiC3WK9ZgtZ79Kh6VprIpB9Ezfy3f/n6ag7wFXw3sV
+Zrvs3B0XnJ4G27DpKHa7HUwS4/tQR2qDy7ZJpagSRCv/hyAw9rrF3Auk
m2xjhHn9ccceED9DmzAKfnAKpXVVquk1jALrIaLT5e2i1CuATSg0Xl7Wa
uuxsFlvzzYDXtBf7kULeMuvJd+6/DbQ0YMnCQL88WlJ1wWhk+sABy/UlJ
lzeqPI6ITIN9T+KDgGKRRyLMPBXcVYZyq6P5a9XPRfmGB/y9dKIVWahck
g==;
X-CSE-ConnectionGUID: Xs3rXv6fRTG+1h1jTVi8Ng==
X-CSE-MsgGUID: 802LqL6cTXyyJvt8XrWKxg==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="61862819"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="61862819"
Received: from fmviesa001.fm.intel.com ([10.60.135.141])
by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:36:00 -0700
X-CSE-ConnectionGUID: P1bJvfaASVuQ02EodJTOjQ==
X-CSE-MsgGUID: MaamXwkSRT6ywKNC7aVmlQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="176244409"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by fmviesa001.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:35:59 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:35:58 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 19:35:58 -0700
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (40.107.96.56) by
edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 19:35:58 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Nebm8mkotqwegNi7GZmwy/mxyDRfZzDAWRf7Ez+9f4fnQw6q11zSFhBpc677BmTBowI7VfbVAQFHci8BHtuSFXjH8ajFHZH61MNpqohPlZhHQpXf1s0X7HInun5RZr7ywMypBWfu6PxJeOJAzHpHWsaIGD8M03foCs+LZ8PxlT/MhHOX9O/cK2p0KbUbWUh2hwfoBqN4jOXIw+D8nE8/VGRSubVHD2gsAWLeWq5n8Ej/QENisG/WAiYpd9TPLYzLc39ufF9sUwDTjJPsjMVrqSXcxEKER+cblYBFBlujkhaoSaiQEgYSehBWVtj1zN72UH4/E5eTiToV7I68bqkNRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=W/8LeyHIJip3c9QfjyQbnsMzQ8FGEO0vwFFsYf+VeqE=;
b=FsC+CRFypFJV1HPGao/EH0a+5GFS4JG42ArHV5TxBHLL7LrbJUD9XNGVUxR5oDVqumHJ1xrlvqLB8Nf9sjt1ruq9PNf+R7wDiVR8ykXN+uiRnzY08hZ3eAuWl+WD6qVfrdstAvBPSDuT52rO75O7pNyP2Oi+NPYyPegyl5Lb7knkO8CRb0z76LvHhu7Xycif6cxMWD7qpsFTx4IE56exg54QQErewQGiXD8KkOzx3GC2lxLuz5ossKV80vtd/hTVbCJGw2IKL8gzsbFJu7lY4pRh5nKMwjJTfeZ2V2DOyB7bpkiEickbFfyEAsiOHFbdElkt2UHKI1bLVCTA2DKGNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6)
by SA1PR11MB8812.namprd11.prod.outlook.com (2603:10b6:806:469::5) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 02:35:28 +0000
Received: from PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com
([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
02:35:28 +0000
Date: Wed, 4 Jun 2025 19:35:24 -0700
From: Dan Williams <dan.j.williams@xxxxxxxxx>
To: Alistair Popple <apopple@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>
CC: Alistair Popple <apopple@xxxxxxxxxx>, <gerald.schaefer@xxxxxxxxxxxxx>,
<dan.j.williams@xxxxxxxxx>, <jgg@xxxxxxxx>, <willy@xxxxxxxxxxxxx>,
<david@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <nvdimm@xxxxxxxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <linux-ext4@xxxxxxxxxxxxxxx>,
<linux-xfs@xxxxxxxxxxxxxxx>, <jhubbard@xxxxxxxxxx>, <hch@xxxxxx>,
<zhang.lyra@xxxxxxxxx>, <debug@xxxxxxxxxxxx>, <bjorn@xxxxxxxxxx>,
<balbirs@xxxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <loongarch@xxxxxxxxxxxxxxx>,
<linuxppc-dev@xxxxxxxxxxxxxxxx>, <linux-riscv@xxxxxxxxxxxxxxxxxxx>,
<linux-cxl@xxxxxxxxxxxxxxx>, <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
<John@xxxxxxxxxx>
Subject: Re: [PATCH 07/12] mm: Remove redundant pXd_devmap calls
Message-ID: <6841026c50e57_249110022@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch>
References: <cover.541c2702181b7461b84f1a6967a3f0e823023fcc.1748500293.git-series.apopple@xxxxxxxxxx>
<2ee5a64581d2c78445e5c4180d7eceed085825ca.1748500293.git-series.apopple@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <2ee5a64581d2c78445e5c4180d7eceed085825ca.1748500293.git-series.apopple@xxxxxxxxxx>
X-ClientProxiedBy: SJ0PR05CA0207.namprd05.prod.outlook.com
(2603:10b6:a03:330::32) To PH8PR11MB8107.namprd11.prod.outlook.com
(2603:10b6:510:256::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|SA1PR11MB8812:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a0ec57e-a88b-4831-6d0b-08dda3d9a223
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|7053199007;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?faEOSIXfQH321nW40DBxNHYOBW8qe3jmgCrN0V4JVCwN8QybwnCD/AyNxyYi?=
=?us-ascii?Q?6+rKPyRCdcDJrSwjg/NTFfq3D4v3mU6jalolQvP+VfmDufPs+Nyi9xnm2q3A?=
=?us-ascii?Q?HwZcZzWG05GjbkLLhmX1NOH1jvxFkavSW+M9JOjRdER9CmHXgEyTFjn6FBYK?=
=?us-ascii?Q?RP43TxqlouEWFmvPb+XuugvLOtUC5YzEfHGAbUFJLR+RpA/diV7NG/LdxVHm?=
=?us-ascii?Q?Mx7R/Pk771bz7/h1xdTRJZODkhpDi6KzjoaqnjUecv73DAsp/eGISzxYN5mG?=
=?us-ascii?Q?ZNXMf2pMZ7ex1XOG8fXcB/VHsTtfHb9hgV7eDPsG12841HYL8zqiNsqihc2g?=
=?us-ascii?Q?OEapfwwNh6iW86Z9YbRwYwtOblA+Nb8TtYQ4jK5C4V6BL9cJDXCtTaD5h9NB?=
=?us-ascii?Q?lLIwxOuNjs+/oLNnSMpfNNZ08zIzlJuTHgJX3JyAi/ePnfZWc1VrXK5hmrXP?=
=?us-ascii?Q?0uCecIVo4K7Ue+X4lVbVlAC/rGJ+UylIR4u6sjS98T7qqQk2D9K+XhOUaq7s?=
=?us-ascii?Q?AdGSb+I9si874tHNcWDeCjQ0lMGivLal4dkh6RPMCafGtO/UWr4xyEjfsF8j?=
=?us-ascii?Q?RdfVmEHnkEPr0iHNZ24OI4NdOTD67ZeBOtlLxRAhbwtj+cKOpWBsSTXJ9xNH?=
=?us-ascii?Q?UXlz7yse50ku9OdMiXG58hZ1bAVWkqXgtvv7t3DtD1HAIl0LWy0ul08/ziva?=
=?us-ascii?Q?wDdYonsz+xStnoXC0K/4ZSaE9VOtsONPEZHiJxP/jGXxvE2kf02FCX0xatcZ?=
=?us-ascii?Q?bKc4kyVj2BWCF/EuHKJa8dEgLgck1H7B8pUufWqntDdmdWtLyoSezIBwuE5P?=
=?us-ascii?Q?OOqWt3DrluFgLX06Ry+XUeSWFLlnWbREzshV4xAWjsFn4eoQaOXD0lcKw4jT?=
=?us-ascii?Q?vmqT/eCIHUQH92cFJR6ElJwTEThLxuX60z8JhtizkITiwJ/yF0gnG0/qqAWP?=
=?us-ascii?Q?dmlSNu0nDA8MneSZInAQYwQf+QEDB1/jz9SFkpsysidqoRQnwTOdkJPl9k7f?=
=?us-ascii?Q?lWPg6WYUoIHAVOf88yt1vTLG5QZKVz8Y1h5g+dym8n6DdexGrVO0U26CJQrX?=
=?us-ascii?Q?rOcoQGPOwQNxiZZXnmj94LqDrnA+TISRa/5BEqdtS6184pe7OywG1ETQGxSS?=
=?us-ascii?Q?VzI79khKOS0sC/sakt30Y0BKMHOSpb2LSPOEnWQCLRo3FbIZvz1BIhvbmPSL?=
=?us-ascii?Q?riCOt2c6UpjufgVAk45X4rykxSI1z3xa2YoliuHw/dxq5SR78v5t8HNCILZt?=
=?us-ascii?Q?EyQf6uAa81m9v7jJynOLA9I5xXUMtIm54nQvny47sbvLci7BDeFSNoE8MCA6?=
=?us-ascii?Q?CjIwQgBiOfN/aXse4fmQZDkjFrS8EQALpdUWwF49MPgZu+WQ/QQBIkWDWOch?=
=?us-ascii?Q?fCJpHnHkDXaTsIS4pgkdrZOR6VyT60ONkmGIm0FUZ2PNTem5Wn9Xq8N6iWdR?=
=?us-ascii?Q?RJcn7YFlggU=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?CFvbqubFgwXNp1uGzL54VcE4oBy6ivb9d1DaYtL5WS65eXGfJEGPOsccxVI1?=
=?us-ascii?Q?Vd763DoK1FhBxu5Jlb0C/R90tVh14JVNWesgr+AY4gig6PnX05lA5PvRyrnv?=
=?us-ascii?Q?F7qVZgGd9jMadX1+vTl6GO2X8u4DYoTMlPdPRuJ+d0Kv1SKAvmHPiGUjdrzn?=
=?us-ascii?Q?zkpv2ixi5SL4i85OALDo1ISUZtOsFpVVvDfCIucxJJ4Wcj+JPy0EcT0/emgh?=
=?us-ascii?Q?QEIcR3SVMtPvuLbldPXUcLq6ItjySg935AiOoBwGqdBShtkLQ/R1a/E/cAR4?=
=?us-ascii?Q?3ReV63buguyo2frv6M/crQVjXLSaOmNYLeNj1i3T9KL2ayp5SLrFZ22DcYPN?=
=?us-ascii?Q?KPER4+UdnzJFhN2p/aFwDgPIl09TW3eUSYSC/niWdKmGo/SdFIC15UpynQ6A?=
=?us-ascii?Q?yATVujzZTz0AT61iWbtFLrd2IiWYT5q4rRbXKGcV0HbI8jRP3WMx4S+Y0VqF?=
=?us-ascii?Q?0TAuWPlobMQHX8wiJsOd46jd4ZnCl3TEz0uQ8+5MMfZrzUILz2BxvAZReW3C?=
=?us-ascii?Q?sE4uECq5VaguwX6UUW+fg5s9rhR32+BihZj6BMXNydjFCR7vNXP/twflC9ko?=
=?us-ascii?Q?TtNXs6cFxMo7qY2MJgiWZnxALeJAvVizPGiL+DL0pelG2mNy6851tmdYFjVH?=
=?us-ascii?Q?/FnYqm4oWfHWABZISOrgD2a9iCpiH7GnoGyZJf7USJombVnd2yyoGK+L1PXT?=
=?us-ascii?Q?dYfarCuvsK0WB0o8tfld1y0gjX+xvk9Y0H02Wx9eD3bqLJuBbqOD+1WLN9oD?=
=?us-ascii?Q?ips1MFJEYqsHMczptpi4kq6Kn89XyX04ar1ruHBCduBdlE5+ZhSigS+m3bKD?=
=?us-ascii?Q?8HfOCeJkru68haQLNBfUTUJuDRKL728ZUs1uPb7DeIKzmmVEF0qEpfup5VRu?=
=?us-ascii?Q?vKxviqF2o+bmNWi+wfFEgnVkICkqxphfMZ+hmOgMnT/yXM2MqNJx/7fG8NnS?=
=?us-ascii?Q?SLW/QZ/JVQU/7s0tuzqzeMsf9qCd+iRClqH7uvcotbtsxG4XbFoYm9DxBw8M?=
=?us-ascii?Q?g3nzUHfNUGSf49FHaDUowZgleXvHUTj+yKw3uwOnCzdNBuJeQ8tnWsa9ZxEQ?=
=?us-ascii?Q?x1tLNHVy3g30GsYwQobXwwNcW6LQUFzOqwSsbfsQXSGZ1yetl7h3In4vRwSS?=
=?us-ascii?Q?fZvdAJzf9OfO95W1N0FIOJjFtgXQw0nW+ajqZRBmvacJJMgjfMYimluRlE9Z?=
=?us-ascii?Q?nut3+ndwIspH5/NtK1BUb6/XcDOaqWFDYdZmSib3Wc5yB9ec048QMwb1XTiL?=
=?us-ascii?Q?og7nGtSQvg80HTHCZyLvT+tBmpM6zFgUQuSAUoPx3Y7fyC0TnIxuGAeHjQS3?=
=?us-ascii?Q?SVx+Ytp/2g1FzTuFk+CRdi5ko4kg28GisPgfMnbpNPk+qVCObMaT5pX9tBqm?=
=?us-ascii?Q?atDcqGpWZGUDnI96bLRYvVjBoPY3D98lwpN5umqyXEj0xCc1tiGrxxJtLjGd?=
=?us-ascii?Q?utbBwmN4Su78TSG1IPwsE1q2Wt+buSg6YGrKcqS9J2kkFQn1BbmHk6nZKtbQ?=
=?us-ascii?Q?/HrGBd024vM5WyKqA2EHuoLirsKJjF5x1isZKy5N41DjTdyCeRZ2HZyw/5VI?=
=?us-ascii?Q?0BCbBtJajRB3cXPAKrfz2WV4kNckt3gdvvsWzZWGVL2BuE5ZoSx7MUA2huoi?=
=?us-ascii?Q?pg=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a0ec57e-a88b-4831-6d0b-08dda3d9a223
X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 02:35:28.2607
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ep7ee8mgjyDxRw7/Yu5zDKd7wXDhXY8c0zfm60xdeyLJcZsngnM+XithUikoR2GZx0pHrTNjFGTSzbnSbtfH169rqpEBirwE3MRpZ9gu9v4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB8812
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Alistair Popple wrote:
> DAX was the only thing that created pmd_devmap and pud_devmap entries
> however it no longer does as DAX pages are now refcounted normally and
> pXd_trans_huge() returns true for those. Therefore checking both pXd_devmap
> and pXd_trans_huge() is redundant and the former can be removed without
> changing behaviour as it will always be false.
>
> Signed-off-by: Alistair Popple <apopple@xxxxxxxxxx>
[..]
> diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> index 8d9d706..31b4110 100644
> --- a/mm/huge_memory.c
> +++ b/mm/huge_memory.c
> @@ -1398,10 +1398,7 @@ static int insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr,
> }
>
> entry = pmd_mkhuge(pfn_t_pmd(pfn, prot));
> - if (pfn_t_devmap(pfn))
> - entry = pmd_mkdevmap(entry);
> - else
> - entry = pmd_mkspecial(entry);
> + entry = pmd_mkspecial(entry);
> if (write) {
> entry = pmd_mkyoung(pmd_mkdirty(entry));
> entry = maybe_pmd_mkwrite(entry, vma);
> @@ -1535,10 +1530,7 @@ static void insert_pfn_pud(struct vm_area_struct *vma, unsigned long addr,
> }
>
> entry = pud_mkhuge(pfn_t_pud(pfn, prot));
> - if (pfn_t_devmap(pfn))
> - entry = pud_mkdevmap(entry);
> - else
> - entry = pud_mkspecial(entry);
> + entry = pud_mkspecial(entry);

Wait, why are my gup tests passing?

If all dax pages are special, then vm_normal_page() should never find
them and gup should fail.

...oh, but vm_normal_page_p[mu]d() is not used in the gup path, and
'special' is not set in the pte path.

Yuck, that feels subtle.

I think for any p[mu]d where p[mu]d_page() is ok to use should never set
'special', right?


Return-Path: <linux-kernel+bounces-673978-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 684C341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:40:36 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 7B7F4171C15
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:40:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9EC00136348;
Thu, 5 Jun 2025 02:40:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="yn2jvELG"
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2061.outbound.protection.outlook.com [40.107.93.61])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0B9542C324C
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:40:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.61
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091229; cv=fail; b=nuzjvPnZEFR/wWBWmR+OUK/4qnrcDqXt+dztZPxkmFe5oA70Wujw0aWNKZBa9HFXRQ0D598vBVr1LcleBWExBtCyVt+KcFkyP8DUhszNcg0oFXXo30W+DKYjxnb1x3IrFCphH94jafjdN/YqjpD8nzp00TrUasaIsxv5WBx9YSc=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091229; c=relaxed/simple;
bh=stK2QnAxcwcErCovt1AQxe4017ZDmhgYOUWv9urXdZE=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=XktJMP2DPTj7st6x+qRwYIdtWLHrCJapeEKNb0OI6O+JVKJs8LstIcsvU1AySpoMVlZwyZ1Ti2pvsf0utzyJN0gsgD6UroVBIB/CyP6OZo5KdQKfKnstl6xXvOPQjA0iA47w4L4KITGdK86SmvbTSRO8G/jZzRgELsl9d3UxqcI=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=yn2jvELG; arc=fail smtp.client-ip=40.107.93.61
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=AcINJLtX+r1+hYdOgKxAKqiMAytJ+kmEbQae40mgbPBcJYpvbjm9HEgGyBy/mS0Hp7xqIOdMOVKErFDdLDHT6doHJeDfCZlsT82u8OvjdkUiRA+b9/95kFp1hBc69UlbrtsEUg4mauZ0CfZdh+A4cMoMs2I9YQWMpms+UGSZOkhG54aJD50r/UGOUsraiUkkk3bYmR4945toYT34eAkUAOO8GHcAcF8QCc1XA1roVRsrbjSb4CanY7EOVu9PPmU3++lDI80Z7nYQpOutLWPyKh5ecpj7sOyhyukzDAQhBFHCE/mSUIzI4ZYTY3XILsTumSTKcp/dTq7m85obEmtsnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=ER08pZHmspDbfe/so8x25etR+Pe8T3zNh8ZksO/+Y94=;
b=xez2K/NZWgsapS4n3jQ+WzvVjXiREL7CPVIgAUrO+o6DJsxE20MQaHu+OmdN2+8iD815kZKX3nbsrvGWfkr3l9+cZKe7SyJueFzUlRZhbpxvMa6fmjJuknYzoPs0kbctNja01CwctRTpOW/lDw17Wsc+6wX4cUfUarrggOTA43LbepVykadQfCHfImPDCipWa1Qfzc+ZfXkdl0wl3wn02s5jnv2boaDzxcFt0pd11HCw6uHPwP05HRdplbG2BrxHunaclpvR4LIhl9vc6sZDVD37qCJk/Z1HkxLyykLsV3D632a0Rl/lvBsih5DoTBRbDTF/ljGi/ZJFtFak3KnZYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=ER08pZHmspDbfe/so8x25etR+Pe8T3zNh8ZksO/+Y94=;
b=yn2jvELGFiKVU6qQP7VV4IB2iNFYyfG8wjz/8WubgCpHIDgphGDxsQkSBYShF8mRPzv5XtxOUptrjsDzFKDskm/WTiOVDJVimclxMGit9bqpvSbnzBxGZFJBK1IqmknFKn9MCSRiPh+Fc9gx3fynIe+6g1tnyIj4f0ntoZCjC1I=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from CH3PR12MB9194.namprd12.prod.outlook.com (2603:10b6:610:19f::7)
by MW4PR12MB6777.namprd12.prod.outlook.com (2603:10b6:303:1e9::17) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.30; Thu, 5 Jun
2025 02:40:25 +0000
Received: from CH3PR12MB9194.namprd12.prod.outlook.com
([fe80::53fb:bf76:727f:d00f]) by CH3PR12MB9194.namprd12.prod.outlook.com
([fe80::53fb:bf76:727f:d00f%5]) with mapi id 15.20.8769.037; Thu, 5 Jun 2025
02:40:23 +0000
Message-ID: <33e24f7a-427d-43ef-ac48-ff665e1c1914@xxxxxxx>
Date: Thu, 5 Jun 2025 12:40:15 +1000
User-Agent: Mozilla Thunderbird Beta
Subject: Re: [PATCH 0/4] x86/sev: Rework SNP Guest Request
To: Borislav Petkov <bp@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>,
"H. Peter Anvin" <hpa@xxxxxxxxx>, Nikunj A Dadhania <nikunj@xxxxxxx>,
Ard Biesheuvel <ardb@xxxxxxxxxx>, Brijesh Singh <brijesh.singh@xxxxxxx>,
Ashish Kalra <ashish.kalra@xxxxxxx>, Paolo Bonzini <pbonzini@xxxxxxxxxx>,
Michael Roth <michael.roth@xxxxxxx>,
Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>,
Liam Merwick <liam.merwick@xxxxxxxxxx>,
Tom Lendacky <thomas.lendacky@xxxxxxx>, x86@xxxxxxxxxx
References: <20250505141238.4179623-1-aik@xxxxxxx>
<fae08232-51ed-cc88-3de0-1cd9b014603b@xxxxxxx>
Content-Language: en-US
From: Alexey Kardashevskiy <aik@xxxxxxx>
In-Reply-To: <fae08232-51ed-cc88-3de0-1cd9b014603b@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SY5P282CA0045.AUSP282.PROD.OUTLOOK.COM
(2603:10c6:10:206::12) To CH3PR12MB9194.namprd12.prod.outlook.com
(2603:10b6:610:19f::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PR12MB9194:EE_|MW4PR12MB6777:EE_
X-MS-Office365-Filtering-Correlation-Id: 84d97228-bdda-4970-611e-08dda3da51b5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?TkV1Z0Y0eHFFWEJaQk4vUGhiRzA0b25PemMzUWR6MjRXWXVUL1p3T0RlRzZC?=
=?utf-8?B?NUkzTmZlU1VSVzFndithQTNYajFUVjV1K2ttYzE4bGhoNzBPSFNsazQ2SW50?=
=?utf-8?B?U1dMdjZJN2FiQzF4L1VRZ0MweEVzMWptVCt5UTRFZjFxRUJvYmlET2kvSlFD?=
=?utf-8?B?d0hiY1NmVUVIZEJDcUtqNXk0dkVmUnZCZjNGOFZ3YnpyNTY0M3p4TDFva0tG?=
=?utf-8?B?STRlVFlHYy91Y3FsVDNva3I4ZFNySWp0akgxaE9CZzBUWHpLTVpMNklxWFhH?=
=?utf-8?B?VXl3cUJwamw0TnlCQUhqRWVpeHE1SmF2dWpJOStTdDg0ZGNmN2tNWExWMjlp?=
=?utf-8?B?bUI4bjBnTHQ5SGZyTU56UlRYVnpSbGlZVnhNVVFzTEc0SVI2NmI2ZHZKbVU1?=
=?utf-8?B?OGNUbnVsQ1JRVkNuaHVxdllWd1c1WjVCY0c4aEE2ZStGbStKL2pPUVRrYlp1?=
=?utf-8?B?aGpNK0x3VjRYcVYwa1Vab2cvYUNUVGRuZWNMRTJ6WnhmRloyZUI1bDc2WXVL?=
=?utf-8?B?dzBUN205Q2xsTzRCdWg3ZGt0a3dyNmJ0cWRUT1d3WDkvN1R4M2lZNGt5M3lZ?=
=?utf-8?B?bFdIdmlKRTBOcGdaZmxLeHIrcGtqbGNrTHREcldKYmVHa3VENkd2b1VBTWNu?=
=?utf-8?B?dVgwaVRia25NZlI1Y3VJbjNuT1dRbndDeTJaTkhEOU5LYUlwRmJsTGx2ZVdu?=
=?utf-8?B?M1h0UlM2RFJxclhGMjBWVERwRStxdEZ3ZWxxenZSNDBkYnFQbHBPeUEvN2N2?=
=?utf-8?B?YzZZd1Z2UnI0VG5XeTBiaUFFSFIwVnVjQmZkZlRyclJTTUxqM1N6SzYyUVBs?=
=?utf-8?B?dG1zUUdSMktOVDJ0UzJVMnhYR0tiVzh0K2lWR0VsWm5WQlRZSXp5aHFQZTNn?=
=?utf-8?B?WVlZa3R4dHdRazkyeE51LzkwWUJMSG40QjdYdTZkbTJGeWpFOGlaOWhUOGU2?=
=?utf-8?B?MGp0VGpUck5SWGNHT0NQaFFmYTZVTzNjWnZEbmdESUd4K0ErQUJyQnQ3TjRl?=
=?utf-8?B?dmJhbDFKNTRNaDRBbzllQlVycE1Vb0c1Yjg3SG1kWDBQblBybERrWHJGUHpy?=
=?utf-8?B?cHZpdHNNVHFIbzdMVlYxMFd0WW5CUzlXK0FMRG9hbXBSK1p3SnMrRWhzUVN1?=
=?utf-8?B?NCtwYkpycmgrSlpTRzdJeEZKanBzaUdqLzZYRUd5cW5jbk9ldzFMZWFqRFhx?=
=?utf-8?B?UnBMZmh5QmRDam1ZUmVTYXFpUGJzL0Y3blNORmdWQTIzdU5pdTYyUmlkcndN?=
=?utf-8?B?aTBqR2JpZWcybjlTZ2dWelhneWZJMHBBMTBwOC9mV0FpWmpWU1VvTFpEUSsx?=
=?utf-8?B?TXhhTy9kczlsUUVRWStqeU5yUmNKWThzc04vc1d0TURHd3ZkWUNhaHAzaGNv?=
=?utf-8?B?V3VkQURBYmUzbWdpazM3T2kyLzNBVjBtY0lIUWFQV1BLUWp0NFhYUW5MeXVz?=
=?utf-8?B?NnQzWWd6Zk5pcElVV0NPcWltSmVsYUxnczhkYXhER3p5SHV2aEV0OC9pZlp1?=
=?utf-8?B?L1dPaHhwQVJBakR0Z3Q1V0swR0JoRndhQXZwWmxjOUZ2c2JkOXplZ3REaFk4?=
=?utf-8?B?cG02aDVSdmVjYmZDWk5CdVZJMTFLcVh4TUpNRTFDZDRKOENTbWowdVBldHBw?=
=?utf-8?B?ek5xRnVoZDk3aDhJTnQ3RlRONm9Sb2JkU2NZM1ZLTER4S1BMRlVIY0ZVb2xm?=
=?utf-8?B?eVVWRHM2L0dkSWxQbkwwUDVNMldKV2VURldIcThISm1oaE0zUHA1ZnNjZ2hk?=
=?utf-8?B?dzBGN0h1cTBLOGZ3K0VxVkpFSXlqU3kwbVNDSi9YUUNQUlhKZHJUeU16UVRp?=
=?utf-8?B?bm5CVExjRXgwT2l5Rkl5ZWJlV2NpYTRqWmtQYS8xb3J6Sk15RGhwVmRvbHdH?=
=?utf-8?B?T1hoM1ZuVkFIZ0V5L3dmNExOZVBMenlhVnY0d3A0RjJZU1hzRGZ2ZTJuZWNm?=
=?utf-8?Q?Qy+4QFYuV7w=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR12MB9194.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?UUhLNWgzSGRPMlZCRTIwUXM4cStra2FRdVFuSkozU1l4bFpTVlpPczdxWFlE?=
=?utf-8?B?UUJ5eFk0a0ZsL1k2b2FzaEEvYkIyVTVxR1ZhelZ5TnFrY2puL3hNVzc3NFFn?=
=?utf-8?B?RndtekZmMTJJeXRIbE5HZXJlanE4dEloS2c4VU1rTWtqUE83S1J6bDYzcHZH?=
=?utf-8?B?UkhJSFBtRnRkcVFUVWRSa1cwTkNZTXZLdXdkdWpiVjYxMUsrYkNjczcxZ010?=
=?utf-8?B?cHBXRlJMM1h4RG5rcTExMkthQXIwZ082RlpuRUNsWkJtOWpVaGRtUmhaRms1?=
=?utf-8?B?cFZvZnFwbDc0Yno2V0drOWJROG1wT3ZLeTRnTG1wdEdjclozZ0RnNlgwb0tL?=
=?utf-8?B?VWZiOHRqRnpuMDNpeVRNc0t0SnFpaDlwQndXbEttcCtJdHBueWhyTFFHU1V3?=
=?utf-8?B?UTFUK0lXL0V0SjV5Sk13azM5VmxkZ24vUHVnQk1WRGhRdHVDUWw0NzRHeXds?=
=?utf-8?B?QVFrVWNmUE1wRzcvRHVyN1JFcDRlamNzaUR5cHdXYVNBU3VZQnZwdDYvMnd6?=
=?utf-8?B?cUpFTkVLcnA4QTV2aklwQkFKajFwTG41dkFvem9GckV2Ymh5SDBScHU5SURp?=
=?utf-8?B?Mkt3SWNBVlYwNzFQRnFJS2hjUG1VOU9aRkZOaTl0RzZidGV0VnJzdTQvZEN2?=
=?utf-8?B?bTVoRFB0b3ZQUkJCR1NZU01nRHljVnpOZkgxUkw0M204ak1mbkx5NE10bnhi?=
=?utf-8?B?THdyMWV0Vm1vN2dhVmZ3QmZUYXNLRTExTWdNTm9ucVVjNnNKZUhpV2QxUmMy?=
=?utf-8?B?UnZESFRYLyt3S2EzMlVYTnlrUlEwOUJsMUJZZ0RwMlgvQW12Q0JuM1A1bGQ3?=
=?utf-8?B?dGhGdkF3WnhRNVVxTXMvakUwQ1V6aUJOUk1XZ21tNU9jYWFpOUMxRTFwaWpC?=
=?utf-8?B?UVN0bzBBNlEwTlBGSURLd2JTb3dNdW5hek1rWkJhaFlzWUhQcFByQUtFU2FN?=
=?utf-8?B?akNvV1NHYmVrVlBvM3JCMHpRWjZBdnJaZi9xL1NjcHloVVgvVTg4cjQ4Snc0?=
=?utf-8?B?aEN1Q0FsTXpBZWwwUmtudkZXSkN2U0h0bzljaUVRL0RSSm4wTzBidXlMVkt1?=
=?utf-8?B?eXB1MVZDYzdXSnl1RDJjbnZPNzhQV2JJemdJKy9DNHFBU2pWS2tGOHJkVjM4?=
=?utf-8?B?dXo4M1gxbmNuQW9GNFNSSmVqNng5NElzYk4zcEs3MzZlaEp6S3QzVWErckpS?=
=?utf-8?B?Q0xyVWlmZ3VMZGlRcG1LM0JYZU1NWTdhL0JiSThYWXFnTmdZQ2c3aElGSEs2?=
=?utf-8?B?ZndxUXdleit2MlpMSWdTTTM0UW1ObnRlSEg4TXFaWHJnajN3Sml1cWVKTXcz?=
=?utf-8?B?MThwczZOU2UzOHpPUlJOQmd5STNIK1NoMitTNGdkZ2pLZTM0OENGN3NaNS9n?=
=?utf-8?B?OG9lQzNhMnNTU3VBeVJYUmxzamgxOWlLQzZsV1UvNWQyTlp0SzZ0NXJ1cVJ1?=
=?utf-8?B?bVI0eG05ZEQwZXNHMWhwdE5iTWU4bjl0V1IwVVNQd3hwL3Y3TjVrTEZaWXBR?=
=?utf-8?B?cFcvSDIrcGxnbzZlUWxycnZxUHlnRzBOYjIvbStrcUVNSmtMZ3ZDbHpnU21N?=
=?utf-8?B?Q3hSZzBiV1MzN1JobDZKNFJBMHFQQ2NEZ3ROeE9KaHN0ZjljMTExMGxaSDJD?=
=?utf-8?B?Y21YeEpsNXZIN3pnMHUrRlhJZm9FeEZVR0ZoREd6cTFnazFJMkFHckJENEpX?=
=?utf-8?B?cUJnRVpvNlJKRGFQb0doWHZxZXRRZ1cxQkE0N3FFdGhTUFRZd0xVVHVQTGha?=
=?utf-8?B?UjFwc29QdldDV0xsU0pnaVZxcUxIM0pZQTJobWhGeHRtRys4OVRmcGlOemFZ?=
=?utf-8?B?alE1bFRBam5KbHdhWjdsUEt3SHhlZ2FEZ3BtNXVYdjVRWXppWmNFU0tqK1g3?=
=?utf-8?B?NGxHRGxId29RYTZzZTlhQzdQU0FDaDl1R0JFR1NPeVdOdHFKT1lQMU5DcDFV?=
=?utf-8?B?bmVTZXJBOWFMRjRlMFdNWmNObDluTE9NV3BtbEUrWXhUc0I5Wm5LdldXVS9N?=
=?utf-8?B?Y3EvUlpObW9RcGthc2RjakNOYStVTTJlV1hOekRyMkVSV2RCUU42bDJJalBT?=
=?utf-8?B?cGJtbktvTm1hRzltcTdXSkxPMDlIQ0RucHpIcmdPbmNjVlNiVStneFRXbUlU?=
=?utf-8?Q?FR41G/SrPLOPcLKMAZIWK32rU?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84d97228-bdda-4970-611e-08dda3da51b5
X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB9194.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 02:40:23.1201
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m1P1x79D5A7OfAAvVstqyDOSUpidu6G/F9JOyUkq/kcn4qZYqUhwjNYxuwffLq67VgcTrQlW2liPKgUvqJ27Rw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6777
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 7/5/25 04:55, Tom Lendacky wrote:
> On 5/5/25 09:12, Alexey Kardashevskiy wrote:
>> Started as a part of the fix for
>> ae596615d93d ("virt: sev-guest: Reduce the scope of SNP command mutex")
>>
>> these are the remainder of followup fixes/improvements as
>> the SNP Guest Request code evolved enough to make it a bit hard to
>> follow.
>>
>>
>> This is based on sha1
>> 6c201ee95a30 Ingo Molnar "Merge branch into tip/master: 'x86/sgx'".
>>
>> Please comment. Thanks.
>>
>>
>>
>> Alexey Kardashevskiy (4):
>> virt: sev-guest: Contain snp_guest_request_ioctl in sev-guest
>> x86/sev: Allocate request in TSC_INFO_REQ on stack
>> x86/sev: Document requirement for linear mapping of Guest Request
>> buffers
>> x86/sev: Drop unnecessary parameter in snp_issue_guest_request
>>
>> arch/x86/include/asm/sev.h | 10 ++-
>> arch/x86/coco/sev/core.c | 73 +++++++++-----------
>> drivers/virt/coco/sev-guest/sev-guest.c | 9 ++-
>> 3 files changed, 44 insertions(+), 48 deletions(-)
>
> For the series:
>
> Reviewed-by: Tom Lendacky <thomas.lendacky@xxxxxxx>


Ping?

>
>>

--
Alexey



Return-Path: <linux-kernel+bounces-673979-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 04D8541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:42:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 6851A3A9989
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:42:25 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D2F331F30B2;
Thu, 5 Jun 2025 02:42:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="pxLEmR5x"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 07A1D2C324C;
Thu, 5 Jun 2025 02:42:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091358; cv=none; b=KWPebckcrW0N3pdL7MN/gVFWoMmo3QsBQA2/Y0tlhCwVlyO0sg9hsm4RjzbjFG+ySESJwXKCOfGNzWenGbqcFJM+6L18Dk6H2CxCeIl+aYSA0Ct7rLEXmBnt+Ouyj700kY1TLJW1WDNV7sQ/RtuxwLMP8awV2Y2VNZTZrSlfSdE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091358; c=relaxed/simple;
bh=gH40Ixbi074S5DghIAnw5tgeKF6M/YiIzrDl41K3k04=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ThqtQ5fy2oAqYMFO3Xu2DLDw1PAthXPOnwUSXB21Vkj9mqJqLoHmb3KOsj5Q/N6Z5gBW8+bNgDpbIQzwToTdzC3PitUHp6S0Ryycd9ts7QSgA2dm3ZQ0+Me1vmgiucwV5AWNWJootPPcd9pKkK4foGCepD3M8HZqfvzfr1TttGo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pxLEmR5x; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B338BC4CEE4;
Thu, 5 Jun 2025 02:42:36 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749091357;
bh=gH40Ixbi074S5DghIAnw5tgeKF6M/YiIzrDl41K3k04=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=pxLEmR5xy4Pt9amdeKCX8nyT0j61W8rcx1mdwLGoyPOVDKpWHYA6nqV1vDqSHlgoE
hV6Im0BHzFQtN62Rqqu169Y6INYdLars1dYI03nonxgO62t5j6v3NrDsCcvCRMdcij
IzJdXwuYvcLThcUPQoHDfyI9ZoiKzZftMY3yz2bBJq+uWdpDipy4yXVDDonGmv6TTf
4H/PNx6EzROfiMIcwGwTOJYIm5EDAszqxnFCroqWGC2ZCuuhzWZUqXRF/gtt3vRR9h
8y9IkURIJWIE7mSyBiKybG4JV0SLVWjonBystA3wZeXEktCSPncdQ/V/7LACgquV/D
Cp/Gnu4Pk+hRQ==
Date: Wed, 4 Jun 2025 21:42:34 -0500
From: Bjorn Andersson <andersson@xxxxxxxxxx>
To: Kamal Wadhwa <kamal.wadhwa@xxxxxxxxxxxxxxxx>
Cc: Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
david.collins@xxxxxxxxxxxxxxxx, jishnu.prakash@xxxxxxxxxxxxxxxx
Subject: Re: [PATCH] arm64: dts: qcom: sm8550: Correct the max voltage for
vreg_l6n_3p3
Message-ID: <4tqlrfqevkb4t5rygcikbnx4auxhn2ahzx3tsbobvraacmpil6@sq2diovqalta>
References: <20250604-sm8550-correct-vreg_l6n_3p3-voltage-v1-1-18cd01a69ac6@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604-sm8550-correct-vreg_l6n_3p3-voltage-v1-1-18cd01a69ac6@xxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 11:57:22AM +0530, Kamal Wadhwa wrote:
> Voltage regulator 'vreg_l6n_3p3' max-microvolt prop is currently
> configured at 3304000uV in different sm8550 board files. However this
> is not a valid voltage value for 'pmic5_pldo502ln' type voltage
> regulators.
>
> Check below the max value(3200mV) in the regulator summary for min/max
> used as 2800mV/3304mV in DT:-
>
> logs:
>
> [ 0.294781] vreg_l6n_3p3: Setting 2800000-3304000uV
>
> regulator summary:
>
> regulator use open bypass opmode voltage current min max
> ---------------------------------------------------------------------
> ..
> vreg_l6n_3p3 0 0 0 normal 2800mV 0mA 2800mV 3200mV
> ..
>
> Correct the max value to 3200000uV, so that it is aligned to voltages
> allowed by the regulator.
>
> Also, correct the phandle name of 'vreg_l6n_3p3' to 'vreg_l6n_3p2',
> so it reflect this change in settings.
>
> Signed-off-by: Kamal Wadhwa <kamal.wadhwa@xxxxxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 6 +++---
> arch/arm64/boot/dts/qcom/sm8550-mtp.dts | 6 +++---
> arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 6 +++---
> arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts | 6 +++---
> 4 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> index 29bc1ddfc7b25f203c9f3b530610e45c44ae4fb2..fe46699804b3a8fb792edc06b58b961778cd8d70 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
> @@ -857,10 +857,10 @@ vreg_l5n_1p8: ldo5 {
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> - vreg_l6n_3p3: ldo6 {
> - regulator-name = "vreg_l6n_3p3";
> + vreg_l6n_3p2: ldo6 {

Please follow the naming from the board's schematics for the label and
regulator-name.

> + regulator-name = "vreg_l6n_3p2";
> regulator-min-microvolt = <2800000>;

The name of this regulator indicates that it's a 3.3V (or 3.2V, although
unlikely) rail. But regulator framework will use the min/max from
DeviceTree combined with any regulator_set_voltage() requests (if there
are any) and pick the lowest possible value in the resulting range.

As we regulator_set_voltage() votes tends to be the exception, this
looks like a 2.8V rail. Can you please confirm what voltage is expected
here?

If 2.8V is correct, please make max (a valid variant of) 2.8V.

Regards,
Bjorn

> - regulator-max-microvolt = <3304000>;
> + regulator-max-microvolt = <3200000>;
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> index 5648ab60ba4c4bfaf5baa289969898277ee57cef..1e95a2849146e3eeea9f68085ac504e32b63fdaf 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
> @@ -624,10 +624,10 @@ vreg_l5n_1p8: ldo5 {
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> - vreg_l6n_3p3: ldo6 {
> - regulator-name = "vreg_l6n_3p3";
> + vreg_l6n_3p2: ldo6 {
> + regulator-name = "vreg_l6n_3p2";
> regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <3304000>;
> + regulator-max-microvolt = <3200000>;
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> index 3a6cb279130489168f8d20a6e27808647debdb41..5a33d7d7ac923c7c0bf6aeb51d0db728e65883ac 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
> @@ -700,10 +700,10 @@ vreg_l5n_1p8: ldo5 {
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> - vreg_l6n_3p3: ldo6 {
> - regulator-name = "vreg_l6n_3p3";
> + vreg_l6n_3p2: ldo6 {
> + regulator-name = "vreg_l6n_3p2";
> regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <3304000>;
> + regulator-max-microvolt = <3200000>;
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts b/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts
> index 7d29a57a2b540708fa88fb59e821406f400a3174..073040fbd7ba215169adbe3862d3e1f6d2c786e0 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts
> @@ -485,10 +485,10 @@ vreg_l5n_1p8: ldo5 {
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
> - vreg_l6n_3p3: ldo6 {
> - regulator-name = "vreg_l6n_3p3";
> + vreg_l6n_3p2: ldo6 {
> + regulator-name = "vreg_l6n_3p2";
> regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <3304000>;
> + regulator-max-microvolt = <3200000>;
> regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> };
>
>
> ---
> base-commit: 393d0c54cae31317deaa9043320c5fd9454deabc
> change-id: 20250603-sm8550-correct-vreg_l6n_3p3-voltage-cba298bc0294
>
> Best regards,
> --
> Kamal Wadhwa <kamal.wadhwa@xxxxxxxxxxxxxxxx>
>


Return-Path: <linux-kernel+bounces-673980-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 66BE641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:43:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id A83013A9B0F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:43:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B247D145355;
Thu, 5 Jun 2025 02:43:28 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9D1CC2C324C
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:43:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091408; cv=none; b=hsZ2EFBYsFHF6ZhNVW18BukF2kHxytTsYgyxDFUC0Wbtqq78vnrrGL/t3zy9i4yMH7daGzuDxFsnVZdy857wt4wkdv8QEG2H6n1Pi8QsdK1lrFWpikmC8YOjmRPWiOYGY18saxEaS/s/YI08+5izne7evvdCjHozgH9lWNt2ip4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091408; c=relaxed/simple;
bh=e9M/V5FLRor05pEbmP2mKuGexiaBIlZ+dMakGu7Iilo=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=DauUP7e6cdRF6SaCw9zSQ2wjCG+0TnNt3/2dUs5z0TE6bdDnvF0GVJqe3G4wZWVQr/eimrU7A9bkModQ8DH50dmxfVpkrvNNzdEDOh7Ooej24KXPlvHr56hOUw7L+NdMsDougyw3GGhrvgLGTTk9vkzad+TWZC1loSaqpYob0wA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3DC66169C;
Wed, 4 Jun 2025 19:43:07 -0700 (PDT)
Received: from [10.164.18.47] (a077893.blr.arm.com [10.164.18.47])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 561843F673;
Wed, 4 Jun 2025 19:43:19 -0700 (PDT)
Message-ID: <cfcb7239-4404-4e71-8fda-7fd3656a8975@xxxxxxx>
Date: Thu, 5 Jun 2025 08:13:16 +0530
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] mm: rename CONFIG_PAGE_BLOCK_ORDER to
CONFIG_PAGE_BLOCK_MAX_ORDER.
To: Zi Yan <ziy@xxxxxxxxxx>, david@xxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,
isaacmanjarres@xxxxxxxxxx, jyescas@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx, masahiroy@xxxxxxxxxx, mhocko@xxxxxxxx,
minchan@xxxxxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx,
tjmercier@xxxxxxxxxx, vbabka@xxxxxxx, Oscar Salvador <osalvador@xxxxxxx>
References: <20250604211427.1590859-1-ziy@xxxxxxxxxx>
Content-Language: en-US
From: Anshuman Khandual <anshuman.khandual@xxxxxxx>
In-Reply-To: <20250604211427.1590859-1-ziy@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/5/25 02:44, Zi Yan wrote:
> The config is in fact an additional upper limit of pageblock_order, so
> rename it to avoid confusion.
>
> Signed-off-by: Zi Yan <ziy@xxxxxxxxxx>
> Acked-by: David Hildenbrand <david@xxxxxxxxxx>
> Reviewed-by: Oscar Salvador <osalvador@xxxxxxx>
> Acked-by: Juan Yescas <jyescas@xxxxxxxxxx>

LGTM.

Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>

> ---
>>From v1[1]:
> 1. used a new name: PAGE_BLOCK_MAX_ORDER,
> 2. added the missing PAGE_BLOCK_ORDER rename in mm/mm_init.c[2]
> 3. dropped the Fixes tag.
>
> [1] https://lore.kernel.org/linux-mm/20250603154843.1565239-1-ziy@xxxxxxxxxx/
> [2] https://lore.kernel.org/linux-mm/202506042058.XgvABCE0-lkp@xxxxxxxxx/
>
> include/linux/mmzone.h | 14 +++++++-------
> include/linux/pageblock-flags.h | 8 ++++----
> mm/Kconfig | 15 ++++++++-------
> mm/mm_init.c | 2 +-
> 4 files changed, 20 insertions(+), 19 deletions(-)
>
> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> index 283913d42d7b..5bec8b1d0e66 100644
> --- a/include/linux/mmzone.h
> +++ b/include/linux/mmzone.h
> @@ -38,19 +38,19 @@
> #define NR_PAGE_ORDERS (MAX_PAGE_ORDER + 1)
>
> /* Defines the order for the number of pages that have a migrate type. */
> -#ifndef CONFIG_PAGE_BLOCK_ORDER
> -#define PAGE_BLOCK_ORDER MAX_PAGE_ORDER
> +#ifndef CONFIG_PAGE_BLOCK_MAX_ORDER
> +#define PAGE_BLOCK_MAX_ORDER MAX_PAGE_ORDER
> #else
> -#define PAGE_BLOCK_ORDER CONFIG_PAGE_BLOCK_ORDER
> -#endif /* CONFIG_PAGE_BLOCK_ORDER */
> +#define PAGE_BLOCK_MAX_ORDER CONFIG_PAGE_BLOCK_MAX_ORDER
> +#endif /* CONFIG_PAGE_BLOCK_MAX_ORDER */
>
> /*
> * The MAX_PAGE_ORDER, which defines the max order of pages to be allocated
> - * by the buddy allocator, has to be larger or equal to the PAGE_BLOCK_ORDER,
> + * by the buddy allocator, has to be larger or equal to the PAGE_BLOCK_MAX_ORDER,
> * which defines the order for the number of pages that can have a migrate type
> */
> -#if (PAGE_BLOCK_ORDER > MAX_PAGE_ORDER)
> -#error MAX_PAGE_ORDER must be >= PAGE_BLOCK_ORDER
> +#if (PAGE_BLOCK_MAX_ORDER > MAX_PAGE_ORDER)
> +#error MAX_PAGE_ORDER must be >= PAGE_BLOCK_MAX_ORDER
> #endif
>
> /*
> diff --git a/include/linux/pageblock-flags.h b/include/linux/pageblock-flags.h
> index e73a4292ef02..6297c6343c55 100644
> --- a/include/linux/pageblock-flags.h
> +++ b/include/linux/pageblock-flags.h
> @@ -41,18 +41,18 @@ extern unsigned int pageblock_order;
> * Huge pages are a constant size, but don't exceed the maximum allocation
> * granularity.
> */
> -#define pageblock_order MIN_T(unsigned int, HUGETLB_PAGE_ORDER, PAGE_BLOCK_ORDER)
> +#define pageblock_order MIN_T(unsigned int, HUGETLB_PAGE_ORDER, PAGE_BLOCK_MAX_ORDER)
>
> #endif /* CONFIG_HUGETLB_PAGE_SIZE_VARIABLE */
>
> #elif defined(CONFIG_TRANSPARENT_HUGEPAGE)
>
> -#define pageblock_order MIN_T(unsigned int, HPAGE_PMD_ORDER, PAGE_BLOCK_ORDER)
> +#define pageblock_order MIN_T(unsigned int, HPAGE_PMD_ORDER, PAGE_BLOCK_MAX_ORDER)
>
> #else /* CONFIG_TRANSPARENT_HUGEPAGE */
>
> -/* If huge pages are not used, group by PAGE_BLOCK_ORDER */
> -#define pageblock_order PAGE_BLOCK_ORDER
> +/* If huge pages are not used, group by PAGE_BLOCK_MAX_ORDER */
> +#define pageblock_order PAGE_BLOCK_MAX_ORDER
>
> #endif /* CONFIG_HUGETLB_PAGE */
>
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 65089552e124..3afac26d3594 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -1017,8 +1017,8 @@ config ARCH_FORCE_MAX_ORDER
> # the default page block order is MAX_PAGE_ORDER (10) as per
> # include/linux/mmzone.h.
> #
> -config PAGE_BLOCK_ORDER
> - int "Page Block Order"
> +config PAGE_BLOCK_MAX_ORDER
> + int "Page Block Order Upper Limit"
> range 1 10 if ARCH_FORCE_MAX_ORDER = 0
> default 10 if ARCH_FORCE_MAX_ORDER = 0
> range 1 ARCH_FORCE_MAX_ORDER if ARCH_FORCE_MAX_ORDER != 0
> @@ -1026,12 +1026,13 @@ config PAGE_BLOCK_ORDER
> help
> The page block order refers to the power of two number of pages that
> are physically contiguous and can have a migrate type associated to
> - them. The maximum size of the page block order is limited by
> - ARCH_FORCE_MAX_ORDER.
> + them. The maximum size of the page block order is at least limited by
> + ARCH_FORCE_MAX_ORDER/MAX_PAGE_ORDER.
>
> - This config allows overriding the default page block order when the
> - page block order is required to be smaller than ARCH_FORCE_MAX_ORDER
> - or MAX_PAGE_ORDER.
> + This config adds a new upper limit of default page block
> + order when the page block order is required to be smaller than
> + ARCH_FORCE_MAX_ORDER/MAX_PAGE_ORDER or other limits
> + (see include/linux/pageblock-flags.h for details).
>
> Reducing pageblock order can negatively impact THP generation
> success rate. If your workloads use THP heavily, please use this
> diff --git a/mm/mm_init.c b/mm/mm_init.c
> index f2944748f526..02f41e2bdf60 100644
> --- a/mm/mm_init.c
> +++ b/mm/mm_init.c
> @@ -1509,7 +1509,7 @@ static inline void setup_usemap(struct zone *zone) {}
> /* Initialise the number of pages represented by NR_PAGEBLOCK_BITS */
> void __init set_pageblock_order(void)
> {
> - unsigned int order = PAGE_BLOCK_ORDER;
> + unsigned int order = PAGE_BLOCK_MAX_ORDER;
>
> /* Check that pageblock_nr_pages has not already been setup */
> if (pageblock_order)


Return-Path: <linux-kernel+bounces-673981-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 250ED41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:44:08 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 6C2E23A99D8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:43:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D6A201EA7DF;
Thu, 5 Jun 2025 02:44:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IhyjMWPW"
Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43])
(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 9A9272C324C;
Thu, 5 Jun 2025 02:43:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091441; cv=none; b=a8Qd9rZt7s4hjpJoffdl38QtuAOiAlQ5IFAdr+wGdQ1w3zsXYCgsd/TSfR8guueATO9iapffkThgKJ1wIBg9RHERRWClitrQAW+pFNlAEJ2yN9Q/Ds2lP0zf8+4djjYh6urZanfkk0ZBzl78PECCYoU3/2b8fQCiynYGscu5lQU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091441; c=relaxed/simple;
bh=4GDvJfCxxN3w4XhJtKut9dr/C+eomdDqI6rkODQn1VA=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=qTogHLre6TviNazEEo4ypEpdtiTUV5NdmxNSe1rDQx/m0lh1lN8uTprx9EgTtSIDar6SYzNl9VP+9KCnlQtl2I9/h4dSwbzzGVvUP+stYGM1toezq9JMZN4VPQBprHtch/Z0n+wSfUnJ3UAXP9sex3w8qGMO+hjYeZ8+WfG5otA=
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=IhyjMWPW; arc=none smtp.client-ip=209.85.128.43
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
Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-451dbe494d6so5205565e9.1;
Wed, 04 Jun 2025 19:43:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749091437; x=1749696237; darn=vger.kernel.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=BFSrb8j+TsZDDx26k/IZM4ETWwV2iNubnWTQvXXtJow=;
b=IhyjMWPWumB21ge99c/s9SbvAMJ9tMUvO3Ob4eHGsfcAJ3avdqwzpj1r0RbSJOcv8q
ouIKEilI64rgOZowXv2A9aqmUHq/TzqQVXJWAAszC6NfPR66BkhZHr3rO480wa5+hiu3
x6AsThGUl6iqsZD9zpQa24CD9p/qsCi+yHBrpdj08Uzedkk23IBxQfyexQ69N5rJASpU
xLfXo6NJvsA/qWvGT99ze2bv8U4sAE2AXWFCSEKVluZyhERNmbf9khPltqMesY0kjexW
6fNsHze7Vz0p6id5Wbz9fFCTixIwnKPyAwfX9z0V2RGOWPSQNVjli9JYzr1jnMO5toPO
Uiug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749091437; x=1749696237;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=BFSrb8j+TsZDDx26k/IZM4ETWwV2iNubnWTQvXXtJow=;
b=qPNCCG/e1rJEaUEgo28KN7LHq2wRIRdLb18hH+jp9+fS1K0g5zejp+TbS/gx9UT4QB
g1IDjjgUsMC0CjL25S4YzYK2BOSpqQ1r31Fa7MtfHBmBVd5CrEXTrqPgsODDGWII8pYS
LvXOar+IeDV6t4bp0mXKVng9eEiFG9E6r/Hv1RXKDknhIfvWDZg82HygPeRI0eGcOWVy
s9oxqQeTRdAU1DKwgErcUkjkIwRsP9aNSfD3JX6RNvfQndkCHygh5a8nZR6L3UV38+JH
MHcEUq4P9gQtKjwEBroGSiYRII4jLqCzhEgDy+j4dsKF5Ee7CCGQU1JqB2DsVbX3A/Jx
/lTA==
X-Forwarded-Encrypted: i=1; AJvYcCXFuEkO7qXD4LB8pXxVUabd1u3aCdB5g8cqUba6lEBA0Xbsf+PRk8pfpgyGtc/LwiB+qqEvI2KMvCfQ@xxxxxxxxxxxxxxx, AJvYcCXyM9MnsQZQlN/V9MD+iwh8PCUNnAXqsYvSVWhP9G1a+9+PEXCZQ7m8UA7CqyWCGHMi3648k5dRFpTMlNP6@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0Yw6/Io2o2uou4nH6Tqsi53Xfy+cnEcogNW1X725qan9YHMNC5Gg
lIDlLMMkyPEi/YCBRCDlRWvNbK1Yg8xFbSBl4XPN30mLBz4Za45g47BSZdv/qIKTX4vqEiJgebp
Pr06oOsPazmjpZEgKhPRh6aar2QB7tEM=
X-Gm-Gg: ASbGncuoGQYTZF4J0HNikRuNWi5Dn4aELVmuJL/mGUeRk2TmtjWCXJjw91X0n3glfzn
CLp2mwo8hSC3diXC/Q/qNCSQ1IRtJGLntulDTHwpehyBgDMU4i5G/CNRHKz87R8FylrMhakxyKS
fH05p+Szhqewt6sBAcF28QWVd6sd4UtX7AAVz5X8rvinXTtDig3fZHPQMTyK5mq+A=
X-Google-Smtp-Source: AGHT+IFSSZj0ukXU+2d3TU2Y4BCGC/2FaXL1ZAZo0ytno6jkv2ETLaLY19ZjsW9GYPHc8YHRKr8hlJ3OUwdWgf0Zwq8=
X-Received: by 2002:a05:6000:240c:b0:3a4:f038:af87 with SMTP id
ffacd0b85a97d-3a51d967d58mr4094685f8f.47.1749091436596; Wed, 04 Jun 2025
19:43:56 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250603-sige5-updates-v1-0-717e8ce4ab77@xxxxxxxxx> <20250603-sige5-updates-v1-3-717e8ce4ab77@xxxxxxxxx>
In-Reply-To: <20250603-sige5-updates-v1-3-717e8ce4ab77@xxxxxxxxx>
From: Jimmy Hon <honyuenkwun@xxxxxxxxx>
Date: Wed, 4 Jun 2025 21:43:45 -0500
X-Gm-Features: AX0GCFt-8bMRNRfnCBvnWW5DVHg0Cj_xQytd5HCYOhhrfd9EqhtKt0epNoFKT20
Message-ID: <CALWfF7JOJSihtfqrFiZtTxnzvoU6FP3WXuWjYOVaAvjPJZWWgg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 3/4] arm64: dts: rockchip: enable wifi on ArmSoM Sige5
To: Alexey Charkov <alchark@xxxxxxxxx>
Cc: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Heiko Stuebner <heiko@xxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-rockchip@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

>
> +&sdio {
> + bus-width = <4>;
> + cap-sdio-irq;
> + disable-wp;
> + keep-power-in-suspend;
> + mmc-pwrseq = <&sdio_pwrseq>;
> + no-sd;
> + no-mmc;
> + non-removable;
> + sd-uhs-sdr50;
> + sd-uhs-sdr104;
> + vmmc-supply = <&vcc_3v3_s3>;
> + vqmmc-supply = <&vcc_1v8_s3>;
> + wakeup-source;
> + status = "okay";
> +};

When you enable the sdio node on your v1.2 board with the broadcom
chip (using SYN43752), does the btsdio.ko bind to the device and
create an extra rfkill bluetooth node?

If so, you'll want to blacklist the SYN43752 chip in the btsdio.ko.
Similar to https://github.com/jimmyhon/linux/commit/81c14dc2dea2ceaea8d390188b352d32e278abc8
The original logic was introduced in
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/bluetooth/btsdio.c?id=b4cdaba274247c9c841c6a682c08fa91fb3aa549

Jimmy


Return-Path: <linux-kernel+bounces-673982-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7B48641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:44:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id B3B7316AF10
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:44:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5B96C157A6B;
Thu, 5 Jun 2025 02:44:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QUrnfvhf"
Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50])
(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 C8B5476C61
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:44:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091471; cv=none; b=iCjJmfkx1Kd2MH2S/9B39ZUoisfUl5QVRLMQlD0psOaVrjSD+gkBH2VLAdKDhums8rv83S53Y40tKoQkVZCozoZdmhuAZHZdfkZ6mSivJmbz+I0maLTFluoPeX/O6fWhc23SR67LzTkjxm56/gJwyHBKwLNYJLeTO8Is1zV3jIY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091471; c=relaxed/simple;
bh=o32E6eCEdA2ACnzowIOk/ynhye+vAbgJhSdf3DTg6jk=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=pTLjj22+tNMUFAQzR1N7msCBFd2dJwU0AUZfdJ+SDgNIM4aYt50jCe7K9vNi7xM5EYvn9snS1Av5N+E9Z420R9EwKujDUSc7oCeGyI5ES95eXzVh8qvJrcUwc/6Q55vsGHmmagFgxJNp0Tsz9q6dXA6Q2OBqYahvWlPhbPaiAaY=
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=QUrnfvhf; arc=none smtp.client-ip=209.85.221.50
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
Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-3a4ef05f631so50845f8f.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 19:44:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749091468; x=1749696268; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=m/0pVGWzXcFQ955kWBaboT1rhQfuOXVFKSSp7OjJXH4=;
b=QUrnfvhfDiB3rveq4ihF3znoFz0jzacHrDBm/LX/fTOcOC9w9Rinx7m7oMdUPxTrJE
sGznKwAqj1cN+HhMwt2g+8RUAB2/9wmohhpQnMjNK4iLY7+3aIg6ZocmUQ7lWRtU8dZY
FmhUnuB3UZwSsOKWdu+/qF/T6YLFL8oCdQN/knTx25AMZ9bJZA2uOSFJqr6JQPvoMS4J
amG5DXMGD10aBVx0AdjwgpFEq3sd3yufHuBE9rxtJAFDgePRWXF93sNskGkJwcNAsokH
MlYyZbRUHmS/TBnGhcRHMAj64Ii4l2G1lEKVh4TWhSG1cMS36kDK6c9t1ZZYr6hlHq5V
U4sA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749091468; x=1749696268;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=m/0pVGWzXcFQ955kWBaboT1rhQfuOXVFKSSp7OjJXH4=;
b=TvKRkCRHy1Z5i40dPQVfslm+8z054R1IPbv3+uIj8JZf4IGY6v8VXnpMGBH2EM6HY/
ideSs/rXy4YiVMYwO6BbYJ0ALcUS4aF7YHJBdRHc9LOMuopeiM7Rn7n50JDw04Q9cqbd
rLZQA8cNLRtcs7RRcLwpvBULcG3bJAuIXwcnnAk+NTFucVttAXcVQ2iB1XxI626DJ0YJ
truwPeS3k7n9XOZpSVebK9OHLo6Wf2SZLDrVwXhtL1gQJyyaBnGHExniv2t0AoCQ/mCs
JIYC5idJZCQaHhfysV6RRPYolOz0g8v/CrOCrWKLMT7X6vkVDUjau5O1IJKAiTetZ5Oy
fK8Q==
X-Forwarded-Encrypted: i=1; AJvYcCXODqUfAcJyEo33p983fmFnY+OFoqczKoUhMob/URuiO5gq1Za4/CBe30nRnl4DJKafs3lJN59YDgF2DhU=@vger.kernel.org
X-Gm-Message-State: AOJu0YyrJqgYU+ey+kvLGMWYXYvk0F9KVLy9Iq4Oj5ZdgB12FFke9uM3
SqRp5KnRABcWsYtJvo5e6lbZaqJbMwK2hkBygNWnV9MV+uHzgqPAVdxipw0m2Txfi2IWLcYu2Ky
zHfJOyiMYqk7VdjmtbaSCeP+63Mn/66U=
X-Gm-Gg: ASbGncuDiAzKGa3vITr6Uvj8+vrlkOE9v/m1jKr42s9nCrIXj7Co7LaveSaAp2JugTB
rKdwXFoFw80MYxALMR8+tan5+TR6pBjsv4x2S+xd8q7ObVafv7PYFOeS6WOxECVt2dVB8x38cKr
2yr9mFiMoN5vX1C6lDNpHKrgrnrvs8FXHF25MPza831U3n
X-Google-Smtp-Source: AGHT+IFUb2rBaDqOLFPMfGPrqkKc83DFwn/HlDNCEZzWMjeMi/FrJzuQJY5+W1OgDhvOfGFhBS6ObPFJrvnJlmlvShw=
X-Received: by 2002:a05:6000:2482:b0:3a4:d30a:7633 with SMTP id
ffacd0b85a97d-3a51d987c45mr1430856f8f.15.1749091467780; Wed, 04 Jun 2025
19:44:27 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <1749037059-4243-1-git-send-email-zhiguo.niu@xxxxxxxxxx> <76adf905-191d-4415-a584-a79bc502bb87@xxxxxxxxxx>
In-Reply-To: <76adf905-191d-4415-a584-a79bc502bb87@xxxxxxxxxx>
From: Zhiguo Niu <niuzhiguo84@xxxxxxxxx>
Date: Thu, 5 Jun 2025 10:44:15 +0800
X-Gm-Features: AX0GCFvXicNXat09LB3YmJe-vPJXw7p7jjCvh-oK6T8jhT5VEamiUB0-8G47A_U
Message-ID: <CAHJ8P3+ygYG=9ZnPY15=L9AwGr9b5_2PkMwT8AXOyE68v6Hg3A@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v2] f2fs: compress: fix UAF of f2fs_inode_info in f2fs_free_dic
To: Chao Yu <chao@xxxxxxxxxx>
Cc: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>, jaegeuk@xxxxxxxxxx,
linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
ke.wang@xxxxxxxxxx, Hao_hao.Wang@xxxxxxxxxx, baocong.liu@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Chao Yu <chao@xxxxxxxxxx> =E4=BA=8E2025=E5=B9=B46=E6=9C=885=E6=97=A5=E5=91=
=A8=E5=9B=9B 10:23=E5=86=99=E9=81=93=EF=BC=9A
>
> On 6/4/25 19:37, Zhiguo Niu wrote:
> > The decompress_io_ctx may be released asynchronously after
> > I/O completion. If this file is deleted immediately after read,
> > and the kworker of processing post_read_wq has not been executed yet
> > due to high workloads, It is possible that the inode(f2fs_inode_info)
> > is evicted and freed before it is used f2fs_free_dic.
> >
> > The UAF case as below:
> > Thread A Thread B
> > - f2fs_decompress_end_io
> > - f2fs_put_dic
> > - queue_work
> > add free_dic work to post_read_wq
> > - do_unlink
> > - iput
> > - evict
> > - call_rcu
> > This file is deleted after read.
> >
> > Thread C kworker to process post_re=
ad_wq
> > - rcu_do_batch
> > - f2fs_free_inode
> > - kmem_cache_free
> > inode is freed by rcu
> > - process_scheduled_works
> > - f2fs_late_free_dic
> > - f2fs_free_dic
> > - f2fs_release_decomp_m=
em
> > read (dic->inode)->i_compress_alg=
orithm
> >
> > This patch use __iget before f2fs_free_dic and iput after free the dic.
> >
> > Cc: Daeho Jeong <daehojeong@xxxxxxxxxx>
> > Fixes: bff139b49d9f ("f2fs: handle decompress only post processing in s=
oftirq")
> > Signed-off-by: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>
> > Signed-off-by: Baocong Liu <baocong.liu@xxxxxxxxxx>
> > ---
> > v2: use __iget/iput function
> > ---
> > fs/f2fs/compress.c | 16 +++++++++++-----
> > 1 file changed, 11 insertions(+), 5 deletions(-)
> >
> > diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
> > index b3c1df9..3f0c18d 100644
> > --- a/fs/f2fs/compress.c
> > +++ b/fs/f2fs/compress.c
> > @@ -1687,7 +1687,7 @@ static void f2fs_release_decomp_mem(struct decomp=
ress_io_ctx *dic,
> > }
> >
> > static void f2fs_free_dic(struct decompress_io_ctx *dic,
> > - bool bypass_destroy_callback);
> > + bool bypass_destroy_callback, bool late_free);
> >
> > struct decompress_io_ctx *f2fs_alloc_dic(struct compress_ctx *cc)
> > {
> > @@ -1743,12 +1743,12 @@ struct decompress_io_ctx *f2fs_alloc_dic(struct=
compress_ctx *cc)
> > return dic;
> >
> > out_free:
> > - f2fs_free_dic(dic, true);
> > + f2fs_free_dic(dic, true, false);
> > return ERR_PTR(ret);
> > }
> >
> > static void f2fs_free_dic(struct decompress_io_ctx *dic,
> > - bool bypass_destroy_callback)
> > + bool bypass_destroy_callback, bool late_free)
> > {
> > int i;
> >
> > @@ -1775,6 +1775,8 @@ static void f2fs_free_dic(struct decompress_io_ct=
x *dic,
> > }
> >
> > page_array_free(dic->inode, dic->rpages, dic->nr_rpages);
> > + if (late_free)
> > + iput(dic->inode);
> > kmem_cache_free(dic_entry_slab, dic);
> > }
> >
> > @@ -1783,16 +1785,20 @@ static void f2fs_late_free_dic(struct work_stru=
ct *work)
> > struct decompress_io_ctx *dic =3D
> > container_of(work, struct decompress_io_ctx, free_work);
> >
> > - f2fs_free_dic(dic, false);
> > + f2fs_free_dic(dic, false, true);
> > }
> >
> > static void f2fs_put_dic(struct decompress_io_ctx *dic, bool in_task)
> > {
> > if (refcount_dec_and_test(&dic->refcnt)) {
> > if (in_task) {
> > - f2fs_free_dic(dic, false);
> > + f2fs_free_dic(dic, false, false);
> > } else {
> > INIT_WORK(&dic->free_work, f2fs_late_free_dic);
> > + /* to avoid inode is evicted simultaneously */
> > + spin_lock(&dic->inode->i_lock);
> > + __iget(dic->inode);
> > + spin_unlock(&dic->inode->i_lock);
>
> Oh, how about using igrab() instead?
Hi Chao,
after I check igrab, I think it is ok,
but here We don't need care about igarb's return value, right?
Thanks!

>
> > queue_work(F2FS_I_SB(dic->inode)->post_read_wq,
> > &dic->free_work);
> > }
>


Return-Path: <linux-kernel+bounces-673983-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 33EAB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:45:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 64D311894E75
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:45:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 53AF41F78F2;
Thu, 5 Jun 2025 02:45:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="errBmt2y"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F904136348;
Thu, 5 Jun 2025 02:45:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.20
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091515; cv=fail; b=S7OGtWoUr6QM5GwHm8O9owanKU4ds4ERIHlAwqXTlY5Io7zQXBfKsKZQSn0nyHgkzzgZtch9gC2iXC4dglhVePqupmnFAYxZAET3CeeHaNR81C7ZTxhIFh1vcBRnky9bY+d5GJNiNiZpBrzAmOmO4vyhnVxR5/xnFvIMvh3EIjs=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091515; c=relaxed/simple;
bh=JxWGABUB7mCXL3ILyaD0MRdTpE2lPTKMFCUpzcsXpoQ=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=fRklFZRgg+bQXJCU3KTzi8TS3cxQ97d4tR7xOjwn86pxk+ABGZDKjI89UxywKkcs0RmdR07hqT8mkgl0bxbjCqgv6yTyuAIm3Un9aetq+2ttK4wraoxz/o2rLMOXt3YwEEuwVfCHayQCoJ+ku0KieIUR9ybbN6EiaYaRF0RFX14=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=errBmt2y; arc=fail smtp.client-ip=198.175.65.20
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749091514; x=1780627514;
h=date:from:to:cc:subject:message-id:reply-to:references:
content-transfer-encoding:in-reply-to:mime-version;
bh=JxWGABUB7mCXL3ILyaD0MRdTpE2lPTKMFCUpzcsXpoQ=;
b=errBmt2yDxGooNsBLJLwR5kEKA33Xls4OrTVNcTmqG3IuojtrShs1glv
Ywq23AiyXM4BimZyRIQAkvLSnWOMBApNbTJTWtrDHdzCixEQxU2GK++jE
YRkaacugJHSsLMoSFWZC/kydAysjwSNC1qr0lYWubgmnLXUjTqcrQijBZ
MbOz2VUg3ZK+9KUgyknEkSPTcDvqtb2gvcznRKj7nAg1PtmFWAEFWc73t
LTwHpB+8dXbtMbUa16862qYgoInExAjXk8QFDHle84Tpg8dyz1OH+uMUf
W4xV4SGPq4nIWtqFn17y8BIm2SoB/0SPZv7gAGyKaZxIolxDSpTLl3mpZ
g==;
X-CSE-ConnectionGUID: d2Bf6/u/SUmKt3Mk83hJWw==
X-CSE-MsgGUID: Gdh/8HixTViZl6zsa88t0A==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="50891275"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="50891275"
Received: from orviesa006.jf.intel.com ([10.64.159.146])
by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:45:13 -0700
X-CSE-ConnectionGUID: kkgP75UBQ+qg+q82bTr0RA==
X-CSE-MsgGUID: pVN+95yMQ7KpHu1PRgchGw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145257983"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by orviesa006.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:45:13 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:45:11 -0700
Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 19:45:11 -0700
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (40.107.244.65)
by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:45:11 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=qoIP/Okx6Z1NSs2LLK8g9Np3scJrcksVHsuMzf9aX7ZjiPv/0RkHxWyOi2Tav2vYSK5L4ST71txdLjfIfNrkYtfu+Wjb7eYHGyxFHmHLHYbfOqV+l4r0OFmk5CYIyauNFEA7jWcMuNaNhX5Yi/NcXEhqaOca3j0HvB3OVVFgrf15mO/vpRNqElht17HnZwSTLh4ZM55/kiEmf0zkyzIP3oBL2DDAMTpOyGJI4/WjIA/Qrpdyip4RV99FSgow0mdjrxeFZ1YAAF8ckqVmupyQkYdqMZ7M7HEox6mjDLuvFBrzyN1rJHiMpKcZnDXm7phU5a22RnX/UXTCY2nleBTHUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=f8yobr97dUaJ+MaBzRGCLFVjVCH6rvNZcmAhCAl77F0=;
b=XYSB+yOjtpG6ic9eA0v3kZMZihOd0OLbON/RhrJEoLuCKV2LemCpkkXe3tfuWqoIvDjp3wW4HFwYgp7nTzIVMhypLe/+iq/ePP6FhYJDh3+ib4wVgxmFj/3M2rla84SI2lyZ+hYE1gWn8Uya4rqssYTqqqhTsWVITz2Dzk7vLuqZlWWr/QZn2QDZ/a4M+StWiNB+Q+U+oqDtA5roC/xD9tbZKtSxpmasefeiutx4X4n2EaaUNha29Ow3BSI299uMO902Y8g+10d3/DT1LcNh8hs65wuyFPSzxIL/pvtB6J/jQgmcBV6/vevQr9M+1k7yqh32utv6NtuW0mFt8WczjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) by
SN7PR11MB7994.namprd11.prod.outlook.com (2603:10b6:806:2e6::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.37; Thu, 5 Jun
2025 02:45:08 +0000
Received: from DS7PR11MB5966.namprd11.prod.outlook.com
([fe80::e971:d8f4:66c4:12ca]) by DS7PR11MB5966.namprd11.prod.outlook.com
([fe80::e971:d8f4:66c4:12ca%5]) with mapi id 15.20.8769.037; Thu, 5 Jun 2025
02:45:08 +0000
Date: Thu, 5 Jun 2025 10:42:45 +0800
From: Yan Zhao <yan.y.zhao@xxxxxxxxx>
To: Ackerley Tng <ackerleytng@xxxxxxxxxx>
CC: <vannapurve@xxxxxxxxxx>, <pbonzini@xxxxxxxxxx>, <seanjc@xxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <kvm@xxxxxxxxxxxxxxx>, <x86@xxxxxxxxxx>,
<rick.p.edgecombe@xxxxxxxxx>, <dave.hansen@xxxxxxxxx>,
<kirill.shutemov@xxxxxxxxx>, <tabba@xxxxxxxxxx>, <quic_eberman@xxxxxxxxxxx>,
<michael.roth@xxxxxxx>, <david@xxxxxxxxxx>, <vbabka@xxxxxxx>,
<jroedel@xxxxxxx>, <thomas.lendacky@xxxxxxx>, <pgonda@xxxxxxxxxx>,
<zhiquan1.li@xxxxxxxxx>, <fan.du@xxxxxxxxx>, <jun.miao@xxxxxxxxx>,
<ira.weiny@xxxxxxxxx>, <isaku.yamahata@xxxxxxxxx>, <xiaoyao.li@xxxxxxxxx>,
<binbin.wu@xxxxxxxxxxxxxxx>, <chao.p.peng@xxxxxxxxx>
Subject: Re: [RFC PATCH 08/21] KVM: TDX: Increase/decrease folio ref for huge
pages
Message-ID: <aEEEJbTzlncbRaRA@xxxxxxxxxxxxxxxxxxxxxxxxx>
Reply-To: Yan Zhao <yan.y.zhao@xxxxxxxxx>
References: <aCVZIuBHx51o7Pbl@xxxxxxxxxxxxxxxxxxxxxxxxx>
<diqzfrgfp95d.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <diqzfrgfp95d.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-ClientProxiedBy: SI2PR01CA0038.apcprd01.prod.exchangelabs.com
(2603:1096:4:193::20) To DS7PR11MB5966.namprd11.prod.outlook.com
(2603:10b6:8:71::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS7PR11MB5966:EE_|SN7PR11MB7994:EE_
X-MS-Office365-Filtering-Correlation-Id: 21a5c58d-df81-4137-a76f-08dda3dafbf9
X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?RlUxd0Q1bnFHUTlWQlBvZ0dPVEhoTTA0T3cwSEFBaWF6S0VOUXFJK25JbjdK?=
=?utf-8?B?VG4xaCtDTWlONk85YUg4N3Irc1dqMDZ5VFpKOGRYOTR1S0cwOG44UzdHR3g1?=
=?utf-8?B?Y3RGRWV4QmZDMGhxdXo2SVAxRXJoanZBSDhySGFkWGpMQm5hMU93T1A4NThY?=
=?utf-8?B?bTJMMWZ1YjBkanJPWWFWN1lXdS9aV1RKbGcxWjlEaG9FODZjL004N0RibElL?=
=?utf-8?B?TU4wQjdmMVF1L0RtMFBKa0JtS2RlSm1YWXRJYTdnOGRlMG1mWmtqR1FnZSs0?=
=?utf-8?B?c3Z6VXh0L0FabFdlUzM3cjFmek9HZXpoR3FseW94QlF6L21HS1dUODMzaWVK?=
=?utf-8?B?ejNUeUJqanI1NWJCNXJCc2ZIZzh6ZHZFYjQwVDlzZDNLazdGUXJNQU04Y0Qv?=
=?utf-8?B?SmM2YURvSXJIUWNTSjFqSDJrWmZ4NmNxM045TEpGamRBREZkWWo1dVNWbjhD?=
=?utf-8?B?c1l0UncvMnE3TGFKVnZ5QVJhWExKL0hwTUpRRndRMyt2MFZoMlV5QTc3WWp0?=
=?utf-8?B?NFJIdVZqWWV5MHJ2c2w4Tjh2VWJRK2dlS1lUeHlFQTF1S1U3TGh2ckRBMGVO?=
=?utf-8?B?UlpjTW1zd1lBS3lQdm1GczROK0crS3hqMDNJUDVQTHg1QkpwRThQK2loTnVF?=
=?utf-8?B?eVo1K2dLOXA0N1ZFMVdwTVJhcXdMbzlOa3dDRlN2T1V0ZWEyTVFiMzZPYzBO?=
=?utf-8?B?a0Q5V0xsZEtjWXFLNlU0Qm1sV2h4ZU1VbnBrcUpXWVdxTFozVEVnWUtVZkxZ?=
=?utf-8?B?V1dnZFVuZ1I4aWlldllRUXgxcHA5TnIzTGMxcDhpVnJrUzhEWGMwRnZUemtI?=
=?utf-8?B?TXJMTUR3bmg3dEdyenRUTklDbEF3UHUwcFBGV2NtWWVMQ0FpM3ZqdGNTZXhR?=
=?utf-8?B?YjlWUlRjamQydko1aEJ6U3VST08xNE80MEdJMXcxU0JuQngvQmlZL1FCcUdV?=
=?utf-8?B?ODREN2VVWE9XUGRSRWNxRFVRb1dYUnphZjRQQVptK0NwVytYdHlobkZhcENQ?=
=?utf-8?B?Q3hhSzRQZDdIUWh1THhZRkM2U0tuVkdLQ3IyY1NnTml0WGdPRkcyYkNNOEhE?=
=?utf-8?B?ckwxKzd4Tjc5cGdFbERkbk1UTCtwYWMvdWNDMSsxYWZtNG1RSm85MzM2ekN0?=
=?utf-8?B?VW9EOFR3ZzRUTER1T0hJNFJQa05zUEJuazFCeCtFb1NFbkFkWWpXSSs3d2pl?=
=?utf-8?B?ZHZGTXNJYVlHYVBDNGVmakZSTkZpMWlvVXdMQW5BdCt4YVRYTGh3UCtab0Ja?=
=?utf-8?B?RnJEWGVvM1BRQXlManhpZDcyMlloTURqTmFKUEhHTlhCanZ0b243UDE5WlJK?=
=?utf-8?B?M20zYTRSQ3Fyb1YwSFRJQWdEeFdyR3FKOXIxMUlScVJIZ1dnVUxxOWpuYyt2?=
=?utf-8?B?REF2b3prSS8zUjFYTkxuMFV5WWxYTmlmVzMramNhS2pIWFN6MXIzRnI2K2p5?=
=?utf-8?B?YjFFRkltQ1dJRy9uek8zRlJ4eUlabE9zS2wxZ1ZnWHljTzA4R1hod0srUEVK?=
=?utf-8?B?MWVYUVI5NkRMalgvNEpRU09HcUJlUGh3Z0pvek9qbGw3bFhBaXZLamllT3VP?=
=?utf-8?B?L1h0SWNCbEcybU84MjZjeVVzS0dJd3VmSlhVVS93TjhwQVFuVExLS3hEZHY4?=
=?utf-8?B?dkxMbEhQVXEzN2lROThHQmxERkxHN0hCYkNjWlRHM3lsemFscWU1elBrNXZ6?=
=?utf-8?B?ZjRrbXZ5anJRWFdPa0tRTU9tWnFkSlA3ZVhKRXY4UksvdTdhZklrc2dFYXQ3?=
=?utf-8?B?TitHYkkrcnh6cmpWbGw5cVRtdW9NeW5ocmpBMnQzQ2M0cW5tTGQ4bUhwa2JN?=
=?utf-8?B?OVF2TjJBRjlvVFFveHhtSXlpRUJwc0NyRzNEVXF2c1N0akV0N1RqRnltZ2Zo?=
=?utf-8?B?elV3RnVIL3NUSk5ZT1ZEbFplaHYzSnlsZmNxQjQ0TEJRVnVnQ2FWT3hSaWhD?=
=?utf-8?Q?4PoL2siABpw=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR11MB5966.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VGxuc2lscW9wQVgwS0R1VGIzTUxwZUxmMTdPeWgzaElPNnRseFU0RTBMbHo2?=
=?utf-8?B?WlBaUUlTd3dGd0t2bmJxRmNqYUVmRmhvMVcxTzRyT2dqZUY2TTZXMkc5VHA4?=
=?utf-8?B?Njhtdy9ldTJ3WTBFc2I0UStYdmZHdGNiWG1oTG5tK0xRSS93TTlGalN3anQv?=
=?utf-8?B?UTUxeXdRN01HRngrcVhnVlF5K0dYQ2lTT1NKZW5wQU5BUTZrZHJ0SnVoYTJm?=
=?utf-8?B?dkN5UDgyTy84QVdtandLL0tWVTZ1akxBWStwdVhIUWtzeFhxMnBTQnBVMGcw?=
=?utf-8?B?VGJMb2xERjd5OXkrS05ISU5SL0FmT21sTkdNblp0aVMraHFHRVkwdkNXSVEx?=
=?utf-8?B?ZFlIbkx4bmtVRVVaUEx6cFUvd0p5eUVIeFVsNENSdzk4bXJBd0x6anVGQ1Qy?=
=?utf-8?B?OHphT0xqWG5sNVhIVU1XSkw2T1lPYVBTYzFnOVNlcmdvMlUvME96UEpCSStt?=
=?utf-8?B?dEEvRnVPNUlKY0tZNnNoQ1h3L1RGeURDdHdaSnpVakZmcDdCNkF6OXF6cWI3?=
=?utf-8?B?TllhRHFNTEkyejFTVGxMRDdCbWlQVmEzejBUV0FtM3YvZkNvREFoR3Fwem8w?=
=?utf-8?B?QTRHNlFvbno4NjI4Q2QzbTBKRWNHYXo4am9NdkloanVNcXVmSTM1K0pES2g3?=
=?utf-8?B?c0oyUU5BV3ZjMnVBRnJPRjlqeGY0R0J5TW5kL0ZsUmhRdG1MQTBFaFFkQUl3?=
=?utf-8?B?RWVGRXh5TGlkUXFHMG11REJCV2owQ0k2ZWVtUTJYbldPWXhxL25rM1pvTmg1?=
=?utf-8?B?N1FBcHdSUmNMTGl0d1hMS0dwNTgvZVdoeVV6OUljZFRoMDR5dDhJWXQvVVoz?=
=?utf-8?B?NTl5U1pXRXFXNEE5TDBucGM4RXBKMWZJVDkrTTRnWldTS2c3dnpvaHZ6ZjhY?=
=?utf-8?B?ckV6RGVSRlRoQTFUR0lPSnRHR3NheHF0cUc4UGJTeEh6a3g5YWV0dER3NHpT?=
=?utf-8?B?WjVZZHl0eWY5UWJtbVdnMXZUb0UyUDYwcCtaL050N0laMEFST3F4bkZGbURn?=
=?utf-8?B?cmJlejA2c0EyZDBvUVJrdjJPQVJ4R29yRjRvN29MMEhVWGlybUQ1emJtSENR?=
=?utf-8?B?M3JnbUJOVkZVc3JPMktPbTRsb1pPRHdjcjNveGZLU1o4MEhXbk8vVloyNEds?=
=?utf-8?B?NnVyM0lKWEFmS0VMcG9Nam1aV09PMWRDVHdNNXlOZFBOeVdxVHNtcXBPOVY5?=
=?utf-8?B?b0dqTDRYTHFkWVZOdEtpTmNDZTlOOVIyejV4ZXZLZnd5aTBNakpHWi9zbHpN?=
=?utf-8?B?aEpPMFJvaW0zNGlBbWNjbVhCZ2krR0hMSTQ3c0pvaGgvT0g1SmN6Q25sblVO?=
=?utf-8?B?V1lHbDJydW44bDJBU1hEajYySXIzN0NSVEdQanVGRmptWjIyTkw2bWIydURv?=
=?utf-8?B?aGhEV1U1UEN2WHl4TDl0RUFKM1I2M0dpTnZUaHRvOVhEcXBqN0RGdG9aZGE1?=
=?utf-8?B?N3lLZTNoSTRVeUJRUUtFQk9BMzlzSUdDbnhwbU1HcGFNb3lsSUlncld0R2Zx?=
=?utf-8?B?NXV5MEVyOTQ5Y2RJWkRhZ2hCcG55czV4aDM5S0xuRHRFN1R0Q3dFMlFvS1ZC?=
=?utf-8?B?clRZbnFjOHNFbkpGd1daWjNkVy9GQkZyUkdBRXJRMG5TcEJpdUxrRGF5V2ZX?=
=?utf-8?B?TG10c09pWVU2Qkp0ZEpweUdaQmtXSG1rbDBQKzhucGNkK0lNbFNXZDlDNUw3?=
=?utf-8?B?REVvTU5CeHZVeXdEUWdtZ3N3S2dicmNXSXpVcmpIUDhuSVJvMjhld0FGTjRx?=
=?utf-8?B?K3FzMTJ2YTdqQzF3SzZiaW5IcE0vQWNSMExocTlvM2NlWVpmUGhRdFRGelpI?=
=?utf-8?B?R1hEdnBjU251TTFjWUdqTW9RK1gzMUczTlFJNWhmUllMQ3pPUjQ0bWpqNTJR?=
=?utf-8?B?d2piaDlzTTFXZVp4M3p6WVgxeFpNMnAwcXVSeERydXRNY3lpU2c2T0RGZGhH?=
=?utf-8?B?ajBwM3BLcUZYTHRNcUNqa3FRT1J1RzZJUTBCaWtUbVUweThsTXRJRllPV3Zz?=
=?utf-8?B?Q3N4d0c1ZXd1ZENFYW1EQ1dWNklVWE95OWpFRXJ2M0RSWEJaR29aQnpFMkov?=
=?utf-8?B?VTdLaEVjbFhoNC9qd0F2azBBbTBzKy8wWjdNcjVKR3FZZENZV0w1djhjWkFD?=
=?utf-8?Q?XehYO4XJCzzi8VtfmpJg0kizk?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 21a5c58d-df81-4137-a76f-08dda3dafbf9
X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB5966.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 02:45:08.5777
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MlEgjnQg5yo+H7dOucArg+aFPrlCe5m1mNUP70R9UlT+91rK8VrzDtSeCxbwBunkM8hwZ+mtQU6Aj8I+EIgpfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB7994
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 01:02:54PM -0700, Ackerley Tng wrote:
> Yan Zhao <yan.y.zhao@xxxxxxxxx> writes:
>
> > On Mon, May 12, 2025 at 09:53:43AM -0700, Vishal Annapurve wrote:
> >> On Sun, May 11, 2025 at 7:18 PM Yan Zhao <yan.y.zhao@xxxxxxxxx> wrote:
> >> > ...
> >> > >
> >> > > I might be wrongly throwing out some terminologies here then.
> >> > > VM_PFNMAP flag can be set for memory backed by folios/page structs.
> >> > > udmabuf seems to be working with pinned "folios" in the backend.
> >> > >
> >> > > The goal is to get to a stage where guest_memfd is backed by pfn
> >> > > ranges unmanaged by kernel that guest_memfd owns and distributes to
> >> > > userspace, KVM, IOMMU subject to shareability attributes. if the
> >> > OK. So from point of the reset part of kernel, those pfns are not regarded as
> >> > memory.
> >> >
> >> > > shareability changes, the users will get notified and will have to
> >> > > invalidate their mappings. guest_memfd will allow mmaping such ranges
> >> > > with VM_PFNMAP flag set by default in the VMAs to indicate the need of
> >> > > special handling/lack of page structs.
> >> > My concern is a failable invalidation notifer may not be ideal.
> >> > Instead of relying on ref counts (or other mechanisms) to determine whether to
> >> > start shareabilitiy changes, with a failable invalidation notifier, some users
> >> > may fail the invalidation and the shareability change, even after other users
> >> > have successfully unmapped a range.
> >>
> >> Even if one user fails to invalidate its mappings, I don't see a
> >> reason to go ahead with shareability change. Shareability should not
> >> change unless all existing users let go of their soon-to-be-invalid
> >> view of memory.
>
> Hi Yan,
>
> While working on the 1G (aka HugeTLB) page support for guest_memfd
> series [1], we took into account conversion failures too. The steps are
> in kvm_gmem_convert_range(). (It might be easier to pull the entire
> series from GitHub [2] because the steps for conversion changed in two
> separate patches.)
>
> We do need to handle errors across ranges to be converted, possibly from
> different memslots. The goal is to either have the entire conversion
> happen (including page split/merge) or nothing at all when the ioctl
> returns.
>
> We try to undo the restructuring (whether split or merge) and undo any
> shareability changes on error (barring ENOMEM, in which case we leave a
> WARNing).
As the undo can fail (as the case you leave a WARNing, in patch 38 in [1]), it
can lead to WARNings in kernel with folios not being properly added to the
filemap.

> The part we don't restore is the presence of the pages in the host or
> guest page tables. For that, our idea is that if unmapped, the next
> access will just map it in, so there's no issue there.

I don't think so.

As in patch 38 in [1], on failure, it may fail to
- restore the shareability
- restore the folio's filemap status
- restore the folio's hugetlb stash metadata
- restore the folio's merged/split status

Also, the host page table is not restored.


> > My thinking is that:
> >
> > 1. guest_memfd starts shared-to-private conversion
> > 2. guest_memfd sends invalidation notifications
> > 2.1 invalidate notification --> A --> Unmap and return success
> > 2.2 invalidate notification --> B --> Unmap and return success
> > 2.3 invalidate notification --> C --> return failure
> > 3. guest_memfd finds 2.3 fails, fails shared-to-private conversion and keeps
> > shareability as shared
> >
> > Though the GFN remains shared after 3, it's unmapped in user A and B in 2.1 and
> > 2.2. Even if additional notifications could be sent to A and B to ask for
> > mapping the GFN back, the map operation might fail. Consequently, A and B might
> > not be able to restore the mapped status of the GFN.
>
> For conversion we don't attempt to restore mappings anywhere (whether in
> guest or host page tables). What do you think of not restoring the
> mappings?
It could cause problem if the mappings in S-EPT can't be restored.

For TDX private-to-shared conversion, if kvm_gmem_convert_should_proceed() -->
kvm_gmem_unmap_private() --> kvm_mmu_unmap_gfn_range() fails in the end, then
the GFN shareability is restored to private. The next guest access to
the partially unmapped private memory can meet a fatal error: "access before
acceptance".

It could occur in such a scenario:
1. TD issues a TDVMCALL_MAP_GPA to convert a private GFN to shared
2. Conversion fails in KVM.
3. set_memory_decrypted() fails in TD.
4. TD thinks the GFN is still accepted as private and accesses it.


> > For IOMMU mappings, this
> > could result in DMAR failure following a failed attempt to do shared-to-private
> > conversion.
>
> I believe the current conversion setup guards against this because after
> unmapping from the host, we check for any unexpected refcounts.
Right, it's fine if we check for any unexpected refcounts.


> (This unmapping is not the unmapping we're concerned about, since this is
> shared memory, and unmapping doesn't go through TDX.)
>
> Coming back to the refcounts, if the IOMMU had mappings, these refcounts
> are "unexpected". The conversion ioctl will return to userspace with an
> error.
>
> IO can continue to happen, since the memory is still mapped in the
> IOMMU. The memory state is still shared. No issue there.
>
> In RFCv2 [1], we expect userspace to see the error, then try and remove
> the memory from the IOMMU, and then try conversion again.
I don't think it's right to depend on that userspace could always perform in
kernel's expected way, i.e. trying conversion until it succeeds.

We need to restore to the previous status (which includes the host page table)
if conversion can't be done.
That said, in my view, a better flow would be:

1. guest_memfd sends a pre-invalidation request to users (users here means the
consumers in kernel of memory allocated from guest_memfd).

2. Users (A, B, ..., X) perform pre-checks to determine if invalidation can
proceed. For example, in the case of TDX, this might involve memory
allocation and page splitting.

3. Based on the pre-check results, guest_memfd either aborts the invalidation or
proceeds by sending the actual invalidation request.

4. Users (A-X) perform the actual unmap operation, ensuring it cannot fail. For
TDX, the unmap must succeed unless there are bugs in the KVM or TDX module.
In such cases, TDX can callback guest_memfd to inform the poison-status of
the page or elevate the page reference count.

5. guest_memfd completes the invalidation process. If the memory is marked as
"poison," guest_memfd can handle it accordingly. If the page has an elevated
reference count, guest_memfd may not need to take special action, as the
elevated count prevents the OS from reallocating the page.
(but from your reply below, seems a callback to guest_memfd is a better
approach).


> The part in concern here is unmapping failures of private pages, for
> private-to-shared conversions, since that part goes through TDX and
> might fail.
IMO, even for TDX, the real unmap must not fail unless there are bugs in the KVM
or TDX module.
So, for page splitting in S-EPT, I prefer to try splitting in the
pre-invalidation phase before conducting any real unmap.


> One other thing about taking refcounts is that in RFCv2,
> private-to-shared conversions assume that there are no refcounts on the
> private pages at all. (See filemap_remove_folio_for_restructuring() in
> [3])
>
> Haven't had a chance to think about all the edge cases, but for now I
> think on unmapping failure, in addition to taking a refcount, we should
> return an error at least up to guest_memfd, so that guest_memfd could
> perhaps keep the refcount on that page, but drop the page from the
> filemap. Another option could be to track messed up addresses and always
> check that on conversion or something - not sure yet.

It looks good to me. See the bullet 4 in my proposed flow above.

> Either way, guest_memfd must know. If guest_memfd is not informed, on a
> next conversion request, the conversion will just spin in
> filemap_remove_folio_for_restructuring().
It makes sense.


> What do you think of this part about informing guest_memfd of the
> failure to unmap?
So, do you want to add a guest_memfd callback to achieve this purpose?


BTW, here's an analysis of why we can't let kvm_mmu_unmap_gfn_range()
and mmu_notifier_invalidate_range_start() fail, based on the repo
https://github.com/torvalds/linux.git, commit cd2e103d57e5 ("Merge tag
'hardening-v6.16-rc1-fix1-take2' of
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux")

1. Status of mmu notifier
-------------------------------
(1) There're 34 direct callers of mmu_notifier_invalidate_range_start().
1. clear_refs_write
2. do_pagemap_scan
3. uprobe_write_opcode
4. do_huge_zero_wp_pmd
5. __split_huge_pmd (N)
6. __split_huge_pud (N)
7. move_pages_huge_pmd
8. copy_hugetlb_page_range
9. hugetlb_unshare_pmds (N)
10. hugetlb_change_protection
11. hugetlb_wp
12. unmap_hugepage_range (N)
13. move_hugetlb_page_tables
14. collapse_huge_page
15. retract_page_tables
16. collapse_pte_mapped_thp
17. write_protect_page
18. replace_page
19. madvise_free_single_vma
20. wp_clean_pre_vma
21. wp_page_copy
22. zap_page_range_single_batched (N)
23. unmap_vmas (N)
24. copy_page_range
25. remove_device_exclusive_entry
26. migrate_vma_collect
27. __migrate_device_pages
28. change_pud_range
29. move_page_tables
30. page_vma_mkclean_one
31. try_to_unmap_one
32. try_to_migrate_one
33. make_device_exclusive
34. move_pages_pte

Of these 34 direct callers, those marked with (N) cannot tolerate
mmu_notifier_invalidate_range_start() failing. I have not yet investigated all
34 direct callers one by one, so the list of (N) is incomplete.

For 5. __split_huge_pmd(), Documentation/mm/transhuge.rst says:
"Note that split_huge_pmd() doesn't have any limitations on refcounting:
pmd can be split at any point and never fails." This is because split_huge_pmd()
serves as a graceful fallback design for code walking pagetables but unaware
about huge pmds.


(2) There's 1 direct caller of mmu_notifier_invalidate_range_start_nonblock(),
__oom_reap_task_mm(), which only expects the error -EAGAIN.

In mn_hlist_invalidate_range_start():
"WARN_ON(mmu_notifier_range_blockable(range) || _ret != -EAGAIN);"


(3) For DMAs, drivers need to invoke pin_user_pages() to pin memory. In that
case, they don't need to register mmu notifier.

Or, device drivers can pin pages via get_user_pages*(), and register for mmu
notifier callbacks for the memory range. Then, upon receiving a notifier
"invalidate range" callback , stop the device from using the range, and unpin
the pages.

See Documentation/core-api/pin_user_pages.rst.


2. Cases that cannot tolerate failure of mmu_notifier_invalidate_range_start()
-------------------------------
(1) Error fallback cases.

1. split_huge_pmd() as mentioned in Documentation/mm/transhuge.rst.
split_huge_pmd() is designed as a graceful fallback without failure.

split_huge_pmd
|->__split_huge_pmd
|->mmu_notifier_range_init
| mmu_notifier_invalidate_range_start
| split_huge_pmd_locked
| mmu_notifier_invalidate_range_end


2. in fs/iomap/buffered-io.c, iomap_write_failed() itself is error handling.
iomap_write_failed
|->truncate_pagecache_range
|->unmap_mapping_range
| |->unmap_mapping_pages
| |->unmap_mapping_range_tree
| |->unmap_mapping_range_vma
| |->zap_page_range_single
| |->zap_page_range_single_batched
| |->mmu_notifier_range_init
| | mmu_notifier_invalidate_range_start
| | unmap_single_vma
| | mmu_notifier_invalidate_range_end
|->truncate_inode_pages_range
|->truncate_cleanup_folio
|->if (folio_mapped(folio))
| unmap_mapping_folio(folio);
|->unmap_mapping_range_tree
|->unmap_mapping_range_vma
|->zap_page_range_single
|->zap_page_range_single_batched
|->mmu_notifier_range_init
| mmu_notifier_invalidate_range_start
| unmap_single_vma
| mmu_notifier_invalidate_range_end

3. in mm/memory.c, zap_page_range_single() is invoked to handle error.
remap_pfn_range_notrack
|->int error = remap_pfn_range_internal(vma, addr, pfn, size, prot);
| if (!error)
| return 0;
| zap_page_range_single
|->zap_page_range_single_batched
|->mmu_notifier_range_init
| mmu_notifier_invalidate_range_start
| unmap_single_vma
| mmu_notifier_invalidate_range_end

4. in kernel/events/core.c, zap_page_range_single() is invoked to clear any
partial mappings on error.

perf_mmap
|->ret = map_range(rb, vma);
| err = remap_pfn_range
|->if (err)
| zap_page_range_single
|->zap_page_range_single_batched
|->mmu_notifier_range_init
| mmu_notifier_invalidate_range_start
| unmap_single_vma
| mmu_notifier_invalidate_range_end


5. in mm/memory.c, unmap_mapping_folio() is invoked to unmap posion page.

__do_fault
|->if (unlikely(PageHWPoison(vmf->page))) {
| vm_fault_t poisonret = VM_FAULT_HWPOISON;
| if (ret & VM_FAULT_LOCKED) {
| if (page_mapped(vmf->page))
| unmap_mapping_folio(folio);
| |->unmap_mapping_range_tree
| |->unmap_mapping_range_vma
| |->zap_page_range_single
| |->zap_page_range_single_batched
| |->mmu_notifier_range_init
| | mmu_notifier_invalidate_range_start
| | unmap_single_vma
| | mmu_notifier_invalidate_range_end
| if (mapping_evict_folio(folio->mapping, folio))
| poisonret = VM_FAULT_NOPAGE;
| folio_unlock(folio);
| }
| folio_put(folio);
| vmf->page = NULL;
| return poisonret;
| }


6. in mm/vma.c, in __mmap_region(), unmap_region() is invoked to undo any
partial mapping done by a device driver.

__mmap_new_vma
|->__mmap_new_file_vma(map, vma);
|->error = mmap_file(vma->vm_file, vma);
| if (error)
| unmap_region
|->unmap_vmas
|->mmu_notifier_range_init
| mmu_notifier_invalidate_range_start
| unmap_single_vma
| mmu_notifier_invalidate_range_end


(2) No-fail cases
-------------------------------
1. iput() cannot fail.

iput
|->iput_final
|->WRITE_ONCE(inode->i_state, state | I_FREEING);
| inode_lru_list_del(inode);
| evict(inode);
|->op->evict_inode(inode);
|->shmem_evict_inode
|->shmem_truncate_range
|->truncate_inode_pages_range
|->truncate_cleanup_folio
|->if (folio_mapped(folio))
| unmap_mapping_folio(folio);
|->unmap_mapping_range_tree
|->unmap_mapping_range_vma
|->zap_page_range_single
|->zap_page_range_single_batched
|->mmu_notifier_range_init
| mmu_notifier_invalidate_range_start
| unmap_single_vma
| mmu_notifier_invalidate_range_end


2. exit_mmap() cannot fail

exit_mmap
|->mmu_notifier_release(mm);
|->unmap_vmas(&tlb, &vmi.mas, vma, 0, ULONG_MAX, ULONG_MAX, false);
|->mmu_notifier_range_init
| mmu_notifier_invalidate_range_start
| unmap_single_vma
| mmu_notifier_invalidate_range_end


3. KVM Cases That Cannot Tolerate Unmap Failure
-------------------------------
Allowing unmap operations to fail in the following scenarios would make it very
difficult or even impossible to handle the failure:

(1) __kvm_mmu_get_shadow_page() is designed to reliably obtain a shadow page
without expecting any failure.

mmu_alloc_direct_roots
|->mmu_alloc_root
|->kvm_mmu_get_shadow_page
|->__kvm_mmu_get_shadow_page
|->kvm_mmu_alloc_shadow_page
|->account_shadowed
|->kvm_mmu_slot_gfn_write_protect
|->kvm_tdp_mmu_write_protect_gfn
|->write_protect_gfn
|->tdp_mmu_iter_set_spte


(2) kvm_vfio_release() and kvm_vfio_file_del() cannot fail

kvm_vfio_release/kvm_vfio_file_del
|->kvm_vfio_update_coherency
|->kvm_arch_unregister_noncoherent_dma
|->kvm_noncoherent_dma_assignment_start_or_stop
|->kvm_zap_gfn_range
|->kvm_tdp_mmu_zap_leafs
|->tdp_mmu_zap_leafs
|->tdp_mmu_iter_set_spte


(3) There're lots of callers of __kvm_set_or_clear_apicv_inhibit() currently
never expect failure of unmap.

__kvm_set_or_clear_apicv_inhibit
|->kvm_zap_gfn_range
|->kvm_tdp_mmu_zap_leafs
|->tdp_mmu_zap_leafs
|->tdp_mmu_iter_set_spte



4. Cases in KVM where it's hard to make tdp_mmu_set_spte() (update SPTE with
write mmu_lock) failable.

(1) kvm_vcpu_flush_tlb_guest()

kvm_vcpu_flush_tlb_guest
|->kvm_mmu_sync_roots
|->mmu_sync_children
|->kvm_vcpu_write_protect_gfn
|->kvm_mmu_slot_gfn_write_protect
|->kvm_tdp_mmu_write_protect_gfn
|->write_protect_gfn
|->tdp_mmu_iter_set_spte
|->tdp_mmu_set_spte


(2) handle_removed_pt() and handle_changed_spte().


Thanks
Yan


Return-Path: <linux-kernel+bounces-673984-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 75D2B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:45:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 49A5A1894D01
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:46:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4A8EB25776;
Thu, 5 Jun 2025 02:45:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="grjm5QTA"
Received: from casper.infradead.org (casper.infradead.org [90.155.50.34])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 784501F941;
Thu, 5 Jun 2025 02:45:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=90.155.50.34
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091549; cv=none; b=Zca0sjlL4OHzv9G4cKILbD8FitA/DTdHkU4NbNnijDFONNd29vaqctrw69WgsmbidIr8IREQnTeIak3ijmHOg6bFx/Wy+yIpUnXPQ2JqDTHo2smaaytFPFmBXD7t49jh/EkuCWyQl2wwAJRkoOtS7Wf8WH0T1fzz8QODlwjWVlE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091549; c=relaxed/simple;
bh=wOT3dxcPMr/aBtP5WIY57zOtKNM58BZ84zwXf3+Wt00=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=oEOryWSlMHoO6vCyXXWZ9n860cIUNxM9vNoIka4a/IezKnCRE3zlcLC7SpAMLXw4ml12rDkSx5d+zsJ+AiT79Tv2NrH1MZqR5A2O/a4NN7LzkRw5ADGZKPJ5ePYmgJIvvmV0SsmEnbBLYxylGjaBJWaTdIE2FBH7wVm/XAqoKFY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=grjm5QTA; arc=none smtp.client-ip=90.155.50.34
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=infradead.org; s=casper.20170209; 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=ybymiTW/sTnUwIL/ifqHR4IjvOprDbSAcrwiBFu/t2Q=; b=grjm5QTA4ICS3pR/Pd2iLzzyM7
Nu9dKfSDs8UCq98dZ6LI2GT2nRoLbACugdanRHmsPSC7CrYhkAN3lrDNQR317pYWByQL/dsLpN6ZG
JJsdiuZSOddj4HR3wE9zSUT79B5H5l3Wb/zNrc0fflYmWFaUPnXfIuJk5nTRNUw6PuuzP6/+ZHmZf
EQ7kTRP9OkpCB3dabiMIzU6khPsI0TTTMtMLFv+2S2PiVgdFc+3a4+nAyjkbRVrFMN6+HiszIV/Bi
4YtGQfoWk5ehXVX8Bb/kzYQ9M46EZivegJa9St3pRbW6BOvpXg94FVF40r+jTNLnuSIr9Otyt9DhZ
49IOOuuw==;
Received: from willy by casper.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux))
id 1uN0bh-00000003msR-2m7c;
Thu, 05 Jun 2025 02:45:29 +0000
Date: Thu, 5 Jun 2025 03:45:29 +0100
From: Matthew Wilcox <willy@xxxxxxxxxxxxx>
To: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
linux-doc@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] scatterlist: fix extraneous '@'-sign kernel-doc notation
Message-ID: <aEEEySwOMEcBlbud@xxxxxxxxxxxxxxxxxxxx>
References: <20250605002337.2842659-1-rdunlap@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250605002337.2842659-1-rdunlap@xxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 05:23:37PM -0700, Randy Dunlap wrote:
> Using "@argname@" in kernel-doc produces "argname****" (with "argname"
> in bold) in the generated html output, so use the expected kernel-doc
> notation of just "@argname" instead.
>
> "Fixes:" are added in case Matthew's patch [1] is backported.

Thanks! I only skimmed the built docs and didn't notice this ... oddity.

> Fixes: 0db9299f48eb ("SG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers")
> Fixes: 8d1d4b538bb1 ("scatterlist: inline sg_next()")
> Fixes: 18dabf473e15 ("Change table chaining layout")
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> Cc: linux-doc@xxxxxxxxxxxxxxx

Reviewed-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>


Return-Path: <linux-kernel+bounces-673985-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9EA7641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:47:37 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id C9EB916F482
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:47:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C61A71F8EF6;
Thu, 5 Jun 2025 02:47:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="hl5oa5ft"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9FB0B24B26
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:47:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091638; cv=none; b=LkvmXpeBPERa7E9vN9VwCEsUHlvOQi06ggufuR5CXnaqTC9KZUQ/yZNCxHgbRxmGLNVpJ16jt/I7NlJY3BfiQ+CO/ggdoBVRtvPA8aO007JYvwFI3WbCLltglPogHXh/uSOdmjmaV/wn7LYX18iSIQK7XrNNP6YemmpTtkPm7Zg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091638; c=relaxed/simple;
bh=omIp1mzOfpWW5NtnN0bnzoknDyuqi/3OPgFAYaUwxUc=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=AYz7V5UyJxZONvyWAN7yIgpuU+ehQqTPW/c9md88kUgpNstKjCIWFZNdRCC1QGjXI9EtTAWg4JVyMUtn+1xStxORg56IN+ywPh3J4picLJLQgvavhBtVbtaP/y2TZhYvvPD0GkXis2TNPXRffMDHdu1atkFqIn/4e6fUSvRweUw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=hl5oa5ft; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749091633;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=dEp8EEq9IZLjoD7IXIoV5lnHN1rozAVzaIx61db4w7A=;
b=hl5oa5ftjhYbd/pnhkSJZzjVbvtLS/3/XN9L6Kilmzju2gExCxFDdiLFkqIMDacuPVa7dR
AlPjeL3QJrUhGdbO8WgXxK/k66XDryFskKnB6APQCrmeKDxErVdkW5LGei4YG+MOnT4/bk
KGVBiXFjkU7PmxzR4LO0SoT9o5CrdaI=
Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com
[209.85.210.197]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-464-fMi5YGAzNwGfl2aEJVgvog-1; Wed, 04 Jun 2025 22:47:12 -0400
X-MC-Unique: fMi5YGAzNwGfl2aEJVgvog-1
X-Mimecast-MFC-AGG-ID: fMi5YGAzNwGfl2aEJVgvog_1749091631
Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-747d29e90b4so428375b3a.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 19:47:12 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749091631; x=1749696431;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=dEp8EEq9IZLjoD7IXIoV5lnHN1rozAVzaIx61db4w7A=;
b=pXdDiibwXdcR8es1R37a+7oov4duKyV0voawZy7BK5d+UARXr6Vm45Mng5lc9B1PJf
GdGD65Q76bS36fezH0SjTrfTbOuO5ncLoXeeoMQzCpvuwPU64mEwovEZpY4gIo/yKojI
uxD89/6an0sEeeiSMtuYNrfLas5SIjc6hkQxFxIcVwslXRlTPkxlp3aEFvF/A8S6TUm0
o2mHSlWWenVEqqKGxbN1N/CE8vc9UXDhcoN5tL0j19KRhxpWaR7wdGes9Pb4Fe6kUj4z
lWNQH4BRoCDXq2jSylDxdvP39Q++z98rFWQDbHEhh+3J9KcAIpch1+9nM4aBdSI5KnjF
sURQ==
X-Forwarded-Encrypted: i=1; AJvYcCVQlC6KFLVA0lXWQmiXHN/ZijuikAffpNJWWJJJlEvyHbSquhpA/lTegs6C0g+nl3TIpo8jrvgQLsT8wOo=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy89QmO4Oy4rznRfIvCwl5TmBycgL6rxvCoR8IL7ochL8y7eJeN
NbzLq9daFBeR3e41DuTpEvySpYZD3YDawdqNF4R7zoettzRgQCrMVN7VumGsXugc6eY2beEOlT+
smjldS5VVqxjOZsG+8HD30H4q7jbZWogPa/sKiLzE4AatIxePh5I4+WW3MVIc2+naidcCkMfBf5
FToBSP9KTYnJpg/BQPsfLn6uZLCN8VKOJmShOWGWFc
X-Gm-Gg: ASbGncvnAuEUzKeWsGsfga4S6Be8JOBXevk/btMN8knamaC0aUPByhn/IEBZ/8KYYUo
+jyecmg7p2glsq8XHxB+NofRRY5jqTORZCpFK1wzhR6KJlnkaBCOEOLSNuFWQSuoR1LIW
X-Received: by 2002:a05:6a00:1a8b:b0:736:53f2:87bc with SMTP id d2e1a72fcca58-7480b41c057mr7026747b3a.13.1749091631051;
Wed, 04 Jun 2025 19:47:11 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGMX0tDxTPzBlM7jNwDe8J2mmVQ4fZbrpXfmUzEnYWQZ8EbI55qxfCnLs650/Af6UAWCtrMOWVqFtn2/dUJOwU=
X-Received: by 2002:a05:6a00:1a8b:b0:736:53f2:87bc with SMTP id
d2e1a72fcca58-7480b41c057mr7026705b3a.13.1749091630477; Wed, 04 Jun 2025
19:47:10 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250530-rss-v12-0-95d8b348de91@xxxxxxxxxx> <20250530-rss-v12-4-95d8b348de91@xxxxxxxxxx>
<CACGkMEupCBFH2eLv_93uy9K=+s_jQPM12mvyhU=zGbwSUnyVaA@xxxxxxxxxxxxxx> <a3e21479-2967-4604-a684-9b9b9e115f37@xxxxxxxxxx>
In-Reply-To: <a3e21479-2967-4604-a684-9b9b9e115f37@xxxxxxxxxx>
From: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 10:46:59 +0800
X-Gm-Features: AX0GCFvNNqZbw1M6lohRaBSwqZGPEvNCPQEPehheBS7BVopMGkjYcNpaKD_-zV8
Message-ID: <CACGkMEuBb6eB9w=HgYq7wy2vW-4PMGGQKk5dd=kCm3ednJ2WxQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH net-next v12 04/10] tun: Add common virtio-net hash
feature code
To: Akihiko Odaki <akihiko.odaki@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>, Willem de Bruijn <willemdebruijn.kernel@xxxxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
"Michael S. Tsirkin" <mst@xxxxxxxxxx>, Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>,
Shuah Khan <shuah@xxxxxxxxxx>, linux-doc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx,
virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
Yuri Benditovich <yuri.benditovich@xxxxxxxxxx>, Andrew Melnychenko <andrew@xxxxxxxxxx>,
Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx>, gur.stavi@xxxxxxxxxx,
Lei Yang <leiyang@xxxxxxxxxx>, Simon Horman <horms@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 4, 2025 at 4:42=E2=80=AFPM Akihiko Odaki <akihiko.odaki@daynix.=
com> wrote:
>
> On 2025/06/04 10:53, Jason Wang wrote:
> > On Fri, May 30, 2025 at 12:50=E2=80=AFPM Akihiko Odaki <akihiko.odaki@d=
aynix.com> wrote:
> >>
> >> Add common code required for the features being added to TUN and TAP.
> >> They will be enabled for each of them in following patches.
> >>
> >> Added Features
> >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> >>
> >> Hash reporting
> >> --------------
> >>
> >> Allow the guest to reuse the hash value to make receive steering
> >> consistent between the host and guest, and to save hash computation.
> >>
> >> Receive Side Scaling (RSS)
> >> --------------------------
> >>
> >> RSS is a receive steering algorithm that can be negotiated to use with
> >> virtio_net. Conventionally the hash calculation was done by the VMM.
> >> However, computing the hash after the queue was chosen defeats the
> >> purpose of RSS.
> >>
> >> Another approach is to use eBPF steering program. This approach has
> >> another downside: it cannot report the calculated hash due to the
> >> restrictive nature of eBPF steering program.
> >>
> >> Introduce the code to perform RSS to the kernel in order to overcome
> >> thse challenges. An alternative solution is to extend the eBPF steerin=
g
> >> program so that it will be able to report to the userspace, but I didn=
't
> >> opt for it because extending the current mechanism of eBPF steering
> >> program as is because it relies on legacy context rewriting, and
> >> introducing kfunc-based eBPF will result in non-UAPI dependency while
> >> the other relevant virtualization APIs such as KVM and vhost_net are
> >> UAPIs.
> >>
> >> Added ioctls
> >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> >>
> >> They are designed to make extensibility and VM migration compatible.
> >> This change only adds the implementation and does not expose them to
> >> the userspace.
> >>
> >> TUNGETVNETHASHTYPES
> >> -------------------
> >>
> >> This ioctl tells supported hash types. It is useful to check if a VM c=
an
> >> be migrated to the current host.
> >>
> >> TUNSETVNETREPORTINGAUTOMQ, TUNSETVNETREPORTINGRSS, and TUNSETVNETRSS
> >> --------------------------------------------------------------------
> >>
> >> These ioctls configures a steering algorithm and, if needed, hash
> >> reporting.
> >>
> >> Signed-off-by: Akihiko Odaki <akihiko.odaki@xxxxxxxxxx>
> >> Tested-by: Lei Yang <leiyang@xxxxxxxxxx>
> >> ---
> >> drivers/net/tap.c | 10 ++-
> >> drivers/net/tun.c | 12 +++-
> >> drivers/net/tun_vnet.h | 165 ++++++++++++++++++++++++++++++++++=
+++++++---
> >> include/uapi/linux/if_tun.h | 71 +++++++++++++++++++
> >> 4 files changed, 244 insertions(+), 14 deletions(-)
> >>
> >> diff --git a/drivers/net/tap.c b/drivers/net/tap.c
> >> index d4ece538f1b2..25c60ff2d3f2 100644
> >> --- a/drivers/net/tap.c
> >> +++ b/drivers/net/tap.c
> >> @@ -179,6 +179,11 @@ static void tap_put_queue(struct tap_queue *q)
> >> sock_put(&q->sk);
> >> }
> >>
> >> +static const struct virtio_net_hash *tap_find_hash(const struct sk_bu=
ff *skb)
> >> +{
> >> + return NULL;
> >> +}
> >> +
> >> /*
> >> * Select a queue based on the rxq of the device on which this packe=
t
> >> * arrived. If the incoming device is not mq, calculate a flow hash
> >> @@ -711,11 +716,12 @@ static ssize_t tap_put_user(struct tap_queue *q,
> >> int total;
> >>
> >> if (q->flags & IFF_VNET_HDR) {
> >> - struct virtio_net_hdr vnet_hdr;
> >> + struct virtio_net_hdr_v1_hash vnet_hdr;
> >>
> >> vnet_hdr_len =3D READ_ONCE(q->vnet_hdr_sz);
> >>
> >> - ret =3D tun_vnet_hdr_from_skb(q->flags, NULL, skb, &vn=
et_hdr);
> >> + ret =3D tun_vnet_hdr_from_skb(vnet_hdr_len, q->flags, =
NULL, skb,
> >> + tap_find_hash, &vnet_hdr);
> >> if (ret)
> >> return ret;
> >>
> >> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> >> index 9133ab9ed3f5..03d47799e9bd 100644
> >> --- a/drivers/net/tun.c
> >> +++ b/drivers/net/tun.c
> >> @@ -451,6 +451,11 @@ static inline void tun_flow_save_rps_rxhash(struc=
t tun_flow_entry *e, u32 hash)
> >> e->rps_rxhash =3D hash;
> >> }
> >>
> >> +static const struct virtio_net_hash *tun_find_hash(const struct sk_bu=
ff *skb)
> >> +{
> >> + return NULL;
> >> +}
> >> +
> >> /* We try to identify a flow through its rxhash. The reason that
> >> * we do not check rxq no. is because some cards(e.g 82599), chooses
> >> * the rxq based on the txq where the last packet of the flow comes.=
As
> >> @@ -1993,7 +1998,7 @@ static ssize_t tun_put_user_xdp(struct tun_struc=
t *tun,
> >> ssize_t ret;
> >>
> >> if (tun->flags & IFF_VNET_HDR) {
> >> - struct virtio_net_hdr gso =3D { 0 };
> >> + struct virtio_net_hdr_v1_hash gso =3D { 0 };
> >>
> >> vnet_hdr_sz =3D READ_ONCE(tun->vnet_hdr_sz);
> >> ret =3D tun_vnet_hdr_put(vnet_hdr_sz, iter, &gso);
> >> @@ -2046,9 +2051,10 @@ static ssize_t tun_put_user(struct tun_struct *=
tun,
> >> }
> >>
> >> if (vnet_hdr_sz) {
> >> - struct virtio_net_hdr gso;
> >> + struct virtio_net_hdr_v1_hash gso;
> >>
> >> - ret =3D tun_vnet_hdr_from_skb(tun->flags, tun->dev, sk=
b, &gso);
> >> + ret =3D tun_vnet_hdr_from_skb(vnet_hdr_sz, tun->flags,=
tun->dev,
> >> + skb, tun_find_hash, &gso);
> >> if (ret)
> >> return ret;
> >>
> >> diff --git a/drivers/net/tun_vnet.h b/drivers/net/tun_vnet.h
> >> index 58b9ac7a5fc4..45d0533efc8d 100644
> >> --- a/drivers/net/tun_vnet.h
> >> +++ b/drivers/net/tun_vnet.h
> >> @@ -6,6 +6,17 @@
> >> #define TUN_VNET_LE 0x80000000
> >> #define TUN_VNET_BE 0x40000000
> >>
> >> +typedef struct virtio_net_hash *(*tun_vnet_hash_add)(struct sk_buff *=
);
> >> +typedef const struct virtio_net_hash *(*tun_vnet_hash_find)(const str=
uct sk_buff *);
> >> +
> >> +struct tun_vnet_hash {
> >> + bool report;
> >> + bool rss;
> >> + struct tun_vnet_rss common;
> >> + u32 rss_key[VIRTIO_NET_RSS_MAX_KEY_SIZE];
> >> + u16 rss_indirection_table[];
> >> +};
> >> +
> >> static inline bool tun_vnet_legacy_is_little_endian(unsigned int fla=
gs)
> >> {
> >> bool be =3D IS_ENABLED(CONFIG_TUN_VNET_CROSS_LE) &&
> >> @@ -107,6 +118,128 @@ static inline long tun_vnet_ioctl(int *vnet_hdr_=
sz, unsigned int *flags,
> >> }
> >> }
> >>
> >> +static inline long tun_vnet_ioctl_gethashtypes(u32 __user *argp)
> >> +{
> >> + return put_user(VIRTIO_NET_SUPPORTED_HASH_TYPES, argp) ? -EFAU=
LT : 0;
> >> +}
> >> +
> >> +static inline long tun_vnet_ioctl_sethash(struct tun_vnet_hash __rcu =
**hashp,
> >> + unsigned int cmd,
> >> + void __user *argp)
> >> +{
> >> + struct tun_vnet_rss common;
> >> + struct tun_vnet_hash *hash;
> >> + size_t indirection_table_size;
> >> + size_t key_size;
> >> + size_t size;
> >> +
> >> + switch (cmd) {
> >> + case TUNSETVNETREPORTINGAUTOMQ:
> >> + if (get_user(common.hash_types, (u32 __user *)argp))
> >> + return -EFAULT;
> >> +
> >> + if (common.hash_types) {
> >> + hash =3D kzalloc(sizeof(*hash), GFP_KERNEL);
> >> + if (!hash)
> >> + return -ENOMEM;
> >> +
> >> + hash->report =3D true;
> >> + hash->common.hash_types =3D common.hash_types;
> >> + } else {
> >> + hash =3D NULL;
> >> + }
> >> + break;
> >> +
> >> + case TUNSETVNETREPORTINGRSS:
> >> + case TUNSETVNETRSS:
> >
> > So the above three shows unnecessary design redundancy as well as a
> > burden for the future extension. Why not simply have
> >
> > 1) TUNSETVNET_RSS
> > 2) TUNSETVNET_HASH_REPORT
> > ?
> >
> > Which maps to
> >
> > #define VIRTIO_NET_CTRL_MQ_RSS_CONFIG 1 (for configurable
> > receive steering)
> > #define VIRTIO_NET_CTRL_MQ_HASH_CONFIG 2 (for configurable
> > hash calculation)
> >
> > It would be always easier to start with what spec had or at least we
> > need to explain why we choose a different design here or in the
> > changelog to ease our life.
>
> TUNSETVNETREPORTINGAUTOMQ maps to VIRTIO_NET_CTRL_MQ_HASH_CONFIG.

It's not:

VIRTIO_NET_CTRL_MQ_HASH_CONFIG uses:

struct virtio_net_hash_config {
le32 hash_types;
le16 reserved[4];
u8 hash_key_length;
u8 hash_key_data[hash_key_length];
};

but TUNSETVNETREPORTINGAUTOMQ only accepts hash_types without others:

>
> TUNSETVNETREPORTINGRSS and TUNSETVNETRSS map to
> VIRTIO_NET_CTRL_MQ_RSS_CONFIG.

I think we've already had a discussion about this.

Reusing virtio-net uAPI is much better instead of having a tun
specific one considering tun may need to support more virtio commands
in the future. Or maybe it's the time to introduce a transport for the
virtio control virtqueue uAPI in tuntap to avoid inventing new uAPI
endlessly.

What's more I see:

struct tun_vnet_rss {
__u32 hash_types;
__u16 indirection_table_mask;
__u16 unclassified_queue;
};

struct tun_vnet_hash {
bool report;
bool rss;
struct tun_vnet_rss common;
u32 rss_key[VIRTIO_NET_RSS_MAX_KEY_SIZE];
u16 rss_indirection_table[];
};

As I pointed out in the past, let's just decouple the rss from hash,
everything would be much simpler, or you need to explain why you
couple this somewhere.

For example:

1) why is the tun_vnet_hash not part of the uAPI but tun_vnet_rss, or
how could userspace know what kind of format it would use for
TUNSETVNETREPORTINGRSS?
2) what's the advantages of embedding rss specific stuff into hash
report structure
3) what's the advantages of not using virtio-net uAPI

More issues:

1) max_tx_vq is ignored, so do you expect the userspace to intercept
this and switch to using TUNSETQUEUE? This seems like a burden as TUN
can simply accept it and do the attaching/detaching by itself
2) the rx depends on the indirection table, so userspace need to
intercept the indirection and change the rx queue numbers accordingly
3) RSS allows a async TX/RX queue, this is not supported by TUN now,
no matter if we decide to let userspace to intercept max_tx_vq or not,
we need to implement it first

Things would be much more simpler, if kernel can do 1) and 2).

> We have two ioctls here because
> VIRTIO_NET_CTRL_MQ_RSS_CONFIG behaves differently depending on whether
> VIRTIO_NET_F_HASH_REPORT is negotiated or not;

It wouldn't be a problem if you do 1:1 mapping between virtio commands
and TUN uAPI, otherwise it should have a bug somewhere.

> it also enables hash
> reporting if the feature is negotiated.

Again, starting from virtio-net command is easier, a strong
justification is needed to explain why we choose another for tun/tap.

>
> >
> > One day we would have tun_select_queue_algorithm_x() we don't have to
> > duplicate the ioctls once again here like TUNSETVNETREPORTINGXYZ
>
> 5.1.6.5.6.4 Hash calculation says:
> > If VIRTIO_NET_F_HASH_REPORT was negotiated and the device uses
> > automatic receive steering, the device MUST support a command to
> > configure hash calculation parameters.
> >
> > The driver provides parameters for hash calculation as follows:
> >
> > class VIRTIO_NET_CTRL_MQ, command VIRTIO_NET_CTRL_MQ_HASH_CONFIG.
>
> VIRTIO_NET_CTRL_MQ_HASH_CONFIG is for automatic receive steering and not
> for RSS (or other steering algorithms if the spec gets any in the future)=
.

I'm not sure but the spec needs some tweaking. For example, I don't
expect there would be a dedicated hash config command for flow filters
in the future. I think the reason why spec says like this is that
virtio-net only supports automatic receive steering.

Note that macvtap doesn't implement automatic receive steering.

>
> >
> >> + if (copy_from_user(&common, argp, sizeof(common)))
> >> + return -EFAULT;
> >> + argp =3D (struct tun_vnet_rss __user *)argp + 1;
> >> +
> >> + indirection_table_size =3D ((size_t)common.indirection=
_table_mask + 1) * 2;
> >> + key_size =3D virtio_net_hash_key_length(common.hash_ty=
pes);
> >> + size =3D struct_size(hash, rss_indirection_table,
> >> + (size_t)common.indirection_table_ma=
sk + 1);
> >> +
> >> + hash =3D kmalloc(size, GFP_KERNEL);
> >> + if (!hash)
> >> + return -ENOMEM;
> >> +
> >> + if (copy_from_user(hash->rss_indirection_table,
> >> + argp, indirection_table_size)) {
> >> + kfree(hash);
> >> + return -EFAULT;
> >> + }
> >> + argp =3D (u16 __user *)argp + common.indirection_table=
_mask + 1;
> >> +
> >> + if (copy_from_user(hash->rss_key, argp, key_size)) {
> >> + kfree(hash);
> >> + return -EFAULT;
> >> + }
> >> +
> >> + virtio_net_toeplitz_convert_key(hash->rss_key, key_siz=
e);
> >> + hash->report =3D cmd =3D=3D TUNSETVNETREPORTINGRSS;
> >
> > At least, if this is the only difference why not simply code this into
> > the ioctl itself other than having a very similar command?
>
> It is what the previous version did. Either is fine I guess; the only
> practical difference would be the size of the configuration struct is
> smaller with this approach.
>
> >
> >> + hash->rss =3D true;
> >> + hash->common =3D common;
> >> + break;
> >> +
> >> + default:
> >> + return -EINVAL;
> >> + }
> >> +
> >> + kfree_rcu_mightsleep(rcu_replace_pointer_rtnl(*hashp, hash));
> >> + return 0;
> >> +}
> >> +
> >> +static inline void tun_vnet_hash_report(const struct tun_vnet_hash *h=
ash,
> >> + struct sk_buff *skb,
> >> + const struct flow_keys_basic *=
keys,
> >> + u32 value,
> >> + tun_vnet_hash_add vnet_hash_ad=
d)
> >> +{
> >> + struct virtio_net_hash *report;
> >> +
> >> + if (!hash || !hash->report)
> >> + return;
> >> +
> >> + report =3D vnet_hash_add(skb);
> >> + if (!report)
> >> + return;
> >> +
> >> + *report =3D (struct virtio_net_hash) {
> >> + .report =3D virtio_net_hash_report(hash->common.hash_t=
ypes, keys),
> >> + .value =3D value
> >> + };
> >> +}
> >> +
> >> +static inline u16 tun_vnet_rss_select_queue(u32 numqueues,
> >> + const struct tun_vnet_hash=
*hash,
> >> + struct sk_buff *skb,
> >> + tun_vnet_hash_add vnet_has=
h_add)
> >> +{
> >> + struct virtio_net_hash *report;
> >> + struct virtio_net_hash ret;
> >> + u16 index;
> >> +
> >> + if (!numqueues)
> >> + return 0;
> >> +
> >> + virtio_net_hash_rss(skb, hash->common.hash_types, hash->rss_ke=
y, &ret);
> >> +
> >> + if (!ret.report)
> >> + return hash->common.unclassified_queue % numqueues;
> >> +
> >> + if (hash->report) {
> >> + report =3D vnet_hash_add(skb);
> >> + if (report)
> >> + *report =3D ret;
> >> + }
> >> +
> >> + index =3D ret.value & hash->common.indirection_table_mask;
> >> +
> >> + return hash->rss_indirection_table[index] % numqueues;
> >> +}
> >> +
> >> static inline int tun_vnet_hdr_get(int sz, unsigned int flags,
> >> struct iov_iter *from,
> >> struct virtio_net_hdr *hdr)
> >> @@ -135,15 +268,17 @@ static inline int tun_vnet_hdr_get(int sz, unsig=
ned int flags,
> >> }
> >>
> >> static inline int tun_vnet_hdr_put(int sz, struct iov_iter *iter,
> >> - const struct virtio_net_hdr *hdr)
> >> + const struct virtio_net_hdr_v1_hash=
*hdr)
> >> {
> >> + int content_sz =3D MIN(sizeof(*hdr), sz);
> >> +
> >> if (unlikely(iov_iter_count(iter) < sz))
> >> return -EINVAL;
> >>
> >> - if (unlikely(copy_to_iter(hdr, sizeof(*hdr), iter) !=3D sizeof=
(*hdr)))
> >> + if (unlikely(copy_to_iter(hdr, content_sz, iter) !=3D content_=
sz))
> >> return -EFAULT;
> >>
> >> - if (iov_iter_zero(sz - sizeof(*hdr), iter) !=3D sz - sizeof(*h=
dr))
> >> + if (iov_iter_zero(sz - content_sz, iter) !=3D sz - content_sz)
> >> return -EFAULT;
> >>
> >> return 0;
> >> @@ -155,26 +290,38 @@ static inline int tun_vnet_hdr_to_skb(unsigned i=
nt flags, struct sk_buff *skb,
> >> return virtio_net_hdr_to_skb(skb, hdr, tun_vnet_is_little_end=
ian(flags));
> >> }
> >>
> >> -static inline int tun_vnet_hdr_from_skb(unsigned int flags,
> >> +static inline int tun_vnet_hdr_from_skb(int sz, unsigned int flags,
> >> const struct net_device *dev,
> >> const struct sk_buff *skb,
> >> - struct virtio_net_hdr *hdr)
> >> + tun_vnet_hash_find vnet_hash_f=
ind,
> >> + struct virtio_net_hdr_v1_hash =
*hdr)
> >> {
> >> int vlan_hlen =3D skb_vlan_tag_present(skb) ? VLAN_HLEN : 0;
> >> + const struct virtio_net_hash *report =3D sz < sizeof(struct vi=
rtio_net_hdr_v1_hash) ?
> >> + NULL : vnet_hash_find(s=
kb);
> >> +
> >> + *hdr =3D (struct virtio_net_hdr_v1_hash) {
> >> + .hash_report =3D VIRTIO_NET_HASH_REPORT_NONE
> >> + };
> >> +
> >> + if (report) {
> >> + hdr->hash_value =3D cpu_to_le32(report->value);
> >> + hdr->hash_report =3D cpu_to_le16(report->report);
> >> + }
> >>
> >> - if (virtio_net_hdr_from_skb(skb, hdr,
> >> + if (virtio_net_hdr_from_skb(skb, (struct virtio_net_hdr *)hdr,
> >> tun_vnet_is_little_endian(flags),=
true,
> >> vlan_hlen)) {
> >> struct skb_shared_info *sinfo =3D skb_shinfo(skb);
> >>
> >> if (net_ratelimit()) {
> >> netdev_err(dev, "unexpected GSO type: 0x%x, g=
so_size %d, hdr_len %d\n",
> >> - sinfo->gso_type, tun_vnet16_to_cpu(=
flags, hdr->gso_size),
> >> - tun_vnet16_to_cpu(flags, hdr->hdr_l=
en));
> >> + sinfo->gso_type, tun_vnet16_to_cpu(=
flags, hdr->hdr.gso_size),
> >> + tun_vnet16_to_cpu(flags, hdr->hdr.h=
dr_len));
> >> print_hex_dump(KERN_ERR, "tun: ",
> >> DUMP_PREFIX_NONE,
> >> 16, 1, skb->head,
> >> - min(tun_vnet16_to_cpu(flags, hd=
r->hdr_len), 64), true);
> >> + min(tun_vnet16_to_cpu(flags, hd=
r->hdr.hdr_len), 64), true);
> >> }
> >> WARN_ON_ONCE(1);
> >> return -EINVAL;
> >> diff --git a/include/uapi/linux/if_tun.h b/include/uapi/linux/if_tun.h
> >> index 980de74724fc..fe4b984d3bbb 100644
> >> --- a/include/uapi/linux/if_tun.h
> >> +++ b/include/uapi/linux/if_tun.h
> >> @@ -62,6 +62,62 @@
> >> #define TUNSETCARRIER _IOW('T', 226, int)
> >> #define TUNGETDEVNETNS _IO('T', 227)
> >>
> >> +/**
> >> + * define TUNGETVNETHASHTYPES - ioctl to get supported virtio_net has=
hing types
> >> + *
> >> + * The argument is a pointer to __u32 which will store the supported =
virtio_net
> >> + * hashing types.
> >> + */
> >> +#define TUNGETVNETHASHTYPES _IOR('T', 228, __u32)
> >> +
> >> +/**
> >> + * define TUNSETVNETREPORTINGAUTOMQ - ioctl to enable automq with has=
h reporting
> >> + *
> >> + * Disable RSS and enable automatic receive steering with hash report=
ing.
> >> + *
> >> + * The argument is a pointer to __u32 that contains a bitmask of hash=
types
> >> + * allowed to be reported.
> >> + *
> >> + * This ioctl results in %EBADFD if the underlying device is deleted.=
It affects
> >> + * all queues attached to the same device.
> >> + *
> >> + * This ioctl currently has no effect on XDP packets and packets with
> >> + * queue_mapping set by TC.
> >> + */
> >> +#define TUNSETVNETREPORTINGAUTOMQ _IOR('T', 229, __u32)
> >> +
> >> +/**
> >> + * define TUNSETVNETREPORTINGRSS - ioctl to enable RSS with hash repo=
rting
> >> + *
> >> + * Disable automatic receive steering and enable RSS with hash report=
ing.
> >
> > This is unnecessary, e.g one day will have select_queue_xyz(), we
> > don't want to say "Disable automatic receive steering and xyz ..."
>
> It is still something better to be documented as its behavior is
> somewhat complicated.

This is a hint of uAPI design issue.

>
> Concretely, this ioctl disables automatic receive steering but doesn't
> disable steering by eBPF, which is implied by TUN_STEERINGEBPF_FALLBACK.

It would be simpler:

1) not having TUN_STEERINGEBPF_FALLBACK
2) the steering algorithm depends on the last uAPI call

>
> Perhaps it may be rephrased to tell it disables "the other receive
> steering mechanism except eBPF".
>
> Regards,
> Akihiko Odaki
>
> >

Thanks



Return-Path: <linux-kernel+bounces-673986-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0531441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:49:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 18E9D7A1CB9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:47:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C6F701F0E26;
Thu, 5 Jun 2025 02:48:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Cu0tVLEd"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6DDB02F5E
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:48:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091737; cv=none; b=mnNsCEmirGwnhTTb4A7YFp4gzBFo0laLkEqVLsuPgrRnjwKoAVia60I3c6COPRCWpg1y3g+Zppr1V1CSlhMoGsbkcn4swrvl/GLqrdi0EtCgLT0w8VzZNGvyLi6BTkecTdXCFQp8ZDTgktDXjMN29PM9lj2qM/niz7MGdutWBfQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091737; c=relaxed/simple;
bh=t4detorygDiNP94WSkQmK0XSEveHxBQIOKKfwoRS9pw=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=ssSu4solBVZ9ckJjsnmQZGmEy9bDaX1i95Z8BHcJCiQRCTDnd4qiTIAOhUrLHbbzi7wRdcby5T1+HCOcqQIYnX4VqCxmVt4Yg4R9ABXj8kuKu7ZTtXX6ondExDqZB6TDVM2gmS9CtYttNOCeY/+AvSImIsjNmg4pafaqbrvcfOA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Cu0tVLEd; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749091734;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=dbZIYNIcbcpYGKI7GQpYFy5AAldBczcWZ7gpkadXYag=;
b=Cu0tVLEdqbOvxggzSGkQsRHVwcPgmiUtbEmrSsSkMVjQxswVxtRmTmFP3sOzScVh4Stww8
TwX9zqDCQUYZpyJ28Yg0MYEWSoeD8h/jqIg62H5cCPoKPgLgu3nVWu6yRcswmJxIFvqMOQ
vZjVWUWd8kjopYVoN7KAhxcN9TX5ImY=
Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com
[209.85.210.197]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-411-hbNmJdnRN7q0SI_g_9wmjg-1; Wed, 04 Jun 2025 22:48:52 -0400
X-MC-Unique: hbNmJdnRN7q0SI_g_9wmjg-1
X-Mimecast-MFC-AGG-ID: hbNmJdnRN7q0SI_g_9wmjg_1749091731
Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-7480d44e6f9so495217b3a.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 19:48:52 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749091730; x=1749696530;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=dbZIYNIcbcpYGKI7GQpYFy5AAldBczcWZ7gpkadXYag=;
b=tjA1UcSqXMR/jcRLszcbFsnKo3qZ+exhA4IEaF2Rfx06gSRUoig8eyaL1m/vVelsGE
y7LuXbWJ9pLZ9HaBt+SIlrO5d1jcw5oB6PbzC4ebbLV0dk8al+OTEjt+4TR6uftDxa2t
zUY6Tq/mLbENYcnclo+dnw8DxNQo+6RiDdY6bsnboovTN+EBW2k8v3nve5Fa9J/1vIDE
8/S+5XJC2zVZ3VVk4PpHT2jAn+Jwn92FfZEr84Rz7yOAuaNMa8LQesdwIzd+jJ/ONjLm
6Q4O2q3K3gvSWt05C/nbU0327d8fbVoszDXH/NWeMR7gqBdYJJe5XY4gp+XIs4Lcbg+U
+PNw==
X-Forwarded-Encrypted: i=1; AJvYcCXNvPiqZaKyarGhAooA/9tEQa1xcEUDKa/bXtCkjt/Lj4iTunJLOfHLZI9uSUfFFB0/VaI+0P/ZCY7EnVo=@vger.kernel.org
X-Gm-Message-State: AOJu0YxXKDzJpftH7S9ZL8HBwNmj3/dGl1yb9FXmCw9LBLr5nsURJ7cZ
rAmq+FC/yoG7BaiNbZT31OQGQcprwcP53TX7yWheNo3yxM1KexangGgsxwqtFNf0qTWncWu1Pk0
TyhkbYMO3P8oSchIlb4KB/KBRM05ydvv5JpjamF7qITHyyizufrn/QDswsAOd2A4AHp9qHpezjs
vKJe2hUqxc15vvRXKL8racK5JZuceppzlDrnFrMtGKr+/EjtFRDA8=
X-Gm-Gg: ASbGncsuW4wbhmIuDaCvFnUkldDgQClEMj9jAL83B2Bgnr+YhagXtK8nwY5ubI5zs5N
tnVGKpUZHBL84jv+IKeKCwgv4zdij4nqS3otvWm6KT1RVsbgcBkiGKwoB0RewAW/h5X3q
X-Received: by 2002:a05:6a00:4fcc:b0:742:a7e3:7c84 with SMTP id d2e1a72fcca58-7480cf89b3emr6468006b3a.13.1749091730134;
Wed, 04 Jun 2025 19:48:50 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFrqB3XiBYcW/hYapHNk+jA3BSGhc8isfd6N3AxDbT90mhS46oJzSgVuNFeBEMvpAsTeIqDFb4uw1vsZZZTceU=
X-Received: by 2002:a05:6a00:4fcc:b0:742:a7e3:7c84 with SMTP id
d2e1a72fcca58-7480cf89b3emr6467980b3a.13.1749091729813; Wed, 04 Jun 2025
19:48:49 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250604184802.2625300-1-dtatulea@xxxxxxxxxx>
In-Reply-To: <20250604184802.2625300-1-dtatulea@xxxxxxxxxx>
From: Jason Wang <jasowang@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 10:48:38 +0800
X-Gm-Features: AX0GCFs_GPLF0gKDUCq970gHNyiw0rWqggwHW7k_1Il5kcuvZ_GXf6UMbbRftgo
Message-ID: <CACGkMEttzcr24-cD5AGSvc_79_OJbZ-coLR-N68dMTqJe6V-TA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH vhost] vdpa/mlx5: Fix needs_teardown flag calculation
To: Dragos Tatulea <dtatulea@xxxxxxxxxx>
Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx>, Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>,
=?UTF-8?Q?Eugenio_P=C3=A9rez?= <eperezma@xxxxxxxxxx>,
Cosmin Ratiu <cratiu@xxxxxxxxxx>, Shahar Shitrit <shshitrit@xxxxxxxxxx>,
Si-Wei Liu <si-wei.liu@xxxxxxxxxx>, virtualization@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, Jun 5, 2025 at 2:48=E2=80=AFAM Dragos Tatulea <dtatulea@xxxxxxxxxx>=
wrote:
>
> needs_teardown is a device flag that indicates when virtual queues need
> to be recreated. This happens for certain configuration changes: queue
> size and some specific features.
>
> Currently, the needs_teardown state can be incorrectly reset by
> subsequent .set_vq_num() calls. For example, for 1 rx VQ with size 512
> and 1 tx VQ with size 256:
>
> .set_vq_num(0, 512) -> sets needs_teardown to true (rx queue has a
> non-default size)
> .set_vq_num(1, 256) -> sets needs_teardown to false (tx queue has a
> default size)
>
> This change takes into account the previous value of the needs_teardown
> flag when re-calculating it during VQ size configuration.
>
> Fixes: 0fe963d6fc16 ("vdpa/mlx5: Re-create HW VQs under certain condition=
s")
> Signed-off-by: Dragos Tatulea <dtatulea@xxxxxxxxxx>
> Reviewed-by: Shahar Shitrit <shshitrit@xxxxxxxxxx>
> Reviewed-by: Si-Wei Liu <si-wei.liu@xxxxxxxxxx>
> Tested-by: Si-Wei Liu<si-wei.liu@xxxxxxxxxx>
> ---

Acked-by: Jason Wang <jasowang@xxxxxxxxxx>

Thanks



Return-Path: <linux-kernel+bounces-673987-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 66A3E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:49:35 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id BBC2718928EA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:49:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3901E1F1301;
Thu, 5 Jun 2025 02:49:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b="jTc4aytJ"
Received: from CY4PR05CU001.outbound.protection.outlook.com (mail-westcentralusazolkn19010012.outbound.protection.outlook.com [52.103.7.12])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2CCAB4A0C;
Thu, 5 Jun 2025 02:49:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.7.12
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091767; cv=fail; b=O8wbkyeYCus15BpeLpMNn6dMF0LNwRooNm5xGbHG0cDnl26DFGGQ4qDrxuSmvzFEMbluljebqsLQBT5McmPMdNHTpX/SD7f+rOpGgCTzMWAu3qOi7nqeTp62GScaa2Sg9bhcYTlDsX3LBVXfqHTDOQ45TG5Sf3k1tfdsV2jkGfk=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091767; c=relaxed/simple;
bh=4vEmJNQi6ftDTZzuEQb5DbLgNMlG7k3JhmjDnUgFU0Q=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=KMAp1+jXJy8DaoSrDZIJvqSltNSmJxI+6g+b8GYbXTf/L3hDcIjRx1sV1pH6XxN5vQxd1yRuvwE+fFIepFZZW1bw6JRLRhhDAYYZ1TXiYSKXahfZhc0Bi1buITYYhFc5YqBInDjgB6wPmyfUWF8Eyj7fdb0tK3sWIeMKo4jWgTY=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com; spf=pass smtp.mailfrom=outlook.com; dkim=pass (2048-bit key) header.d=outlook.com header.i=@outlook.com header.b=jTc4aytJ; arc=fail smtp.client-ip=52.103.7.12
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=outlook.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=outlook.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=avnaA19usq2tiVx6tVzgfgGfxOnoUyhmtni+oQpHY8FASMKARwocC0d7RYGnT5jlmZtDPGH1ZcKIuOUBJOTyAuh6MGJnydbvWeYN7StHPFS0DNAiP9puSVzBAj7U+t9RukGjd3UpijA9ROh/MlfjhCGfm00dYaGHuGPD2EFclEvZr1WPub0fZE7a++Vc+Lh+apijpDfvJEXvzQNbqGqvcdAmtzV8SMMcr+lc0p8hbHzNHO7yTzPWZdKJZrmhwJFN7PMGY5PliomvSH8WEIy1aC14IXsE+EKhRYngdJ2idQXpwsR+nSAWJxhHAQnNIigk4RQNY086+8lqExb5BJT84Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=47ebaHgc66u49sVxsHkgTs0twVvYp66WtnC7+is2Nvo=;
b=N3DHmkZUNdsjAm2O4NWvB1qzz2yV1xcNhKpS5a3Lo2BOQiLzpyG6Nus1qFrtGN1yeRPlwbTrbmDsmtRLvRKZM4pteGjJPpbpvswFey03vL3odbmZwdVIea28TgGUvbpFirnyWF0lcSD8FJWSm30RIXw4hbUzQbY68qNgjjm+gz2816qXtMiUlJEihtAzKH2B8817+++zVticwZMACmIQvOcQJpaLUhNhDM5i/D82Ff670LjrWV7Uc1THdCmb5p6cwI/7AGQYijo6HdG8eOFuY7M41Zx9AyQyagWtBdK3CkoXyzTsb+lBbJlhMbPg0vu7oMrY2erbjEM2ZTSMwn1EWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=47ebaHgc66u49sVxsHkgTs0twVvYp66WtnC7+is2Nvo=;
b=jTc4aytJoLaOkid4X4XjW6+ipQZMwcfXexRxvOqNRX3eAWKfDvqDIVQ6ZClW7iPq/M88AaE/L38JLLTI4ihBl3AP3WMWNGrPpjK7Ooz6jPcdAb0yCPlE8Zp1AVYSQQJHNoPov4zEew6+95xcBr5eRFmKdYfudyaMthXngGj/xjiWCwfDXpkoloWkz0UiWpGPlfPC4wwvWJl2jvgFyH8Re9jDS75/zIvVgnJw+YmT6X4/4cME3eHd47E1+hzePZy6+lhs9cZ26FQE9IFRhCXN4C1uftiCsKKOreNbI1tYPckPpenDJTXZK8cQKlgoByTypj/p82xcPqnD7ykjLy8W4w==
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
by CO1PR02MB8459.namprd02.prod.outlook.com (2603:10b6:303:157::9) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Thu, 5 Jun
2025 02:49:22 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
([fe80::cedd:1e64:8f61:b9df]) by SN6PR02MB4157.namprd02.prod.outlook.com
([fe80::cedd:1e64:8f61:b9df%4]) with mapi id 15.20.8813.016; Thu, 5 Jun 2025
02:49:22 +0000
From: Michael Kelley <mhklinux@xxxxxxxxxxx>
To: "Toshiyuki Sato (Fujitsu)" <fj6611ie@xxxxxxxxxxx>, 'John Ogness'
<john.ogness@xxxxxxxxxxxxx>
CC: "pmladek@xxxxxxxx" <pmladek@xxxxxxxx>, 'Ryo Takakura'
<ryotkkr98@xxxxxxxxx>, Russell King <linux@xxxxxxxxxxxxxxx>, Greg
Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, Jiri Slaby
<jirislaby@xxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "linux-serial@xxxxxxxxxxxxxxx"
<linux-serial@xxxxxxxxxxxxxxx>, "linux-arm-kernel@xxxxxxxxxxxxxxxxxxx"
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: Problem with nbcon console and amba-pl011 serial port
Thread-Topic: Problem with nbcon console and amba-pl011 serial port
Thread-Index: AdvULbS8DdGjT9TLS9OOSVhbv2AtDgAN1+gwAALFDgAAAfWTAAAeB8NgADP4FvA=
Date: Thu, 5 Jun 2025 02:49:22 +0000
Message-ID:
<SN6PR02MB41575419E1223B8A8B0A1F1FD46FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References:
<SN6PR02MB4157A4C5E8CB219A75263A17D46DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<OS7PR01MB13775FE1A20762D1EA4A38D0ED76DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<84y0u95e0j.fsf@xxxxxxxxxxxxxxxxxxxxx> <84plfl5bf1.fsf@xxxxxxxxxxxxxxxxxxxxx>
<TY4PR01MB13777674C22721FCD8ACF4FCCD76CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
In-Reply-To:
<TY4PR01MB13777674C22721FCD8ACF4FCCD76CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_ActionId=be343133-71c6-4d99-8848-8967c516ceda;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_ContentBits=0;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_Enabled=true;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_Method=Privileged;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_Name=FUJITSU-PUBLIC?;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_SetDate=2025-06-04T01:30:08Z;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_SiteId=a19f121d-81e1-4858-a9d8-736e267fd4c7;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|CO1PR02MB8459:EE_
x-ms-office365-filtering-correlation-id: 8981e437-e760-498d-2a4e-08dda3db9372
x-ms-exchange-slblob-mailprops:
znQPCv1HvwW0/Oyp7YGYB8PXZKvbjyK4/gNNJgyH6qmeqixNxQxkwwpQafzTi7DxjQAk+3XXqRVM6f2hmjnuSj0uhIYDSN0rs+xQ/xQKticzQr7Vg6R2ycFIdgPNxVV+KHzPWvk5GQPcbJ4k6oK8GVUS3YDuZu0HiEbjD4lIbYJFalvGQZFNIGnxXGLYPCuqlHEYEfzcOg/6VxNvjVKDF2hp44ayLzcQMxWFrc00PauldOHQpR4HQ8tXnjZ8/Eif42bxhyZ9butFbFYLTaQkfedEUnnOlHcC2GDTXVvSUf8s9zpt7be8XBt9Yxi+t9+/TpRBCjUJVk6jOei4H2mMLjVTBLskg8XYj8kWiCXN65Sq/nk8E5tSNkkpnu/hvMynevqj147bvICbTqebfLNbLfN6rfQ1OYBrkBhFF8qO6h8sXxPDD4Zl8bPh3GATYA8DyU9rB+eIsZXIH11qXLD/0T0sOHq/wJneBMTmPqaKa3JkmhEl2auNcGOpyPaE4b6HbadxrvgNVK3t1lwk9TxGJPfga/gpjpPxXdM4zs8iG9gAxWKlh0iA1Sz73UgCngwDNHsin5kd/mZE11j+52FGQ6T0Unv+dCPHDxg3fv5HY5R/ZePO/qPW6469S+6oTyeNEM7rbYdu/VI6AVpu0uvidDODKk7jfXQQy1iuejYRESpj1beQ/QvAE5dbffUPqHoqcNTUdJah5uLPflWKltQM70HWU8m7U5aFlmS7ub5woYjHNze+COp0vb+m+f0tbb3kmTN6anp8r3E=
x-microsoft-antispam:
BCL:0;ARA:14566002|8062599006|19110799006|8060799009|15080799009|461199028|41001999006|440099028|3412199025|102099032;
x-microsoft-antispam-message-info:
=?us-ascii?Q?1ZRkXo3NASHS2bUYn4pQ4uh4IUz+V2qpT1ViSNrCwZjKg2Vp5+CDbSa9fjTe?=
=?us-ascii?Q?hrQ5kbOmC5mczRLcAz3eXJkRbUkkjEnFSz3QNANbzExQHnWVzfvWOCKNQ0FJ?=
=?us-ascii?Q?pa8iszTk7wp0NvJ/sPqIyW7D39jw1qj6O5ABkB4lE5cO3+2FqV7ELiJ55EkH?=
=?us-ascii?Q?e6tU9CNEceFUuAIWXwm6P+34MaNsPOUlflzIJVD9b5N/oYS+Lgeg/oT/dy0+?=
=?us-ascii?Q?G3W/FGnTSJ+jERuKsyQQX1QNIYdj6CdS1LP+LeebbTZnY2RNVmXnBYJtGiat?=
=?us-ascii?Q?Sg1iSTA/jN1HJYpv0VRu29p/VBKpd36TF3KyEz6on8NbCfRCjTBOjOR0N3va?=
=?us-ascii?Q?jC4ZVBrGRTv2S8QtRsn9yYCkXma2LGoYFmZA8OJx4ttUr3v34LL8irxOmSOR?=
=?us-ascii?Q?OYxC/+gjl6S1WWuNhG/CKxSKUS8Dj7LPTTcIZca/5tulR18UuFVUIbGlLzqH?=
=?us-ascii?Q?5iYw/7ZU8mMVBUZjUEF4M9fkwPG10J16twmBT8ZEzOiCayCEJlUMvr4Hs5gI?=
=?us-ascii?Q?oVK2jgBFHfpPoTmGvjE1sr4hWvdyz7BVM+0zb3P4sg2eeE39Pe5qZGG3/26u?=
=?us-ascii?Q?d8u6o9isMMYSADsqT9F7EYZew6WMVFeTF9hSzwCf2DW7wVqXUGvWCug5/scT?=
=?us-ascii?Q?R9lQYuSuDaLvaV4DJxNqLrHhmEk0yWxw9dO2XuzA/FbOZe8M0ZQNlGSx0smN?=
=?us-ascii?Q?AM+h0dISjwagunt9reIky1Zpbjt+QsIPD/Sb94wJCeLz8TOEtbm9WbQESt00?=
=?us-ascii?Q?6JZ8qkrqWRMKctZbPS+sKx7lTQkHOTTXtq+1hTOW5JXkYj0NDIlssEJBONp1?=
=?us-ascii?Q?lZSn5IgWiAkOwZY2ydsaZam6DPBod7SGyqU4ULDgcOSlG3cMkjoJyaVJs6If?=
=?us-ascii?Q?ATelRu2rE78a2cVMEnnrkRpwDdh6guFbJ+YFDMUyfpnX3vZTVtDX79hpyw0j?=
=?us-ascii?Q?kOOz89ojBaQtorhSjg8TbcnkzCM0HV6qfkVGUhsLL0h7nEO2CJ10Pm/i9kbN?=
=?us-ascii?Q?ZOQvu9WUD3xmiBRxPp5aj+uNMXgX4lOxFEkp0kBkVmc5ZBZ0r5Ib2EngwWfV?=
=?us-ascii?Q?yGjNsDLf00Dj2whqsou+pUyQYKyC5BY5Ywxklj5yZpHu5p0Fa+M=3D?=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?us-ascii?Q?2BOew1EIFSaRIuzY6T4PN33lk7SjMlzGsaRtvufeK3LClhNhcmj31PHmgDUq?=
=?us-ascii?Q?+fGqfkmdKDAVDlE6qDMnzqZPn5XYXZiuxZ/h0KAcFl4tvlyXWk4cJJ7ahO2M?=
=?us-ascii?Q?edcfolGBVMUQZff13lbHw6PEPL6ZCfGrixfsZcy6QQm+sBggdGj4iERboljp?=
=?us-ascii?Q?7Y12zANI43+3O9b4fwxIhyw59aY9eqMyLYF5QzAdts1bhz8jTTwd8lOKKZcn?=
=?us-ascii?Q?vu5NZch8PH7mO9h/ZZKrAiBPu0FRZcZTb5wSw5aCrtWYUfCEQ8mmlLSTjDzV?=
=?us-ascii?Q?+GLDRR8zCwuo7LdVF1EbbhmV3biYoLSI34hHsBvYOeI5DFc5RZVd7ZZfcTGM?=
=?us-ascii?Q?wTsh6x4oWDmIPXnKv3RzU6CyKNr5QuWtzKlCkGyzu8DmiEDt21dKK5lV1/pW?=
=?us-ascii?Q?2lCqenPOZEJcIm+sbahd8KhV/BAYP+ifmakdT0kh5YV8bHQgVGAD8l8VHN7r?=
=?us-ascii?Q?8h+g2M+UWZ7TmIc9KHJOzZQ/CUtsFpufWXQtczDPBzmJzHvgnYbXuurQ+Vj3?=
=?us-ascii?Q?s35+8e93jVmoyzYMKDXYBIMFZcthiNn3/ct5CF6OrINjRK7u+w5OTzyWR7rR?=
=?us-ascii?Q?PPYkaqj7JTN1xfBvARTHLkKcn1avz5QbbrJWZ0YI8xY5ibjDrgVZOJ9Vju9B?=
=?us-ascii?Q?mmUa1sgeg3hGvE64fAIQ6eQettbIMVc6zfGEq42RnNVILRxemLHMBEO2EQtg?=
=?us-ascii?Q?+SO0mWNeZ3TxlkL2NV4L3Ba4qQwm7vUt7PMIlFleD0DIwubm5qfLoQIeFdQZ?=
=?us-ascii?Q?hAVyw6/4lOLzJY6ZQAL3f6XuNJsbqyY7GLboROiNQWvCMujqOstatVsPZAsd?=
=?us-ascii?Q?M0Npz0y4tU8hiOA2kbqXKdd+OCDVyKfJWjUE4NrwjHFTja2tnFfvRbao0Vmu?=
=?us-ascii?Q?LItgLv9v+eEBsnNkX4Q8WWOYwXWK9iZ+EWLaNEhLzQ7mYYhYa32cFHyWVbx6?=
=?us-ascii?Q?Nt5YQr62qS4s/icLXk+j0Nl3y39VpmI0WgZ3RM2WAgjqTRwHt7egjUucNA4w?=
=?us-ascii?Q?UhVk8/wQpKvskT9M244mbxBAmOIV7CPp2bkxxulfdj5Cg0cWsGznpbyX61AC?=
=?us-ascii?Q?MeVlZkIguVyMaPyDoqUs5CU2pG4KPiqH98XvQ2c03obIgbGr4VEP5KtlNjNz?=
=?us-ascii?Q?OWKLpkqBIgBk4vyn8hCqgqnC4A9zll42c83eas8DoNpn82xcrl8pCyO5BYSy?=
=?us-ascii?Q?CL1wzaaG6npIV55xph1/TtUITd0gWO4mJPbhPSgWjr8a8ZHyYGkOTEjD2vo?=
=?us-ascii?Q?=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 8981e437-e760-498d-2a4e-08dda3db9372
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 02:49:22.3106
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR02MB8459
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Toshiyuki Sato (Fujitsu) <fj6611ie@xxxxxxxxxxx> Sent: Tuesday, June 3=
, 2025 9:11 PM
>=20
> Hi Michael, John,
>=20

[snip]

>=20
> This is a proposed fix to force termination by returning false from
> nbcon_reacquire_nobuf when a panic occurs within pl011_console_write_thre=
ad.
> (I believe this is similar to what John suggested in his previous reply.=
)
>=20
> While I couldn't reproduce the issue using sysrq-trigger in my environmen=
t
> (It seemed that the panic was being executed before the thread processin=
g),
> I did observe nbcon_reacquire_nobuf failing to complete when injecting an
> NMI (SError) during pl011_console_write_thread.
> Applying this fix seems to have resolved the "SMP: failed to stop seconda=
ry
> CPUs" issue.
>=20
> This patch is for test.
> Modifications to imx and other drivers, as well as adding __must_check,
> will likely be required.
>=20
> Michael, could you please test this fix in your environment?

I've tested the fix in my primary environment (ARM64 VM in the Azure cloud)=
,
and I've seen no failures to stop a CPU. I kept my custom logging in place,=
so I
could confirm that the problem path is still happening, and the fix recover=
s from
the problem path. So the good results are not due to just a timing change. =
The
"pr/ttyAMA0" task is still looping forever trying to get ownership of the c=
onsole,
but it is doing so at a higher level in nbcon_kthread_func() and in calling
nbcon_emit_one(), and interrupts are enabled for part of the loop.

Full disclosure: I have a secondary environment, also an ARM64 VM in the
Azure cloud, but running on an older version of Hyper-V. In this environmen=
t
I see the same custom logging results, and the "pr/ttyAMA0" task is indeed
looping with interrupts enabled. But for some reason, the CPU doesn't stop
in response to IPI_CPU_STOP. I don't see any evidence that this failure to =
stop
is due to the Linux pl011 driver or nbcon. This older version of Hyper-V ha=
s a
known problem in pl011 UART emulation, and I have a theory on how that
problem may be causing the failure to stop. It will take me some time to
investigate further, but based on what I know now, that investigation shoul=
d
not hold up this fix.

Michael

>=20
> Regards,
> Toshiyuki Sato
>=20
> diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl=
011.c
> index 11d650975..c3a2b22e6 100644
> --- a/drivers/tty/serial/amba-pl011.c
> +++ b/drivers/tty/serial/amba-pl011.c
> @@ -2577,8 +2577,10 @@ pl011_console_write_thread(struct console *co, str=
uct nbcon_write_context *wctxt
> }
> }
>=20
> - while (!nbcon_enter_unsafe(wctxt))
> - nbcon_reacquire_nobuf(wctxt);
> + while (!nbcon_enter_unsafe(wctxt)) {
> + if (!nbcon_reacquire_nobuf(wctxt))
> + return;
> + }
>=20
> while ((pl011_read(uap, REG_FR) ^ uap->vendor->inv_fr) & uap->vendor->f=
r_busy)
> cpu_relax();
> diff --git a/include/linux/console.h b/include/linux/console.h
> index 8f10d0a85..ae278b875 100644
> --- a/include/linux/console.h
> +++ b/include/linux/console.h
> @@ -604,14 +604,14 @@ extern void nbcon_cpu_emergency_exit(void);
> extern bool nbcon_can_proceed(struct nbcon_write_context *wctxt);
> extern bool nbcon_enter_unsafe(struct nbcon_write_context *wctxt);
> extern bool nbcon_exit_unsafe(struct nbcon_write_context *wctxt);
> -extern void nbcon_reacquire_nobuf(struct nbcon_write_context *wctxt);
> +extern bool nbcon_reacquire_nobuf(struct nbcon_write_context *wctxt);
> #else
> static inline void nbcon_cpu_emergency_enter(void) { }
> static inline void nbcon_cpu_emergency_exit(void) { }
> static inline bool nbcon_can_proceed(struct nbcon_write_context *wctxt) =
{ return false; }
> static inline bool nbcon_enter_unsafe(struct nbcon_write_context *wctxt)=
{ return false; }
> static inline bool nbcon_exit_unsafe(struct nbcon_write_context *wctxt) =
{ return false; }
> -static inline void nbcon_reacquire_nobuf(struct nbcon_write_context *wct=
xt) { }
> +static inline bool nbcon_reacquire_nobuf(struct nbcon_write_context *wct=
xt) { }
> #endif
>=20
> extern int console_set_on_cmdline;
> diff --git a/kernel/printk/nbcon.c b/kernel/printk/nbcon.c
> index fd12efcc4..ec016bb24 100644
> --- a/kernel/printk/nbcon.c
> +++ b/kernel/printk/nbcon.c
> @@ -909,14 +909,18 @@ EXPORT_SYMBOL_GPL(nbcon_exit_unsafe);
> * output buffer because that has been lost. This function cannot be use=
d to
> * resume printing.
> */
> -void nbcon_reacquire_nobuf(struct nbcon_write_context *wctxt)
> +bool nbcon_reacquire_nobuf(struct nbcon_write_context *wctxt)
> {
> struct nbcon_context *ctxt =3D &ACCESS_PRIVATE(wctxt, ctxt);
>=20
> - while (!nbcon_context_try_acquire(ctxt))
> + while (!nbcon_context_try_acquire(ctxt)) {
> cpu_relax();
> + if (other_cpu_in_panic())
> + return false;
> + }
>=20
> nbcon_write_context_set_buf(wctxt, NULL, 0);
> + return true;
> }
> EXPORT_SYMBOL_GPL(nbcon_reacquire_nobuf);



Return-Path: <linux-kernel+bounces-673988-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A544D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:50:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 852A87A8047
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:49:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E8B341F4CB1;
Thu, 5 Jun 2025 02:50:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="MPdohg4N"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5FE484A0C;
Thu, 5 Jun 2025 02:50:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.9
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091816; cv=fail; b=FWf5bsNOOKjAtejMDVQlmN3bGyfLH0SnJ+Byi1a0aabCF3arQzzx9BKLNggYHz+FVjnuSGbeg5q9pJBvxHd+B6slcxOOjYupDBfZUj5x4xq5BXWfK4WJojX2IwmlOraqHP9D3AHyqWgzHUxzFUcIc6wj9snq2LPBDf7iWB+IJzc=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091816; c=relaxed/simple;
bh=YmY9/p35gK+6HSTQlBQYII5OFlBZGj8BUpI2eTqx5V0=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=u9KHGwRFhib+t7s+Ut1u+xZgaG6Y3RrZ1JHc/YmUn7NPhRl0wWXs6cSo7wvwr0qN5V/FLrEqxX74th5Sdidb7vZ3Li271PmrW52yHDr3W5mf+G+xqnfdGW84y1cvxtR/NgInTGx70tWY0M+hoKqzFzHjcuPeRZBSjFoc+tN07iQ=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=MPdohg4N; arc=fail smtp.client-ip=192.198.163.9
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749091815; x=1780627815;
h=date:from:to:cc:subject:message-id:reply-to:references:
in-reply-to:mime-version;
bh=YmY9/p35gK+6HSTQlBQYII5OFlBZGj8BUpI2eTqx5V0=;
b=MPdohg4N9+VDqOZ5OsbwZg3dhsK9pIYem3usHuI0g7P3tBN15laYEco9
bX5hmaIJX8VsxdNGN3K6+CNVMML5kjgLi7ZE9Kdvy29lTARDmMUdL/hUN
PsrYnNCxJfL0gZrsqaQjLzQwdlyn4Fby4YbuO09NEWMfTBAyfQu7DKKxf
9Gm+TXPhGsWqjg3yl7kH+DwfVAWuQ3dJ18dLw2Ly022aozaCJI9qb0UFV
Cm7/Wys8gUdB+1KnEifLuYF8pV6nn6DBMCCu68nJTW7M+GX9XmyM5fu4I
1C9TKx6mVfnavPPtI3NcBRZWTsTd3OZ2voikTkoCj0koi2l1eM+14YmxL
A==;
X-CSE-ConnectionGUID: 3yWNzdpVTZ+h6hw2BJYjYQ==
X-CSE-MsgGUID: AV9TTtNMRF6CF7Hk/YzU2A==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="61864011"
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="61864011"
Received: from fmviesa008.fm.intel.com ([10.60.135.148])
by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:50:15 -0700
X-CSE-ConnectionGUID: FAwGwC1aQauydGK8ZErFlg==
X-CSE-MsgGUID: uwxiO07gRo6mlAN8QSzUXw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,210,1744095600";
d="scan'208";a="145709667"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by fmviesa008.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 19:50:12 -0700
Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:50:11 -0700
Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 19:50:11 -0700
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (40.107.243.70)
by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 19:50:11 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=QunL98ypijxrIt8x1EQ9xmCLMvny0z/fkeihg1pSlXgxu06VL+n7lP1FlLqnlYskq7vnEzPI2gEP627xahGn+FuGL6kBRyvsfT/+AGE+LI6hbBtM//eYaPbBbYHOjJdUM/esQPt6jUdy9RCGH1faG/t9IzQACKuc/qVk79PIXx3aXq29LMavyNl7d6zxz8JjxXoPJ+SKl0rS7a65LShgl71ExyaJQF6Mv2GsQxNoCy8z8Fd9TLBzaTokTr3eGxgPJwLGM2PQi0kfPZ5ZC55bOA8wAt9OWqdX2DBpa4Sf1DAxpJBj0cKVkIBKj581/ph7fYcB2u/MZ25FhiLxUMVDmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=zng59T4AIvAPt5zlKQqRTl0j/lMyYzkJrRNTvlyvTAY=;
b=fazWlphAscYkLir/hZGpaAOnyddlagCLryBYjahMNn9l/0XEsUnrm+ysLvTxtxU3dgfi2x8U9wWRr5iaHKcWuHkhPxJTWABR/SHXMRjMKmb6gn8wmhwRzjpxVYdsYxBSQc+hRl1Fwet50sJPnkfZF5jqctU1SukKG52nh+C0o/Pnaftoba3pbpH+IL23rmbM2dvdiaJ3IKYdI/T6ek0UPRsQXMJokh411DP3RvCOf0Rdmo7w7pvK2iYm4k1nnJHtQWtl4T2bM2pRyLs3G22A4ADjexhllojSZGP+sQyszP91yQNpz5ZM1ZcsjBVfQgoMcsvfMxcb/zg3GFFXtO1RSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) by
SN7PR11MB7994.namprd11.prod.outlook.com (2603:10b6:806:2e6::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.37; Thu, 5 Jun
2025 02:49:55 +0000
Received: from DS7PR11MB5966.namprd11.prod.outlook.com
([fe80::e971:d8f4:66c4:12ca]) by DS7PR11MB5966.namprd11.prod.outlook.com
([fe80::e971:d8f4:66c4:12ca%5]) with mapi id 15.20.8769.037; Thu, 5 Jun 2025
02:49:55 +0000
Date: Thu, 5 Jun 2025 10:47:33 +0800
From: Yan Zhao <yan.y.zhao@xxxxxxxxx>
To: Ackerley Tng <ackerleytng@xxxxxxxxxx>
CC: <vannapurve@xxxxxxxxxx>, <pbonzini@xxxxxxxxxx>, <seanjc@xxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <kvm@xxxxxxxxxxxxxxx>, <x86@xxxxxxxxxx>,
<rick.p.edgecombe@xxxxxxxxx>, <dave.hansen@xxxxxxxxx>,
<kirill.shutemov@xxxxxxxxx>, <tabba@xxxxxxxxxx>, <quic_eberman@xxxxxxxxxxx>,
<michael.roth@xxxxxxx>, <david@xxxxxxxxxx>, <vbabka@xxxxxxx>,
<jroedel@xxxxxxx>, <thomas.lendacky@xxxxxxx>, <pgonda@xxxxxxxxxx>,
<zhiquan1.li@xxxxxxxxx>, <fan.du@xxxxxxxxx>, <jun.miao@xxxxxxxxx>,
<ira.weiny@xxxxxxxxx>, <isaku.yamahata@xxxxxxxxx>, <xiaoyao.li@xxxxxxxxx>,
<binbin.wu@xxxxxxxxxxxxxxx>, <chao.p.peng@xxxxxxxxx>
Subject: Re: [RFC PATCH 08/21] KVM: TDX: Increase/decrease folio ref for huge
pages
Message-ID: <aEEFRXF+HrZVh5He@xxxxxxxxxxxxxxxxxxxxxxxxx>
Reply-To: Yan Zhao <yan.y.zhao@xxxxxxxxx>
References: <aCVZIuBHx51o7Pbl@xxxxxxxxxxxxxxxxxxxxxxxxx>
<diqzfrgfp95d.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <diqzfrgfp95d.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-ClientProxiedBy: KL1PR01CA0107.apcprd01.prod.exchangelabs.com
(2603:1096:820:3::23) To DS7PR11MB5966.namprd11.prod.outlook.com
(2603:10b6:8:71::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS7PR11MB5966:EE_|SN7PR11MB7994:EE_
X-MS-Office365-Filtering-Correlation-Id: 6f20841c-89b6-4c7d-17c0-08dda3dba703
X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?tf0MPKov7j6YWTx5LjT+at54T7gLb2UWeX1JzcK1NF+2f+sknxoWw7khy3sZ?=
=?us-ascii?Q?rgrjHfUZ5vG/F+HE8Kwoqj2aBekj2O7M01CkRHQyBugzNA1FXsUI4Fg/INKc?=
=?us-ascii?Q?Wws4z9d+DFTp+8a3QkAELP8rfoG8gYvc0gVwJgqm6/JC2EpOlnFYlRcXZAPD?=
=?us-ascii?Q?v9tJhLKb+DkNScFMA3zuyCJah6xiG6l+UyEvjMoQQEpckTjVnerD2xzNzBuS?=
=?us-ascii?Q?sLXqkbHDLYHBoWdgaLj57hda5CV+8kdZR49LnrABchnk6Hg7di0fLk8Hv/q2?=
=?us-ascii?Q?q6O6ut9UML/lKCaFekxdcAd5XkJVQMHNQK3KaNe3+NOVvU/Keln1Ax6W+WxD?=
=?us-ascii?Q?i6kGKPbc/AFsAuyqlPxi/S/IUaXhK0AVaaUFjzSylMKuQ74cRZ2ZnyAwrVdq?=
=?us-ascii?Q?mlRL8NlPsX6WAXPRJUFlybxpc37PsUehuF5Nc9CnzrENcROlDePgjRR7dc7V?=
=?us-ascii?Q?WqWyjCeSlxcbHZ3FtcXFaEQUGGmV/ydaJbxXgyjA7aQ7lP4wp2RnYwhFxFRF?=
=?us-ascii?Q?TWyEQg9X6xmHpmKzilp4y5mWaqyiFFFdJ6gDECO6uoL4AXZcjic8jrMhRa7q?=
=?us-ascii?Q?7RTgcZYPxhd2/bwxf3TsW8RmF6dh9iQWBg/Bl1mGgZYOgDVholNbhDBsmgPY?=
=?us-ascii?Q?wEB4VwU20EnlXwUTjR4tpMIBLEvFwPPOwuS1xBEEB2fHPQj0mNs0gW7++0Jm?=
=?us-ascii?Q?gsH6g1WPt+yvQhrGUu5T/TmLAyqStisPrKdSGXA/uvfUFbAL/g5g4xuRh5++?=
=?us-ascii?Q?lmyvAsrALpCFbABg6GbTLKjniMLeIGq+HY6h+OLu27e/7iLmv+fRyeNC6Sk0?=
=?us-ascii?Q?jzbRbtN7W6sqKQTRzsXK//CND4nVqRBDhwfZKfsGAHACa8WBMqUvQVfZhX3j?=
=?us-ascii?Q?/rQfkv/mP8ILydmzaav563QjYNuijW7QqpaYIX0oJ2nhGk7PdjYxtzBx6cnS?=
=?us-ascii?Q?1bwNmnC2iosILFSr7GvWXYS14ymAgg+NStx0uYMCGT1d6OuoYwP5RTQxZyqI?=
=?us-ascii?Q?CtFUfm3F1hoZkObuyXmN1OTtLNedn6OuABEMDz2VhDKb8UFm21ARbbJzHlPz?=
=?us-ascii?Q?kIB16sCkcbUDCt7t0rWC+xW6/nMsgCezHr08mIR9r3G4dYOVWBSBqreXfFkH?=
=?us-ascii?Q?YncKfS8TyzEY6VLSwRgWEeMf5xa40VZHBqDOHY6xci3PJCveXj2wSJhUzYnV?=
=?us-ascii?Q?oedlK1iguX5kBz/EUygia+OUFQ8yD/+7PfMid43Ym30yEtDQ7/VtWDI1n4bR?=
=?us-ascii?Q?HE7h423hog7qSkODi4+RzQVaaOLTi5twi/TusTatBN9/bet9dJrWdJA1Vq9g?=
=?us-ascii?Q?818J/oHzbypYuEbGpWvPxe2ZFv6lkYhnJOrKHh7RZMYcAQTtqVGcrzwDtYf+?=
=?us-ascii?Q?jsB2XAFIN77Qv6ZaSq4/9QvgweGxlzp5/dz/31MH9+hJJChCDFMilvVy7+5z?=
=?us-ascii?Q?AXCnS5ROnXI=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR11MB5966.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TTVOVdIXfEieS0GQcR5gzq7v1x8rO99f8OQoBK5bdPOSN6OiVyRIt7UQAeti?=
=?us-ascii?Q?moeCKA1NHahm+/oXIQi2RmamfEpoEDld5gZ38Uz1yNMOcE5mzQufJD/3MuZa?=
=?us-ascii?Q?eQ/usLHb3vdrssWILQnrBUtAD8Y//dw6qTYi7c7uEygMZERgVW5jhWPqEnbO?=
=?us-ascii?Q?J/LxxHp0mr50wpr2QKkLWc+lMfZa6uM8pHSESJpL29WNgQL2xsaXO4thZtbB?=
=?us-ascii?Q?W3GRPLLKtqc6sThCsS9pcXJ4k6YlKhFtlqlCNsnGN8eh6518nhQZvfprdnNK?=
=?us-ascii?Q?T7SnN8abkyH012UPTpH0neYlBpP5NxIWUjCkhL12EZK72blEKm+7/fl9pGey?=
=?us-ascii?Q?FbB8EiaZFriAFU8f2Y903nwO6JzuOceqGUkFmx+j7gFazpxXMJI5FXFzu/Gk?=
=?us-ascii?Q?7DzijCEaWLhla7nEKi1Bmo2Uh2gKUHRB4u29xikNNVJnVDcBAJlg/w8ZKQ8j?=
=?us-ascii?Q?Nt+EMu1+WmKup/Fwkl5Gqonix1Zj8wt/oKRrnYWEzV/jk0NI93tWngNrX7gF?=
=?us-ascii?Q?xb60Vv2szK1KJFCbNJUGfLnAd3mgYmcQeb65aQx2y4bVrifEg6vy8v0VEcBN?=
=?us-ascii?Q?/oVwghSrVu2hMNLQIpcd+jNTvzW7q8bmrhbbeAJ6dKlWLjsO9pQ3AEVjubGW?=
=?us-ascii?Q?B8l73qZAIA43mxlav1APaoMsbOp6vJD9JGt/P+ttlKQKkPshTke1mTuYrfe1?=
=?us-ascii?Q?i/mp58XYJHzcDnD2HzYcyhpu2cPIfd3xmJzSkPUJcpzN7KHJYjQClTYEwZZd?=
=?us-ascii?Q?7+fpnhq2XcBuR7iYjZpPxTX9JjwmNttQoYpJyR6HJcNUbPupxL3azNZ0idwV?=
=?us-ascii?Q?RECa+T+YwOSEzTk+os9maDhl7vxsRa8vlQosyvL/z11wHYHpN1J7ofo4GLMA?=
=?us-ascii?Q?VPaPd5BhVF9TejvDFeMm/Fqy3xTLuBEC+IS59VSjuwbzbEMezlJItHlgJGli?=
=?us-ascii?Q?jAZmj900Q7khYSmbAis8hYb4EKVrDa7O8zU2bPr8SfK5IIy7RvPuK5pSVZUR?=
=?us-ascii?Q?SY4Ylfqcmd7TKV/jqbfwZDrLkcr4t5L6q5sQYfozbjzB/6+NGDqpsNLGFznk?=
=?us-ascii?Q?EUPFRjLyxdb9dnH7cVlx8wXZIg+RubgTvEVG5+zmyhPInuaRJshjuGAUDYGz?=
=?us-ascii?Q?W4DKDAlriCqISAr52TnbuAfdVGNRv+qvV0jjU1LLYne9Szv4uj+FiOfpxXn/?=
=?us-ascii?Q?0SaJCTwlS1YqxIZOQisX2eQPRK3iTaty7CKfOF788E9RKa1PtgpUCJ5MAgcv?=
=?us-ascii?Q?Blv/RKzwkSpEXry4QFQMGI4720tykfvMIC1mKd0/IhpQ1maqmRg96KhkRN3i?=
=?us-ascii?Q?r6r79RDNSYw3lRCY0fMJMjnaPnObsPCLi2Z4GDLOWdM5HcdQKbgo8R6YtcOr?=
=?us-ascii?Q?K7UWdvGGule++Ea/rvDkqi3qcDvmAp5N9oyVbAJAcY/TBW4YrY20FIoj9P/i?=
=?us-ascii?Q?uHi+yQPgPJe+YXEiU4lhwR6jni2sYMz0USgLERTejg9IrehvOSXAZZBhLejt?=
=?us-ascii?Q?J+arQJXlsnlwR75zbbzK5Zf+2VfrVEyIzjGj1rxiieZDkbd0E68FZE+ZkVSD?=
=?us-ascii?Q?6qPTKHryzVNe2w9XLNr6nOPUUmfHvXVsk3jwmlg3?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f20841c-89b6-4c7d-17c0-08dda3dba703
X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB5966.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 02:49:55.3580
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oi0D91dPfyaX5JXVbdpS2oSQqUUEe9mI7M+Kk5iTvm3JjjZPU63/OV1izEBWHtjmUCsTR3bkpE3Bo7tNBpQwTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB7994
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 01:02:54PM -0700, Ackerley Tng wrote:
> Hi Yan,
>
> While working on the 1G (aka HugeTLB) page support for guest_memfd
> series [1], we took into account conversion failures too. The steps are
> in kvm_gmem_convert_range(). (It might be easier to pull the entire
> series from GitHub [2] because the steps for conversion changed in two
> separate patches.)
...
> [2] https://github.com/googleprodkernel/linux-cc/tree/gmem-1g-page-support-rfc-v2

Hi Ackerley,
Thanks for providing this branch.

I'm now trying to make TD huge pages working on this branch and would like to
report to you errors I encountered during this process early.

1. symbol arch_get_align_mask() is not available when KVM is compiled as module.
I currently workaround it as follows:

--- a/virt/kvm/guest_memfd.c
+++ b/virt/kvm/guest_memfd.c
@@ -102,8 +102,13 @@ static unsigned long kvm_gmem_get_align_mask(struct file *file,
void *priv;

inode = file_inode(file);
- if (!kvm_gmem_has_custom_allocator(inode))
- return arch_get_align_mask(file, flags);
+ if (!kvm_gmem_has_custom_allocator(inode)) {
+ page_size = 1 << PAGE_SHIFT;
+ return PAGE_MASK & (page_size - 1);
+ }


2. Bug of Sleeping function called from invalid context

[ 193.523469] BUG: sleeping function called from invalid context at ./include/linux/sched/mm.h:325
[ 193.539885] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 3332, name: guest_memfd_con
[ 193.556235] preempt_count: 1, expected: 0
[ 193.564518] RCU nest depth: 0, expected: 0
[ 193.572866] 3 locks held by guest_memfd_con/3332:
[ 193.581800] #0: ff16f8ec217e4438 (sb_writers#14){.+.+}-{0:0}, at: __x64_sys_fallocate+0x46/0x80
[ 193.598252] #1: ff16f8fbd85c8310 (mapping.invalidate_lock#4){++++}-{4:4}, at: kvm_gmem_fallocate+0x9e/0x310 [kvm]
[ 193.616706] #2: ff3189b5e4f65018 (&(kvm)->mmu_lock){++++}-{3:3}, at: kvm_gmem_invalidate_begin_and_zap+0x17f/0x260 [kvm]
[ 193.635790] Preemption disabled at:
[ 193.635793] [<ffffffffc0850c6f>] kvm_gmem_invalidate_begin_and_zap+0x17f/0x260 [kvm]

This is because add_to_invalidated_kvms() invokes kzalloc() inside kvm->mmu_lock
which is a kind of spinlock.

I workarounded it as follows.

static int kvm_gmem_invalidate_begin_and_zap(struct kvm_gmem *gmem,
pgoff_t start, pgoff_t end,
@@ -1261,13 +1268,13 @@ static int kvm_gmem_invalidate_begin_and_zap(struct kvm_gmem *gmem,
KVM_MMU_LOCK(kvm);
kvm_mmu_invalidate_begin(kvm);

- if (invalidated_kvms) {
- ret = add_to_invalidated_kvms(invalidated_kvms, kvm);
- if (ret) {
- kvm_mmu_invalidate_end(kvm);
- goto out;
- }
- }
}


@@ -1523,12 +1530,14 @@ static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len)
}

out:
- list_for_each_entry_safe(entry, tmp, &invalidated_kvms, list) {
- kvm_gmem_do_invalidate_end(entry->kvm);
- list_del(&entry->list);
- kfree(entry);
- }
+ list_for_each_entry(gmem, gmem_list, entry)
+ kvm_gmem_do_invalidate_end(gmem->kvm);

filemap_invalidate_unlock(inode->i_mapping);


Will let you know more findings later.

Thanks
Yan


Return-Path: <linux-kernel+bounces-673989-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4067C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:50:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CB8D91892955
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:51:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AC7D81F4C8E;
Thu, 5 Jun 2025 02:50:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XST2irsD"
Received: from mail-qt1-f175.google.com (mail-qt1-f175.google.com [209.85.160.175])
(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 605F34315A;
Thu, 5 Jun 2025 02:50:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.175
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749091840; cv=none; b=DpyFdsyVOQ79qSTgHjwdTCbiloj4+TAgKkMCA7wmKNV7KaUy4/VKA+Z9rlAIHJx7oeRykqFEI6iujb5zPW4XAtfRWqU2aO+/QwowtvXhNwslxmT1h5fTu9l3izPpcdNN7Ja1zn2zoWBSqDhMSqmANyOOQG9db2V9p/gcy7oxkw4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749091840; c=relaxed/simple;
bh=a0lA6W01R2d3Gmb2vP4nAHBWwF2STpi2fu87B2V21c4=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=SHKv/BF/+qTtyr5/B2i0RmnbEBQSxhfESCzKEM1DbFRpb0WOZhmyM5dR1UfMOLxuEkDj88Bm4nipnZ3CjCsqzqTcY1f84bC3v3aQqFusQQWfdP/bJydWVVbTa6KOnPeYDwXQeXKxAZbAfunN3q2n21ojnJV8yTY3sLbfQsNZeVM=
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=XST2irsD; arc=none smtp.client-ip=209.85.160.175
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
Received: by mail-qt1-f175.google.com with SMTP id d75a77b69052e-476a720e806so4386011cf.0;
Wed, 04 Jun 2025 19:50:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749091838; x=1749696638; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=TszH0hbfOo48Nx+Sd/ljYNEfxo2zQCreYc54y4+hX1k=;
b=XST2irsDUNoXQf1gIcSfVWgjSLEVMwCCFVwELILw1kx/jX0ThZC+O9xSfjaeA9tr8I
VA6kva2N5CSHM5IrnhLrS3u/82xwxRO8DleIs/dRtxYmfpOycvfry+A/zUmc4cSgwD3I
UPfwUe3hlPV2TP2JcI68XVUmAVQgK6yP3itpKrBFaodw6Wq+EwiwjpoM/sRnpK33m5B1
djvIpKAnyXrowcOOlPOICuOaZCrSO/WKWbJORJT59E9pdSHURfbXiAL1mQ/VfIMGFlaS
1DKC+eAKq++3U4EJn2XIcOtF78Dq0S9l6bJ2zfeZlMa0IwlNx5yCRde6z89hxRribu9z
YjRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749091838; x=1749696638;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=TszH0hbfOo48Nx+Sd/ljYNEfxo2zQCreYc54y4+hX1k=;
b=dBynZpp8HIdUIV94a06lvJrjQIX+iZ5TWVMjmiDbHh0aWI2XX5zx+mmkLOFuVQ4baP
cXs/1XwY0emh7+N0y/r9C4tkIUCnIhuX84XTDOJbnRUIpY9yrNUsXqDrt+HrXS4FQau0
IAa1c3mmkseEMISmtdRLy0FbLXOjH4suxc+Q+Xecfs9qyUIi4gOqLjcpTFglfjJehKdF
Obtn8X37VFVc0LwcvlFwC3Uaqub5CgVPjJtvsyOntO1f0VFS/z5oxwob56pIgKFTavaV
NjVL/+gnd9SvbB9QtggB52f8zaQQObxu+WQmXQgvtvjwdJqbcBjekEMXMAWaHJeM2AAf
ZGGA==
X-Forwarded-Encrypted: i=1; AJvYcCUi3Xipi1yebs7M+LHdRet9Z/hqekPh+ozIAlAPaIZwMJrENMAK4Rj1MYCYygpHmD4Dr9QryA5m2hmk@xxxxxxxxxxxxxxx, AJvYcCWqi+JlwBH+zofGixPkKO78L9CLH7rVC+3/cJsPEVnwDJYtrKpkqZjIrfA70ZKw2RocBHm58TKde0gC0TU=@vger.kernel.org
X-Gm-Message-State: AOJu0YwjLB0KITRN2Mey74282SIyZkAh2+xlTyWB96i1aYiQ/9pteQaN
LzGqOOgO53dLcymQzdLzvaCqatU/oqb/CwannkiySERpAoBiAyMKXiwJ8KbSuiRUGeNXBJNz6Gh
1WrkeWGUVuHq2XHYXpMEjd1owQH3xeHI=
X-Gm-Gg: ASbGncucYhuSp6kfakg2QnGYAaEHtxbfS9YBU71uFRwONQ7BOyiH40Yn7vh/cMEnw91
0fijSBKWe7A39JG3HtBco8UTK1Q3/4pIP63IbLWmkXxfSUvX0DQaQT1YhsUr42I0BjWEn/nyYeB
FG73XhqTLTpHKqElx4FwTY4kI4nk9PnLl/+UTpbAOSgi8=
X-Google-Smtp-Source: AGHT+IGyPSRFffvnJ94uVKh8wE6ujjAeqWJS1x4BZTCbP+QFhtzsndUYiALZ9ZDytT6yCtI5W08uwkboUZeuG0lRC2Y=
X-Received: by 2002:a05:622a:410a:b0:4a4:4da5:8b55 with SMTP id
d75a77b69052e-4a5a688be84mr81253291cf.28.1749091837149; Wed, 04 Jun 2025
19:50:37 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250604-testing-v1-1-e28a8e161e4f@xxxxxxxxxx>
In-Reply-To: <20250604-testing-v1-1-e28a8e161e4f@xxxxxxxxxx>
From: lei lu <llfamsec@xxxxxxxxx>
Date: Thu, 5 Jun 2025 10:50:25 +0800
X-Gm-Features: AX0GCFuwn0UYns3XiHPhlUCQ_zxWymZcS0BQFNWljKG_oprk8ZsjwY8-CnxikX8
Message-ID: <CAEBF3_Z_J6b4xJwM6k_SX4EjEGvOAmRTH1_KLd+1fk_027LWVQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH] nfsd: handle get_client_locked() failure in nfsd4_setclientid_confirm()
To: Jeff Layton <jlayton@xxxxxxxxxx>
Cc: Chuck Lever <chuck.lever@xxxxxxxxxx>, NeilBrown <neil@xxxxxxxxxx>,
Olga Kornievskaia <okorniev@xxxxxxxxxx>, Dai Ngo <Dai.Ngo@xxxxxxxxxx>, Tom Talpey <tom@xxxxxxxxxx>,
linux-nfs@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, Jun 5, 2025 at 12:01=E2=80=AFAM Jeff Layton <jlayton@xxxxxxxxxx> wr=
ote:
>
> Lei Lu recently reported that nfsd4_setclientid_confirm() did not check
> the return value from get_client_locked(). a SETCLIENTID_CONFIRM could
> race with a confirmed client expiring and fail to get a reference. That
> could later lead to a UAF.
>
> Fix this by getting a reference early in the case where there is an
> extant confirmed client. If that fails then treat it as if there were no
> confirmed client found at all.
>
> In the case where the unconfirmed client is expiring, just fail and
> return the result from get_client_locked().
>
> Reported-by: lei lu <llfamsec@xxxxxxxxx>
> Closes: https://lore.kernel.org/linux-nfs/CAEBF3_b=3DUvqzNKdnfD_52L05Mqrq=
ui9vZ2eFamgAbV0WG+FNWQ@xxxxxxxxxxxxxx/
> Fixes: d20c11d86d8f ("nfsd: Protect session creation and client confirm u=
sing client_lock")
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> ---
> I ran this vs. pynfs and it seemed to do OK. lei lu, can you test this
> patch vs. your reproducer and tell us whether it fixes it?

Patch works for me, the issue is fixed.

Thanks,
LL

> ---
> fs/nfsd/nfs4state.c | 20 +++++++++++++++-----
> 1 file changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> index d5694987f86fadab985e55cce6261ad680e83b69..d61a7910dde3b8536b8715c2e=
ebd1f1faec95f8f 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -4697,10 +4697,16 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
> }
> status =3D nfs_ok;
> if (conf) {
> - old =3D unconf;
> - unhash_client_locked(old);
> - nfsd4_change_callback(conf, &unconf->cl_cb_conn);
> - } else {
> + if (get_client_locked(conf) =3D=3D nfs_ok) {
> + old =3D unconf;
> + unhash_client_locked(old);
> + nfsd4_change_callback(conf, &unconf->cl_cb_conn);
> + } else {
> + conf =3D NULL;
> + }
> + }
> +
> + if (!conf) {
> old =3D find_confirmed_client_by_name(&unconf->cl_name, n=
n);
> if (old) {
> status =3D nfserr_clid_inuse;
> @@ -4717,10 +4723,14 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
> }
> trace_nfsd_clid_replaced(&old->cl_clientid);
> }
> + status =3D get_client_locked(unconf);
> + if (status !=3D nfs_ok) {
> + old =3D NULL;
> + goto out;
> + }
> move_to_confirmed(unconf);
> conf =3D unconf;
> }
> - get_client_locked(conf);
> spin_unlock(&nn->client_lock);
> if (conf =3D=3D unconf)
> fsnotify_dentry(conf->cl_nfsd_info_dentry, FS_MODIFY);
>
> ---
> base-commit: 5abc7438f1e9d62e91ad775cc83c9594c48d2282
> change-id: 20250604-testing-8d988ff48076
>
> Best regards,
> --
> Jeff Layton <jlayton@xxxxxxxxxx>
>


Return-Path: <linux-kernel+bounces-673990-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A27D241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 22:54:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id DB5CC3AA330
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:54:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0E4CD1F4C8E;
Thu, 5 Jun 2025 02:54:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="azzJhR+M"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CE54C4A0C;
Thu, 5 Jun 2025 02:54:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749092061; cv=none; b=hONwwxC+eOZQ/tvufycziuVXRYr7BtrsmOUp7R0sMitixh2LjrQvAPIkofI5BKoACVmEWhw5Zvsw2NAiX9BzZFNmCZ9jK58poLzCUCw+3Mv3Wp8A7pmf28abEWaVCYZyeiuzAYG/1VR9HukdaEGyPOb3AFqw1xnxNNCtnmKyMJs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749092061; c=relaxed/simple;
bh=PJJgebzDlpuLcMgzkRI9FGQWrwH4gFo+M+CSWvTJy8U=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=gC1QJnr5NZaT76ct36E/5Z6FMm89UgxzPBlqKeBQ2WWhEfVPAHJt7F23qOXCEyOLB/FvAN9JxaR/rO/blqpXMhUQgKbrMcJD6U2QJD4/jOc3pOxJbbqNN2/PnYx+cIVEWoT+06LpNu/TwJCsKY0H1CmDtR6Mei/AKXxWeGyx/fg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=azzJhR+M; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 07B1BC4CEE4;
Thu, 5 Jun 2025 02:54:16 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749092060;
bh=PJJgebzDlpuLcMgzkRI9FGQWrwH4gFo+M+CSWvTJy8U=;
h=From:To:Cc:Subject:Date:From;
b=azzJhR+MFHcz6L75s26/nG2H6XHHnh2vOIv/zD79mZ+PpDB1sN6bVyqxwA086MNiL
A+SLiTMSm5mSznZmtoU5K8zw9tVyr/Wod64X+bkUszkczM2KgRG6dCz/SOzbRutYxo
En7Hz8RynbJJnUFDG1gTBn6mC/ADRFK3IZxJWxIJ345/GliZCEEBLTbyz4x9KokDQ3
f9epdmctGarh4t00y2hBTUJNk+FnM2FIHow5bgL4WL5WHk+n8uCinMs6MA6fUZgSo2
sfu0yRDVO7jn1x8RMyR1QpVRB9zoc4cOkyk9DzzkgWZ7kW67yt/zt1lxNhLmNOdq8N
OMnKomfHhPFHg==
From: Miguel Ojeda <ojeda@xxxxxxxxxx>
To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Miguel Ojeda <ojeda@xxxxxxxxxx>,
Alex Gaynor <alex.gaynor@xxxxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>,
Gary Guo <gary@xxxxxxxxxxx>,
=?UTF-8?q?Bj=C3=B6rn=20Roy=20Baron?= <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <benno.lossin@xxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>,
Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>,
rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [GIT PULL] Rust for 6.16
Date: Thu, 5 Jun 2025 04:54:00 +0200
Message-ID: <20250605025400.244965-1-ojeda@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,WEIRD_PORT
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Linus,

This is the next round of the Rust support.

We continue to expand our use of sub-trees -- this time around I am
carrying four merges.

There are a few conflicts, including semantic ones, but they are all
easy to apply. The resolutions in the latest linux-next are fine; I also
did a test merge -- please check either to catch the semantic ones:

https://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux.git rust-6.16-test-merge

All commits have been in linux-next since at least last week. If you use
linux-next as a reference, please look at next-20250604 or later, since
previous ones were missing a needed change.

Please pull for v6.16 -- thanks!

Cheers,
Miguel

The following changes since commit 82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3:

Linux 6.15-rc6 (2025-05-11 14:54:11 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux.git tags/rust-6.16

for you to fetch changes up to 7a17bbc1d952057898cb0739e60665908fbb8c72:

rust: list: Fix typo `much` in arc.rs (2025-05-29 23:35:44 +0200)

----------------------------------------------------------------
Rust changes for v6.16

Toolchain and infrastructure:

- KUnit '#[test]'s:

- Support KUnit-mapped 'assert!' macros.

The support that landed last cycle was very basic, and the
'assert!' macros panicked since they were the standard library
ones. Now, they are mapped to the KUnit ones in a similar way to
how is done for doctests, reusing the infrastructure there.

With this, a failing test like:

#[test]
fn my_first_test() {
assert_eq!(42, 43);
}

will report:

# my_first_test: ASSERTION FAILED at rust/kernel/lib.rs:251
Expected 42 == 43 to be true, but is false
# my_first_test.speed: normal
not ok 1 my_first_test

- Support tests with checked 'Result' return types.

The return value of test functions that return a 'Result' will be
checked, thus one can now easily catch errors when e.g. using the
'?' operator in tests.

With this, a failing test like:

#[test]
fn my_test() -> Result {
f()?;
Ok(())
}

will report:

# my_test: ASSERTION FAILED at rust/kernel/lib.rs:321
Expected is_test_result_ok(my_test()) to be true, but is false
# my_test.speed: normal
not ok 1 my_test

- Add 'kunit_tests' to the prelude.

- Clarify the remaining language unstable features in use.

- Compile 'core' with edition 2024 for Rust >= 1.87.

- Workaround 'bindgen' issue with forward references to 'enum' types.

- objtool: relax slice condition to cover more 'noreturn' functions.

- Use absolute paths in macros referencing 'core' and 'kernel' crates.

- Skip '-mno-fdpic' flag for bindgen in GCC 32-bit arm builds.

- Clean some 'doc_markdown' lint hits -- we may enable it later on.

'kernel' crate:

- 'alloc' module:

- 'Box': support for type coercion, e.g. 'Box<T>' to 'Box<dyn U>' if
'T' implements 'U'.

- 'Vec': implement new methods (prerequisites for nova-core and
binder): 'truncate', 'resize', 'clear', 'pop',
'push_within_capacity' (with new error type 'PushError'),
'drain_all', 'retain', 'remove' (with new error type
'RemoveError'), insert_within_capacity' (with new error type
'InsertError').

In addition, simplify 'push' using 'spare_capacity_mut', split
'set_len' into 'inc_len' and 'dec_len', add type invariant
'len <= capacity' and simplify 'truncate' using 'dec_len'.

- 'time' module:

- Morph the Rust hrtimer subsystem into the Rust timekeeping
subsystem, covering delay, sleep, timekeeping, timers. This new
subsystem has all the relevant timekeeping C maintainers listed in
the entry.

- Replace 'Ktime' with 'Delta' and 'Instant' types to represent a
duration of time and a point in time.

- Temporarily add 'Ktime' to 'hrtimer' module to allow 'hrtimer' to
delay converting to 'Instant' and 'Delta'.

- 'xarray' module:

- Add a Rust abstraction for the 'xarray' data structure. This
abstraction allows Rust code to leverage the 'xarray' to store
types that implement 'ForeignOwnable'. This support is a dependency
for memory backing feature of the Rust null block driver, which is
waiting to be merged.

- Set up an entry in 'MAINTAINERS' for the XArray Rust support.
Patches will go to the new Rust XArray tree and then via the Rust
subsystem tree for now.

- Allow 'ForeignOwnable' to carry information about the pointed-to
type. This helps asserting alignment requirements for the pointer
passed to the foreign language.

- 'container_of!': retain pointer mut-ness and add a compile-time check
of the type of the first parameter ('$field_ptr').

- Support optional message in 'static_assert!'.

- Add C FFI types (e.g. 'c_int') to the prelude.

- 'str' module: simplify KUnit tests 'format!' macro, convert
'rusttest' tests into KUnit, take advantage of the '-> Result'
support in KUnit '#[test]'s.

- 'list' module: add examples for 'List', fix path of 'assert_pinned!'
(so far unused macro rule).

- 'workqueue' module: remove 'HasWork::OFFSET'.

- 'page' module: add 'inline' attribute.

'macros' crate:

- 'module' macro: place 'cleanup_module()' in '.exit.text' section.

'pin-init' crate:

- Add 'Wrapper<T>' trait for creating pin-initializers for wrapper
structs with a structurally pinned value such as 'UnsafeCell<T>' or
'MaybeUninit<T>'.

- Add 'MaybeZeroable' derive macro to try to derive 'Zeroable', but
not error if not all fields implement it. This is needed to derive
'Zeroable' for all bindgen-generated structs.

- Add 'unsafe fn cast_[pin_]init()' functions to unsafely change the
initialized type of an initializer. These are utilized by the
'Wrapper<T>' implementations.

- Add support for visibility in 'Zeroable' derive macro.

- Add support for 'union's in 'Zeroable' derive macro.

- Upstream dev news: streamline CI, fix some bugs. Add new workflows
to check if the user-space version and the one in the kernel tree
have diverged. Use the issues tab [1] to track them, which should
help folks report and diagnose issues w.r.t. 'pin-init' better.

[1] https://github.com/rust-for-linux/pin-init/issues

Documentation:

- Testing: add docs on the new KUnit '#[test]' tests.

- Coding guidelines: explain that '///' vs. '//' applies to private
items too. Add section on C FFI types.

- Quick Start guide: update Ubuntu instructions and split them into
"25.04" and "24.04 LTS and older".

And a few other cleanups and improvements.

----------------------------------------------------------------
Alexandre Courbot (1):
rust: alloc: allow coercion from `Box<T>` to `Box<dyn U>` if T implements U

Alice Ryhl (7):
rust: alloc: add Vec::clear
rust: alloc: add Vec::pop
rust: alloc: add Vec::push_within_capacity
rust: alloc: add Vec::drain_all
rust: alloc: add Vec::retain
rust: alloc: add Vec::remove
rust: alloc: add Vec::insert_within_capacity

Altan Ozlu (1):
rust: static_assert: add optional message

Andrew Ballance (3):
rust: alloc: add Vec::truncate method
rust: alloc: add Vec::resize method
rust: replace rustdoc references to alloc::format

Benno Lossin (12):
rust: pin-init: synchronize README.md
rust: pin-init: internal: skip rustfmt formatting of kernel-only module
rust: pin-init: examples: conditionally enable `feature(lint_reasons)`
rust: pin-init: examples: use `allow` instead of `expect`
rust: pin-init: add `cast_[pin_]init` functions to change the initialized type
rust: pin-init: allow `pub` fields in `derive(Zeroable)`
rust: pin-init: allow `Zeroable` derive macro to also be applied to unions
rust: pin-init: add `MaybeZeroable` derive macro
rust: pin-init: fix typos
rust: pin-init: improve documentation for `Zeroable` derive macros
MAINTAINERS: mailmap: update Benno Lossin's email address
rust: list: fix path of `assert_pinned!`

Christian Schrefl (4):
rust: pin-init: Add the `Wrapper` trait.
rust: pin-init: Implement `Wrapper` for `UnsafePinned` behind feature flag.
rust: pin-init: Update Changelog and Readme
rust: pin-init: Update the structural pinning link in readme.

Danilo Krummrich (1):
rust: alloc: add missing invariant in Vec::set_len()

FUJITA Tomonori (6):
rust: hrtimer: Add Ktime temporarily
rust: time: Add PartialEq/Eq/PartialOrd/Ord trait to Ktime
rust: time: Introduce Delta type
rust: time: Introduce Instant type
MAINTAINERS: rust: Add a new section for all of the time stuff
rust: module: place cleanup_module() in .exit.text section

Gary Guo (1):
rust: compile libcore with edition 2024 for 1.87+

I Hsin Cheng (2):
rust: list: Use "List::is_empty()" to perform checking when possible
rust: list: Add examples for linked list

Igor Korotin (2):
rust: use absolute paths in macros referencing core and kernel
docs: rust: quick-start: update Ubuntu instructions

Jihed Chaibi (1):
rust: str: fix typo in comment

Kunwu Chan (1):
rust: page: optimize rust symbol generation for Page

Miguel Ojeda (25):
docs: rust: explain that `///` vs. `//` applies to private items too
rust: uaccess: take advantage of the prelude and `Result`'s defaults
rust: clarify the language unstable features in use
Merge tag 'rust-timekeeping-for-v6.16-v2' of https://github.com/Rust-for-Linux/linux into rust-next
Merge tag 'rust-xarray-for-v6.16' of https://github.com/Rust-for-Linux/linux into rust-next
Merge tag 'pin-init-v6.16' of https://github.com/Rust-for-Linux/linux into rust-next
Merge tag 'alloc-next-v6.16-2025-05-13' of https://github.com/Rust-for-Linux/linux into rust-next
rust: remove unneeded Rust 1.87.0 `allow(clippy::ptr_eq)`
objtool/rust: relax slice condition to cover more `noreturn` Rust functions
rust: workaround `bindgen` issue with forward references to `enum` types
rust: add C FFI types to the prelude
rust: platform: fix docs related to missing Markdown code spans
rust: alloc: add missing Markdown code spans
rust: alloc: add missing Markdown code span
rust: pci: fix docs related to missing Markdown code spans
rust: task: add missing Markdown code spans and intra-doc links
rust: dma: add missing Markdown code span
rust: kunit: support KUnit-mapped `assert!` macros in `#[test]`s
rust: kunit: support checked `-> Result`s in KUnit `#[test]`s
rust: add `kunit_tests` to the prelude
rust: str: convert `rusttest` tests into KUnit
rust: str: simplify KUnit tests `format!` macro
rust: str: take advantage of the `-> Result` support in KUnit `#[test]`'s
Documentation: rust: rename `#[test]`s to "`rusttest` host tests"
Documentation: rust: testing: add docs on the new KUnit `#[test]` tests

Patrick Miller (1):
rust: make section names plural

Rudraksha Gupta (1):
rust: arm: fix unknown (to Clang) argument '-mno-fdpic'

Sylvan Smit (1):
rust: list: Fix typo `much` in arc.rs

Tamir Duberstein (11):
rust: alloc: use `spare_capacity_mut` to reduce unsafe
rust: alloc: add Vec::len() <= Vec::capacity invariant
rust: alloc: add `Vec::dec_len`
rust: alloc: refactor `Vec::truncate` using `dec_len`
rust: alloc: replace `Vec::set_len` with `inc_len`
rust: types: add `ForeignOwnable::PointedTo`
rust: xarray: Add an abstraction for XArray
MAINTAINERS: add entry for Rust XArray API
rust: retain pointer mut-ness in `container_of!`
rust: workqueue: remove HasWork::OFFSET
rust: check type of `$ptr` in `container_of!`

Xizhe Yin (1):
rust: convert raw URLs to Markdown autolinks in comments

.mailmap | 1 +
Documentation/rust/coding-guidelines.rst | 29 +++
Documentation/rust/quick-start.rst | 44 +++-
Documentation/rust/testing.rst | 80 +++++-
MAINTAINERS | 26 +-
init/Kconfig | 3 +
rust/Makefile | 19 +-
rust/bindings/bindings_helper.h | 28 ++
rust/ffi.rs | 2 +-
rust/helpers/helpers.c | 1 +
rust/helpers/xarray.c | 28 ++
rust/kernel/alloc.rs | 4 +-
rust/kernel/alloc/allocator_test.rs | 2 +-
rust/kernel/alloc/kbox.rs | 80 ++++--
rust/kernel/alloc/kvec.rs | 433 ++++++++++++++++++++++++++++---
rust/kernel/alloc/kvec/errors.rs | 61 +++++
rust/kernel/block/mq/gen_disk.rs | 2 +-
rust/kernel/device.rs | 26 +-
rust/kernel/device_id.rs | 4 +-
rust/kernel/dma.rs | 2 +-
rust/kernel/kunit.rs | 37 ++-
rust/kernel/lib.rs | 45 +++-
rust/kernel/list.rs | 115 +++++++-
rust/kernel/list/arc.rs | 6 +-
rust/kernel/miscdevice.rs | 10 +-
rust/kernel/page.rs | 2 +
rust/kernel/pci.rs | 17 +-
rust/kernel/platform.rs | 11 +-
rust/kernel/prelude.rs | 7 +-
rust/kernel/print.rs | 27 +-
rust/kernel/rbtree.rs | 23 +-
rust/kernel/static_assert.rs | 9 +-
rust/kernel/std_vendor.rs | 2 +-
rust/kernel/str.rs | 82 +++---
rust/kernel/sync/arc.rs | 25 +-
rust/kernel/task.rs | 4 +-
rust/kernel/time.rs | 167 +++++++++---
rust/kernel/time/hrtimer.rs | 24 +-
rust/kernel/time/hrtimer/arc.rs | 2 +-
rust/kernel/time/hrtimer/pin.rs | 2 +-
rust/kernel/time/hrtimer/pin_mut.rs | 4 +-
rust/kernel/time/hrtimer/tbox.rs | 2 +-
rust/kernel/types.rs | 46 ++--
rust/kernel/uaccess.rs | 6 +-
rust/kernel/workqueue.rs | 50 ++--
rust/kernel/xarray.rs | 275 ++++++++++++++++++++
rust/macros/helpers.rs | 17 ++
rust/macros/kunit.rs | 58 +++--
rust/macros/lib.rs | 15 +-
rust/macros/module.rs | 32 +--
rust/pin-init/README.md | 14 +-
rust/pin-init/examples/linked_list.rs | 1 +
rust/pin-init/examples/mutex.rs | 1 +
rust/pin-init/examples/pthread_mutex.rs | 4 +-
rust/pin-init/examples/static_init.rs | 1 +
rust/pin-init/internal/src/lib.rs | 6 +
rust/pin-init/internal/src/zeroable.rs | 27 +-
rust/pin-init/src/lib.rs | 144 +++++++++-
rust/pin-init/src/macros.rs | 91 ++++++-
scripts/Makefile.build | 9 +
scripts/generate_rust_analyzer.py | 13 +-
scripts/generate_rust_target.rs | 4 +-
scripts/rustdoc_test_builder.rs | 8 +-
scripts/rustdoc_test_gen.rs | 16 +-
tools/objtool/check.c | 3 +-
65 files changed, 1959 insertions(+), 380 deletions(-)
create mode 100644 rust/helpers/xarray.c
create mode 100644 rust/kernel/alloc/kvec/errors.rs
create mode 100644 rust/kernel/xarray.rs


Return-Path: <linux-kernel+bounces-673991-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 86A0741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:00:47 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id AEF137A80C9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:59:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E1DEF1E3DEB;
Thu, 5 Jun 2025 03:00:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OubdubNO"
Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169])
(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 D50858462;
Thu, 5 Jun 2025 03:00:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749092433; cv=none; b=FjiBdFEmP5PZXhDvoOI+4zHO4YO1S74YRZ0Yuy0uKtdGVPL6jyUFs8lnNnoHjTe3PgG7D9YL0uIgjNXqMnKi234go4ckDMBYn4uVgo0Wa6x2Q9Vbs91Gcxd6L5/Pu2/ver2Wf5ROAjS71n5+z/Net/wyAIG5DDpP9/3y3yZcG9w=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749092433; c=relaxed/simple;
bh=od8Srxi0ZDThkk/K8ZieVDKuC/Csm+DVoiedt/ryxPM=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=rOpYphNnThDjMV/i+TdZdOVX+d23N3PESnWqE2bynML87UEHA7Z17SRas1gC96wEn8hfGqrdjCRczS12N/Y5n0WfAvCG0N8mdc97f/wT1EHXQ7bSti+iX8d9wpF3VthAVP6x8e56qghcuK0tNeyWSKdg3iKGBifD+U6GPduwItc=
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=OubdubNO; arc=none smtp.client-ip=209.85.210.169
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
Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-747c2cc3419so415461b3a.2;
Wed, 04 Jun 2025 20:00:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749092431; x=1749697231; 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=Slde/kYagTx037Us5u9pqXevqwcUDRHPhGcdcmkeis0=;
b=OubdubNO0VVnv9EnCGM0YudYrbbucgqc9wqR1E3k7plaORlyRKqfbsQRmPEN5M8pr7
OFRogMANX6xJ10fZGVHMpmXnuwMdH2C8d0tjk+JwtWnOK8pXEqsYuHxeGJmuO5nh6omH
XViZ0xqPhkPBHWPDaSKWF2TdnpA5ivoiOZKkGS0g6LBijDswZf+YGmAWn9xOGG5ynB4y
xiGv3nLUSK+WnHQnMGBAtokALhgLluBy9QQieV6cB2xir3j3xP4c8rOgx8vpf2wdRjNM
8v6S0pbt5Oh6ChZKACLTSpsiKzMhcntVpJabhvpgjNMxSirf1aqnCaaDxoXDmLfmFmg5
p9zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749092431; x=1749697231;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=Slde/kYagTx037Us5u9pqXevqwcUDRHPhGcdcmkeis0=;
b=BEpfvTdXcXIMu9rbzWbMZdfgtrGqW1qx2trKop2QiUpodAmXVrgtAHLuYW4lxrIkrj
Td/sc8UK6PG1TT5PvGKUbcXAzzjyfmV3d92MKANA0dTUZvLG4sgE6EWUytz/Pe473oWQ
TbqiUpxv3GnSND5B8DFlbJb7w3AsmTmXqpm+jvL1QoTRhIGPfgjsSf0mAAkbNHdssdHO
zNWN3TNGXmRjYVS6oiVzu1NVYXA6XGcYsGNhjPDQV5MsrpeP/QAd9SaGcvsACZDDupTB
sEtLzdN+WgreUndD4hX4hmkkl4yzs3bZtvsf1IOTMt2/zowgH6f6rokwhVty47ap98os
2diw==
X-Forwarded-Encrypted: i=1; AJvYcCVVwZi4Hs9sZ4ySr9HuFrB0OU3079xB+w+f9k0mg9A2V69JMq1yEq7f5bzmyq4r5An4fSe1PofyEk90fvE=@vger.kernel.org
X-Gm-Message-State: AOJu0YyPcFo9bHUZZ8Hp6lUVD1YVPuH8gd7CRNhH8RU0+fz8q0xEYPWz
ZOn0kW3XatkzsEFEKVfa6+XoJDRycWCHRItnZNQBqMCGtaWPgIbmcxuL
X-Gm-Gg: ASbGncsrHZvEMyvkb9lT4dI9Uyt6cfgZSdJ2VXKeqoG/c6OrhtGoVKCGqCMfv/wIPFN
zvFE2Lf9e8CqODETdDQca2nlP8CnE47bej1LK8UN5yQ44z2OJEpnLNBJXtWqQvn9bf75KzcEVE4
6IYS4WiPGXxsScRkvn8n/vZPDwGScRGBE4aabB33GwCEeHwb8FbYwbewqO/BmQyPl+fei5xaBmg
xM56DiXbrd8e96V2pxdUh8hG/sNBc7K9GZx4XFBunSXATph+lrTRklfsMhjqIFRjzogj8AnrjK1
xZBFrjkawgnrOjQHEYGPeD113yO0Z61VySElzpa2jSREz3GTcO9nWdgVi6YkOw==
X-Google-Smtp-Source: AGHT+IGp8g8iik3RW6LdOVwHZPYHPYCXIc+7QLRz1H7jq6cTd3prufZaUyjdG7LXG7YLR9ql0G+naA==
X-Received: by 2002:a05:6a00:1823:b0:746:2591:e531 with SMTP id d2e1a72fcca58-7480b4974dfmr7198327b3a.12.1749092430882;
Wed, 04 Jun 2025 20:00:30 -0700 (PDT)
Received: from archie.me ([103.124.138.155])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-747bd44eb1asm10677468b3a.61.2025.06.04.20.00.29
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 20:00:29 -0700 (PDT)
Received: by archie.me (Postfix, from userid 1000)
id CEC9B4209E8C; Thu, 05 Jun 2025 10:00:26 +0700 (WIB)
Date: Thu, 5 Jun 2025 10:00:26 +0700
From: Bagas Sanjaya <bagasdotme@xxxxxxxxx>
To: =?utf-8?B?TsOtY29sYXMgRi4gUi4gQS4=?= Prado <nfraprado@xxxxxxxxxxxxx>,
Jonathan Corbet <corbet@xxxxxxx>
Cc: linux-doc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
Subject: Re: [PATCH v2 0/3] docs: some automarkup improvements
Message-ID: <aEEISsfy-O3DwXMJ@xxxxxxxxx>
References: <20250604143645.78367-1-corbet@xxxxxxx>
<ebeb020a-8403-441b-ab02-f017ffcb7b83@notapiano>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="EEjZrgwjpbfZiAAG"
Content-Disposition: inline
In-Reply-To: <ebeb020a-8403-441b-ab02-f017ffcb7b83@notapiano>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


--EEjZrgwjpbfZiAAG
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Jun 04, 2025 at 06:05:06PM -0400, N=C3=ADcolas F. R. A. Prado wrote:
> The only other thing I noticed is that the links in the sidebar still use=
the
> old style, since they rely on a different CSS selector for some reason:
>=20
> div.sphinxsidebar a {
> text-decoration: none;
> border-bottom: 1px dotted #999;
> }
>=20
> That makes it a bit inconsistent style-wise, so I think it'd be sensible =
to
> update that selector as well to follow suit.

It can be done simply by also applying the same style to aforementioned
selector:

---- >8 ----
diff --git a/Documentation/sphinx-static/custom.css b/Documentation/sphinx-=
static/custom.css
index c9991566f91488..14e1bb9c4e63eb 100644
--- a/Documentation/sphinx-static/custom.css
+++ b/Documentation/sphinx-static/custom.css
@@ -137,8 +137,9 @@ div.language-selection ul li:hover {
background: #dddddd;
}
=20
-/* Make xrefs more universally visible */
-a.reference, a.reference:hover {
+/* Make xrefs and sidebar links more universally visible */
+a.reference, a.reference:hover,
+div.sphinxsidebar a {
border-bottom: none;
text-decoration: underline;
text-underline-offset: 0.3em;

Thanks.

--=20
An old man doll... just what I always wanted! - Clara

--EEjZrgwjpbfZiAAG
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQSSYQ6Cy7oyFNCHrUH2uYlJVVFOowUCaEEIRwAKCRD2uYlJVVFO
o5r1AQCSfBjD1Q0WBtDnGDrAS2WvGCFR7odGDRswMdh0m8uE0AD8CKSSOn7a+uW0
PIcRkEq4dX+1fFt+rcbSt91j3zhf6QQ=
=yF4l
-----END PGP SIGNATURE-----

--EEjZrgwjpbfZiAAG--


Return-Path: <linux-kernel+bounces-673992-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3B44F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:03:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 598237A8795
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:02:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4DBF01E3DEB;
Thu, 5 Jun 2025 03:03:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZHKN0hlE"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D2278462;
Thu, 5 Jun 2025 03:03:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749092602; cv=none; b=BifIZDOKmqJhIe3jrSiRxBHpS9d3UL2shyw8KXjPp+kTM0Rvr9CwE1AXiC/GvVZufhsxSPBDGBdc3VxOOj5UE5uKTvCb7DbO6Cz7eizzv4BoUXY4TcIhdKNpxB+n1BdCSs1v9PS0Q6gVMaGCueXzbFQQFoLDcu3C9BEWoXDMGOg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749092602; c=relaxed/simple;
bh=puViIcy0fLmx48qFkHTXomeoMb2W/ioS2AUHaXZ54eA=;
h=Subject:From:In-Reply-To:References:Message-Id:Date:To:Cc; b=Ff2cpH/+M+ibU1ESKx/9hbXi8XKcGsySfJbBtXqR69XoQmYDQgveS2O08dg4OOE5sBpSKwEg5PXyAqzWH0CqKYeNGVzbHn5aj3qkyYAUTUCAM3+dq8R6IzWUzcKSMJQUYxwJinPHo4VT/5vkbZTME0AgFYz6xXonsVfb1/IRiNk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZHKN0hlE; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6A3C9C4CEE4;
Thu, 5 Jun 2025 03:03:22 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749092602;
bh=puViIcy0fLmx48qFkHTXomeoMb2W/ioS2AUHaXZ54eA=;
h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
b=ZHKN0hlEVfsOXvnmvvpqHgxmMWtvIFW1pTGWoHQb+Q9dxHU4zIBSQVw/OpKL7JaLK
UdmPB85jWmIz0vsMqd39pzf9uyzoI/RJlWKLCB2sUKOsUyyDxFtWfSpydxGOOcFbCz
tsVuCxjydyXUNBuSV3yHjC7BnJr9JhE3G+qbd6fzfrZlpQLVzexALfJTTa/A8hHy/W
CKerneXb9/gXyGM6NZ3aTtiTEF7Y7gICyUesm6grBZKRjqiZkBhuGSJgPQtJCdkZAi
dXTlz6Crm9bbegE3pCkteecWnEURvtd37OyxQ34sIlAYLG7ZvZZ3AfQ04Dj5/Zu8vV
uyIfM3mhwINZw==
Received: from [10.30.226.235] (localhost [IPv6:::1])
by aws-us-west-2-korg-oddjob-rhel9-1.codeaurora.org (Postfix) with ESMTP id AE0C1380CED9;
Thu, 5 Jun 2025 03:03:55 +0000 (UTC)
Subject: Re: [GIT PULL] ksmbd sever fixes
From: pr-tracker-bot@xxxxxxxxxx
In-Reply-To: <CAH2r5muDAU9fFmkDERtE_Dvrt2HgC4s9t1wH-uHG6B4vQH39iw@xxxxxxxxxxxxxx>
References: <CAH2r5muDAU9fFmkDERtE_Dvrt2HgC4s9t1wH-uHG6B4vQH39iw@xxxxxxxxxxxxxx>
X-PR-Tracked-List-Id: <linux-cifs.vger.kernel.org>
X-PR-Tracked-Message-Id: <CAH2r5muDAU9fFmkDERtE_Dvrt2HgC4s9t1wH-uHG6B4vQH39iw@xxxxxxxxxxxxxx>
X-PR-Tracked-Remote: git://git.samba.org/ksmbd.git tags/6.16-rc-ksmbd-server-fixes
X-PR-Tracked-Commit-Id: dc3e0f17f74558e8a2fce00608855f050de10230
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: d2fec01e89447729c7b9d722a8e7ef9d1184c7be
Message-Id: <174909263420.2554386.1610719925903832578.pr-tracker-bot@xxxxxxxxxx>
Date: Thu, 05 Jun 2025 03:03:54 +0000
To: Steve French <smfrench@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, CIFS <linux-cifs@xxxxxxxxxxxxxxx>, Namjae Jeon <linkinjeon@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The pull request you sent on Wed, 4 Jun 2025 18:20:46 -0500:

> git://git.samba.org/ksmbd.git tags/6.16-rc-ksmbd-server-fixes

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/d2fec01e89447729c7b9d722a8e7ef9d1184c7be

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


Return-Path: <linux-kernel+bounces-673993-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4257E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:03:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id E5424175078
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:03:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BC8B71F8ADD;
Thu, 5 Jun 2025 03:03:31 +0000 (UTC)
Received: from cstnet.cn (smtp20.cstnet.cn [159.226.251.20])
(using TLSv1.2 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 43CBA1F5617;
Thu, 5 Jun 2025 03:03:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.226.251.20
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749092611; cv=none; b=dd3vh96gCuGRUNL07dRHCwjLmLreKheZewSwJtR1aB9xG3GK9NAYZ8EnxXl4r+pslDjbOe+HMz7eusfr+DdUicOxlXzM6lsgTkyHz3zQB4XiabB237XofXaksd7hI5JESquL0pmL2eadJcLjW7qLs5vr1oUddhMMOBJ9pozSA4E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749092611; c=relaxed/simple;
bh=jg24Yo+Bw83kcQE5Zz+uHIe9HXkorbFQAvED/E/Ahmc=;
h=Date:From:To:Cc:Subject:Content-Type:MIME-Version:Message-ID; b=kF3X4mCiCyO36zzxW0HBtVJKQTI1wP7a2iJJQ0tTrdWEr/DU8tqDKdTopT1y1f+GUU0knkvdGcVHjv1l9rBSO0qAoXQx62tJ15BW1rmeccICuSl6d3sf7HpStRdMv+rRTfIrU9yBE9Dgr3byiWW9stTGvOceshpHUBlcPbQVJp0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ict.ac.cn; spf=pass smtp.mailfrom=ict.ac.cn; arc=none smtp.client-ip=159.226.251.20
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ict.ac.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ict.ac.cn
Received: from chenglingfei22s$ict.ac.cn ( [115.42.62.11] ) by
ajax-webmail-APP-10 (Coremail) ; Thu, 5 Jun 2025 11:02:51 +0800 (GMT+08:00)
Date: Thu, 5 Jun 2025 11:02:51 +0800 (GMT+08:00)
X-CM-HeaderCharset: UTF-8
From: =?UTF-8?B?56iL5YeM6aOe?= <chenglingfei22s@xxxxxxxxx>
To: sven@xxxxxxxxxxxxx, j@xxxxxxxxxx, alyssa@xxxxxxxxxxxxx, neal@xxxxxxxxx
Cc: zhangzhenwei22b@xxxxxxxxx, wangzhe12@xxxxxxxxx,
chenglingfei22s@xxxxxxxxx, maddy@xxxxxxxxxxxxx, mpe@xxxxxxxxxxxxxx,
npiggin@xxxxxxxxx, christophe.leroy@xxxxxxxxxx, naveen@xxxxxxxxxx,
andi.shyti@xxxxxxxxxx, asahi@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linuxppc-dev@xxxxxxxxxxxxxxxx,
linux-i2c@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: [BUG] rmmod i2c-pasemi-platform causing kernel crash on Apple M1.
X-Priority: 3
X-Mailer: Coremail Webmail Server Version 2024.1-cmXT5 build
20240627(e6c6db66) Copyright (c) 2002-2025 www.mailtech.cn cnic.cn
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset=UTF-8
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Message-ID: <5c598fea.3165d.1973e0a9a3a.Coremail.chenglingfei22s@xxxxxxxxx>
X-Coremail-Locale: zh_CN
X-CM-TRANSID:tACowABnWYXcCEForT8GAA--.62932W
X-CM-SenderInfo: xfkh0wpolqwwthlsj2g6lf3hldfou0/1tbiBgoEDmhA0QvjOgAAst
X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VW3Jw
CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI
daVFxhVjvjDU=
X-Spam-Status: No, score=0.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_SBL_CSS,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

SGksIGFsbCEKCldl4oCZdmUgZW5jb3VudGVyZWQgYSBrZXJuZWwgY3Jhc2ggd2hlbiBydW5uaW5n
IHJtbW9kIGkyYy1wYXNlbWktcGxhdGZvcm0gb24gYSBNYWMgTWluaSBNMSAoVDgxMDMpIHJ1bm5p
bmcgQXNhaGkgQXJjaCBMaW51eC4gCgpUaGUgYnVnIHdhcyBmaXJzdCBmb3VuZCBvbiB0aGUgTGlu
dXggdjYuNiwgd2hpY2ggaXMgYnVpbHQgbWFudWFsbHkgd2l0aCB0aGUgQXNhaGkgZ2l2ZW4gY29u
ZmlnIHRvIHJ1biBvdXIgc2VydmljZXMuIApBdCB0aGF0IHRpbWUsIHRoZSBpMmMtcGFzZW1pLXBs
YXRmb3JtIHdhcyBpMmMtYXBwbGUuCgpXZSBub3RpY2VkIGluIHRoZSBMaW51eCB2Ni43LCB0aGUg
cGFzZW1pIGlzIHNwbGl0dGVkIGludG8gdHdvIHNlcGFyYXRlIG1vZHVsZXMsIG9uZSBvZiB3aGlj
aCBpcyBpMmMtcGFzZW1pLXBsYXRmb3JtLgpUaGVyZWZvcmUsIHdlIGJ1aWx0IExpbnV4IHY2LjE0
LjYgYW5kIHRyaWVkIHRvIHJtbW9kIGkyYy1wYXNlbWktcGxhdGZvcm0gYWdhaW4sIHRoZSBjcmFz
aCBzdGlsbCBleGlzdHMuIE1vcmVvdmVyLCB3ZSBmZXRjaGVkIAp0aGUgbGF0ZXN0IGkyYy1wYXNl
bWktcGxhdGZvcm0gb24gbGludXgtbmV4dCg5MTE0ODNiMjU2MTJjOGJjMzJhNzA2YmE5NDA3Mzhj
YzQzMjk5NDk2KSBhbmQgYXNhaGksIGJ1aWx0IHRoZW0gYW5kIAp0ZXN0ZWQgYWdhaW4gd2l0aCBM
aW51eCB2Ni4xNC42LCBidXQgdGhlIGNyYXNoIHJlbWFpbnMuCgpCZWNhdXNlIGtleGVjIGlzIG5v
dCBzdXBwb3J0ZWQgYW5kIHdpbGwgbmV2ZXIgYmUgZnVsbHkgc3VwcG9ydGVkIG9uIEFwcGxlIFNp
bGljb24gcGxhdGZvcm1zIGR1ZSB0byBoYXJkd2FyZSBhbmQgZmlybXdhcmUgCmRlc2lnbiBjb25z
dHJhaW50cywgd2UgY2FuIG5vdCByZWNvcmQgdGhlIHBhbmljIGxvZ3MgdGhyb3VnaCBrZHVtcC4K
ClRodXMgd2UgdHJpZWQgdG8gZmluZCB0aGUgcm9vdCBjYXVzZSBvZiB0aGUgaXNzdWUgbWFudWFs
bHkuIFdoZW4gd2UgcGVyZm9ybSBybW1vZCwgdGhlIGtlcm5lbCBwZXJmb3JtcyBkZXZpY2UgcmVs
ZWFzaW5nIG9uIAp0aGUgaTJjIGJ1cywgdGhlbiBjYWxscyB0aGUgcmVtb3ZlIGZ1bmN0aW9uIGlu
IHNuZC1zb2MtY3M0Mmw4My1pMmMsIHdoaWNoIGNhbGxzIHRoZSBjczQybDQyX2NvbW1vbl9yZW1v
dmUgaW4gY3M0Mmw0MiwgCmJlY2F1c2UgY3M0Mmw0Mi0mZ3Q7aW5pdF9kb25lIGlzIHRydWUsIGl0
IHBlcmZvcm1zIHJlZ21hcF93cml0ZSwgYW5kIGZpbmFsbHkgY2FsbHMgaW50byBwYXNlbWlfc21i
X3dhaXRyZWFkeSBpbiBpMmMtcGFzZW1pCi1jb3JlLmMuIFdlIG5vdGljZWQgdGhhdCBzbWJ1cy0m
Z3Q7dXNlX2lycSBpcyB0cnVlLCBhbmQgYWZ0ZXIgaXQgY2FsbHMgaW50byB3YWl0X2Zvcl9jb21w
bGV0aW9uX3RpbWVvdXQsIHRoZSBzeXN0ZW0gY3Jhc2hzIQoKV2UgZm91bmQgdGhhdCB3YWl0X2Zv
cl9jb21wbGV0aW9uX3RpbWVvdXQgaXMgb25lIG9mIHRoZSBjb3JlIHNjaGVkdWxlciBBUElzIHVz
ZWQgYnkgdGVucyBvZiB0aG91c2FuZHMgb2Ygb3RoZXIgZHJpdmVycywKaXQgaXMgdW5saWtlbHkg
Y2F1c2luZyB0aGUgY3Jhc2guIFNvIHdlIHRyaWVkIHRvIHJlbW92ZSB0aGUgY2FsbCB0byB3YWl0
X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQsIHRoZW4gdGhlIHN5c3RlbSBzZWVtcyB0bwpydW4gd2Vs
bC4KCkhvd2V2ZXIsIGJlY2F1c2Ugd2UgaGF2ZSBsaXR0bGUga25vd2xlZGdlIGFib3V0IGkyYyBk
ZXZpY2VzIGFuZCBzcGVjaWZpY2F0aW9ucywgd2UgYXJlIG5vdCBzdXJlIHdoZXRoZXIgdGhpcyBj
aGFuZ2Ugd2lsbCAKY2F1c2Ugb3RoZXIgcG90ZW50aWFsIGhhcm1zIGZvciB0aGUgc3lzdGVtIGFu
ZCBkZXZpY2UuIElzIHRoaXMgY2FsbCB0byB3YWl0IG5lY2VzYXJ5IGhlcmU/IE9yIGNhbiB5b3Ug
Z2l2ZSBhIG1vcmUgCnNvcGhpc3RpY2F0ZWQgZml4PwoKV2XigJlyZSBoYXBweSB0byBwcm92aWRl
IGFkZGl0aW9uYWwgbG9ncywgY29uZmlncywgb3IgdGVzdGluZyBhc3Npc3RhbmNlLiBBbnkgZ3Vp
ZGFuY2Ugd291bGQgYmUgZ3JlYXRseSBhcHByZWNpYXRlZCEKCgo=


Return-Path: <linux-kernel+bounces-673994-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C9F8541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:04:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E70273AA2F7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:04:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 539541F7580;
Thu, 5 Jun 2025 03:04:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TrOfvcg/"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 915151EEE6;
Thu, 5 Jun 2025 03:04:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749092656; cv=none; b=QK8dM57zlskMXpTXNYukeSCamx88bcwfivliVuILoqW+AGPXLulw+O+KaM778262ttuUbOJ/XJUvmfQcUEbF9uhbVTP0dcOHxMwaOiKQk0uwHBO9V4lH3LvXJXAcs4b8z8rMwqVfSuTBvLSWLW/rO3fze0JFo5cu0MaP0smjqZ8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749092656; c=relaxed/simple;
bh=WtkDm5d2NT8dGTsNCqzoNNUL2xuXXF8++dgwNhnyBRs=;
h=Subject:From:In-Reply-To:References:Message-Id:Date:To:Cc; b=GSy6PX4cWZHFDXe5XLzzT4ZCIzjeIG/TZ0Q8NlGlluKoZdqXNQuVHwH2KUuiIvPOuAPaivsZadtCbmkR8LitnL7HY/CleIZWPc6CjqsUBUT4CYQaJTTteEEmvepswYbXJAkaY4Nt8rfXRlMtgcBMAKqiM6QrZJrMhjkgIxBDBks=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TrOfvcg/; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DE99C4CEE4;
Thu, 5 Jun 2025 03:04:16 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749092656;
bh=WtkDm5d2NT8dGTsNCqzoNNUL2xuXXF8++dgwNhnyBRs=;
h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
b=TrOfvcg/dRipROWdzIc1+Vgwo+eMOmZf4h/KcfVKInHN/teL8UI4E08k96KnU1ytb
Z6C9H9pwL8bfIqkAACHQas6fYsj7/xx+srYDGHcOFDRbA+7dQJB3mk0++VPzWWyj5H
rN0S0RcDq09cOF2Bhz/MGmfSWpwuGE1AVXjPr7aZPwEr6T2x0wLLtK72SOr8qjFhVs
2VG3sU01RmJ0boTfq1vxN24Xw41RqG3LR9Z5mtBjjl/p55mnwN1QdflN7y1Byt9+wK
gEh2NZvk1mr/P57/6jfgwzF5qwZdOqgrC5nXziegdOnShmaRukORkV6OTvrrvYu7Fu
Qa24ed9bxp6mw==
Received: from [10.30.226.235] (localhost [IPv6:::1])
by aws-us-west-2-korg-oddjob-rhel9-1.codeaurora.org (Postfix) with ESMTP id ADDA4380CED9;
Thu, 5 Jun 2025 03:04:49 +0000 (UTC)
Subject: Re: [GIT PULL] bcachefs changes for 6.16, part 2
From: pr-tracker-bot@xxxxxxxxxx
In-Reply-To: <xtigikvqorbxtpy2rh52fobvunp7yrwkfpj4muwaogr4ijxl4j@s327kfvhpi3v>
References: <xtigikvqorbxtpy2rh52fobvunp7yrwkfpj4muwaogr4ijxl4j@s327kfvhpi3v>
X-PR-Tracked-List-Id: <linux-bcachefs.vger.kernel.org>
X-PR-Tracked-Message-Id: <xtigikvqorbxtpy2rh52fobvunp7yrwkfpj4muwaogr4ijxl4j@s327kfvhpi3v>
X-PR-Tracked-Remote: git://evilpiepirate.org/bcachefs.git tags/bcachefs-2025-06-04
X-PR-Tracked-Commit-Id: 3d11125ff624b540334f7134d98b94f3b980e85d
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: ff0905bbf991f4337b5ebc19c0d43525ebb0d96b
Message-Id: <174909268839.2554386.13230803597159202651.pr-tracker-bot@xxxxxxxxxx>
Date: Thu, 05 Jun 2025 03:04:48 +0000
To: Kent Overstreet <kent.overstreet@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, linux-bcachefs@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The pull request you sent on Wed, 4 Jun 2025 17:23:13 -0400:

> git://evilpiepirate.org/bcachefs.git tags/bcachefs-2025-06-04

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/ff0905bbf991f4337b5ebc19c0d43525ebb0d96b

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


Return-Path: <linux-kernel+bounces-673995-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C59E641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:06:43 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E400A1895A47
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:06:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 183BC1F4622;
Thu, 5 Jun 2025 03:06:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="DgH77atg"
Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181])
(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 E3A891EEE6
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:06:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.181
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749092793; cv=none; b=E3VMJfXDwUo1d+Esux96HsP1f8yOIXGATvT6AiyoIsYDYciMD9pPxG1fT4FDUs/kVYHgd9YvRqSnD4feZ5wbEYeGrHNUYzV7nRzXHK6rr67hU8XxmYC99Toaztsd/sRHoAnjUnA7kExmeBGu3LhrpJ5eCk0WFUUtDytZ415yWZc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749092793; c=relaxed/simple;
bh=6xLpQ1uPabtcvEaePNBumHI9UNO8HDT0/WVmswtOEYo=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=PyLBUAwtXcSg6XciteSv6BM1v6Xmh1LEaPdXsgsIl4MjK3smNCnwQ/r7TlqC2zylH+OZnAq3lB42zQ9h4NUjqLP1QQRIb3YLCBNUCdvbdNYcFOMXnjPlDm05KYVPw2cNPnbS8z7BtkWceYKjkfJzWqw3LZFU6k8XrnIQnFs1ixM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=DgH77atg; arc=none smtp.client-ip=209.85.210.181
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com
Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-7424ccbef4eso511329b3a.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 20:06:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=broadcom.com; s=google; t=1749092791; x=1749697591; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:autocrypt:from
:content-language:references:cc:to:subject:user-agent:mime-version
:date:message-id:from:to:cc:subject:date:message-id:reply-to;
bh=RNIb5B5OWKY6J+fGD7YOdqSlG5iyfCDJMt1mUybY76E=;
b=DgH77atgE+IS8xA8R8w0M4pOt76ySydwzwV+mQZix9dS3721L00B0tM5JvQFh/kgCE
ddLiAxGYhjbmsEFYiu2yVhCnUiffn/cCuxKAZcxMe7++45Kkh8kdBVo5wW0t+DaVCsaI
m31udxzSrIHmY93tnwoohNS6vONoLRXfhIE7s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749092791; x=1749697591;
h=content-transfer-encoding:in-reply-to:autocrypt:from
:content-language:references:cc:to:subject:user-agent:mime-version
:date:message-id:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=RNIb5B5OWKY6J+fGD7YOdqSlG5iyfCDJMt1mUybY76E=;
b=IZRkJmsuaTBk78pHCYqcyYrTKhTCC/nfxxC9OOx9ee03+GHhE0zBzU7mICH8neoTf3
Y/vg32or/3kSK2g/aa+WCdgWY48dLgloQBdJUJFdrXaW11djCLpQKJO8PYytel6PqMyB
kudp08pASvyxgI+1GDV8o0ZY1CCdgj/aHCOetj0vpfVVc/OUoSzVCLZ/fTAie0maHoaq
k3kb6YwJL/65Udu1XG0n6lzGo6jtkoCWynzQaAxVMIkVmCTqkb52ivuMwkQZT3cikhVw
AQd9JcpjGP1mhMNwRXm12ml1WWzPbDqaO2tehf08XagofaSNCYA1xXJNHVgap9Xt822P
kbaw==
X-Gm-Message-State: AOJu0YzjHcpIWfBLTlPaIuIrXZ98ArDunt+NhqsD1nWmN6qj/I4rTNg2
ZL3FALYJQpPiA+PzGUQ3SckU5J2Ji4d8H4pI0I55UN3gu3+tkATuaKDvBtqLT3NOWQ==
X-Gm-Gg: ASbGncvK84uLpFO07j0poZ9x1u6u6MGtn5d5sNMTJyetq9ac11c/BWd62LCyN6Yh9vu
ROr8XPlxt/j0gleGre4AW0vz+VLg0ggMn3OuXYeeNcDn12jHAFxiaebqfiktZd6yzyUoijV5SXH
Y9v7t5YNCd8pAwjMhGwDmg/2jfR6P4FX5Y7XHa6JZs3qlmiNDmf2d8jbb/Yl5y90KWhZs10iVy0
dTgL+5dQP2ZjXxyFg62XwglLxnC65lbuqOxlglNK5wJdPJAP2dRevJo9Rrj5kTUaJYLodKIyA5i
4FIqY5gfdBn00hrAra8D8JFUVkTLGhpbS6KPkTPyKI2ktDo86uGyvHwZU+uGzs0maldu8gDVmhQ
B8DE+GZow/N7J7acOqLu4vrhDC7G7uTrOOHaHNUI=
X-Google-Smtp-Source: AGHT+IGMnX4zws8gKZFPO4rQT0n1uYIntjxU2j13B0jQsCtm8WDYGUxXPGMhai8kKRNGMey0Qi1mpg==
X-Received: by 2002:a05:6a00:4fd0:b0:736:3979:369e with SMTP id d2e1a72fcca58-7480b23acbcmr6964052b3a.9.1749092791100;
Wed, 04 Jun 2025 20:06:31 -0700 (PDT)
Received: from [10.230.4.135] ([192.19.161.250])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-747affafa42sm12225633b3a.92.2025.06.04.20.06.29
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 20:06:30 -0700 (PDT)
Message-ID: <6e88587d-f426-4841-b370-b46917822212@xxxxxxxxxxxx>
Date: Wed, 4 Jun 2025 20:06:28 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: linux-next: Tree for Jun 3 (clk/clk-rp1.c)
To: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>,
Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>,
Linux Next Mailing List <linux-next@xxxxxxxxxxxxxxx>
Cc: Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>,
Andrea della Porta <andrea.porta@xxxxxxxx>, linux-clk@xxxxxxxxxxxxxxx
References: <20250603170058.5e1e1058@xxxxxxxxxxxxxxxx>
<cee929b0-8b09-4e6b-95c1-c4067a8c389d@xxxxxxxxxxxxx>
Content-Language: en-US
From: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>
Autocrypt: addr=florian.fainelli@xxxxxxxxxxxx; keydata=
xsBNBFPAG8ABCAC3EO02urEwipgbUNJ1r6oI2Vr/+uE389lSEShN2PmL3MVnzhViSAtrYxeT
M0Txqn1tOWoIc4QUl6Ggqf5KP6FoRkCrgMMTnUAINsINYXK+3OLe7HjP10h2jDRX4Ajs4Ghs
JrZOBru6rH0YrgAhr6O5gG7NE1jhly+EsOa2MpwOiXO4DE/YKZGuVe6Bh87WqmILs9KvnNrQ
PcycQnYKTVpqE95d4M824M5cuRB6D1GrYovCsjA9uxo22kPdOoQRAu5gBBn3AdtALFyQj9DQ
KQuc39/i/Kt6XLZ/RsBc6qLs+p+JnEuPJngTSfWvzGjpx0nkwCMi4yBb+xk7Hki4kEslABEB
AAHNMEZsb3JpYW4gRmFpbmVsbGkgPGZsb3JpYW4uZmFpbmVsbGlAYnJvYWRjb20uY29tPsLB
IQQQAQgAywUCZWl41AUJI+Jo+hcKAAG/SMv+fS3xUQWa0NryPuoRGjsA3SAUAAAAAAAWAAFr
ZXktdXNhZ2UtbWFza0BwZ3AuY29tjDAUgAAAAAAgAAdwcmVmZXJyZWQtZW1haWwtZW5jb2Rp
bmdAcGdwLmNvbXBncG1pbWUICwkIBwMCAQoFF4AAAAAZGGxkYXA6Ly9rZXlzLmJyb2FkY29t
Lm5ldAUbAwAAAAMWAgEFHgEAAAAEFQgJChYhBNXZKpfnkVze1+R8aIExtcQpvGagAAoJEIEx
tcQpvGagWPEH/2l0DNr9QkTwJUxOoP9wgHfmVhqc0ZlDsBFv91I3BbhGKI5UATbipKNqG13Z
TsBrJHcrnCqnTRS+8n9/myOF0ng2A4YT0EJnayzHugXm+hrkO5O9UEPJ8a+0553VqyoFhHqA
zjxj8fUu1px5cbb4R9G4UAySqyeLLeqnYLCKb4+GklGSBGsLMYvLmIDNYlkhMdnnzsSUAS61
WJYW6jjnzMwuKJ0ZHv7xZvSHyhIsFRiYiEs44kiYjbUUMcXor/uLEuTIazGrE3MahuGdjpT2
IOjoMiTsbMc0yfhHp6G/2E769oDXMVxCCbMVpA+LUtVIQEA+8Zr6mX0Yk4nDS7OiBlvOwE0E
U8AbwQEIAKxr71oqe+0+MYCc7WafWEcpQHFUwvYLcdBoOnmJPxDwDRpvU5LhqSPvk/yJdh9k
4xUDQu3rm1qIW2I9Puk5n/Jz/lZsqGw8T13DKyu8eMcvaA/irm9lX9El27DPHy/0qsxmxVmU
pu9y9S+BmaMb2CM9IuyxMWEl9ruWFS2jAWh/R8CrdnL6+zLk60R7XGzmSJqF09vYNlJ6Bdbs
MWDXkYWWP5Ub1ZJGNJQ4qT7g8IN0qXxzLQsmz6tbgLMEHYBGx80bBF8AkdThd6SLhreCN7Uh
IR/5NXGqotAZao2xlDpJLuOMQtoH9WVNuuxQQZHVd8if+yp6yRJ5DAmIUt5CCPcAEQEAAcLB
gQQYAQIBKwUCU8AbwgUbDAAAAMBdIAQZAQgABgUCU8AbwQAKCRCTYAaomC8PVQ0VCACWk3n+
obFABEp5Rg6Qvspi9kWXcwCcfZV41OIYWhXMoc57ssjCand5noZi8bKg0bxw4qsg+9cNgZ3P
N/DFWcNKcAT3Z2/4fTnJqdJS//YcEhlr8uGs+ZWFcqAPbteFCM4dGDRruo69IrHfyyQGx16s
CcFlrN8vD066RKevFepb/ml7eYEdN5SRALyEdQMKeCSf3mectdoECEqdF/MWpfWIYQ1hEfdm
C2Kztm+h3Nkt9ZQLqc3wsPJZmbD9T0c9Rphfypgw/SfTf2/CHoYVkKqwUIzI59itl5Lze+R5
wDByhWHx2Ud2R7SudmT9XK1e0x7W7a5z11Q6vrzuED5nQvkhAAoJEIExtcQpvGagugcIAJd5
EYe6KM6Y6RvI6TvHp+QgbU5dxvjqSiSvam0Ms3QrLidCtantcGT2Wz/2PlbZqkoJxMQc40rb
fXa4xQSvJYj0GWpadrDJUvUu3LEsunDCxdWrmbmwGRKqZraV2oG7YEddmDqOe0Xm/NxeSobc
MIlnaE6V0U8f5zNHB7Y46yJjjYT/Ds1TJo3pvwevDWPvv6rdBeV07D9s43frUS6xYd1uFxHC
7dZYWJjZmyUf5evr1W1gCgwLXG0PEi9n3qmz1lelQ8lSocmvxBKtMbX/OKhAfuP/iIwnTsww
95A2SaPiQZA51NywV8OFgsN0ITl2PlZ4Tp9hHERDe6nQCsNI/Us=
In-Reply-To: <cee929b0-8b09-4e6b-95c1-c4067a8c389d@xxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=0.0 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_SBL_CSS,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/3/2025 10:01 AM, Randy Dunlap wrote:
>
>
> On 6/3/25 12:00 AM, Stephen Rothwell wrote:
>> Hi all,
>>
>> Please do not add any material destined for v6.17 to you rlinux-next
>> included branches until after v6.16-rc1 has been released.
>>
>> Changes since 20250530:
>>
>
> on i386:
>
> ld: drivers/clk/clk-rp1.o: in function `rp1_pll_divider_set_rate':
> clk-rp1.c:(.text+0xba1): undefined reference to `__udivdi3'
>
> caused by
> /* must sleep 10 pll vco cycles */
> ndelay(10ULL * div * NSEC_PER_SEC / parent_rate);
>
>

Andrea, do you mind fixing this build error for a 32-bit kernel? Thanks!
--
Florian



Return-Path: <linux-kernel+bounces-673996-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 278F341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:07:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3B1FB3AA3DA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:06:42 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8FE2E13B7A3;
Thu, 5 Jun 2025 03:06:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="G/bOzB0/"
Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174])
(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 D6B7D1EEE6
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:06:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749092816; cv=none; b=Wi9bSf+slywV93KntBPVSCzth9/i+npltVHQ+F59jeB85015Wj1fi2AGbZQjWZ6P32JBDvlLyCHqaBOGwaG1/8ioOuPa2+fgBheEhJr4RMOeLyC2fjcXMjlIpE8j+qCRwn+RiY3u0fCn1nSyJHqGUuYDGYYO4AIOT/j9i/t7Vhg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749092816; c=relaxed/simple;
bh=O9AwzIwZfHgz6BoydO5kQ/1UHzgPXAQj9YP1fr37OuM=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=pewXicznFKD6Mw7K2jXZDHW+46tHgGMBthVNojiOGLZWBWVZxjHwLCiOuXhAZO5gWQCG85VO7NyKliT2mivjjaCw3odhCogM6dCx6vsUcdWTZKi+yJ8aeIv8AR6U507pOWEzL8RKNl5/yxWupicUkWvEuGRHxAUI/3soGzX3QqM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=G/bOzB0/; arc=none smtp.client-ip=209.85.214.174
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com
Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-22c336fcdaaso3841275ad.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 20:06:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=broadcom.com; s=google; t=1749092814; x=1749697614; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:autocrypt:from
:content-language:references:cc:to:subject:user-agent:mime-version
:date:message-id:from:to:cc:subject:date:message-id:reply-to;
bh=4t2UVDwnAHbzrQWdQ39/KzVljZUdzMmdXbawjYiGCWI=;
b=G/bOzB0/cqRgxtb5aXuZNvU0w7muNJ6CTa2SKcBYtJcUO1DvdmaFfMLARF3QPHnOH4
wU1dIgLE7G9E5S22RzE8OqkTYzAfFRimmGeuBAPqveX7IbBtUq68BG6eM57af1fMZNpX
nnRS7IKSDbRYF/a72iuXb1MVE2xIGkSFAqSKA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749092814; x=1749697614;
h=content-transfer-encoding:in-reply-to:autocrypt:from
:content-language:references:cc:to:subject:user-agent:mime-version
:date:message-id:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=4t2UVDwnAHbzrQWdQ39/KzVljZUdzMmdXbawjYiGCWI=;
b=j5w6wjvyNpv6UjYMx3gIkXy5Gw0HDZo7+FI8qLV5UYoq4+weM4no3J4cE6IF/5TP/4
c5tqPLgeY5zL+i7O22JAJF8CjdonZrqTh4nPhEivQ9spt43KwDpyWvHGshJoOeXFgsob
nrEgSjCKNv1oUuUciHqKyCpNQnOAb+evZ+zU5JGJxIfGpWuc4cQychpN2s4y81gyyA5Y
1Pg9lESOcQScFgza0CHeiCNZ0hzxU3QU0G2WoBeFBvFQ/89+tcRd2vCceOklFJa/J+KY
6tm4U8+mxPK9cuizNaxuykC/LmThP6cF5sEHCOiDRh4gE+pGqNm+oqzERA9AEK47NTeh
jcew==
X-Forwarded-Encrypted: i=1; AJvYcCWV4nVtu4gjs/XgB8mvGC0dbfXSEGhvkXnDNAQTyjnxLZuVputVA8QVDlM5NoxE18kOF0dU0zusBqe6vQ4=@vger.kernel.org
X-Gm-Message-State: AOJu0YyU1fXC44pqpJg1UzeIhgL5d9Us2/oSloUiPq84QcLHum8bkuIS
n38uf/75njo5ol6H0I4zyB+VEfeVs/J9v4c+WwF79OIWByn/0SZwvqB/YqpWPoh/wQ==
X-Gm-Gg: ASbGncvZwBNdofeql8tC/N5yID4nzZI6x8uUu9OuFeN7ITHLYIbzgGIgDrJl3K3NEKJ
Wgm1pHSH86pP+XwpCijmTInI+aw7ezmW9PG77/mThSAXQIX5OVXTlpazCsOyFMzFFmnRQR+pw+3
90s+GOLwLhMwwvhHkVF59Px/irrmDDtGrt64ufjwsFkXsWiXjKEiKmh8L+z1ENsNRMzmfYWQRuL
LRiIRFetnu9LYy+9oYbyeZFIpSZfWxkMPLIohUnbk2es8ubqeGMcOYwQaEADPj2Ef3fSv1F+jAr
mWGTC7VGuhZdHeb2vhgEnKZgVCPzI62jXozK7tjWxnqrGD+pSXWlj76ec3PLOWxa1YwBx4MnonE
m5pVo3H4=
X-Google-Smtp-Source: AGHT+IEvMfVhgoBZZa5DxQt1cwYrY4cOQYyjIOrj279acAXaj8f7nQ8gMaAuCflTqI5Z+g2uDeGVeA==
X-Received: by 2002:a17:902:dac3:b0:235:f298:cbb3 with SMTP id d9443c01a7336-235f2a81120mr19047095ad.18.1749092814089;
Wed, 04 Jun 2025 20:06:54 -0700 (PDT)
Received: from [10.230.4.135] ([192.19.161.250])
by smtp.gmail.com with ESMTPSA id d9443c01a7336-23506bc8af9sm111024445ad.47.2025.06.04.20.06.52
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 20:06:53 -0700 (PDT)
Message-ID: <177ca3fc-dc81-41c7-bfbf-556ef64ff7e8@xxxxxxxxxxxx>
Date: Wed, 4 Jun 2025 20:06:51 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: linux-next: build failure after merge of the broadcom tree
To: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>,
Florian Fainelli <f.fainelli@xxxxxxxxx>
Cc: Andrea della Porta <andrea.porta@xxxxxxxx>,
"Jiri Slaby (SUSE)" <jirislaby@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>,
Linux Next Mailing List <linux-next@xxxxxxxxxxxxxxx>
References: <20250603122012.4ff9c5ea@xxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>
Autocrypt: addr=florian.fainelli@xxxxxxxxxxxx; keydata=
xsBNBFPAG8ABCAC3EO02urEwipgbUNJ1r6oI2Vr/+uE389lSEShN2PmL3MVnzhViSAtrYxeT
M0Txqn1tOWoIc4QUl6Ggqf5KP6FoRkCrgMMTnUAINsINYXK+3OLe7HjP10h2jDRX4Ajs4Ghs
JrZOBru6rH0YrgAhr6O5gG7NE1jhly+EsOa2MpwOiXO4DE/YKZGuVe6Bh87WqmILs9KvnNrQ
PcycQnYKTVpqE95d4M824M5cuRB6D1GrYovCsjA9uxo22kPdOoQRAu5gBBn3AdtALFyQj9DQ
KQuc39/i/Kt6XLZ/RsBc6qLs+p+JnEuPJngTSfWvzGjpx0nkwCMi4yBb+xk7Hki4kEslABEB
AAHNMEZsb3JpYW4gRmFpbmVsbGkgPGZsb3JpYW4uZmFpbmVsbGlAYnJvYWRjb20uY29tPsLB
IQQQAQgAywUCZWl41AUJI+Jo+hcKAAG/SMv+fS3xUQWa0NryPuoRGjsA3SAUAAAAAAAWAAFr
ZXktdXNhZ2UtbWFza0BwZ3AuY29tjDAUgAAAAAAgAAdwcmVmZXJyZWQtZW1haWwtZW5jb2Rp
bmdAcGdwLmNvbXBncG1pbWUICwkIBwMCAQoFF4AAAAAZGGxkYXA6Ly9rZXlzLmJyb2FkY29t
Lm5ldAUbAwAAAAMWAgEFHgEAAAAEFQgJChYhBNXZKpfnkVze1+R8aIExtcQpvGagAAoJEIEx
tcQpvGagWPEH/2l0DNr9QkTwJUxOoP9wgHfmVhqc0ZlDsBFv91I3BbhGKI5UATbipKNqG13Z
TsBrJHcrnCqnTRS+8n9/myOF0ng2A4YT0EJnayzHugXm+hrkO5O9UEPJ8a+0553VqyoFhHqA
zjxj8fUu1px5cbb4R9G4UAySqyeLLeqnYLCKb4+GklGSBGsLMYvLmIDNYlkhMdnnzsSUAS61
WJYW6jjnzMwuKJ0ZHv7xZvSHyhIsFRiYiEs44kiYjbUUMcXor/uLEuTIazGrE3MahuGdjpT2
IOjoMiTsbMc0yfhHp6G/2E769oDXMVxCCbMVpA+LUtVIQEA+8Zr6mX0Yk4nDS7OiBlvOwE0E
U8AbwQEIAKxr71oqe+0+MYCc7WafWEcpQHFUwvYLcdBoOnmJPxDwDRpvU5LhqSPvk/yJdh9k
4xUDQu3rm1qIW2I9Puk5n/Jz/lZsqGw8T13DKyu8eMcvaA/irm9lX9El27DPHy/0qsxmxVmU
pu9y9S+BmaMb2CM9IuyxMWEl9ruWFS2jAWh/R8CrdnL6+zLk60R7XGzmSJqF09vYNlJ6Bdbs
MWDXkYWWP5Ub1ZJGNJQ4qT7g8IN0qXxzLQsmz6tbgLMEHYBGx80bBF8AkdThd6SLhreCN7Uh
IR/5NXGqotAZao2xlDpJLuOMQtoH9WVNuuxQQZHVd8if+yp6yRJ5DAmIUt5CCPcAEQEAAcLB
gQQYAQIBKwUCU8AbwgUbDAAAAMBdIAQZAQgABgUCU8AbwQAKCRCTYAaomC8PVQ0VCACWk3n+
obFABEp5Rg6Qvspi9kWXcwCcfZV41OIYWhXMoc57ssjCand5noZi8bKg0bxw4qsg+9cNgZ3P
N/DFWcNKcAT3Z2/4fTnJqdJS//YcEhlr8uGs+ZWFcqAPbteFCM4dGDRruo69IrHfyyQGx16s
CcFlrN8vD066RKevFepb/ml7eYEdN5SRALyEdQMKeCSf3mectdoECEqdF/MWpfWIYQ1hEfdm
C2Kztm+h3Nkt9ZQLqc3wsPJZmbD9T0c9Rphfypgw/SfTf2/CHoYVkKqwUIzI59itl5Lze+R5
wDByhWHx2Ud2R7SudmT9XK1e0x7W7a5z11Q6vrzuED5nQvkhAAoJEIExtcQpvGagugcIAJd5
EYe6KM6Y6RvI6TvHp+QgbU5dxvjqSiSvam0Ms3QrLidCtantcGT2Wz/2PlbZqkoJxMQc40rb
fXa4xQSvJYj0GWpadrDJUvUu3LEsunDCxdWrmbmwGRKqZraV2oG7YEddmDqOe0Xm/NxeSobc
MIlnaE6V0U8f5zNHB7Y46yJjjYT/Ds1TJo3pvwevDWPvv6rdBeV07D9s43frUS6xYd1uFxHC
7dZYWJjZmyUf5evr1W1gCgwLXG0PEi9n3qmz1lelQ8lSocmvxBKtMbX/OKhAfuP/iIwnTsww
95A2SaPiQZA51NywV8OFgsN0ITl2PlZ4Tp9hHERDe6nQCsNI/Us=
In-Reply-To: <20250603122012.4ff9c5ea@xxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=0.0 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_SBL_CSS,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/2/2025 7:20 PM, Stephen Rothwell wrote:
> Hi all,
>
> After merging the broadcom tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/pinctrl/pinctrl-rp1.c: In function 'rp1_gpio_irq_handler':
> drivers/pinctrl/pinctrl-rp1.c:385:36: error: implicit declaration of function 'irq_linear_revmap' [-Wimplicit-function-declaration]
> 385 | generic_handle_irq(irq_linear_revmap(pc->gpio_chip.irq.domain,
> | ^~~~~~~~~~~~~~~~~
>
> Caused by commit
>
> f4b3c1c25d39 ("pinctrl: rp1: Implement RaspberryPi RP1 gpio support")
>
> interatcing with commit
>
> 14ebb11ba895 ("irqdomain: Drop irq_linear_revmap()")
>
> from Linus' tree.
>
> I have applied the following merge fix patch.
>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Tue, 3 Jun 2025 12:07:49 +1000
> Subject: [PATCH] fix up for "pinctrl: rp1: Implement RaspberryPi RP1 gpio
> support"
>
> interacting with commit
>
> 14ebb11ba895 ("irqdomain: Drop irq_linear_revmap()")
>
> from Linus' tree.
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>

Thanks, I have applied your resolution and pushed out an updated branch.
--
Florian



Return-Path: <linux-kernel+bounces-673997-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3C78F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:07:19 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 7D03F175366
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:07:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D61571F55FA;
Thu, 5 Jun 2025 03:07:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="cjTZ7EXO"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F6FF1EEE6;
Thu, 5 Jun 2025 03:07:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.19
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749092831; cv=fail; b=dfZxCmYeUzFbzqZtdOnK129TdXkReCmR+vKf7Rg7s+Z3Rppe+c0q1EnTwnwhz1HIBUNvCbHPBS55JpGKn4LjzUix/rd1pZKiZOoHMUucgphRUpPxbrbGxA0qzDvLO9nECYru+lQNJBeG75kribSv46xj0fVwnA9ehs2Om96emds=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749092831; c=relaxed/simple;
bh=VQ7UyhG9TrBSlnuHVx8FnxeodDCPgf0hJsG0wkAFq+4=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=Fht2oDeh1ByT30qWFRHHmRi1wRV86hiOmAbEpVGmtiuboFHpZvP236DphIP585E8NGuCM7Ej3zPWfPpxViy7WUcPTrKcNPYhnr98lgIq03m0RpK6C62vqUQ4G7rlbwcIwTH597e1tvQfnwwXHPBOoO/a7qcQIdXkgGQE4qIjx/Q=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=cjTZ7EXO; arc=fail smtp.client-ip=198.175.65.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749092829; x=1780628829;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-id:content-transfer-encoding:
mime-version;
bh=VQ7UyhG9TrBSlnuHVx8FnxeodDCPgf0hJsG0wkAFq+4=;
b=cjTZ7EXOztRAU0Cm1LaRkdXCVGXRYxmdbgKh4wVk+zXQa4lu71OH9cr9
feO1TSmMwebHyJ/EKnBGpEyG2MX8833vVSzq9R8hZp99tgbgCzCTNt+8J
hQdb8TSXQwJSM2SXrxyGGKEOXYjX3KMYrvcr5mIcK3Y/dp2is9PxD4V6m
3235gFvLG9OZ8LJMkyajjRDs3i4QHmWLVdboHLT+ccPyt6PT9lNFwGYS5
5HPNtHjqAOvTLmmQNnGfjNsk9mLWmULIU/z615i+cRkST3kQVjQQi+IBM
F5lgjWfkfYxXmxUEi2l4JKakre1+J5Uf0+pG+Lvk98/dQvn5NhNSciNPm
A==;
X-CSE-ConnectionGUID: KJCyxbIcSIqezhZzSRgCnA==
X-CSE-MsgGUID: KFygZWJSRfKCMxjVCfVC5w==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51068767"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="51068767"
Received: from orviesa004.jf.intel.com ([10.64.159.144])
by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 20:07:09 -0700
X-CSE-ConnectionGUID: KjKNBlgyRTmYB7x5DJACMw==
X-CSE-MsgGUID: yWyDJAtMSImUlic7ikTr2g==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="150392654"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by orviesa004.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 20:07:08 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 20:07:08 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 20:07:08 -0700
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (40.107.236.49)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 20:07:08 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=F7gUkNFS+DZ2d3+wMtOE1YqRk2jMhuvKX0vQBJ/e8Bj5/9cDGXfH+nBch6WZ0YKW2oGmrR/ZGbtAGAT+/Zp9T4/vzDL7F12g33aH+Hu9ecKrGHcqm+uofFZ4dant4OHaOL7WpXo4yUOmesJgF1pYQal7UophjXktRgJP2Jn6j/b1XSHYyxi12JTFJGlKqYXyxuPeeJW2ht7az0dibV/nd4itR6tlCnq1S+x3xgGCw4E3XvgRgt/Ih8Ib9HI3v36MCWhi/0I5iWuluHYfspARFKDrX8TU8P2EJmRT20NBeCBs7fbt1wf1bFSWWzc8caBAgy6ZyM2+YIUFtXgeZrf1+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=VQ7UyhG9TrBSlnuHVx8FnxeodDCPgf0hJsG0wkAFq+4=;
b=gjYfkW3Lh+pmn0v1f4EwAJXRrOUkJVJKn4wNYVgZC8RR/lxo4T8Adrdq3FephupWgNq51NI6xOn1q7CJUuJmGEeeYJnecJQv0wVOLgVzjMnrdwkpQHuE0GzR3etX/4QuSfBW8dXt3gqBJGpFBS8r1YcdOwWP7dJM5c9wzaXwPzBXFlGOexW/h5b242s0hXDcYdZ1Kg6JySyW4DumqZEXuHou3xvD89UnBt5jI/4J+tsHWsX877oG2IvXGVdV52K0ddtoXf+LbulOr5vuX9m8zK+cDOkO1rTW/WMBbmOyCcGspmGe0uE4ijqaS1wtFRY4u+rSZXf3IlHkr9OUeQoJ5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Received: from PH0PR11MB7493.namprd11.prod.outlook.com (2603:10b6:510:284::15)
by PH3PPF23335A1E7.namprd11.prod.outlook.com (2603:10b6:518:1::d0e) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.37; Thu, 5 Jun
2025 03:06:25 +0000
Received: from PH0PR11MB7493.namprd11.prod.outlook.com
([fe80::b83b:c176:bef3:a4e3]) by PH0PR11MB7493.namprd11.prod.outlook.com
([fe80::b83b:c176:bef3:a4e3%5]) with mapi id 15.20.8769.029; Thu, 5 Jun 2025
03:06:25 +0000
From: "Zhang, Rui" <rui.zhang@xxxxxxxxx>
To: "srinivas.pandruvada@xxxxxxxxxxxxxxx"
<srinivas.pandruvada@xxxxxxxxxxxxxxx>, "lukasz.luba@xxxxxxx"
<lukasz.luba@xxxxxxx>, "rafael@xxxxxxxxxx" <rafael@xxxxxxxxxx>,
"daniel.lezcano@xxxxxxxxxx" <daniel.lezcano@xxxxxxxxxx>
CC: "linux-pm@xxxxxxxxxxxxxxx" <linux-pm@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH 1/2] thermal: intel: int340x: Add performance control for
platform temperature control
Thread-Topic: [PATCH 1/2] thermal: intel: int340x: Add performance control for
platform temperature control
Thread-Index: AQHb1ZA7gn/+BRW2hUK5BKaCbnhSkrPz4oMA
Date: Thu, 5 Jun 2025 03:06:25 +0000
Message-ID: <f33e302aac482860eebf5e5f45a44df77455512c.camel@xxxxxxxxx>
References: <20250604203518.2330533-1-srinivas.pandruvada@xxxxxxxxxxxxxxx>
In-Reply-To: <20250604203518.2330533-1-srinivas.pandruvada@xxxxxxxxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Evolution 3.52.3-0ubuntu1
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH0PR11MB7493:EE_|PH3PPF23335A1E7:EE_
x-ms-office365-filtering-correlation-id: ef82de62-a0ff-4f00-d246-08dda3ddf576
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?cGdpN0RKdUQ4cE81ZWpwVGd1NWRxZHEwRGVyL1BnUDh0OTd2T0lmdDBXMzJ1?=
=?utf-8?B?R3Z3QzI4L29VVE1senJZVFc3UUlOb1p6M1R4RUV5UDhUQkxObzBzTU9kbElK?=
=?utf-8?B?bEF2SjdwWDc0M1M1Q0V5Zm5haWFsT0UrTVd6dlpmV3g5SDZEaDJjc1dGaFgv?=
=?utf-8?B?eG1BbGVESnh1cS93T3NTVFIzUWFJVzY0MWZtME5tdkQvVVFaN2pJcjVrM2FB?=
=?utf-8?B?VDFaK0VZdHc0ZVB1bUZzMlR3c1B6cHZyclFrMEZ6WWM5djN3QlZMOXNGNDNK?=
=?utf-8?B?eTEvb2tNaGVJMCs2aUJVTDBGNDNKQm9WUkk3SkdnMldmTW82dnMyR0NEZWtk?=
=?utf-8?B?cVQ2SWN0M0FKdDZZUGY5cEJKTjkxbi8vZ2xZVzBmUEZBMDNnRXZhTjdiRU9P?=
=?utf-8?B?MUZZMlJVa1kra1FxNVRacEs1alFnQXIvemVScy9ZbjZCcGRaV3BSRFZPMXMz?=
=?utf-8?B?eVdrWWRPMXI4V0Z1Nk5JTllKSEd1aitVcGRNZDRPSmNzMUxmZldCQURNRmgw?=
=?utf-8?B?MklJTk5jRlpiL1RoNUVidlNUMWFOSUNpYjM5QVUvSWp2eVY2U0JmbmJWN0hm?=
=?utf-8?B?ZHdNK0RGejUrWEprWEE2MVhpQUVnTXZRNTBKYk9hWEZIQ1p0dXoxemg4UGpX?=
=?utf-8?B?U3ZJdWZvWGxPblJZVGxva3Bhd2lKSU9PQS91UlNCeVNPaFNUWjBwN2VJMHJi?=
=?utf-8?B?a0o1dzRQSm8rZmZuWFZNb1QwZWRBNlZZZDRRRVBOcGtPYmFWSEVlU1pXQjJi?=
=?utf-8?B?eGpSTFRvOGFaeUs1TGkzTEVLMy95QzhMMyt5bm85bklHeUZ4cVQyZlUwV2kr?=
=?utf-8?B?RGhreWJ2LzVXOE50UjdsNU1tZWtoOHhueUVVTVdnd3MwMjI3R1dOMFZ4ZDdB?=
=?utf-8?B?SS9VM3FsRDZwZk9xMjhreUc0cHdHMDAvakxnL0U2NEdJTVBYemtCU3UyTWFa?=
=?utf-8?B?NVBVTlhmNDRodW1seHZDQlBGeWtIb1V6WFZOM3BPdGZ3N2ZhbEFTaS9MeXZp?=
=?utf-8?B?Y0dQMC9WYjF1dktIZ213UDhPMmJ1bE92alEzZ1JsdExBNERzWGErWEVIOW16?=
=?utf-8?B?MnpMd0Z3TnJpbVNiSzBTOC9qZEZEekg5Y05JOVo3V2MxdUptY2VUOXpDYkI2?=
=?utf-8?B?MHVXcmpVdDhaQVZqcXhoMWZDSXdTT2lXN2M1Y1dNOWxLdzBJZ2ZuNHBDT1d0?=
=?utf-8?B?TjJxYWhzcG9OYzVWMFREbkMvWSt3SW03RGVVeWcvTGJjTjJydDBPbFUvUU81?=
=?utf-8?B?YStzeXBIRGhodmF2Z3JvTHozdFZWRUNwaldrdEQ4aHIzZXJjTDdSTmpnL3ZG?=
=?utf-8?B?bUFiRWYrZXhjSEIzcStqUXBvN01Md0N0bE1BSDhHamY0dURCTC8zT0tYQ0JF?=
=?utf-8?B?aTY3SncvT0VLSE5KcXFvZmoxVlp1ZXhXYkQzbU1GNzV3T2l0K2RpRTNZUDNN?=
=?utf-8?B?WjNKYWNEeDFQMVEvWDJiK1JZejVOUnJmd1pPR0lINStuRGFNRWxBSnRBNkls?=
=?utf-8?B?M3NPQmlpTmg2WEwrMUJlMVdtWmZFUDhuYmdsbTVjaXJJRVRoWUNMVG00dTI2?=
=?utf-8?B?a0lqcElhUGdwWC9sWncweW5iVC9zRlIvV0VhVVVKS1NBZ1BmMytJdDIxdjJy?=
=?utf-8?B?bi9JbHhVVTQ5NTlpOFp6aWE4YVR2WHBOMk56K1lQRHBsNmhaSFgvL0NzS2x4?=
=?utf-8?B?N3N2VXkzZ2F6RVRJelVCVzBUUHN5RDE2Y3NHSDhmQ1AvQlI1WktETTQ3L1RU?=
=?utf-8?B?ejNKVDZxUWZ0YTlieE5Ma2dvVmIwRUFCLzZZanZ2T3NLZkZoaUozNDdCK0Rq?=
=?utf-8?B?ak1aNkhORnJ3U1cvM3pSMml4QVlhVmxMdXNRSzZmZE9nclpTWlBiT0lDNU9o?=
=?utf-8?B?cDhnelNDaWdZL1B0YzkvQmZIdEdkMDB5aGV0SEhOQXZseC9GbS9Dd3lOS3ps?=
=?utf-8?B?eE9SdFA5UThzNGRaNzhUOHhaa3R0QlR4MDlDSlBISC9yeGcxNFZrL3Rra3h6?=
=?utf-8?B?a0c0cGVJTUdBPT0=?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB7493.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RThWY2ExMmc0M0ptZ0wxaUpJdU1iS0Rla0dUbHErWHNrRVNRQ1FiU3lKeFRG?=
=?utf-8?B?a2xkV0creHhGWEFhWk44ak1JeFdWZGVEbWVjTmtpbHY1NHkzbUtjR0RvUXZq?=
=?utf-8?B?M0VwVi9vblVIT3A2LzhBWWFIVjN3SVBIRWQ0elhmRmI4S3N1aFF5Ynk0Zmp4?=
=?utf-8?B?azlLV0p4Y2o4S1I1d3hQclhaeTRLVi9pU3JiaTNBeEdDYjFXTVRvV0ZlNTJl?=
=?utf-8?B?ZUpwV092VXp5ODYvUGk5dkdvQ05NRkI2aWNMNy9UczdZYWZIc2hDMUpoNE53?=
=?utf-8?B?VFUzVm5ud21SU1I0cXJiYUR2MTZaU25sWXM4ZTJ1L3lTekxhK1RhbVFtY3pH?=
=?utf-8?B?K1VCd0RVVGhZWkxnUEw5d2d4WEtmR3l2ZmswREp5NWxsM3FYWU5kVkNTM20z?=
=?utf-8?B?Tnk1MFRueUtYTHNaZ056UUNuditsd0w4K0NKYjhpU0ZDYlhpaXdsWTZldFFn?=
=?utf-8?B?YVJQeDMxTXFnOHFQV0tsRlVLT2NNaUtuSWx0YUVmSWZMOFhDbHVNNnBQSGlU?=
=?utf-8?B?OGF5aHNodUJuc3p2MGtlQ3kvVktGQUdLVC9iZ0puR2dTSnF5cEFSditwWENK?=
=?utf-8?B?SjUrYWpHdlQ1NG1sSktFamowUlBmKzB6ekpwd1BGdmtBNGxvNkg4MVd3VjVM?=
=?utf-8?B?eHh1WUx2MS84VnVvRi9PamY2YTg5cUNsZVBsWlFYZ1B0TFc2Y05hNkh5QUly?=
=?utf-8?B?MmpodEJPc1RwQnJnS2xVRFE1WitoY28zaC93cUwwQytnQ0loKzdTd2ZUZHhh?=
=?utf-8?B?aUtxU3oycEFEbUFPSisyVXE2eDVyam9uWVFOSkxidFcwUjFqMjJBTGNNUnFD?=
=?utf-8?B?ZUVHdGpvSll0QXJmK0dzZ3EwdjhFU0JPVXZhVHZLZ3VGdER5a1hNVEVZeURk?=
=?utf-8?B?ZWJYb1JubitlU1krZGlFL3RYQ01OeGhCS1JvRlh3VElPWVBoYWtKUnZ4TXd6?=
=?utf-8?B?ZGNRUHpaMVYzOVdwcjFQZmE2NVNZSm9FakJPdHloY0pFVnZqendLNWFseDQ5?=
=?utf-8?B?R3ZhYktNUFdXeXoyMThsTkRwZzZPUmpVSlRtQUFEZmNCNGdpWFM3S2pOSDB2?=
=?utf-8?B?Q0JobVRUOXVWVWE5NFptMEJBS3Z3YnZQWkM4NXdJcUtQamdHdjcveWl4dnUz?=
=?utf-8?B?bmVUTTl2QWlzV0l5eTF6Z1d5OWpVVUU0OVlZeHcxNjZ4M0JkTlVVSnVKUGc2?=
=?utf-8?B?Z0oyTTVtR2I3NE5UUHp5WEVHNlVHMGd6Wkl3NUF0RStzNE0xcVBjV0lvM1ZM?=
=?utf-8?B?ak9XUGNnZ0xUY2hlL0NKUnJQU2I2TTc3eDdBUEdsWjZKL2pWckZXVmxEbmRp?=
=?utf-8?B?d3ZGZ0pWRVVxV1p6dGVuTTVEa0lWanNRUEJDbFkvM0JkTDFXcUc2ZUdVNUJv?=
=?utf-8?B?eHh4aXhGWXJ1WDQvTHozNE1teER1clFWSWtQVkcxLzlaWVNBRjNpUVUyZWVI?=
=?utf-8?B?b0JBQWFtOVM0SlJhbVNuTUp1NVViTjE3OXplU1h1alVyWUlvV2N3NFJVTit6?=
=?utf-8?B?VE0yOWpMd3FuY3V2REFiNHhYNWpDZS9XbnFONzVRbUtuNjBVRlhocWNWUWox?=
=?utf-8?B?M0xoV2ZlOXMrZHRvVTB1T3BINkpiemtNMUlQajF0VSt6d2x3cjlYTGFta1h0?=
=?utf-8?B?cUl6L0N1SHE4NkZnMkxGWUc4UGNLdThZUXduVTloS1NvTm1Vd3l5NnlwaFQz?=
=?utf-8?B?R3loRFo3d2taZlcrSTZlb0lFVmc0MVNUNWFyT1puUWd3MDJuZWloY1REWlF4?=
=?utf-8?B?ZkV0ZXB1SmZPbWZkU2VjY3lXOGpOUnZQMUtkVlFNZTJpTVExRHh5a1pobmZ4?=
=?utf-8?B?MThMWVlyVHI5RlFsb1dsZ3BzeGU1c0lreXF0RzRMc1VoWExJY3NkTk5UTTNa?=
=?utf-8?B?RFpRMk9GRVBJUllxS2plZmhCazk1cmVDVFkzRFY4QnBLOWtJT0FsTWl3bGlH?=
=?utf-8?B?MDhUb2tjSm1ZL0E0dUhFRTRIUzlzNXE1aWRPSkZaZW1ySTlUQ3ltVzM5dFlt?=
=?utf-8?B?SGFRbVIxdHE0cFpoS3N4bVZQd0hWb2tsYnlLZ2V2ZFNNR2F0WXZZbmdYOUNm?=
=?utf-8?B?TDVjemh2Z1F2NmhxZnFpWVFiSVZxb00zN1BkK0dma3FMbk5hOXlON3Y5Z3pz?=
=?utf-8?B?RTM4Mk1xUllFL1dSQzZkOVpMcVI1Sk1rOHF0KytIczZ0NkVMRFhqT1BuNGt4?=
=?utf-8?B?Rmc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <DDD56E13CD2D674B99581ACBE32B312E@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB7493.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ef82de62-a0ff-4f00-d246-08dda3ddf576
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 03:06:25.7545
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: J9beeAs+mXtSWLA4lwiTEXyqDUFvvxooX0qnaLdQzGw5oUY6xmdNyUZdcVQKDxYPbgZq3Erc+JP6MzQMG9ZdSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF23335A1E7
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

T24gV2VkLCAyMDI1LTA2LTA0IGF0IDEzOjM1IC0wNzAwLCBTcmluaXZhcyBQYW5kcnV2YWRhIHdy
b3RlOg0KPiBBZGQgYWRkaXRpb25hbCBhdHRyaWJ1dGUgdG8gY29udHJvbCBwZXJmb3JtYW5jZSBv
ZiBwbGF0Zm9ybSB0ZW1wZXJhdHVyZQ0KPiBjb250cm9sIGZlYXR1cmUuIFR3byBhdHRyaWJ1dGVz
IGFyZSBhZGRlZDoNCj4gDQo+IGdhaW46IDAtNyBsZXZlbHMsIHdpdGggMCBiZWluZyBtb3N0IGFn
Z3Jlc3NpdmUuDQo+IAk3IOKAkyBncmFjZWZ1bCwgZmF2b3JzIHBlcmZvcm1hbmNlIGF0IHRoZSBl
eHBlbnNlIG9mIHRlbXBlcmF0dXJlDQo+IAlvdmVyc2hvb3RzDQo+IAkwIOKAkyBhZ2dyZXNzaXZl
LCBmYXZvcnMgdGlnaHQgcmVndWxhdGlvbiBvdmVyIHBlcmZvcm1hbmNlDQoNCkJ5IHJlYWRpbmcg
dGhpcywgSSBrbm93IHRoYXQgc2V0dGluZyAicHRzXzBfY29udHJvbC9nYWluIiB0byBhIGxhcmdl
cg0KdmFsdWUgbWVhbnMgbGVzcyBhZ2dyZXNzaXZlIHB0YyBjb250cm9sLg0KDQpCdXQgd2hhdCBk
b2VzICJnYWluIiBtZWFuIGhlcmU/DQoNCk1heSBiZSBteSBFbmdsaXNoIHByb2JsZW0sIEknbSB0
cnlpbmcgaGFyZCB0byB1bmRlcnN0YW5kIHRoaXMsIGJ1dCBpdCBpcw0Kc3RpbGwgYSBiaXQgY29u
ZnVzaW5nIHRvIG1lLg0KDQp0aGFua3MsDQpydWkNCg0K


Return-Path: <linux-kernel+bounces-673998-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2C7DA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:16:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 33B5C1898D38
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:16:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D19EE1E5B9F;
Thu, 5 Jun 2025 03:16:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oz9dmKQd"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 008E23C2F
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:16:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749093368; cv=none; b=Jv0JDnQ9ZUSYTOojfkzbwC0rcWm2g4RvK1L/ElG/hP/ARkmvqru1JGdoZ8CPJyhIpYOfpHxNzSsb2YTIyqGgXaz50M6Y4WMYz7KN51EncUy4YH4wG8xcRnImWX45vMK38E5kXOQZ3QegdXV/Xd3J4DUrcWVHUjo5tOGrBb0n7pY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749093368; c=relaxed/simple;
bh=+CjIvXaGtuRDG6cMi1GJLC+GDWg0p4LsrvNVFq5f54E=;
h=Message-ID:Date:MIME-Version:Cc:Subject:To:References:From:
In-Reply-To:Content-Type; b=oX2RAevXuQ01JeuDRN2sRvryiMIvQNiEyKmjt4tMCjaNpxULI98UdV6xX6SP7gUxz7CsRlgFenQ3XgM+N7gWvUb+2fREnb/XnPCb873v43JGoJERtlpVHXxZpwbfSg2quj+ghhPYRcMREN0uB1oxOBC+//pze6ODCuQgbHtOpSw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oz9dmKQd; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 26854C4CEE4;
Thu, 5 Jun 2025 03:16:05 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749093367;
bh=+CjIvXaGtuRDG6cMi1GJLC+GDWg0p4LsrvNVFq5f54E=;
h=Date:Cc:Subject:To:References:From:In-Reply-To:From;
b=oz9dmKQdCZ2JokklxksMokEVVIIN+3StPWKGMbFe6is+ndKRT0hyol8Zm58cSHQyR
MExoEtTFHeftA/Ba+UTo5FdYeM2InM6TKAYYfWjzUMpYFiVFgej9sXnWprzSssW9Oy
ovSAAPCpwVZFRcZWO00vJ6IxfhZh0ynvzKCmyHji35L1EDX/VteuIC/rUrGVLLRs9V
EwLpLunn7y7OpgcfNyE/eGNMBurXbR5utPrKnS5SUZdahEeHxKmlZ2TScxYXBVrbAc
+s8/jEmwdP+YIdQirVcD7mRTerAdsgTMSU4DqcjPQ+LaALYaVhTqXvdRYAuwMGytNL
TCNjZkxYvVhJA==
Message-ID: <31d7937f-1d8c-4a28-a0b5-3fb34b695401@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 11:16:03 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Cc: chao@xxxxxxxxxx, jaegeuk@xxxxxxxxxx, stable@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
Subject: Re: [f2fs-dev] [PATCH v2] f2fs: fix to zero post-eof page
To: Zhiguo Niu <niuzhiguo84@xxxxxxxxx>
References: <20250604085700.2454694-1-chao@xxxxxxxxxx>
<CAHJ8P3JXJfX=YVKGuQzM6n+yRbAh6Kxem+dLqdP_3F_BN=b_+Q@xxxxxxxxxxxxxx>
Content-Language: en-US
From: Chao Yu <chao@xxxxxxxxxx>
In-Reply-To: <CAHJ8P3JXJfX=YVKGuQzM6n+yRbAh6Kxem+dLqdP_3F_BN=b_+Q@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/5/25 09:15, Zhiguo Niu wrote:
> Chao Yu via Linux-f2fs-devel <linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx>
> 于2025年6月4日周三 17:01写道:
>>
>> fstest reports a f2fs bug:
>>
>> generic/363 42s ... [failed, exit status 1]- output mismatch (see /share/git/fstests/results//generic/363.out.bad)
>> --- tests/generic/363.out 2025-01-12 21:57:40.271440542 +0800
>> +++ /share/git/fstests/results//generic/363.out.bad 2025-05-19 19:55:58.000000000 +0800
>> @@ -1,2 +1,78 @@
>> QA output created by 363
>> fsx -q -S 0 -e 1 -N 100000
>> +READ BAD DATA: offset = 0xd6fb, size = 0xf044, fname = /mnt/f2fs/junk
>> +OFFSET GOOD BAD RANGE
>> +0x1540d 0x0000 0x2a25 0x0
>> +operation# (mod 256) for the bad data may be 37
>> +0x1540e 0x0000 0x2527 0x1
>> ...
>> (Run 'diff -u /share/git/fstests/tests/generic/363.out /share/git/fstests/results//generic/363.out.bad' to see the entire diff)
>> Ran: generic/363
>> Failures: generic/363
>> Failed 1 of 1 tests
>>
>> The root cause is user can update post-eof page via mmap, however, f2fs missed
>> to zero post-eof page in below operations, so, once it expands i_size, then it
>> will include dummy data locates previous post-eof page, so during below
>> operations, we need to zero post-eof page.
>>
>> Operations which can include dummy data after previous i_size after expanding
>> i_size:
>> - write
>> - mapwrite
>> - truncate
>> - fallocate
>> * preallocate
>> * zero_range
>> * insert_range
>> * collapse_range
>> - clone_range (doesn’t support in f2fs)
>> - copy_range (doesn’t support in f2fs)
>>
>> Cc: stable@xxxxxxxxxx
>> Signed-off-by: Chao Yu <chao@xxxxxxxxxx>
>> ---
>> v2:
>> - cover f2fs_zero_post_eof_page w/ invalidate_lock
>> fs/f2fs/file.c | 38 ++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 38 insertions(+)
>>
>> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
>> index 6bd3de64f2a8..ee5e662d2a4c 100644
>> --- a/fs/f2fs/file.c
>> +++ b/fs/f2fs/file.c
>> @@ -35,6 +35,17 @@
>> #include <trace/events/f2fs.h>
>> #include <uapi/linux/f2fs.h>
>>
>> +static void f2fs_zero_post_eof_page(struct inode *inode, loff_t new_size)
>> +{
>> + loff_t old_size = i_size_read(inode);
>> +
>> + if (old_size > new_size)
> Hi Chao,
> should it be old_size >= new_size?

Zhiguo,

Yes, you're right.

>
>> + return;
>> +
>> + /* zero or drop pages only in range of [old_size, new_size] */
>> + truncate_pagecache(inode, old_size);
>> +}
>> +
>> static vm_fault_t f2fs_filemap_fault(struct vm_fault *vmf)
>> {
>> struct inode *inode = file_inode(vmf->vma->vm_file);
>> @@ -103,8 +114,13 @@ static vm_fault_t f2fs_vm_page_mkwrite(struct vm_fault *vmf)
>>
>> f2fs_bug_on(sbi, f2fs_has_inline_data(inode));
>>
>> + filemap_invalidate_lock(inode->i_mapping);
>> + f2fs_zero_post_eof_page(inode, (folio->index + 1) << PAGE_SHIFT);
>> + filemap_invalidate_unlock(inode->i_mapping);
>> +
>> file_update_time(vmf->vma->vm_file);
>> filemap_invalidate_lock_shared(inode->i_mapping);
>> +
>> folio_lock(folio);
>> if (unlikely(folio->mapping != inode->i_mapping ||
>> folio_pos(folio) > i_size_read(inode) ||
>> @@ -1109,6 +1125,8 @@ int f2fs_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
>> f2fs_down_write(&fi->i_gc_rwsem[WRITE]);
>> filemap_invalidate_lock(inode->i_mapping);
>>
>> + if (attr->ia_size > old_size)
>> + f2fs_zero_post_eof_page(inode, old_size);
> I'm a little suspicious about the logic here, here old_size is from
> i_size_read(inode),
> and it will compare with the "old_size" in f2fs_zero_post_eof_page, it
> is also from i_size_read(inode),
> so is this actually meaningless?

Oh, I need to pass attr->ia_size instead of old_size.

Let me revise in v3, anyway, thanks for the review.

Thanks,

> Thanks!
>> truncate_setsize(inode, attr->ia_size);
>>
>> if (attr->ia_size <= old_size)
>> @@ -1227,6 +1245,10 @@ static int f2fs_punch_hole(struct inode *inode, loff_t offset, loff_t len)
>> if (ret)
>> return ret;
>>
>> + filemap_invalidate_lock(inode->i_mapping);
>> + f2fs_zero_post_eof_page(inode, offset + len);
>> + filemap_invalidate_unlock(inode->i_mapping);
>> +
>> pg_start = ((unsigned long long) offset) >> PAGE_SHIFT;
>> pg_end = ((unsigned long long) offset + len) >> PAGE_SHIFT;
>>
>> @@ -1510,6 +1532,8 @@ static int f2fs_do_collapse(struct inode *inode, loff_t offset, loff_t len)
>> f2fs_down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
>> filemap_invalidate_lock(inode->i_mapping);
>>
>> + f2fs_zero_post_eof_page(inode, offset + len);
>> +
>> f2fs_lock_op(sbi);
>> f2fs_drop_extent_tree(inode);
>> truncate_pagecache(inode, offset);
>> @@ -1631,6 +1655,10 @@ static int f2fs_zero_range(struct inode *inode, loff_t offset, loff_t len,
>> if (ret)
>> return ret;
>>
>> + filemap_invalidate_lock(mapping);
>> + f2fs_zero_post_eof_page(inode, offset + len);
>> + filemap_invalidate_unlock(mapping);
>> +
>> pg_start = ((unsigned long long) offset) >> PAGE_SHIFT;
>> pg_end = ((unsigned long long) offset + len) >> PAGE_SHIFT;
>>
>> @@ -1762,6 +1790,8 @@ static int f2fs_insert_range(struct inode *inode, loff_t offset, loff_t len)
>> /* avoid gc operation during block exchange */
>> f2fs_down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
>> filemap_invalidate_lock(mapping);
>> +
>> + f2fs_zero_post_eof_page(inode, offset + len);
>> truncate_pagecache(inode, offset);
>>
>> while (!ret && idx > pg_start) {
>> @@ -1819,6 +1849,10 @@ static int f2fs_expand_inode_data(struct inode *inode, loff_t offset,
>> if (err)
>> return err;
>>
>> + filemap_invalidate_lock(inode->i_mapping);
>> + f2fs_zero_post_eof_page(inode, offset + len);
>> + filemap_invalidate_unlock(inode->i_mapping);
>> +
>> f2fs_balance_fs(sbi, true);
>>
>> pg_start = ((unsigned long long)offset) >> PAGE_SHIFT;
>> @@ -4860,6 +4894,10 @@ static ssize_t f2fs_write_checks(struct kiocb *iocb, struct iov_iter *from)
>> err = file_modified(file);
>> if (err)
>> return err;
>> +
>> + filemap_invalidate_lock(inode->i_mapping);
>> + f2fs_zero_post_eof_page(inode, iocb->ki_pos + iov_iter_count(from));
>> + filemap_invalidate_unlock(inode->i_mapping);
>> return count;
>> }
>>
>> --
>> 2.49.0
>>
>>
>>
>> _______________________________________________
>> Linux-f2fs-devel mailing list
>> Linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
>> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel



Return-Path: <linux-kernel+bounces-673999-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 319C841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:17:25 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id D56247A9EB5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:16:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C5B4A1E5B9F;
Thu, 5 Jun 2025 03:17:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=126.com header.i=@126.com header.b="PQVlcpf0"
Received: from m16.mail.126.com (m16.mail.126.com [117.135.210.8])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D19CA3C2F
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:17:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.8
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749093435; cv=none; b=pN7fXHYyL9IlK1jXNJdD+QphSYzfCeWkuPnVnluNZ59C/Znklb7ZH3pxqWesMU50aaF6khIinoizyD74M6+Xt5zHgYCvczPttd7KV/3I3xo2FMKTgs7AI6ofSTn/UCgMkscInp2pcHZNnHiJ/y2pMOgqO3Ad8/KSee2X+FNJxNo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749093435; c=relaxed/simple;
bh=OZK6b8msq6X9GCjEhF+Ir0LQgVfF5QMWvAR/Gp09L3o=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=pS8rBpkUvxCNyEj3VB6OEAFh13zr42wTGAdm9hefPykoj3hKKnPN1Goj6v0KqeUL7asuiC8ao/7RylFAR+8fPNQT8q1q8VLVilRAe0R3olvg4EnOd0P7nR/UdhOJkzSe8yAqnkKsxyIxK7fp7W4xhgYd6MsMHEX3qksi2DKyZpI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=126.com; spf=pass smtp.mailfrom=126.com; dkim=pass (1024-bit key) header.d=126.com header.i=@126.com header.b=PQVlcpf0; arc=none smtp.client-ip=117.135.210.8
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=126.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=126.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com;
s=s110527; h=Message-ID:Date:MIME-Version:Subject:To:From:
Content-Type; bh=Dgb/YpmpOW9VYXVuxgnzQsBVv3IKixywt4/deZXRAWI=;
b=PQVlcpf0R/mFposwvMPvj0ej/YwAbHw25+egKBmSOah1LnRYNhJUBOx7wXKiUA
p7Q/0oOi6CQh4EXb6BP7o4J3e73CyBDno5nQwXmOtlNgQAv/YAi6MZMegIeY1u+o
pUl0iPuJzA3RCW6tA0vaz8C9qGgTBFPnHzMz7maypz1HU=
Received: from [172.19.20.199] (unknown [])
by gzga-smtp-mtada-g1-4 (Coremail) with SMTP id _____wD31wtZ6EBox0ZuBA--.54588S2;
Thu, 05 Jun 2025 08:44:10 +0800 (CST)
Message-ID: <c15bfa20-2113-4299-98bf-1865b6b535ef@xxxxxxx>
Date: Thu, 5 Jun 2025 08:44:09 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V2] mm/hugetlb: remove unnecessary holding of hugetlb_lock
To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, 21cnbao@xxxxxxxxx,
david@xxxxxxxxxx, baolin.wang@xxxxxxxxxxxxxxxxx, muchun.song@xxxxxxxxx,
osalvador@xxxxxxx, liuzixing@xxxxxxxx
References: <1748317010-16272-1-git-send-email-yangge1116@xxxxxxx>
<20250604154754.a30e327c3f1640173c8b9cb8@xxxxxxxxxxxxxxxxxxxx>
From: Ge Yang <yangge1116@xxxxxxx>
In-Reply-To: <20250604154754.a30e327c3f1640173c8b9cb8@xxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:_____wD31wtZ6EBox0ZuBA--.54588S2
X-Coremail-Antispam: 1Uf129KBjvJXoW7Zw18KFy3Cr1ruF45WFyUKFg_yoW8AryrpF
yjkF90kF4DJ3yqkw4xtr4rAF1rZws8Xa45trZ5JFWY9rs8XF92gFsrZw1qyay8Crn3Xw4I
qFWjgrWqqFn0y3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jbHUDUUUUU=
X-CM-SenderInfo: 51dqwwjhrrila6rslhhfrp/1tbidQdjG2hA5Jtt0wAAsj
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



在 2025/6/5 6:47, Andrew Morton 写道:
> On Tue, 27 May 2025 11:36:50 +0800 yangge1116@xxxxxxx wrote:
>
>> From: Ge Yang <yangge1116@xxxxxxx>
>>
>> In the isolate_or_dissolve_huge_folio() function, after acquiring the
>> hugetlb_lock, it is only for the purpose of obtaining the correct hstate,
>> which is then passed to the alloc_and_dissolve_hugetlb_folio() function.
>>
>> The alloc_and_dissolve_hugetlb_folio() function itself also acquires the
>> hugetlb_lock. We can have the alloc_and_dissolve_hugetlb_folio() function
>> obtain the hstate by itself, so that the isolate_or_dissolve_huge_folio()
>> function no longer needs to acquire the hugetlb_lock. In addition, we keep
>> the folio_test_hugetlb() check within the isolate_or_dissolve_huge_folio()
>> function. By doing so, we can avoid disrupting the normal path by vainly
>> holding the hugetlb_lock.
>>
>> The replace_free_hugepage_folios() function has the same issue, and we
>> should address it as well.
>>
>
> This change addresses a possible performance issue which was introduced
> by 113ed54ad276 ("mm/hugetlb: fix kernel NULL pointer dereference when
> replacing free hugetlb folios"). 113ed54ad276 was added recently and
> was cc:stable.
>
> David said:
> https://lkml.kernel.org/r/87521d93-cc03-480d-a2ef-3ef8c84481c9@xxxxxxxxxx
>
>
> Question is, will that bugfix's performance impact be sufficiently
> serious for us to also backport this new patch?

In some low-probability scenarios, there could be severe impacts. For
example, when multiple CPUs execute the replace_free_hugepage_folios()
function simultaneously. It seems that we need to backport this new
patch. Thank you.



Return-Path: <linux-kernel+bounces-674000-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C925F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:23:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E1D091898CEF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:23:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B0CD41F4C8E;
Thu, 5 Jun 2025 03:23:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="TOP97t3l"
Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181])
(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 69A4640855
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:23:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749093807; cv=none; b=hi+IQjO8LzYg5FCGa7/lkiiNfSeHFrctiZKGAXCCwmYYohB+Awlgsw5G0W0S11jXcXOPfUZP090yYjeiGVQJmbrRS8+hfheGTxDLEOqbwR8nwEjZJX9S1DKaGM1mcGNe2ba361CcM+qSgrYSSTKz6mSMPgOavTzw79YdDt5ruRI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749093807; c=relaxed/simple;
bh=EEPX2e16FfTRhVu6g8ijXd9jW/sotTO6EL5btlEu22Y=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=OBavJCj5nk2HT7WEiy8kdT01++n7I1W+s90gyE9qYNCA1YDB3N8FyD2mln3Ln2FGezaWT4GalZRrbyBXi9C5MhlJoEONN9qeneprMSBCvtDnq/BWEEVlLXOEibIr1yCzOqvzzE5XJMZxTS5ephWEFvJ3PM8PAudDYj2/1qR6R4o=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=TOP97t3l; arc=none smtp.client-ip=209.85.214.181
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com
Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-231e8553248so5317485ad.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 20:23:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=bytedance.com; s=google; t=1749093804; x=1749698604; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject
:user-agent:mime-version:date:message-id:from:to:cc:subject:date
:message-id:reply-to;
bh=KM3/Mfadr0ILRuZgl1am16zEWMa0SGHgSc/04/smS/E=;
b=TOP97t3lkI6CQ1MRZf/Ctw/9THhxVCn+NzUmLDDheo3+T65jdE3UEmDvVcQxHroKM2
5k6dKvqC4aZIBr6sVZqqCypRmpMJnwu3u3u/KaMSHpUh2pLfmaAFDYny3t5jkQ406osq
84i25IACM4dZVQw3MqY5pWp2F4PriBPQuQdlSA8Hjtzz2m5zdcKM/GNJEjEIHjBA7Crr
vOGsLax94ghdIieYgjtlXwBjHB1L63vFueUV/KvlTUIulC2tlEIOx7Pm/INhjmOe8FkT
sPm3o/hcDsUR6gfE4uAOEdjBGD+VQC5HL1TgPs8IpQkyeurjbakD+NU3rJ49Egb6NKjJ
jUgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749093804; x=1749698604;
h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject
:user-agent:mime-version:date:message-id:x-gm-message-state:from:to
:cc:subject:date:message-id:reply-to;
bh=KM3/Mfadr0ILRuZgl1am16zEWMa0SGHgSc/04/smS/E=;
b=XQl08628mQjXd7cTfXq/LkIMULZE38tHs7K46THa9v7mZyLcDgTMYLpMxTdRkEc1dL
QpNBivIiQ0mspKi4WyXbpw3N6svlIlqUXC5QZ+Io4NV1hdzNyg0jpYKx1pYVDIfOavXH
5gwGhE7EzfLHetvmUTdY3Vhi4ODWq6fZVGQpfkDP9c/MUVQewsNyRTwylLDed8QCeY9M
KqZefc5uSExLsqeg6+VE59XmokNZDzY4D1iqf8O/2Uk80MCAnZ6qUekRFDiLujy/wJ93
TEiMQoBEqQUyPe1uuLmmTHTQRi/VZZcI809pEAGUVybbOpjlKe++6UZN6fIy07HylEbT
9fjQ==
X-Forwarded-Encrypted: i=1; AJvYcCX9FAMBna5Tpn+kG6wr3TDc2wIbZo5pa1nXmV0xHIW/g7suF+7kIq1xqNOaEeIKBReKHbg1k7BBcZAlh/I=@vger.kernel.org
X-Gm-Message-State: AOJu0YxYfuJnsGJ2CYeX2Wtljrb9OXHuHUNVq615npATfimsbbEb757h
mS30JvJEOUuL4dEN9qoxW4L1bfCG5ZB4VsDBwL7j+0eGIaOSLCuLGRDYrEgxr0Y/43M=
X-Gm-Gg: ASbGncsRaYxcn3ds/SaA96w9I6hASfc7WZ7rrMUa8+qhe/GY+Jsum2n4y5V/aSMz3mm
cM4coHyS7XFDdb5Lutt5Hz76lASdOC/FXAJT9qbRVyyp/FQEJI3WY0o92nyh3HTtH7Yx2VoyoGq
32OhgC9S9MQgT6VLkazAJcM7jmcTwjM9T5czaFxSEyUVew1BnEhgur+16RgnYtkVZ+k9ixizlaS
W+Q2YWGBqpQvZG+z+xaY4yxXpoDtxlWOR6wau1Wgs7P5uneO18a890ZRzgZYu8sQfxDyFvYbyhn
OReRawHn+PeY9cliZenLC8sdngprykO7aPysVYFrz/Ce/V82jHfoXFkFwlSYlMWsli+aisTOqCq
+Kdxj
X-Google-Smtp-Source: AGHT+IHPyZzSAZ7JcT87t5j2427jPh6+MmtdwNftpdDiPn5eutqHeiOyPcHZ7I8LHFMSzt/syqKWUg==
X-Received: by 2002:a17:902:cf0d:b0:234:ef42:5d48 with SMTP id d9443c01a7336-235e1205974mr79340365ad.38.1749093804466;
Wed, 04 Jun 2025 20:23:24 -0700 (PDT)
Received: from [10.68.122.90] ([63.216.146.178])
by smtp.gmail.com with ESMTPSA id d9443c01a7336-23506cd8d6dsm110352515ad.119.2025.06.04.20.23.19
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 20:23:23 -0700 (PDT)
Message-ID: <7cb990bf-57d4-4fc9-b44c-f30175c0fb7a@xxxxxxxxxxxxx>
Date: Thu, 5 Jun 2025 11:23:18 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH RFC v2] mm: use per_vma lock for MADV_DONTNEED
To: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
Cc: Jann Horn <jannh@xxxxxxxxxx>, Barry Song <21cnbao@xxxxxxxxx>,
akpm@xxxxxxxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Barry Song <v-songbaohua@xxxxxxxx>, "Liam R. Howlett"
<Liam.Howlett@xxxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>,
Vlastimil Babka <vbabka@xxxxxxx>, Suren Baghdasaryan <surenb@xxxxxxxxxx>,
Lokesh Gidra <lokeshgidra@xxxxxxxxxx>,
Tangquan Zheng <zhengtangquan@xxxxxxxx>
References: <20250530104439.64841-1-21cnbao@xxxxxxxxx>
<CAG48ez11zi-1jicHUZtLhyoNPGGVB+ROeAJCUw48bsjk4bbEkA@xxxxxxxxxxxxxx>
<0fb74598-1fee-428e-987b-c52276bfb975@xxxxxxxxxxxxx>
<c6dbfb68-413a-4a98-8d21-8c3f4b324618@lucifer.local>
<3cb53060-9769-43f4-996d-355189df107d@xxxxxxxxxxxxx>
<c813c03a-5d95-43a6-9415-0ceb845eb62c@lucifer.local>
From: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>
In-Reply-To: <c813c03a-5d95-43a6-9415-0ceb845eb62c@lucifer.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/5/25 1:50 AM, Lorenzo Stoakes wrote:
> On Wed, Jun 04, 2025 at 02:02:12PM +0800, Qi Zheng wrote:
>> Hi Lorenzo,
>>
>> On 6/3/25 5:54 PM, Lorenzo Stoakes wrote:
>>> On Tue, Jun 03, 2025 at 03:24:28PM +0800, Qi Zheng wrote:
>>>> Hi Jann,
>>>>
>>>> On 5/30/25 10:06 PM, Jann Horn wrote:
>>>>> On Fri, May 30, 2025 at 12:44 PM Barry Song <21cnbao@xxxxxxxxx> wrote:
>>>>>> Certain madvise operations, especially MADV_DONTNEED, occur far more
>>>>>> frequently than other madvise options, particularly in native and Java
>>>>>> heaps for dynamic memory management.
>>>>>>
>>>>>> Currently, the mmap_lock is always held during these operations, even when
>>>>>> unnecessary. This causes lock contention and can lead to severe priority
>>>>>> inversion, where low-priority threads—such as Android's HeapTaskDaemon—
>>>>>> hold the lock and block higher-priority threads.
>>>>>>
>>>>>> This patch enables the use of per-VMA locks when the advised range lies
>>>>>> entirely within a single VMA, avoiding the need for full VMA traversal. In
>>>>>> practice, userspace heaps rarely issue MADV_DONTNEED across multiple VMAs.
>>>>>>
>>>>>> Tangquan’s testing shows that over 99.5% of memory reclaimed by Android
>>>>>> benefits from this per-VMA lock optimization. After extended runtime,
>>>>>> 217,735 madvise calls from HeapTaskDaemon used the per-VMA path, while
>>>>>> only 1,231 fell back to mmap_lock.
>>>>>>
>>>>>> To simplify handling, the implementation falls back to the standard
>>>>>> mmap_lock if userfaultfd is enabled on the VMA, avoiding the complexity of
>>>>>> userfaultfd_remove().
>>>>>
>>>>> One important quirk of this is that it can, from what I can see, cause
>>>>> freeing of page tables (through pt_reclaim) without holding the mmap
>>>>> lock at all:
>>>>>
>>>>> do_madvise [behavior=MADV_DONTNEED]
>>>>> madvise_lock
>>>>> lock_vma_under_rcu
>>>>> madvise_do_behavior
>>>>> madvise_single_locked_vma
>>>>> madvise_vma_behavior
>>>>> madvise_dontneed_free
>>>>> madvise_dontneed_single_vma
>>>>> zap_page_range_single_batched [.reclaim_pt = true]
>>>>> unmap_single_vma
>>>>> unmap_page_range
>>>>> zap_p4d_range
>>>>> zap_pud_range
>>>>> zap_pmd_range
>>>>> zap_pte_range
>>>>> try_get_and_clear_pmd
>>>>> free_pte
>>>>>
>>>>> This clashes with the assumption in walk_page_range_novma() that
>>>>> holding the mmap lock in write mode is sufficient to prevent
>>>>> concurrent page table freeing, so it can probably lead to page table
>>>>> UAF through the ptdump interface (see ptdump_walk_pgd()).
>>>>
>>>> Maybe not? The PTE page is freed via RCU in zap_pte_range(), so in the
>>>> following case:
>>>>
>>>> cpu 0 cpu 1
>>>>
>>>> ptdump_walk_pgd
>>>> --> walk_pte_range
>>>> --> pte_offset_map (hold RCU read lock)
>>>> zap_pte_range
>>>> --> free_pte (via RCU)
>>>> walk_pte_range_inner
>>>> --> ptdump_pte_entry (the PTE page is not freed at this time)
>>>>
>>>> IIUC, there is no UAF issue here?
>>>>
>>>> If I missed anything please let me know.
>
> Seems to me that we don't need the VMA locks then unless I'm missing
> something? :) Jann?
>
> Would this RCU-lock-acquired-by-pte_offset_map also save us from the
> munmap() downgraded read lock scenario also? Or is the problem there
> intermediate page table teardown I guess?
>

Right. Currently, page table pages other than PTE pages are not
protected by RCU, so mmap write lock still needed in the munmap path
to wait for all readers of the page table pages to exit the critical
section.

In other words, once we have achieved that all page table pages are
protected by RCU, we can completely remove the page table pages from
the protection of mmap locks.

Here are some of my previous thoughts:

```
Another plan
============

Currently, page table modification are protected by page table locks
(page_table_lock or split pmd/pte lock), but the life cycle of page
table pages are protected by mmap_lock (and vma lock). For more details,
please refer to the latest added Documentation/mm/process_addrs.rst file.

Currently we try to free the PTE pages through RCU when
CONFIG_PT_RECLAIM is turned on. In this case, we will no longer
need to hold mmap_lock for the read/write op on the PTE pages.

So maybe we can remove the page table from the protection of the mmap
lock (which is too big), like this:

1. free all levels of page table pages by RCU, not just PTE pages, but
also pmd, pud, etc.
2. similar to pte_offset_map/pte_unmap, add
[pmd|pud]_offset_map/[pmd|pud]_unmap, and make them all contain
rcu_read_lock/rcu_read_unlcok, and make them accept failure.

In this way, we no longer need the mmap lock. For readers, such as page
table wallers, we are already in the critical section of RCU. For
writers, we only need to hold the page table lock.

But there is a difficulty here, that is, the RCU critical section is not
allowed to sleep, but it is possible to sleep in the callback function
of .pmd_entry, such as mmu_notifier_invalidate_range_start().

Use SRCU instead? Or use RCU + refcount method? Not sure. But I think
it's an interesting thing to try.
```

Thanks!




Return-Path: <linux-kernel+bounces-674001-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6320341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:26:49 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 9000818970C6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:27:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 19B101E5B9F;
Thu, 5 Jun 2025 03:26:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="E6p2b2BU"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 51D7127738
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:26:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749094001; cv=none; b=KWhSpkSmfZiBBMa83jVNE0oZZoydQyWXdg4Xx3lmlp4m5LIIeoLZ7iAEA7Dsjo09RCiboPQPoi/d1dbgUsAgSI1JOgIGOICmJXetZG86cVGTPI7er1GM9oMYdQ4wFLLWg1acCNQknVqlyiP0KWv+ZACjCu/MowTksCJ1OCDHdiA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749094001; c=relaxed/simple;
bh=amdy+vC90TIDwJevb0wzptOLcp9AWTshWlmocsdoUYQ=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=GAQVQLuNgHV3VRS67imCmjvNK8fXRZuuvCZqQL+Xcp+LAmXJCbIuVwb8FiMaAoyEXTPlrK62G6kkRKC/jOPaZjzEl2ZXFWe1lu2wSCH3/bUYphJ5pxalBDJR2VNVXYkY0im3ac164GFGQn8Y5JPaXzD8tCvenGHy2iqhrlhXrZQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=E6p2b2BU; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 83AB5C4CEE4;
Thu, 5 Jun 2025 03:26:39 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749094000;
bh=amdy+vC90TIDwJevb0wzptOLcp9AWTshWlmocsdoUYQ=;
h=From:To:Cc:Subject:Date:From;
b=E6p2b2BUKZU7SIgrgPzep7EcX9jhRdUs3FcEM4fasZDV1pQiXx4Vx0434z6CZPTmu
GJlm6QmZDi7/ZOTHRBuVwmBbdM5btAe8+oszDK63/QzXE4ZHJh6Fl+4D0sRElecgFy
hfPQRwjN2lWOQvQYMsLRPcJt1Z7ENBayK/Etl9HM1Dc7+GnFVpxYfQJl4/WFa9FxeP
zov5XBkOGapk2IWpLfbnTqJ0zJmEzjcbIO/QwnnGSXoKyJo+bWrrYWViJIVSSZZw+5
/jTccRoHsnrTYW233p5dg9b+YX124uZgnuoB6cQ/1LgkxEcXwljP3sD0kN8AFdyNuG
BZymWaQPgY6Cw==
From: Chao Yu <chao@xxxxxxxxxx>
To: jaegeuk@xxxxxxxxxx
Cc: linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Chao Yu <chao@xxxxxxxxxx>,
stable@xxxxxxxxxx
Subject: [PATCH v3] f2fs: fix to zero post-eof page
Date: Thu, 5 Jun 2025 11:26:33 +0800
Message-ID: <20250605032633.2744434-1-chao@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1266.g31b7d2e469-goog
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

fstest reports a f2fs bug:

generic/363 42s ... [failed, exit status 1]- output mismatch (see /share/git/fstests/results//generic/363.out.bad)
--- tests/generic/363.out 2025-01-12 21:57:40.271440542 +0800
+++ /share/git/fstests/results//generic/363.out.bad 2025-05-19 19:55:58.000000000 +0800
@@ -1,2 +1,78 @@
QA output created by 363
fsx -q -S 0 -e 1 -N 100000
+READ BAD DATA: offset = 0xd6fb, size = 0xf044, fname = /mnt/f2fs/junk
+OFFSET GOOD BAD RANGE
+0x1540d 0x0000 0x2a25 0x0
+operation# (mod 256) for the bad data may be 37
+0x1540e 0x0000 0x2527 0x1
...
(Run 'diff -u /share/git/fstests/tests/generic/363.out /share/git/fstests/results//generic/363.out.bad' to see the entire diff)
Ran: generic/363
Failures: generic/363
Failed 1 of 1 tests

The root cause is user can update post-eof page via mmap [1], however, f2fs
missed to zero post-eof page in below operations, so, once it expands i_size,
then it will include dummy data locates previous post-eof page, so during
below operations, we need to zero post-eof page.

Operations which can include dummy data after previous i_size after expanding
i_size:
- write
- mapwrite [1]
- truncate
- fallocate
* preallocate
* zero_range
* insert_range
* collapse_range
- clone_range (doesn’t support in f2fs)
- copy_range (doesn’t support in f2fs)

[1] https://man7.org/linux/man-pages/man2/mmap.2.html 'BUG section'

Cc: stable@xxxxxxxxxx
Signed-off-by: Chao Yu <chao@xxxxxxxxxx>
---
v3:
- fix check condition in f2fs_zero_post_eof_page()
- fix wrong parameter passed from f2fs_setattr() to
- add a reference
f2fs_zero_post_eof_page()
fs/f2fs/file.c | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 6bd3de64f2a8..696131e655ed 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -35,6 +35,17 @@
#include <trace/events/f2fs.h>
#include <uapi/linux/f2fs.h>

+static void f2fs_zero_post_eof_page(struct inode *inode, loff_t new_size)
+{
+ loff_t old_size = i_size_read(inode);
+
+ if (old_size >= new_size)
+ return;
+
+ /* zero or drop pages only in range of [old_size, new_size] */
+ truncate_pagecache(inode, old_size);
+}
+
static vm_fault_t f2fs_filemap_fault(struct vm_fault *vmf)
{
struct inode *inode = file_inode(vmf->vma->vm_file);
@@ -103,8 +114,13 @@ static vm_fault_t f2fs_vm_page_mkwrite(struct vm_fault *vmf)

f2fs_bug_on(sbi, f2fs_has_inline_data(inode));

+ filemap_invalidate_lock(inode->i_mapping);
+ f2fs_zero_post_eof_page(inode, (folio->index + 1) << PAGE_SHIFT);
+ filemap_invalidate_unlock(inode->i_mapping);
+
file_update_time(vmf->vma->vm_file);
filemap_invalidate_lock_shared(inode->i_mapping);
+
folio_lock(folio);
if (unlikely(folio->mapping != inode->i_mapping ||
folio_pos(folio) > i_size_read(inode) ||
@@ -1109,6 +1125,8 @@ int f2fs_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
f2fs_down_write(&fi->i_gc_rwsem[WRITE]);
filemap_invalidate_lock(inode->i_mapping);

+ if (attr->ia_size > old_size)
+ f2fs_zero_post_eof_page(inode, attr->ia_size);
truncate_setsize(inode, attr->ia_size);

if (attr->ia_size <= old_size)
@@ -1227,6 +1245,10 @@ static int f2fs_punch_hole(struct inode *inode, loff_t offset, loff_t len)
if (ret)
return ret;

+ filemap_invalidate_lock(inode->i_mapping);
+ f2fs_zero_post_eof_page(inode, offset + len);
+ filemap_invalidate_unlock(inode->i_mapping);
+
pg_start = ((unsigned long long) offset) >> PAGE_SHIFT;
pg_end = ((unsigned long long) offset + len) >> PAGE_SHIFT;

@@ -1510,6 +1532,8 @@ static int f2fs_do_collapse(struct inode *inode, loff_t offset, loff_t len)
f2fs_down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
filemap_invalidate_lock(inode->i_mapping);

+ f2fs_zero_post_eof_page(inode, offset + len);
+
f2fs_lock_op(sbi);
f2fs_drop_extent_tree(inode);
truncate_pagecache(inode, offset);
@@ -1631,6 +1655,10 @@ static int f2fs_zero_range(struct inode *inode, loff_t offset, loff_t len,
if (ret)
return ret;

+ filemap_invalidate_lock(mapping);
+ f2fs_zero_post_eof_page(inode, offset + len);
+ filemap_invalidate_unlock(mapping);
+
pg_start = ((unsigned long long) offset) >> PAGE_SHIFT;
pg_end = ((unsigned long long) offset + len) >> PAGE_SHIFT;

@@ -1762,6 +1790,8 @@ static int f2fs_insert_range(struct inode *inode, loff_t offset, loff_t len)
/* avoid gc operation during block exchange */
f2fs_down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
filemap_invalidate_lock(mapping);
+
+ f2fs_zero_post_eof_page(inode, offset + len);
truncate_pagecache(inode, offset);

while (!ret && idx > pg_start) {
@@ -1819,6 +1849,10 @@ static int f2fs_expand_inode_data(struct inode *inode, loff_t offset,
if (err)
return err;

+ filemap_invalidate_lock(inode->i_mapping);
+ f2fs_zero_post_eof_page(inode, offset + len);
+ filemap_invalidate_unlock(inode->i_mapping);
+
f2fs_balance_fs(sbi, true);

pg_start = ((unsigned long long)offset) >> PAGE_SHIFT;
@@ -4860,6 +4894,10 @@ static ssize_t f2fs_write_checks(struct kiocb *iocb, struct iov_iter *from)
err = file_modified(file);
if (err)
return err;
+
+ filemap_invalidate_lock(inode->i_mapping);
+ f2fs_zero_post_eof_page(inode, iocb->ki_pos + iov_iter_count(from));
+ filemap_invalidate_unlock(inode->i_mapping);
return count;
}

--
2.49.0



Return-Path: <linux-kernel+bounces-674002-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DB21341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:31:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id DECC87A9244
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:30:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3F788185B73;
Thu, 5 Jun 2025 03:31:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="N0mNAood"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 790D3442C
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:31:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749094298; cv=none; b=imbpQ6CVEgtcMsCL7bFg91zTqPFZfPRPHYrUhdChSfUoKcGADMJwTy+6g6g4vNTyn1xDM2stJC6peQQxrgGidA/FZlPCINjfDH4R3pshjy4h/A5FgVPfGJvLEuzUi3lbIZ6l3c7R3qTeLAhK33ZAYjtqjjqmb8YyN1V/P6C1xYQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749094298; c=relaxed/simple;
bh=zD9KLdlxoxnlel0R+Dkuhh1beMBQe4Pg1pYX12Fw11w=;
h=Message-ID:Date:MIME-Version:Cc:Subject:To:References:From:
In-Reply-To:Content-Type; b=fig8b4HHtIkjsjOxJmAusxOnxpn6kNqerI1sXj9sZ7c7fscZjmf0UZ6UfGUjb0kJGX6aMqGpqxVq5vo7EfsXjI6O+2RHP2nUB0ddjLMxI2dEEweLtRBo2GdtYFwl+vfEpwshYjqT5dre3y8dSzwbWBWochx0f4O7BrSkznmT3Mk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=N0mNAood; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 058F1C4CEEB;
Thu, 5 Jun 2025 03:31:35 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749094298;
bh=zD9KLdlxoxnlel0R+Dkuhh1beMBQe4Pg1pYX12Fw11w=;
h=Date:Cc:Subject:To:References:From:In-Reply-To:From;
b=N0mNAoodH8TxwIffoYAp4amYWbVnUShMldcW4shFI9Q/GpK8mGqNUXUYAktsr4ENm
r1JuvnXsClo3jrA+Ytf96oIb9pwpDI3IBMQHKeWUZDKwMfnBmWMvEr2roh/G8XlE+z
p2D1ae2GUomPL+GMpSywOWft13FqwUqVs2wKOUIMH0yPghuaEa6hszSQaA0wNSLYnI
rYyhSUdgkrlgCOm4WcDIMy8QdsslayX00qr+oKJfLkojas6Uceey8+8aKRwhMsUuGZ
53D1yxHwsKlqY5hy+NBVMnR6XV7SrBDmHAjNL+cCGYRlD5NEQwldkdOLu9CMRznpRU
UHEflhRf82O5g==
Message-ID: <2a387dd6-9c10-478d-aae2-8284ad395944@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 11:31:33 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Cc: chao@xxxxxxxxxx, Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>, jaegeuk@xxxxxxxxxx,
linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
ke.wang@xxxxxxxxxx, Hao_hao.Wang@xxxxxxxxxx, baocong.liu@xxxxxxxxxx
Subject: Re: [PATCH v2] f2fs: compress: fix UAF of f2fs_inode_info in
f2fs_free_dic
To: Zhiguo Niu <niuzhiguo84@xxxxxxxxx>
References: <1749037059-4243-1-git-send-email-zhiguo.niu@xxxxxxxxxx>
<76adf905-191d-4415-a584-a79bc502bb87@xxxxxxxxxx>
<CAHJ8P3+ygYG=9ZnPY15=L9AwGr9b5_2PkMwT8AXOyE68v6Hg3A@xxxxxxxxxxxxxx>
Content-Language: en-US
From: Chao Yu <chao@xxxxxxxxxx>
In-Reply-To: <CAHJ8P3+ygYG=9ZnPY15=L9AwGr9b5_2PkMwT8AXOyE68v6Hg3A@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/5/25 10:44, Zhiguo Niu wrote:
> Chao Yu <chao@xxxxxxxxxx> 于2025年6月5日周四 10:23写道:
>>
>> On 6/4/25 19:37, Zhiguo Niu wrote:
>>> The decompress_io_ctx may be released asynchronously after
>>> I/O completion. If this file is deleted immediately after read,
>>> and the kworker of processing post_read_wq has not been executed yet
>>> due to high workloads, It is possible that the inode(f2fs_inode_info)
>>> is evicted and freed before it is used f2fs_free_dic.
>>>
>>> The UAF case as below:
>>> Thread A Thread B
>>> - f2fs_decompress_end_io
>>> - f2fs_put_dic
>>> - queue_work
>>> add free_dic work to post_read_wq
>>> - do_unlink
>>> - iput
>>> - evict
>>> - call_rcu
>>> This file is deleted after read.
>>>
>>> Thread C kworker to process post_read_wq
>>> - rcu_do_batch
>>> - f2fs_free_inode
>>> - kmem_cache_free
>>> inode is freed by rcu
>>> - process_scheduled_works
>>> - f2fs_late_free_dic
>>> - f2fs_free_dic
>>> - f2fs_release_decomp_mem
>>> read (dic->inode)->i_compress_algorithm
>>>
>>> This patch use __iget before f2fs_free_dic and iput after free the dic.
>>>
>>> Cc: Daeho Jeong <daehojeong@xxxxxxxxxx>
>>> Fixes: bff139b49d9f ("f2fs: handle decompress only post processing in softirq")
>>> Signed-off-by: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>
>>> Signed-off-by: Baocong Liu <baocong.liu@xxxxxxxxxx>
>>> ---
>>> v2: use __iget/iput function
>>> ---
>>> fs/f2fs/compress.c | 16 +++++++++++-----
>>> 1 file changed, 11 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
>>> index b3c1df9..3f0c18d 100644
>>> --- a/fs/f2fs/compress.c
>>> +++ b/fs/f2fs/compress.c
>>> @@ -1687,7 +1687,7 @@ static void f2fs_release_decomp_mem(struct decompress_io_ctx *dic,
>>> }
>>>
>>> static void f2fs_free_dic(struct decompress_io_ctx *dic,
>>> - bool bypass_destroy_callback);
>>> + bool bypass_destroy_callback, bool late_free);
>>>
>>> struct decompress_io_ctx *f2fs_alloc_dic(struct compress_ctx *cc)
>>> {
>>> @@ -1743,12 +1743,12 @@ struct decompress_io_ctx *f2fs_alloc_dic(struct compress_ctx *cc)
>>> return dic;
>>>
>>> out_free:
>>> - f2fs_free_dic(dic, true);
>>> + f2fs_free_dic(dic, true, false);
>>> return ERR_PTR(ret);
>>> }
>>>
>>> static void f2fs_free_dic(struct decompress_io_ctx *dic,
>>> - bool bypass_destroy_callback)
>>> + bool bypass_destroy_callback, bool late_free)
>>> {
>>> int i;
>>>
>>> @@ -1775,6 +1775,8 @@ static void f2fs_free_dic(struct decompress_io_ctx *dic,
>>> }
>>>
>>> page_array_free(dic->inode, dic->rpages, dic->nr_rpages);
>>> + if (late_free)
>>> + iput(dic->inode);
>>> kmem_cache_free(dic_entry_slab, dic);
>>> }
>>>
>>> @@ -1783,16 +1785,20 @@ static void f2fs_late_free_dic(struct work_struct *work)
>>> struct decompress_io_ctx *dic =
>>> container_of(work, struct decompress_io_ctx, free_work);
>>>
>>> - f2fs_free_dic(dic, false);
>>> + f2fs_free_dic(dic, false, true);
>>> }
>>>
>>> static void f2fs_put_dic(struct decompress_io_ctx *dic, bool in_task)
>>> {
>>> if (refcount_dec_and_test(&dic->refcnt)) {
>>> if (in_task) {
>>> - f2fs_free_dic(dic, false);
>>> + f2fs_free_dic(dic, false, false);
>>> } else {
>>> INIT_WORK(&dic->free_work, f2fs_late_free_dic);
>>> + /* to avoid inode is evicted simultaneously */
>>> + spin_lock(&dic->inode->i_lock);
>>> + __iget(dic->inode);
>>> + spin_unlock(&dic->inode->i_lock);
>>
>> Oh, how about using igrab() instead?
> Hi Chao,
> after I check igrab, I think it is ok,
> but here We don't need care about igarb's return value, right?

I guess "return NULL" should be impossible case, but still we can add
f2fs_bug_on() to detect any potential bug, right?

Thanks,

> Thanks!
>
>>
>>> queue_work(F2FS_I_SB(dic->inode)->post_read_wq,
>>> &dic->free_work);
>>> }
>>



Return-Path: <linux-kernel+bounces-674003-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 93E6D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:34:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A032E16FC3F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:14 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5F1181F4622;
Thu, 5 Jun 2025 03:34:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Oqx199nB"
Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65])
(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 D713DF50F
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.65
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749094446; cv=none; b=YKSXznJEuVmnUH0XrdMw3eOopd+eEGNOG1eV3ro0o5gKu2yw9R3IfEeOjosolEfDsHcqBQMe0DEUe8RdpabKo56hZYYCj0ntolk2KrbzlVqqHCnshnHUgmOwbB5vZtgZkKDnQ+TSoSOwTLY1oD4ux6TCEuOISafUHorlbdeRx2E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749094446; c=relaxed/simple;
bh=dQqP5Mw9oBgntBuM940PPtoh91B6oGN2B1g372Bat54=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=gEP+EMeyq0cMA7ertZPVdM3682LgM75MbksHrG7+wTXpyn1okpboz2fk9vlp4CHwnHaZNL7pWKMuDmY1s54DlrxP5vKnWyiBruKR2ys0oBbCmjybK7yJaK0dQkOJj7tFMAHmBD37yyMdRPsfzu8RjPoi/Dfj1651211lykZT63k=
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=Oqx199nB; arc=none smtp.client-ip=209.85.128.65
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
Received: by mail-wm1-f65.google.com with SMTP id 5b1f17b1804b1-450ce3a2dd5so4034435e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 20:34:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749094443; x=1749699243; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:to:subject:user-agent:mime-version:date:message-id:from
:to:cc:subject:date:message-id:reply-to;
bh=/vEVlRXJsGRk+CYX2FZa+ooZ3uzbfFEcI/JYbkngtl4=;
b=Oqx199nB+2CCtZEngiXHk3kVG5yL5aylJgGuiBMsgiy87aurr/LrZiVj3oMgRyXx/Q
Veo2jiEyXCfpOeuU8pDb1wgPqJhD5ZN8n7+c/GU/DGb2iZMsczjgwHA3xRZVb1PgoPNF
/DKwM3NQ3/mDV4aOx4yOh8+U0maLmWtTostOPXKguERig2bQQpKM9AeTAotUbwMCB7Jq
1IIqUFNJCc3ydc8wiybsDO88Tyc/cvtpaYVZzk+rmttEi0nmBcH7VXnV58NNdgJH7P9y
N2Fx+kSLY0ltOF/BYIi6CVxLlZ4QwzJTnFO6SqwZtkz5jLohacdIi17T/cBoMBemZrd5
N2Rw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749094443; x=1749699243;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=/vEVlRXJsGRk+CYX2FZa+ooZ3uzbfFEcI/JYbkngtl4=;
b=A83EQdv1Yhqb+wXsFnY1eIWswtbEcs4FnHFDIFo6W4aojlnDiv8aeC9mm8n2HNL7Nn
qcKzkhjjjNcu++EmEodAZzz+Zd33fp6JNnwTn1SdLe1l0VD9jZtYY2DzLA2r+6O6C8u4
JwQZ5Lc2OIpYfuESusN4C2bFTazLw9fw31pIYtSCe6511mCwkjFDGFz23Q3GnK3u4tV8
EJUvz5fgBfTNrynib6vArNfnV+V6oGhx6c5fGfjgPNbv+l9AaExsWf69WtVexNAfctOg
Ky2iKyIj4MqVc8VbAQ6CSVSegFAAx0kYUuji03CG+tfNEG+6mgSwya3t94COglTF95GT
hucQ==
X-Forwarded-Encrypted: i=1; AJvYcCX5RJFxT8JQCcgNyhzSp/Wq8zPAzn+m4QpER8fZ7QaOaugml4czTnunOTuUQfGf4QIai3u0DeqaZRdTvPY=@vger.kernel.org
X-Gm-Message-State: AOJu0YxpI3fqsuuLpnvC9Ttgbms6uYRGi0hMfPuMyw2xoryFaweUq0cF
lJ0zhMgFsJ0nKm0F1z5BpAOaR93NzIXEaI17eHvWvtfbzEI3WpXPf00q
X-Gm-Gg: ASbGncsrcCy1bFRIbRPF1Ns9N9XHltVy9v9Bfuo+QadvblLIcdWGB6g4wnEI7rPkksY
ydmNZwm9lmweHBCnEZWFZuP+LLJuwq8l6F5ZPSC2jsAvKidCmc7LgE6Zsmsn1pyysU9lJ2zflQH
mBnd3xyKdNTszLrefgcpbp1GZiWXJdZLrTrzaqk+RrLIfmt1Gg7EQfKdsX0ah6PA7NNvz2R6vAJ
pNiOhIVmea6o/boOMU+EDom4/px10C5weV8hhzj3xhuBWUxBSUChnUj29K9ec7u1kEZYCe3OrTk
Hf+ZExaqZ6MXrrEJ7JmRJxwQV5MGsXLNbLrXXpf0QfZG3s8NMe9ncFM+lDqMHLueEXbUnNKjJ+N
bDWMuQqW9xwCzORFMNF7eP8uocT5mo0cShKgEGtH62SqRMCnMxjASsCdckRokF1O740g=
X-Google-Smtp-Source: AGHT+IEZgXvmDKwf9FJeIM45CjWz76tqF1urHtCuuWuqbDzmF4SGEdtCa9SQaWtDO2CfP9KYiUjtrw==
X-Received: by 2002:a05:600c:3e88:b0:450:d611:eb95 with SMTP id 5b1f17b1804b1-451f0b269a4mr51677185e9.17.1749094442734;
Wed, 04 Jun 2025 20:34:02 -0700 (PDT)
Received: from [26.26.26.1] (ec2-63-177-217-227.eu-central-1.compute.amazonaws.com. [63.177.217.227])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-451f99198a9sm9586775e9.30.2025.06.04.20.33.58
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 20:34:01 -0700 (PDT)
Message-ID: <d30b70da-d06e-4d96-b110-1459533e2943@xxxxxxxxx>
Date: Thu, 5 Jun 2025 11:33:56 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] iommu/vt-d: Remove the redundant logic in
first_level_by_default()
To: "Wang, Wei W" <wei.w.wang@xxxxxxxxx>, "Tian, Kevin"
<kevin.tian@xxxxxxxxx>, Ethan Zhao <haifeng.zhao@xxxxxxxxxxxxxxx>,
"baolu.lu@xxxxxxxxxxxxxxx" <baolu.lu@xxxxxxxxxxxxxxx>,
"Liu, Yi L" <yi.l.liu@xxxxxxxxx>, "dwmw2@xxxxxxxxxxxxx"
<dwmw2@xxxxxxxxxxxxx>, "jroedel@xxxxxxx" <jroedel@xxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"iommu@xxxxxxxxxxxxxxx" <iommu@xxxxxxxxxxxxxxx>
References: <20250523081056.223082-1-wei.w.wang@xxxxxxxxx>
<01e5d0a9-715a-48d4-a2a4-2a0b5d99149b@xxxxxxxxxxxxxxx>
<BN9PR11MB5276CFBD4CF795CCB3ADCD1B8C66A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<5fed2452-ae2a-4fca-8483-85ecf645ec1b@xxxxxxxxx>
<DS0PR11MB637325E3CD8FECC9A1D1213ADC6FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Ethan Zhao <etzhao1900@xxxxxxxxx>
In-Reply-To: <DS0PR11MB637325E3CD8FECC9A1D1213ADC6FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/5/2025 9:04 AM, Wang, Wei W wrote:
> On Wednesday, June 4, 2025 3:26 PM, Ethan Zhao wrote:
>> On 5/29/2025 2:11 PM, Tian, Kevin wrote:
>>>> From: Ethan Zhao <haifeng.zhao@xxxxxxxxxxxxxxx>
>>>> Sent: Thursday, May 29, 2025 1:48 PM
>>>>
>>>> 在 2025/5/23 16:10, Wei Wang 写道:
>>>>> This original implementation included redundant logic to determine
>>>> whether
>>>>> first-stage translation should be used by default. Simplify it and
>>>>> preserve the original behavior:
>>>>> - Returns false in legacy mode (no scalable mode support).
>>>>> - Defaults to first-level translation when both FLTS and SLTS are
>>>>> supported.
>>>>>
>>>>> Signed-off-by: Wei Wang <wei.w.wang@xxxxxxxxx>
>>>>> ---
>>>>> drivers/iommu/intel/iommu.c | 10 +---------
>>>>> 1 file changed, 1 insertion(+), 9 deletions(-)
>>>>>
>>>>> diff --git a/drivers/iommu/intel/iommu.c
>>>>> b/drivers/iommu/intel/iommu.c index cb0b993bebb4..228da47ab7cd
>>>>> 100644
>>>>> --- a/drivers/iommu/intel/iommu.c
>>>>> +++ b/drivers/iommu/intel/iommu.c
>>>>> @@ -1366,15 +1366,7 @@ static void free_dmar_iommu(struct
>>>> intel_iommu *iommu)
>>>>> */
>>>>> static bool first_level_by_default(struct intel_iommu *iommu)
>>>>> {
>>>>> - /* Only SL is available in legacy mode */
>>>>> - if (!sm_supported(iommu))
>>>>> - return false;
>>>>> -
>>>>> - /* Only level (either FL or SL) is available, just use it */
>>>>> - if (ecap_flts(iommu->ecap) ^ ecap_slts(iommu->ecap))
>>>>> - return ecap_flts(iommu->ecap);
>>>>> -
>>>>> - return true;
>>>>
>>>> The function works like a digital circurt has 3 single bit inputs
>>>> sm, flts, slts and one bit output ret.
>>>>
>>>> so the true value table of the orignal function looks like
>>>>
>>>>    sm   flts   slts    ret
>>>> a   0     x     x      false
>>>> b   1     1     0      true
>>>> c   1     0     1      false
>>>> d   1     1     1      true
>>>> e   1     0     0      true
>>>
>>> 'e' is actually wrong. We should not return true when the 1st level
>>> cap doesn't exist.
>>
>> If so, this patch should mention it fixes such case with fix tag, not
>> "removing the redundant logic with the same behavior".
>>
>
> Probably not a fix (just code improvement). Your 'e' above is not possible
> from the hardware side, and the old implementation doesn't have it too.
>
Is there any items in Intel VT-d spec to say "It is impossible to have
both flts and slts to false" or you design code under an assumption that
hardware always works perfect ?

You made an assumption that the hardware never would reach there and
then got a conclusion 'e' doesn't exist ?


Thanks,
Ethan
>
>>>
>>>>
>>>>> + return sm_supported(iommu) && ecap_flts(iommu->ecap);
>>>>
>>>> And the true value table of this new one looks like
>>>>
>>>>    sm  flts slts    ret
>>>>
>>>> f   1     1     x      true
>>>> g   1     0     x      false
>>>>
>>>> h   0     1     x      false
>>>> i    0     0     x      false
>>>
>>> so this table is correct.
>



Return-Path: <linux-kernel+bounces-674004-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CF8BD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:34:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id CD4E53A6E03
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 567571F4622;
Thu, 5 Jun 2025 03:34:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="TKcMe0SF"
Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3851F50F
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.254.224.25
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749094454; cv=none; b=O/KrRJX16vGjFDJWrE2c+C0wCIMCd+tvinBzjJT31PXgyeUIkTjUhsvUMKhp5t/WgrmxK4ieS9VcNGeq7A4FDohrYpJ1wenKnDu1uFSDLrLRV9OaCpPycHalZrieQbFhtnAIVbBDkyKqhZzzTsQW4VACF2ylVsLg9nhJIFkkcbc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749094454; c=relaxed/simple;
bh=lJfZHCjTwiwmpOgV9rG7yOZTKtDaemNLPpm5Me68uUY=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type:
References; b=EzMMNipekoBmfF3mJ+l8Kx0jfA/Xq7F8x7VwXndrBZA3rqkNG7PM0iwjgWYw1xx+zZ5SLkl7w0+G6TrTzHrBsodG/07OIKt5+q7VtvFy0wLeHTlPdmHmSdh5MAhG/tEjGEZTyZjOpfzQQ3Acu15I0Sgusx6bexUlOgAmxhisPxA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=TKcMe0SF; arc=none smtp.client-ip=203.254.224.25
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com
Received: from epcas2p3.samsung.com (unknown [182.195.41.55])
by mailout2.samsung.com (KnoxPortal) with ESMTP id 20250605033403epoutp024ddc9c4ec2d24a8130692f9e3a31fe91~GCCExP_jV3203932039epoutp02H
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:03 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20250605033403epoutp024ddc9c4ec2d24a8130692f9e3a31fe91~GCCExP_jV3203932039epoutp02H
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
s=mail20170921; t=1749094443;
bh=hqvoyvvaQ3+MpXNWTvYlgfno/RK24poe88itru5s6bc=;
h=From:To:Cc:Subject:Date:References:From;
b=TKcMe0SFBpREpr/XbxPOTNGvGq67x/S7Kwdz90Un6cHBvk35uak9WqvYNnMMKDQ9Z
hwbQl21p4X58ljsYaj+aBY68gLmKhKBOUMIbsrpF5zSeRJ19G3ltYz5u1mQbcq47Ob
/yjuvkWOSSaS8rPUZ0T7HjuW7foQSmJV4aVHrvKk=
Received: from epsnrtp01.localdomain (unknown [182.195.42.153]) by
epcas2p3.samsung.com (KnoxPortal) with ESMTPS id
20250605033402epcas2p3da4aaaca52cd3da2c8ac24cd41d991a4~GCCDWUR9p1118011180epcas2p3Q;
Thu, 5 Jun 2025 03:34:02 +0000 (GMT)
Received: from epcas2p4.samsung.com (unknown [182.195.36.102]) by
epsnrtp01.localdomain (Postfix) with ESMTP id 4bCVRZ01d4z6B9m9; Thu, 5 Jun
2025 03:34:02 +0000 (GMT)
Received: from epsmtip1.samsung.com (unknown [182.195.34.30]) by
epcas2p4.samsung.com (KnoxPortal) with ESMTPA id
20250605033401epcas2p46651837ba85629a50ed69db9665a52a2~GCCCYKKXZ0772307723epcas2p47;
Thu, 5 Jun 2025 03:34:01 +0000 (GMT)
Received: from localhost.localdomain (unknown [10.229.95.142]) by
epsmtip1.samsung.com (KnoxPortal) with ESMTPA id
20250605033401epsmtip114e46e8514ceb9e025eaa40dcda29f19~GCCCSP5LH2772327723epsmtip1W;
Thu, 5 Jun 2025 03:34:01 +0000 (GMT)
From: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
To:
Cc: janghyuck.kim@xxxxxxxxxxx, zhaoyang.huang@xxxxxxxxxx,
jaewon31.kim@xxxxxxxxx, david@xxxxxxxxxx, Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Jason Gunthorpe <jgg@xxxxxxxx>,
John Hubbard <jhubbard@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v2 0/2] mm: gup: avoid CMA pinning and clean up stale logic
Date: Thu, 5 Jun 2025 12:32:05 +0900
Message-ID: <20250605033210.3184521-1-hyesoo.yu@xxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CMS-MailID: 20250605033401epcas2p46651837ba85629a50ed69db9665a52a2
X-Msg-Generator: CA
Content-Type: text/plain; charset="utf-8"
X-Sendblock-Type: AUTO_CONFIDENTIAL
CMS-TYPE: 102P
cpgsPolicy: CPGSC10-234,Y
X-CFilter-Loop: Reflected
X-CMS-RootMailID: 20250605033401epcas2p46651837ba85629a50ed69db9665a52a2
References: <CGME20250605033401epcas2p46651837ba85629a50ed69db9665a52a2@xxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

This patch series addresses an issue where longterm GUP requests
could inadvertently pin unpinnable pages (such as CMA) when no
migratable folios are found. This regression was introduced by
commit 1aaf8c122918 ("mm: gup: fix infinite loop within __get_longterm_locked").

The first patch removes stale codes and unnecessary logic left.

The second patch fixes the logic to return -EAGAIN when unpinnable
pages are detected but no folios could be collected, allowing
migration to be retried rather than pinning the page.

Hyesoo Yu (2):
mm: gup: clean up stale logic in migrate_longterm_unpinnable_folio()
mm: gup: avoid CMA page pinning by retrying migration if no migratable
page

mm/gup.c | 58 +++++++++++++++++++++++++++++++-------------------------
1 file changed, 32 insertions(+), 26 deletions(-)

--
2.49.0



Return-Path: <linux-kernel+bounces-674005-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B12F741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:34:49 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0A68816D182
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 56CA81F7060;
Thu, 5 Jun 2025 03:34:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="mt+ACr1G"
Received: from mailout4.samsung.com (mailout4.samsung.com [203.254.224.34])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 76264F50F
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.254.224.34
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749094483; cv=none; b=cU2NQRRwSsuOQnFpLlWjQtTSutixrcqIzhK+nT8z3uwBIx5CgYz+toYBN1jROf+lK4xWlqWlHhfuG8G0+kF0vQv6a/nfRUVAqplbzlgu3ytg/JaAwbJ/DZEHbhtfnYyV9RlRTp7c8EIZ2ItmBZTAW28NbMRXqiYN1ZimOiTVMP0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749094483; c=relaxed/simple;
bh=R6w5sj1lKu/GwSbX5lVh87DxEfzB2g4m0wZ4NqXxpeo=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:MIME-Version:
Content-Type:References; b=HKvpWmzsBQF0U0HmBTFx+3foIwScbLmlztT1fNpxSLCeUdkmvbg1fqzTfMlf9jNb10ia7aJz64iXs7qfRHU8jdowS4JGsA2GGL5l7trZf8NY0K3vM3xwpCjwgwmiHK5o8IkTJ1vwAMGTHycCfg14KJfa1TGPdAySkvinCJ585wU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=mt+ACr1G; arc=none smtp.client-ip=203.254.224.34
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com
Received: from epcas2p2.samsung.com (unknown [182.195.41.54])
by mailout4.samsung.com (KnoxPortal) with ESMTP id 20250605033432epoutp04cca239dc42bb4a86f8bb59c8ef9a2710~GCCfPAGdd0824608246epoutp04q
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:32 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20250605033432epoutp04cca239dc42bb4a86f8bb59c8ef9a2710~GCCfPAGdd0824608246epoutp04q
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
s=mail20170921; t=1749094472;
bh=g6o6qJ3bpotp0kNCLPXcpLOpBMROr4ERR72mZ9YdQXM=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=mt+ACr1GsUUPlgD0psZld3Oq9L94O+sSGzHLEP1GD45PAJmkg6T9WZ+BpkLdTYlaV
bF14XckCTKXCajy77TIAR7Q42P0IeFJGJrCGE7o7Ai1EkfjI8WQ3haSVW6MW49kIHe
Yh4aEF12Yeqe8w6yf7mXTgrbYNE3rWFtRmZCuz5s=
Received: from epsnrtp02.localdomain (unknown [182.195.42.154]) by
epcas2p3.samsung.com (KnoxPortal) with ESMTPS id
20250605033431epcas2p37c0ff62ab63566682186cb4a2b2d6ef7~GCCewSTFy1644316443epcas2p3w;
Thu, 5 Jun 2025 03:34:31 +0000 (GMT)
Received: from epcas2p1.samsung.com (unknown [182.195.36.69]) by
epsnrtp02.localdomain (Postfix) with ESMTP id 4bCVS71YRMz2SSKY; Thu, 5 Jun
2025 03:34:31 +0000 (GMT)
Received: from epsmtip1.samsung.com (unknown [182.195.34.30]) by
epcas2p3.samsung.com (KnoxPortal) with ESMTPA id
20250605033430epcas2p37db099e1ff4f2225c2059e08bbaa97c9~GCCdsRLEL1118511185epcas2p3p;
Thu, 5 Jun 2025 03:34:30 +0000 (GMT)
Received: from localhost.localdomain (unknown [10.229.95.142]) by
epsmtip1.samsung.com (KnoxPortal) with ESMTPA id
20250605033430epsmtip10e9fd67e05088f8fecad5e423c1b6dc0~GCCdozjHz2503425034epsmtip18;
Thu, 5 Jun 2025 03:34:30 +0000 (GMT)
From: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
To:
Cc: janghyuck.kim@xxxxxxxxxxx, zhaoyang.huang@xxxxxxxxxx,
jaewon31.kim@xxxxxxxxx, david@xxxxxxxxxx, Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Jason Gunthorpe <jgg@xxxxxxxx>,
John Hubbard <jhubbard@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v2 1/2] mm: gup: clean up stale logic in
migrate_longterm_unpinnable_folio()
Date: Thu, 5 Jun 2025 12:32:06 +0900
Message-ID: <20250605033210.3184521-2-hyesoo.yu@xxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250605033210.3184521-1-hyesoo.yu@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CMS-MailID: 20250605033430epcas2p37db099e1ff4f2225c2059e08bbaa97c9
X-Msg-Generator: CA
Content-Type: text/plain; charset="utf-8"
X-Sendblock-Type: AUTO_CONFIDENTIAL
CMS-TYPE: 102P
cpgsPolicy: CPGSC10-234,Y
X-CFilter-Loop: Reflected
X-CMS-RootMailID: 20250605033430epcas2p37db099e1ff4f2225c2059e08bbaa97c9
References: <20250605033210.3184521-1-hyesoo.yu@xxxxxxxxxxx>
<CGME20250605033430epcas2p37db099e1ff4f2225c2059e08bbaa97c9@xxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

migrate_longterm_unpinnable_folio() always receives a non-empty
movable_folio_list. Thus, list_empty() check can be safely removed.

Also, pofs entries are fully unpinned before migration is attempted.
The err label contained unnecessary unpinning logic for pofs, which
is now removed.

No functional change intended.

Signed-off-by: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
---
mm/gup.c | 30 ++++++++++--------------------
1 file changed, 10 insertions(+), 20 deletions(-)

diff --git a/mm/gup.c b/mm/gup.c
index e065a49842a8..68d91b000199 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -2353,7 +2353,12 @@ static int
migrate_longterm_unpinnable_folios(struct list_head *movable_folio_list,
struct pages_or_folios *pofs)
{
- int ret;
+ struct migration_target_control mtc = {
+ .gfp_mask = GFP_USER | __GFP_NOWARN,
+ .reason = MR_LONGTERM_PIN,
+ .nid = NUMA_NO_NODE,
+ };
+ int ret = -EAGAIN;
unsigned long i;

for (i = 0; i < pofs->nr_entries; i++) {
@@ -2370,6 +2375,7 @@ migrate_longterm_unpinnable_folios(struct list_head *movable_folio_list,
gup_put_folio(folio, 1, FOLL_PIN);

if (migrate_device_coherent_folio(folio)) {
+ pofs_unpin(pofs);
ret = -EBUSY;
goto err;
}
@@ -2388,27 +2394,11 @@ migrate_longterm_unpinnable_folios(struct list_head *movable_folio_list,
pofs_clear_entry(pofs, i);
}

- if (!list_empty(movable_folio_list)) {
- struct migration_target_control mtc = {
- .nid = NUMA_NO_NODE,
- .gfp_mask = GFP_USER | __GFP_NOWARN,
- .reason = MR_LONGTERM_PIN,
- };
-
- if (migrate_pages(movable_folio_list, alloc_migration_target,
- NULL, (unsigned long)&mtc, MIGRATE_SYNC,
- MR_LONGTERM_PIN, NULL)) {
- ret = -ENOMEM;
- goto err;
- }
- }
-
- putback_movable_pages(movable_folio_list);
-
- return -EAGAIN;
+ if (migrate_pages(movable_folio_list, alloc_migration_target, NULL,
+ (unsigned long)&mtc, MIGRATE_SYNC, MR_LONGTERM_PIN, NULL))
+ ret = -ENOMEM;

err:
- pofs_unpin(pofs);
putback_movable_pages(movable_folio_list);

return ret;
--
2.49.0



Return-Path: <linux-kernel+bounces-674006-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DA00F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:34:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 27DDB3A86ED
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 94521185B73;
Thu, 5 Jun 2025 03:34:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="OP97vsE5"
Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 75530442C
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.254.224.24
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749094484; cv=none; b=iKUm0Jao2OKDHrqhU4a1E0qq/cQ7+xhcOJDtopvvJen6Bf0sNzypixMtgUSVn8GoBN1X5+kDzlbeCuyj5JiyYNf1QMWpmxXPw2p/hrKmXe19Y+Q3dcwJ7ntbvGmvv2sA0oRseRYEb1WGWIPL28837V2vXrOeBhgq6g8KCfwhpJA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749094484; c=relaxed/simple;
bh=XKbBjgv1nA4UEPj3gGSGrM4V+S6Sm1iCRCdlo6IWiqo=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:MIME-Version:
Content-Type:References; b=r5roSp81xFF4UrxACFbbXHk5MYNr6rS4KWNrl+YsToVTXC5SYiIXfBqm4cly9bxN4mukU/BkZlCyqEmTHcr6LxZyx37BKTCY4DzTB6UaSzSDAusjnrFaqUb4131GKodum4BVl8oRj5YJ0kJqDU3Dh4Suxw0wGwdMqnLz8tk8tFk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=OP97vsE5; arc=none smtp.client-ip=203.254.224.24
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com
Received: from epcas2p1.samsung.com (unknown [182.195.41.53])
by mailout1.samsung.com (KnoxPortal) with ESMTP id 20250605033433epoutp014fa7d0df91bba09a2ab0b153dccf66c3~GCCgYy2KT2228122281epoutp010
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:33 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20250605033433epoutp014fa7d0df91bba09a2ab0b153dccf66c3~GCCgYy2KT2228122281epoutp010
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
s=mail20170921; t=1749094473;
bh=Vc8zTvJQzMXjROytgiQ4wLokBHguz3GHnutGwCHuygk=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=OP97vsE5LsLamLP9C97rWIKRGVLslDZzJ1I7X6JOMZ59Jqg6IMFCaY8NA+Eynri/O
S7LXFxS/PbzOuBO46na7q8UvUDKrpqQiDxoIoVMx8Ptw5uyXt472Pq3ki+NSiSQ6bZ
5GYbiZgv1nBMWn01A6WcyQmV0vO+jXG6OkrQ7CEQ=
Received: from epsnrtp01.localdomain (unknown [182.195.42.153]) by
epcas2p1.samsung.com (KnoxPortal) with ESMTPS id
20250605033433epcas2p10450c216ecac4bae502143e408f9e61b~GCCf5XQ6C1696116961epcas2p1b;
Thu, 5 Jun 2025 03:34:33 +0000 (GMT)
Received: from epcas2p3.samsung.com (unknown [182.195.36.101]) by
epsnrtp01.localdomain (Postfix) with ESMTP id 4bCVS853Y9z6B9m5; Thu, 5 Jun
2025 03:34:32 +0000 (GMT)
Received: from epsmtip1.samsung.com (unknown [182.195.34.30]) by
epcas2p4.samsung.com (KnoxPortal) with ESMTPA id
20250605033432epcas2p4c024a9d05246b18c217f3562b3f53551~GCCfHZFVE3146031460epcas2p4j;
Thu, 5 Jun 2025 03:34:32 +0000 (GMT)
Received: from localhost.localdomain (unknown [10.229.95.142]) by
epsmtip1.samsung.com (KnoxPortal) with ESMTPA id
20250605033432epsmtip19ff455cb5c97d9e76a5b57caec500d79~GCCfBhtQC2776827768epsmtip1k;
Thu, 5 Jun 2025 03:34:32 +0000 (GMT)
From: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
To:
Cc: janghyuck.kim@xxxxxxxxxxx, zhaoyang.huang@xxxxxxxxxx,
jaewon31.kim@xxxxxxxxx, david@xxxxxxxxxx, Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Jason Gunthorpe <jgg@xxxxxxxx>,
John Hubbard <jhubbard@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v2 2/2] mm: gup: avoid CMA page pinning by retrying
migration if no migratable page
Date: Thu, 5 Jun 2025 12:32:07 +0900
Message-ID: <20250605033210.3184521-3-hyesoo.yu@xxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250605033210.3184521-1-hyesoo.yu@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CMS-MailID: 20250605033432epcas2p4c024a9d05246b18c217f3562b3f53551
X-Msg-Generator: CA
Content-Type: text/plain; charset="utf-8"
X-Sendblock-Type: AUTO_CONFIDENTIAL
CMS-TYPE: 102P
cpgsPolicy: CPGSC10-234,Y
X-CFilter-Loop: Reflected
X-CMS-RootMailID: 20250605033432epcas2p4c024a9d05246b18c217f3562b3f53551
References: <20250605033210.3184521-1-hyesoo.yu@xxxxxxxxxxx>
<CGME20250605033432epcas2p4c024a9d05246b18c217f3562b3f53551@xxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Commit 1aaf8c122918 ("mm: gup: fix infinite loop within __get_longterm_locked")
introduced an issue where CMA pages could be pinned by longterm GUP requests.
This occurs when unpinnable pages are detected but the movable_page_list is empty;
the commit would return success without retrying, allowing unpinnable
pages (such as CMA) to become pinned.

CMA pages may be temporarily off the LRU due to concurrent isolation,
for example when multiple longterm GUP requests are racing and therefore
not appear in movable_page_list. Before commit 1aaf8c, the kernel would
retry migration in such cases, which helped avoid accidental CMA pinning.

The original intent of the commit was to support longterm GUP on non-LRU
CMA pages in out-of-tree use cases such as pKVM. However, allowing this
can lead to broader CMA pinning issues.

To avoid this, the logic is restored to return -EAGAIN instead of success
when no folios could be collected but unpinnable pages were found.
This ensures that migration is retried until success, and avoids
inadvertently pinning unpinnable pages.

Fixes: 1aaf8c122918 ("mm: gup: fix infinite loop within __get_longterm_locked")
Signed-off-by: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
---
mm/gup.c | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/mm/gup.c b/mm/gup.c
index 68d91b000199..a25c8c894882 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -2300,15 +2300,13 @@ static void pofs_unpin(struct pages_or_folios *pofs)
unpin_user_pages(pofs->pages, pofs->nr_entries);
}

-/*
- * Returns the number of collected folios. Return value is always >= 0.
- */
-static void collect_longterm_unpinnable_folios(
+static bool collect_longterm_unpinnable_folios(
struct list_head *movable_folio_list,
struct pages_or_folios *pofs)
{
struct folio *prev_folio = NULL;
bool drain_allow = true;
+ bool any_unpinnable = false;
unsigned long i;

for (i = 0; i < pofs->nr_entries; i++) {
@@ -2321,6 +2319,8 @@ static void collect_longterm_unpinnable_folios(
if (folio_is_longterm_pinnable(folio))
continue;

+ any_unpinnable = true;
+
if (folio_is_device_coherent(folio))
continue;

@@ -2342,6 +2342,8 @@ static void collect_longterm_unpinnable_folios(
NR_ISOLATED_ANON + folio_is_file_lru(folio),
folio_nr_pages(folio));
}
+
+ return any_unpinnable;
}

/*
@@ -2407,11 +2409,25 @@ migrate_longterm_unpinnable_folios(struct list_head *movable_folio_list,
static long
check_and_migrate_movable_pages_or_folios(struct pages_or_folios *pofs)
{
+ bool any_unpinnable;
+
LIST_HEAD(movable_folio_list);

- collect_longterm_unpinnable_folios(&movable_folio_list, pofs);
- if (list_empty(&movable_folio_list))
+ any_unpinnable = collect_longterm_unpinnable_folios(&movable_folio_list, pofs);
+
+ if (list_empty(&movable_folio_list)) {
+ /*
+ * If we find any longterm unpinnable page that we failed to
+ * isolated for migration, it might be because someone else
+ * concurrently isolated it. Make the caller retry until it
+ * succeeds.
+ */
+ if (any_unpinnable) {
+ pofs_unpin(pofs);
+ return -EAGAIN;
+ }
return 0;
+ }

return migrate_longterm_unpinnable_folios(&movable_folio_list, pofs);
}
--
2.49.0



Return-Path: <linux-kernel+bounces-674007-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 56F7A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:35:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 96E2B177121
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:35:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B8BC61F5619;
Thu, 5 Jun 2025 03:34:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="bN/afFAj"
Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50])
(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 78E4A442C
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:34:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749094491; cv=none; b=MCFokBbZUViaGBMTkdZD9xMJANDA0eBlRa2H90czrNdFiBihYYu3KJYD90fnJr0MvNbzesMk7FDOQKEBhN4Rn+8joZ7YyRMarj0voMp24KAb6AZwxE9UvzPs98M/8Gr8dWiHPTogOU7U3G5HclIYeyj9UWtLfzmpxEGRb+ZWx90=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749094491; c=relaxed/simple;
bh=CODiWunRA93HWXAByr632j1TV29w99tNL1PYUm7r5DY=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=t8ORDOlKT3hiZzXhkSt5CRPAD/eMzf15iG9PGzrGDpSZjPPOBAF1CqRP1snjVB+nArI6Q9Fy82Wi+1z2U8Ez2Sh0/GBo77umd4sDZQRTO3BzY01duCPpKTJHaJFRE7WMUytncrkH8Tx2vjjhzZge7qDzNzL5s6X6CXinsLRzPO8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=bN/afFAj; arc=none smtp.client-ip=209.85.216.50
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com
Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-311a6236effso373597a91.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 20:34:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=bytedance.com; s=google; t=1749094489; x=1749699289; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=Z1hNibJxXLnrnySg972N1gYLR6Ade0RiNhcmbxL3rpM=;
b=bN/afFAjW1HjGwVcSIBvAT014KbzMQy6D4i7R8WR4RrZoSKDHsRKvN1+Po0Hn4kczo
aIdYxuc/ViJ0jAaUN3auaZYOE/cMrDg7yMeWLE18/lPifbNHtM8VUfc2odeADDddLuMt
zOAfXavbPJxqC/xMF9/jp3xHhNut8IGdS8bCBT3BqOqHZV6UfkxAOEcqEM+6nm7KXHJ/
IH3MoPTYq/As1Nk9Hb5rhj7ngqRuZb35R0CC3/qOt+FcuECCAiM/6OrJFXD7q40z4ZaD
BElEu8Poq+8lsfTgqCs3Fx1hxVcY7wdnRvCSfrdrYnZ5CV3QDqSkWyJ300Q8zLj25BS0
ILaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749094489; x=1749699289;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=Z1hNibJxXLnrnySg972N1gYLR6Ade0RiNhcmbxL3rpM=;
b=DM1zUY+m8z6Ks1PM/pNGL/FxClc0WTty2kIKiwZaAdOUHKzaog4RO4CEmYf7radTzF
7eWrzLleL449LUOykC1uJQfpJbLFatdWNWLcTqlN0645meNwIWXVTjQvphudKKDh/C4h
DMClEu7hyycHJDDXwybn1yYyXqkoWwHNIUqfk4s1NaAupGaxD27d1snkmunLKcTNDKym
IO8ea0PDWDQWsleQJfpZS5wzG/NLrWN5P9HfOxPgocZ4M3DQLevKsSSzYAMTr6P9KqFi
dIAcn5XXlzgXEqqfGPlVRlrwfOP8BekpP60eqEHLHsC9QRApTkYXuu3pfB/sWjjFFoVy
jj2Q==
X-Forwarded-Encrypted: i=1; AJvYcCXs+Qfi9WjyUq1/bvBNHC47Pv59V2HnC6L0MqxbniRuTWM3uUKD4MqfT+WD7ktn9F99NJN6oJIm/AvT4kw=@vger.kernel.org
X-Gm-Message-State: AOJu0YyQg5qUTMesEPA4qG75zcJ2W5CVsIrEsUFcaFJkneqIPs/69v2j
+SeObx0ITUOh7It6Em28CVWjBlFR+s3tjpoXPfRskecaHNo4ZJBK2lPclv+t/6d7p4E=
X-Gm-Gg: ASbGncuCieS5H4gqWl33giV8j8Q3WZlwCpGJUGAfzegDiSACeho/JfQjxtX525M6sRm
9r2DqMVEMdZLME+RUhDXTPawtE8SewqSNO7JkXNrSG3lGyCv/HluML/ntTbVlmnk2sQVEy7WveV
z6kIgGqmxvsQE4GC2Kd9xwywb/59uEg6V8c/qBHl88Sf9FAyIIEfJTYCVxjDGFCxCYrq2+oBbkN
zzZHuz7DkdFRZKOBq/qpz1M2RhXY0b3U5N34XgxrIl25CnLFsvJZcBw3qr5yk6dX0Z0oOX/TTAG
hAZnBQIDxuzXKBzkcymn4ftzoU+BTf5PVT9t2qYcQE8kJS8sv+xEBB+0SrKtCvStFBkuZBFoVg6
uJw==
X-Google-Smtp-Source: AGHT+IHGnu+iP844K4EL2P+B+oOadSdALTlQdx70vlzTI9nd2EUTVvPe3Xkd96F227tbANkJI8VKtw==
X-Received: by 2002:a17:90b:38c1:b0:313:33ca:3b8b with SMTP id 98e67ed59e1d1-31333ca3d89mr368760a91.9.1749094488438;
Wed, 04 Jun 2025 20:34:48 -0700 (PDT)
Received: from localhost.localdomain ([203.208.189.8])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-313319f3d86sm200162a91.33.2025.06.04.20.34.44
(version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
Wed, 04 Jun 2025 20:34:48 -0700 (PDT)
From: lizhe.67@xxxxxxxxxxxxx
To: akpm@xxxxxxxxxxxxxxxxxxxx,
david@xxxxxxxxxx,
jgg@xxxxxxxx,
jhubbard@xxxxxxxxxx,
peterx@xxxxxxxxxx
Cc: linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
dev.jain@xxxxxxx,
muchun.song@xxxxxxxxx,
lizhe.67@xxxxxxxxxxxxx
Subject: [PATCH v3] gup: optimize longterm pin_user_pages() for large folio
Date: Thu, 5 Jun 2025 11:34:30 +0800
Message-ID: <20250605033430.83142-1-lizhe.67@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Li Zhe <lizhe.67@xxxxxxxxxxxxx>

In the current implementation of the longterm pin_user_pages() function,
we invoke the collect_longterm_unpinnable_folios() function. This function
iterates through the list to check whether each folio belongs to the
"longterm_unpinnabled" category. The folios in this list essentially
correspond to a contiguous region of user-space addresses, with each folio
representing a physical address in increments of PAGESIZE. If this
user-space address range is mapped with large folio, we can optimize the
performance of function collect_longterm_unpinnable_folios() by reducing
the using of READ_ONCE() invoked in
pofs_get_folio()->page_folio()->_compound_head(). Also, we can simplify
the logic of collect_longterm_unpinnable_folios(). Instead of comparing
with prev_folio after calling pofs_get_folio(), we can check whether the
next page is within the same folio.

The performance test results, based on v6.15, obtained through the
gup_test tool from the kernel source tree are as follows. We achieve an
improvement of over 66% for large folio with pagesize=2M. For small folio,
we have only observed a very slight degradation in performance.

Without this patch:

[root@localhost ~] ./gup_test -HL -m 8192 -n 512
TAP version 13
1..1
# PIN_LONGTERM_BENCHMARK: Time: get:14391 put:10858 us#
ok 1 ioctl status 0
# Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0
[root@localhost ~]# ./gup_test -LT -m 8192 -n 512
TAP version 13
1..1
# PIN_LONGTERM_BENCHMARK: Time: get:130538 put:31676 us#
ok 1 ioctl status 0
# Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0

With this patch:

[root@localhost ~] ./gup_test -HL -m 8192 -n 512
TAP version 13
1..1
# PIN_LONGTERM_BENCHMARK: Time: get:4867 put:10516 us#
ok 1 ioctl status 0
# Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0
[root@localhost ~]# ./gup_test -LT -m 8192 -n 512
TAP version 13
1..1
# PIN_LONGTERM_BENCHMARK: Time: get:131798 put:31328 us#
ok 1 ioctl status 0
# Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0

Signed-off-by: Li Zhe <lizhe.67@xxxxxxxxxxxxx>
---
Changelogs:

v2->v3:
- Update performance test data based on v6.15.
- Refine the description of the optimization approach in commit message.
- Fix some issues of code formatting.
- Fine-tune the conditions for entering the optimization path.

v1->v2:
- Modify some unreliable code.
- Update performance test data.

v2 patch: https://lore.kernel.org/all/20250604031536.9053-1-lizhe.67@xxxxxxxxxxxxx/
v1 patch: https://lore.kernel.org/all/20250530092351.32709-1-lizhe.67@xxxxxxxxxxxxx/

mm/gup.c | 37 +++++++++++++++++++++++++++++--------
1 file changed, 29 insertions(+), 8 deletions(-)

diff --git a/mm/gup.c b/mm/gup.c
index 84461d384ae2..9fbe3592b5fc 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -2317,6 +2317,31 @@ static void pofs_unpin(struct pages_or_folios *pofs)
unpin_user_pages(pofs->pages, pofs->nr_entries);
}

+static struct folio *pofs_next_folio(struct folio *folio,
+ struct pages_or_folios *pofs, long *index_ptr)
+{
+ long i = *index_ptr + 1;
+
+ if (!pofs->has_folios && folio_test_large(folio)) {
+ const unsigned long start_pfn = folio_pfn(folio);
+ const unsigned long end_pfn = start_pfn + folio_nr_pages(folio);
+
+ for (; i < pofs->nr_entries; i++) {
+ unsigned long pfn = page_to_pfn(pofs->pages[i]);
+
+ /* Is this page part of this folio? */
+ if (pfn < start_pfn || pfn >= end_pfn)
+ break;
+ }
+ }
+
+ if (unlikely(i == pofs->nr_entries))
+ return NULL;
+ *index_ptr = i;
+
+ return pofs_get_folio(pofs, i);
+}
+
/*
* Returns the number of collected folios. Return value is always >= 0.
*/
@@ -2324,16 +2349,12 @@ static void collect_longterm_unpinnable_folios(
struct list_head *movable_folio_list,
struct pages_or_folios *pofs)
{
- struct folio *prev_folio = NULL;
bool drain_allow = true;
- unsigned long i;
-
- for (i = 0; i < pofs->nr_entries; i++) {
- struct folio *folio = pofs_get_folio(pofs, i);
+ struct folio *folio;
+ long i = 0;

- if (folio == prev_folio)
- continue;
- prev_folio = folio;
+ for (folio = pofs_get_folio(pofs, i); folio;
+ folio = pofs_next_folio(folio, pofs, &i)) {

if (folio_is_longterm_pinnable(folio))
continue;
--
2.20.1



Return-Path: <linux-kernel+bounces-674008-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F01E141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:35:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 4A0C6177271
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:35:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6470A1FC0E3;
Thu, 5 Jun 2025 03:35:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="VOYIKthe"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA5E61F8BD6;
Thu, 5 Jun 2025 03:35:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749094510; cv=none; b=Ivljvl8ATr7bZXKXHcvR3zB+zEhfpUc+8oDrd9/c8NsVX3NyUL7br19elqVSfb8Ez8zYTXh8bQkqy6dB44Dy3rAfZ86gY6J58556oekj3xv7c+sprJBvd7YQuMWkgt1ueN2XoPtKB5629wvx2kIcQlpxivU4b/8R0gEeTAzJR2Y=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749094510; c=relaxed/simple;
bh=fkxEIFyRAyzUTGA/3k3vFB28vHxgYECrnK2TeDDpRq4=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=IhIYS6RxC6UVh0UChvRYsgGO9ypb8ZIoRVmWAbjS1bMNpPWRt/92qRyWz4cl6vJ46jL+Bk6vPUkPke28oCL25pe5gqKES7uMYROaGaLshF+Qn0JiDwBuHkfvWCmB7ztyChILjnYpOdwNJaEnBCE7SBlwh70LP12x7HdI26QcwRw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=VOYIKthe; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com
Received: from pps.filterd (m0279872.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554G3Ito000686;
Thu, 5 Jun 2025 03:35:03 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
6qsyL/mkUf55/J1iG+sSINN6G+q6LgfkddYl7Zora7w=; b=VOYIKthegoG2oCZK
JYV200Y0H3XY9AkG6xJ/lV6uzluNKMrY1Wy6rQYSdwY6uL/qBbXwB9gd6z/kAFjz
Wg82IGt5w96z1B3/qyBFqkDyJeIptFqpqnzduhZHJMieAU/eDQCoHKq3ByaUQelG
BHwU4DpAusg10V9MEgpfJi7WS9V897mnlyyy67vEtp6tSTkdd9zRV6TpvukYERyM
gK21Ilx99otoyfw8Oify8aqyjXxpteZlcPA4KSUWS1ZysmJ0hgDvW/A+Ac8ZVlRG
0YlsOaA6Kqnm8hiNa2iog2WDMNrBpvCAn901b3kEnjmSUNMfKIzWVERFlbZBYe8O
IBmzNA==
Received: from nasanppmta04.qualcomm.com (i-global254.qualcomm.com [199.106.103.254])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 471g8q80qp-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 05 Jun 2025 03:35:03 +0000 (GMT)
Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139])
by NASANPPMTA04.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 5553Z20Y002294
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 5 Jun 2025 03:35:02 GMT
Received: from [10.216.5.91] (10.80.80.8) by nasanex01c.na.qualcomm.com
(10.45.79.139) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Wed, 4 Jun 2025
20:34:56 -0700
Message-ID: <f80ea2fa-1003-48ae-bf57-df388ba1963b@xxxxxxxxxxx>
Date: Thu, 5 Jun 2025 09:04:53 +0530
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 6/8] serial: qcom-geni: move clock-rate logic to
separate function
To: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>,
Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx>,
Jiri Slaby <jirislaby@xxxxxxxxxx>, Rob Herring
<robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley
<conor+dt@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio
<konradybcio@xxxxxxxxxx>,
<linux-arm-msm@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<linux-serial@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>
CC: <psodagud@xxxxxxxxxxx>, <djaggi@xxxxxxxxxxx>, <quic_msavaliy@xxxxxxxxxxx>,
<quic_vtanuku@xxxxxxxxxxx>, <quic_arandive@xxxxxxxxxxx>,
<quic_mnaresh@xxxxxxxxxxx>, <quic_shazhuss@xxxxxxxxxxx>
References: <20250506180232.1299-1-quic_ptalari@xxxxxxxxxxx>
<VkNsXqYDdmwW9dutwc76Dv8ks2pvgcUwpf1UREJXhbXDQRaobVZL8m0hLz6rsOG-v6CjyAW3vHbuKMiPc9kN_Q==@protonmail.internalid>
<20250506180232.1299-7-quic_ptalari@xxxxxxxxxxx>
<47d19ad8-37ad-462f-8cb3-d39c29008709@xxxxxxxxxx>
<8f18716f-cba2-4615-950a-63b6b73e23e9@xxxxxxxxxxx>
<bdcc3e48-ceee-45bf-bc4f-f0e63d44b333@xxxxxxxxxx>
Content-Language: en-US
From: Praveen Talari <quic_ptalari@xxxxxxxxxxx>
In-Reply-To: <bdcc3e48-ceee-45bf-bc4f-f0e63d44b333@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To
nasanex01c.na.qualcomm.com (10.45.79.139)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Proofpoint-GUID: CtWTna4LdkrIX9NIzyo90YhRRAqgel9y
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDAyOCBTYWx0ZWRfXwJytQT2pNwGp
RJH0MsY0N+zfZjtQe/WbVFJRL2Nok6veHKbGALPBVzEOX9mAPijf4w4hZpNF9UjlpaJ6C2vDXI7
qiUXvm37yDTAG/6Wo8PBfZWqbNaBwHpvBpttQ3WswU+hwjoVZEea00pt6Us7UEpzFTJQShyZ12K
ODm/k8d/rUs50uXVR6lMY/u1mo+sKz+TWsx+D4mhWIl761LQk4rqqLBQBf0y5C1tg9N0n9Rce7f
awmXOzTZ+dgPaDl/cMBgIaH8oy8Y6ux54kimdjKkzCUfCQ7NKAU5uoIjUlWAPK2psFKko6cAAcl
3NOU/m9svGfiWshyRLCwLGjQz1T9Jk9Wq1e/LGtqb+hpN52vE4NbmU4OMXqF2Ho2CdiKKaCzoWu
j1pFwZd4P5hIQCFpl2Ipdc98RO0rPchxtucPL9mMoUK3kiha0oeM7+4sQmHnK3ADltH5tHeu
X-Proofpoint-ORIG-GUID: CtWTna4LdkrIX9NIzyo90YhRRAqgel9y
X-Authority-Analysis: v=2.4 cv=PrmTbxM3 c=1 sm=1 tr=0 ts=68411067 cx=c_pps
a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17
a=GEpy-HfZoHoA:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10
a=bzMaToIjV4cEPkjtaokA:9 a=QEXdDO2ut3YA:10 a=zZCYzV9kfG8A:10
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
phishscore=0 priorityscore=1501 mlxlogscore=999 mlxscore=0 lowpriorityscore=0
impostorscore=0 malwarescore=0 spamscore=0 clxscore=1015 adultscore=0
suspectscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000
definitions=main-2506050028
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Bryan,

Thank you for your inputs.

On 6/5/2025 5:19 AM, Bryan O'Donoghue wrote:
> On 04/06/2025 18:11, Praveen Talari wrote:
>>> Separate this stuff out.
>>>
>>> Your code should match the commit log. If you want to convert %u to
>>> %lu make a patch to do that, even if it seems trivial, it is better
>>> to make granular submissions.
>>
>> It comes under newly added API. Do we still need to make separate patch?
>
> Best practice is to split this stuff up.
We can avoid this change by using unsigned int instead of unsigned long
in newly added API function params.

Will fix in next version.

Thanks,
Praveen Talari
>
> If your commit log says "I'm moving code" then it should _only_ move
> code, don't sneak any other changes in, no matter how seemingly innocuous.
>
> ---
> bod


Return-Path: <linux-kernel+bounces-674009-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9E0CA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:42:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 995451890737
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:42:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A9BBE1F2BAE;
Thu, 5 Jun 2025 03:42:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="nqYALxeO"
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2073.outbound.protection.outlook.com [40.107.244.73])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08414F9EC
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:42:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.73
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749094933; cv=fail; b=uSGBdjQ+lTC8Aj5mbuRff2tk4lA0mnSAQvop+XKNwcuxdDHjA8AaG0LPYfVF/4GY6s0x4uAhcpdiiNcbGfBtxpVAOcOeWe/pn+c5adp5dOdNj0AVLofuMTjh/mZUD85kKBkSUmD9AFY+vWA8PucG8jlRS6prABBBVLwDqLAuM1w=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749094933; c=relaxed/simple;
bh=1ySWdWnRlRDmMqTply4jDVe704tOdP1F/UERhQCLtuY=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=KdY5m/MAGtgPIwr80Yfhb8+l1uEFuuBRkbaqrkocQ5MZy6cqkIF5MgYRqStW1hrQxbJlLYETAwvgCkfpmO/lhGytwzDBb9FpHgVAISX4euMiybtSNFvbSLnBxifofBhmRLBo2CWIzFYzjsnonumkxFSQS6WvqOPTSz/oc8BPOp4=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=nqYALxeO; arc=fail smtp.client-ip=40.107.244.73
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=sEtIDbftz1YS7AlPmS9QqOVatxFm9uVF3EU28QmW6uKpNwKgR3S+w4g3tvW9YD1l0xBIf2Ypd8rjNuwD9i6YwEgNNToabDVYT+A+Yq9+IrfkDBP523PO0P3t59T7ypdYuS9TGYlK9aDeIETRhYutKOSaSDRak7pf52bODLgU/rSOiJ7rOShMJG/v0f0E1R1n6/55+aIZimHXT+6RzjLBRLP3tjs5yYgJaS5dBrKTfwegT72PpNAF0tfNbfCRb/aPrIM/m7M66zb683AIrSj2xJR5q66NYpP+Zp2GpaWWxDGkfp6naNuWGe3hAT6ptzYftsGy9autiIzdQjjyMBKlAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=X2lYgV0JyLH6PIKspmsAm0XF/O/I/VZ7NC6Wvplr11Y=;
b=KafkbMXmR2NX9ujYagH5aEz5emTaAzMAFs00Kigq62orpn5uwGf4GM4o+Hq2Ip4bg6wEfrOQyJ1qRWNgm0sSxLIbrqc0FgGxK4g8fB2FPE7DUB03ZXbtfgr11FLtFj7YmtdSDbYsrYoomNb1r0QmjPGLNsCfl0SiaJX3gDjmHq7pg/yyRn1Oy3eySODztH6vS3Q903jq07eoL9U0m1bk/En3f5DNB93tY9dL19BkDzBr96h2xdg9qmk3W3ycnRdUg39jPIWCD7xAhsv6oqVE4DOw+N43oLkcnsR4bdzuoGktUv75j3Gj0YPdY+D8HAYR8lFWUZt2d3IwrMx0S7qfBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=X2lYgV0JyLH6PIKspmsAm0XF/O/I/VZ7NC6Wvplr11Y=;
b=nqYALxeOhmuPostcjjfQDqDyvqBYSVHK4ZRAIVse+xXE/dG/x9RZPSuImwuK+i+8GLHIXwUC65ntCMVjvPNy4bZhflhMuyzXK/ghnYwCTOxDzHMCKJqJr5TC6mB2hl/ZJQ1gxUC31VaiP9CQYi/iEffXeqyGw2b6Blt9Vhuy9F0=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from CH3PR12MB8658.namprd12.prod.outlook.com (2603:10b6:610:175::8)
by IA1PR12MB8495.namprd12.prod.outlook.com (2603:10b6:208:44d::9) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 03:42:08 +0000
Received: from CH3PR12MB8658.namprd12.prod.outlook.com
([fe80::d5cc:cc84:5e00:2f42]) by CH3PR12MB8658.namprd12.prod.outlook.com
([fe80::d5cc:cc84:5e00:2f42%7]) with mapi id 15.20.8792.033; Thu, 5 Jun 2025
03:42:08 +0000
Message-ID: <02751a68-3981-4cc5-886f-a816ae39bf88@xxxxxxx>
Date: Thu, 5 Jun 2025 09:11:55 +0530
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v0] sched/topology: Add lock guard support
To: Jemmy Wong <jemmywong512@xxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Juri Lelli <juri.lelli@xxxxxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>, Ben Segall <bsegall@xxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>, Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
References: <20250604185049.374165-1-jemmywong512@xxxxxxxxx>
Content-Language: en-US
From: K Prateek Nayak <kprateek.nayak@xxxxxxx>
In-Reply-To: <20250604185049.374165-1-jemmywong512@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: PN4PR01CA0046.INDPRD01.PROD.OUTLOOK.COM
(2603:1096:c01:279::7) To CH3PR12MB8658.namprd12.prod.outlook.com
(2603:10b6:610:175::8)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PR12MB8658:EE_|IA1PR12MB8495:EE_
X-MS-Office365-Filtering-Correlation-Id: d15c2f44-5ddc-4bbf-da29-08dda3e2ee51
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|376014|7416014|1800799024|366016|7053199007|921020;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?Z2JKODcyRWpoajJQN0FlZmxPUGRYMktHQVhpWmhQSDkvcHZVd2JMNWdpcUk3?=
=?utf-8?B?R3Z2U1VzVFlEc0EraE44SHlsc0ZwT0VxV1BFVTZ5cXhQeG5UTHV4YmIzVU84?=
=?utf-8?B?aE9XSFpOWDI0R1JlRTZGeW95aTB4TGpUcUU2WFk1aEZZOFUxbXBVSnBTSlNi?=
=?utf-8?B?Zm9xYUVWNy92YzduOUs4bjRFMHRRYjIzQ202eGNGQlN2NDRZczFrdjV6UXNk?=
=?utf-8?B?Mkp4d1dKZFJLc3FzeENUcDBQdFJRQkVCYmhmVzB4bG5ONHBVS29mOTk3c2g3?=
=?utf-8?B?Q1ZtbFhybXJ1RzdsS0kyV0lDc3NhcWRrbzRyM2xpSmJaYzdtNlB6QkZqMGdB?=
=?utf-8?B?alRuZ1Q4MXMrWVBiMXhEdGkxa0JuMkpHdzZCLzQxZUxDb3FYMHdzblVEd3lr?=
=?utf-8?B?ZTJ2a05SdkQrVDdZQ29YdzlaMlhhcnhzRjI3Z3h4bUJCRzZjN1Vka0hFZkoy?=
=?utf-8?B?T2xqMDBXT0NTY2hFYlh2U2pMMk81K0FIaGE4M1dmN2lJSnJNNk9SVk1LelEw?=
=?utf-8?B?MGw5aTdoSUQ3aDZPUHRHWDRjdHFJSmFUZFZaalNpSHQ0anFRZkVBOE9NaXNL?=
=?utf-8?B?NEVYMlhPN0dIODRDMFFlQkxhUktNdzJ4eTZxdHlHS1JHOStjSFU4VGM4bjZt?=
=?utf-8?B?WVRuT2IrYXgzQy9tTUdPVnNBSzBEWGNTQlJGZUQwVmFBV2pwOUxBNVB5VWhF?=
=?utf-8?B?Y004NG5WVHBob2VSUFhQbHBrTlU3cUtQZTJIajZnT1RieUdlVk1ldmlCVEls?=
=?utf-8?B?UWdXMDF0OExXMmtJd2EzVDJnNmdPVnphbVV5L3RDRFc3WXBxY0hiYWYvMGo3?=
=?utf-8?B?UXh6NmozVFJVZXFoUDI3ZmN6NEM1bTR5aEcrSUNVWVhDSUFCZXBhK1gwY3Na?=
=?utf-8?B?STZyR0E0R0dEQTBxYmphbUsyT3VBNHY0NmFPcUQzTDlLSHh3ejFEUklqSkxw?=
=?utf-8?B?UkkydXNtZEFtMThsTHBHR3QrS0EwdmJ3aDBLTHJ6c3BTNXo1VEhucjYxRU10?=
=?utf-8?B?U1l5aWtEUXVsYjdod0xHcEd1WEZOL2lpRTBjQ1p2QXBFbmJZeVdPNWhrTDBi?=
=?utf-8?B?Mlk3aXNXQTJ6ZUZjY2JTaVhJVW9rM2Q1NjJmZ3RhRzFiWmlWUitzU0hQOVhm?=
=?utf-8?B?ZjU0NElsODNnRmUxNm5qbU41OFY4eTY1eExVdXhLTnZsREljL1ZjYUdWUkJn?=
=?utf-8?B?ckk3QTVoZnVyWjFZYkExWm85RTVxdkZRU0tncHkzNUxLVzRPWkZTbHJWcFVX?=
=?utf-8?B?VDhTeXVNRGZieUt0MElTcHRUOU5VNUp2Sm5aRGNISExJaGhweElDVnEwR2RV?=
=?utf-8?B?MWNLZjA2S0JtN2JLZ0tsSUx6NDZYZWVqRWoreEo0YTIxQWpOUzhDaEpQUWJk?=
=?utf-8?B?ZGRiNFNoNnA0T3JiOHlJUzgyc2l4MzUxQjk0dXl1MkVOaVFWY1RPb0taODhw?=
=?utf-8?B?OWR3aTdjN2tMYVF1MnZhRDNXT3ZYTXUvekk1NnJ1UzYzMnMzbkQrRHZ6R2t4?=
=?utf-8?B?RGYyRitBU0d6UVhmYWdrYS92d0l0eVBVeENWMTV3QkpkMVR2Wkk4M3M4M0tM?=
=?utf-8?B?UFdlZjV4TFB6OU1CdkFZY0IzKzlMKzR0Qk4rRTZPelh4YUhqM2tYd08rcm02?=
=?utf-8?B?TU56NCtBUVpMZzRwblpGRExGYVFHSEdQSkNjUER6L2JTcFVqR0RJRS8zdVBz?=
=?utf-8?B?MGlqRjFCZE5FbzZYUU5HaUx5SmVQMWVxc2MyMjkrNExwemlJV1FMSkNmRVND?=
=?utf-8?B?VHhFTFJ0VERuSjhOWHRPUkUzMmZGbDJyRSs0S0ltMzRhMHAzRW92UjFtRFpY?=
=?utf-8?B?MGlZbFZOZ0ZaUnBjL3VVYWF6QjNXM3ppbUtnM2V0VDRPQ1BKMEs0cURWbytT?=
=?utf-8?B?RWY1dzVxZDVnbG5MWFppamlINExJZDZIcjZDU2tCRm5iRDc1Qnl5Rk44MDJk?=
=?utf-8?B?a1J5WHNFdjIzMGZkd1FNMVNRMDNrbXZsQnVCdDlVZjVCN2w1Z1Vjb25kTERH?=
=?utf-8?B?eTlQdXlZaXhnPT0=?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR12MB8658.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(7053199007)(921020);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?ak1qQ2hyWEhMbTN3bDlKRGpiMmwwemNidFErQ3h2cThxYU1qTTFKL0toUFUy?=
=?utf-8?B?YkZvVjBqZmhUNEFnTTdjbjMwVFdxQnZ0c2ZGVjBSVUxKaHFNVlFiakRGQWZx?=
=?utf-8?B?Rm83NzAwaHlYenJmTmNURENpK29Bd2Zudm1NQ1BvbGxDSUdFbFM2VFZvSVpz?=
=?utf-8?B?Tk9QTXlZN01LQjRuZ3FTS200SCt5SXlZVWEyckJXRGozSUJKVTQvSUlwOGdZ?=
=?utf-8?B?WVJPWGZlV05OYmNuTXkyMDAvRTVNOHdQMjJjQWdFck1IbGx2aEV6YnRvRVVs?=
=?utf-8?B?MTJvUnVtejFPbzVsa211RkFQZUxaNTdKTlIzbkNaSm1Obm1IeGVwR3duUkdB?=
=?utf-8?B?RE8rZERwMEY3bmhlRzduZmhqKzR3M1h1VDlLaitLN08ySWRQN09BZmdFeHhm?=
=?utf-8?B?T1lPcTkyTnYyREczZk93bTR1bktHWG5FTDY1MndtdU9QUEJLVDNQckpGWkRL?=
=?utf-8?B?UDgvMnJvRmoyMDVIM2ZSc0FxemhydGxlN2JEV0hpdDVlRDNlOERNci9HZFor?=
=?utf-8?B?aGFrTjJndlExb0g4NU93K3dyWU1IWCtVNnNRSTk2ZTlqMEcvZGxXL1I4ZTN1?=
=?utf-8?B?b2x4TUU3dnpNa2ZwWGVWOFI1czdvc0dHeTZ5RU5VZm1heXF1SFlEa29WSC9r?=
=?utf-8?B?QUN3UlgzNGFRd3p5Y1owTld6N0R5MnY5L2hBblZuMVpXZ1VwSXdnU3kxUGpH?=
=?utf-8?B?VFhGVTlIUU9pdGdGRjkrSlE2NENvUFM0c29kMlQyUFBzR2h6S1hnWGZBQkhr?=
=?utf-8?B?TEdvVDR1QUVRMmt3U1RodjRrRGMwcUpmemlxQ21aNm1CSFh4UGlTMnJwb3E0?=
=?utf-8?B?OWc1emw5bDljWkViQ0Qrc005ZjQzOUlwTFdkWkJEcVhtRWZSb2FKT1hNTzNa?=
=?utf-8?B?anVDMU96dys3ZTZndSt3c3pySi9rZ29mMUdObzUyRDVLeDhwTTFDUU10NmZO?=
=?utf-8?B?eVRCSU1yMEVVWW8zYVNwQmdtTmh1VjdNYlFVRm9IY1R6QTZLYjJYU3dtQ3Ra?=
=?utf-8?B?OXl6RDBsdFcxWDFrRER6RnhEZ2FGcmd5U1A1MXVGT054QTZnQnl1MFNSNCtk?=
=?utf-8?B?R0N2dDluUFJLNGI0KzdPMlFJenNBSVRMZjI3T0NEMHZaVlo2bng3U3B0QWVt?=
=?utf-8?B?N2pqZDBiU1QwNUUrbHJjVXY1RFloZnlieHI5TytPeUltZ0UwUVM2VUpFZzAv?=
=?utf-8?B?K0VwRW93TlNZd05uZzBRQy9peDZiREgrTEw4WC9GeVNoMTFHK0ZsNng3MzNk?=
=?utf-8?B?WG9UbUZSbVFlWFQyZU56SHhtV0ZOazdvUW5NelVNOGx1YVEyVUVNSzkrakQx?=
=?utf-8?B?Z1FTZG15K1RTeHJLVmQ0UThod1FEZWxLT3pvNDVLNU9RVHBkRStlRTh5aFlq?=
=?utf-8?B?OEZjbnhickVVMzBKSzV6c3l6T2Vla1F0NnY2eDFHU2VwdHkyNHFlNmo2ZHVp?=
=?utf-8?B?SUFVMlBieFQzaTFteWdFYmtRUHhLSVlSM0JpamtFbmNHQTVPTDB3VjZ2VTFt?=
=?utf-8?B?VytYQ0k0MmpCdlBRYUc5QktueUVoS0tJcE9XUnRmK0JQR2pmOTdOTUVGYkpQ?=
=?utf-8?B?bm0wTENtNlVQa0RZd0RiYWtXSm45eVlvRG02RDV4K1BtQzNIeWIwVU41SmNF?=
=?utf-8?B?ZjM2U2xmak5XRWlUbWNWOGpsT0o1a05TSm4yOW83OVF0NFN3Z041VTJqZHJF?=
=?utf-8?B?eE0ydjBxSkFKWGRhKzkvbEFGc2FHUE9zVy9HTUxWWU9xVmtoSUM3ZDNUeUxs?=
=?utf-8?B?cVNPaExLY0xPNi9XdW9rV2VNY1NtNEs4eHM2U2xHdzZnYU9FcCtLcFJtQjdx?=
=?utf-8?B?NWk1bUFEcW1ieG11MjNDZGlBNUYybllsOVNIeGlmaWc5akZXZ2h0MVNJeW5D?=
=?utf-8?B?SW1tYjJJWVJoNE1TZVFnbXNKSzhNc01aVnQ1QXU0SU9STnBDSzBULzMzazRl?=
=?utf-8?B?cWZTS0wwVjJFS0k5N1d5RXpDNHdqbkxHS3pGcjFrZU1nRmUwUEQyMGJ6TlMv?=
=?utf-8?B?ajJyOE16UDNDYXJFSWVqd2dhOWtqYVRidGt3UHFJRVJFNlg3S0xOaTAwUytM?=
=?utf-8?B?MTgzVW5ZTk9QWExpclRlWk45eVBqclV3d1JRU3ZFcmNaeW5rSTNINTM5aFdy?=
=?utf-8?Q?bvv67r5VVPHfmro0e3qfpyeKA?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d15c2f44-5ddc-4bbf-da29-08dda3e2ee51
X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8658.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 03:42:01.7907
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OxO2QJpI1EVTHmTKnnNaZXIZNY5cPagLagD+3Z7x0gdqOzoIeUVlCCph91YKtdTWpR2qU4CJJ0uZwzpav3bngg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8495
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello Jammy,

On 6/5/2025 12:20 AM, Jemmy Wong wrote:
> This change replaces manual lock acquisition and release with lock guards
> to improve code robustness and reduce the risk of lock mismanagement.
> No functional changes to the scheduler topology logic are introduced.
>
> Signed-off-by: Jemmy Wong <jemmywong512@xxxxxxxxx>
>
> ---
> include/linux/sched.h | 11 +--
> kernel/sched/core.c | 6 +-
> kernel/sched/debug.c | 28 ++++---
> kernel/sched/rt.c | 46 ++++++------
> kernel/sched/topology.c | 162 +++++++++++++++++++---------------------
> 5 files changed, 120 insertions(+), 133 deletions(-)
>
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index 4f78a64beb52..10a9d6083b72 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -46,6 +46,7 @@
> #include <linux/rv.h>
> #include <linux/uidgid_types.h>
> #include <linux/tracepoint-defs.h>
> +#include <linux/mutex.h>
> #include <asm/kmap_size.h>
>
> /* task_struct member predeclarations (sorted alphabetically): */
> @@ -395,14 +396,14 @@ enum uclamp_id {
> UCLAMP_CNT
> };
>
> +extern struct mutex sched_domains_mutex;
> #ifdef CONFIG_SMP
> extern struct root_domain def_root_domain;
> -extern struct mutex sched_domains_mutex;
> -extern void sched_domains_mutex_lock(void);
> -extern void sched_domains_mutex_unlock(void);
> +DEFINE_LOCK_GUARD_0(sched_domains_mutex,
> + mutex_lock(&sched_domains_mutex),
> + mutex_unlock(&sched_domains_mutex))
> #else
> -static inline void sched_domains_mutex_lock(void) { }
> -static inline void sched_domains_mutex_unlock(void) { }
> +DEFINE_LOCK_GUARD_0(sched_domains_mutex, ,)
> #endif
>
> struct sched_param {
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index dce50fa57471..b2b7a0cae95a 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -8457,9 +8457,9 @@ void __init sched_init_smp(void)
> * CPU masks are stable and all blatant races in the below code cannot
> * happen.
> */
> - sched_domains_mutex_lock();
> - sched_init_domains(cpu_active_mask);
> - sched_domains_mutex_unlock();
> + scoped_guard(sched_domains_mutex) {
> + sched_init_domains(cpu_active_mask);
> + }
>
> /* Move init over to a non-isolated CPU */
> if (set_cpus_allowed_ptr(current, housekeeping_cpumask(HK_TYPE_DOMAIN)) < 0)
> diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
> index 9d71baf08075..f56401725ef6 100644
> --- a/kernel/sched/debug.c
> +++ b/kernel/sched/debug.c
> @@ -294,19 +294,17 @@ static ssize_t sched_verbose_write(struct file *filp, const char __user *ubuf,
> bool orig;
>
> cpus_read_lock();

cpus_read_{un}lock() have guards too. You can just have:

guard(cpus_read_lock)();
guard(sched_domains_mutex)();

no need for scoped guard. Compiler will take care of unlocking
ordering before return.

> - sched_domains_mutex_lock();
> -
> - orig = sched_debug_verbose;
> - result = debugfs_write_file_bool(filp, ubuf, cnt, ppos);
> -
> - if (sched_debug_verbose && !orig)
> - update_sched_domain_debugfs();
> - else if (!sched_debug_verbose && orig) {
> - debugfs_remove(sd_dentry);
> - sd_dentry = NULL;
> + scoped_guard(sched_domains_mutex) {
> + orig = sched_debug_verbose;
> + result = debugfs_write_file_bool(filp, ubuf, cnt, ppos);
> +
> + if (sched_debug_verbose && !orig)
> + update_sched_domain_debugfs();
> + else if (!sched_debug_verbose && orig) {
> + debugfs_remove(sd_dentry);
> + sd_dentry = NULL;
> + }
> }
> -
> - sched_domains_mutex_unlock();
> cpus_read_unlock();
>
> return result;

General comment, it is okay to convert the folllowing pattern:

func()
{
...
lock();
... /* critical section */
unlock:
unlock();

return ret;
}

to:
func()
{
...
guard();
... /* critical section with s/goto unlock/return ret/ */

return ret;
}

You don't need a scoped_guard() if the critical section is at the end of
the funtion.

> @@ -517,9 +515,9 @@ static __init int sched_init_debug(void)
> debugfs_create_u32("migration_cost_ns", 0644, debugfs_sched, &sysctl_sched_migration_cost);
> debugfs_create_u32("nr_migrate", 0644, debugfs_sched, &sysctl_sched_nr_migrate);
>
> - sched_domains_mutex_lock();
> - update_sched_domain_debugfs();
> - sched_domains_mutex_unlock();
> + scoped_guard(sched_domains_mutex) {
> + update_sched_domain_debugfs();
> + }
> #endif
>
> #ifdef CONFIG_NUMA_BALANCING
> diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
> index e40422c37033..3f6f181de387 100644
> --- a/kernel/sched/rt.c
> +++ b/kernel/sched/rt.c
> @@ -2920,36 +2920,36 @@ static int sched_rt_handler(const struct ctl_table *table, int write, void *buff
> static DEFINE_MUTEX(mutex);
> int ret;
>
> - mutex_lock(&mutex);
> - sched_domains_mutex_lock();
> - old_period = sysctl_sched_rt_period;
> - old_runtime = sysctl_sched_rt_runtime;
> + guard(mutex)(&mutex);
>
> - ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
> + scoped_guard(sched_domains_mutex) {

No need for scoped guard, "guard(sched_domains_mutex)();" should be
enough.

> + old_period = sysctl_sched_rt_period;
> + old_runtime = sysctl_sched_rt_runtime;
>
> - if (!ret && write) {
> - ret = sched_rt_global_validate();
> - if (ret)
> - goto undo;
> + ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
>
> - ret = sched_dl_global_validate();
> - if (ret)
> - goto undo;
> + if (!ret && write) {
> + ret = sched_rt_global_validate();
> + if (ret)
> + goto undo;
>
> - ret = sched_rt_global_constraints();
> - if (ret)
> - goto undo;
> + ret = sched_dl_global_validate();
> + if (ret)
> + goto undo;
>
> - sched_rt_do_global();
> - sched_dl_do_global();
> - }
> - if (0) {
> + ret = sched_rt_global_constraints();
> + if (ret)
> + goto undo;
> +
> + sched_rt_do_global();
> + sched_dl_do_global();
> + }
> + if (0) {
> undo:

On a sidenote, include/linux/cleanup.h has the following comment:

Lastly, given that the benefit of cleanup helpers is removal of
"goto", and that the "goto" statement can jump between scopes, the
expectation is that usage of "goto" and cleanup helpers is never
mixed in the same function. I.e. for a given routine, convert all
resources that need a "goto" cleanup to scope-based cleanup, or
convert none of them.

Although the compiler generates the correct code currently, I think
you should just replicate the undo chunk inplace of "goto undo" just
to be safe like:

if (ret) {
sysctl_sched_rt_period = old_period;
sysctl_sched_rt_runtime = old_runtime;

return ret;
}

> - sysctl_sched_rt_period = old_period;
> - sysctl_sched_rt_runtime = old_runtime;
> + sysctl_sched_rt_period = old_period;
> + sysctl_sched_rt_runtime = old_runtime;
> + }
> }
> - sched_domains_mutex_unlock();
> - mutex_unlock(&mutex);
>
> return ret;
> }
> diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
> index b958fe48e020..dac1dd5a6eca 100644
> --- a/kernel/sched/topology.c
> +++ b/kernel/sched/topology.c
> @@ -6,14 +6,6 @@
> #include <linux/bsearch.h>
>
> DEFINE_MUTEX(sched_domains_mutex);
> -void sched_domains_mutex_lock(void)
> -{
> - mutex_lock(&sched_domains_mutex);
> -}
> -void sched_domains_mutex_unlock(void)
> -{
> - mutex_unlock(&sched_domains_mutex);
> -}
>
> /* Protected by sched_domains_mutex: */
> static cpumask_var_t sched_domains_tmpmask;
> @@ -470,44 +462,41 @@ static void free_rootdomain(struct rcu_head *rcu)
> void rq_attach_root(struct rq *rq, struct root_domain *rd)
> {
> struct root_domain *old_rd = NULL;
> - struct rq_flags rf;
>
> - rq_lock_irqsave(rq, &rf);
> + scoped_guard(rq_lock_irqsave, rq) {

I'm not a big fan of this added indentation. Perhaps you can move the
rq_lock guarded bit into a separate function?

> + if (rq->rd) {
> + old_rd = rq->rd;
>
> - if (rq->rd) {
> - old_rd = rq->rd;
> + if (cpumask_test_cpu(rq->cpu, old_rd->online))
> + set_rq_offline(rq);
> +
> + cpumask_clear_cpu(rq->cpu, old_rd->span);
> +
> + /*
> + * If we don't want to free the old_rd yet then
> + * set old_rd to NULL to skip the freeing later
> + * in this function:
> + */
> + if (!atomic_dec_and_test(&old_rd->refcount))
> + old_rd = NULL;
> + }
>
> - if (cpumask_test_cpu(rq->cpu, old_rd->online))
> - set_rq_offline(rq);
> + atomic_inc(&rd->refcount);
> + rq->rd = rd;
>
> - cpumask_clear_cpu(rq->cpu, old_rd->span);
> + cpumask_set_cpu(rq->cpu, rd->span);
> + if (cpumask_test_cpu(rq->cpu, cpu_active_mask))
> + set_rq_online(rq);
>
> /*
> - * If we don't want to free the old_rd yet then
> - * set old_rd to NULL to skip the freeing later
> - * in this function:
> + * Because the rq is not a task, dl_add_task_root_domain() did not
> + * move the fair server bw to the rd if it already started.
> + * Add it now.
> */
> - if (!atomic_dec_and_test(&old_rd->refcount))
> - old_rd = NULL;
> + if (rq->fair_server.dl_server)
> + __dl_server_attach_root(&rq->fair_server, rq);
> }
>
> - atomic_inc(&rd->refcount);
> - rq->rd = rd;
> -
> - cpumask_set_cpu(rq->cpu, rd->span);
> - if (cpumask_test_cpu(rq->cpu, cpu_active_mask))
> - set_rq_online(rq);
> -
> - /*
> - * Because the rq is not a task, dl_add_task_root_domain() did not
> - * move the fair server bw to the rd if it already started.
> - * Add it now.
> - */
> - if (rq->fair_server.dl_server)
> - __dl_server_attach_root(&rq->fair_server, rq);
> -
> - rq_unlock_irqrestore(rq, &rf);
> -
> if (old_rd)
> call_rcu(&old_rd->rcu, free_rootdomain);
> }
> @@ -1809,18 +1798,17 @@ bool find_numa_distance(int distance)
> if (distance == node_distance(0, 0))
> return true;
>
> - rcu_read_lock();
> - distances = rcu_dereference(sched_domains_numa_distance);
> - if (!distances)
> - goto unlock;
> - for (i = 0; i < sched_domains_numa_levels; i++) {
> - if (distances[i] == distance) {
> - found = true;
> + scoped_guard(rcu) {

guard(rcu)() should be enough. No need for scoped guard. Instead
of breaks, you can "return found" directly ...

> + distances = rcu_dereference(sched_domains_numa_distance);
> + if (!distances)
> break;
> + for (i = 0; i < sched_domains_numa_levels; i++) {
> + if (distances[i] == distance) {
> + found = true;
> + break;
> + }
> }
> }
> -unlock:
> - rcu_read_unlock();
>
> return found;
> }
> @@ -2134,21 +2122,20 @@ int sched_numa_find_closest(const struct cpumask *cpus, int cpu)
> int i, j = cpu_to_node(cpu), found = nr_cpu_ids;
> struct cpumask ***masks;
>
> - rcu_read_lock();
> - masks = rcu_dereference(sched_domains_numa_masks);
> - if (!masks)
> - goto unlock;
> - for (i = 0; i < sched_domains_numa_levels; i++) {
> - if (!masks[i][j])
> - break;
> - cpu = cpumask_any_and_distribute(cpus, masks[i][j]);
> - if (cpu < nr_cpu_ids) {
> - found = cpu;
> + scoped_guard(rcu) {

Same as last comment, plain guard(rcu)(); should be fine ...

> + masks = rcu_dereference(sched_domains_numa_masks);
> + if (!masks)
> break;
> + for (i = 0; i < sched_domains_numa_levels; i++) {
> + if (!masks[i][j])
> + break;
> + cpu = cpumask_any_and_distribute(cpus, masks[i][j]);
> + if (cpu < nr_cpu_ids) {
> + found = cpu;
> + break;
> + }
> }
> }
> -unlock:
> - rcu_read_unlock();
>
> return found;
> }
> @@ -2201,24 +2188,25 @@ int sched_numa_find_nth_cpu(const struct cpumask *cpus, int cpu, int node)
> if (node == NUMA_NO_NODE)
> return cpumask_nth_and(cpu, cpus, cpu_online_mask);
>
> - rcu_read_lock();
> + scoped_guard(rcu) {

Same as last comment ...

> + /* CPU-less node entries are uninitialized in sched_domains_numa_masks */
> + node = numa_nearest_node(node, N_CPU);
> + k.node = node;
>
> - /* CPU-less node entries are uninitialized in sched_domains_numa_masks */
> - node = numa_nearest_node(node, N_CPU);
> - k.node = node;
> + k.masks = rcu_dereference(sched_domains_numa_masks);
> + if (!k.masks)
> + break;
>
> - k.masks = rcu_dereference(sched_domains_numa_masks);
> - if (!k.masks)
> - goto unlock;
> + hop_masks = bsearch(&k, k.masks, sched_domains_numa_levels,
> + sizeof(k.masks[0]), hop_cmp);
> + hop = hop_masks - k.masks;
>
> - hop_masks = bsearch(&k, k.masks, sched_domains_numa_levels, sizeof(k.masks[0]), hop_cmp);
> - hop = hop_masks - k.masks;
> + ret = hop ?
> + cpumask_nth_and_andnot(cpu - k.w, cpus, k.masks[hop][node],
> + k.masks[hop-1][node]) :
> + cpumask_nth_and(cpu, cpus, k.masks[0][node]);
> + }
>
> - ret = hop ?
> - cpumask_nth_and_andnot(cpu - k.w, cpus, k.masks[hop][node], k.masks[hop-1][node]) :
> - cpumask_nth_and(cpu, cpus, k.masks[0][node]);
> -unlock:
> - rcu_read_unlock();
> return ret;
> }
> EXPORT_SYMBOL_GPL(sched_numa_find_nth_cpu);
> @@ -2570,17 +2558,17 @@ build_sched_domains(const struct cpumask *cpu_map, struct sched_domain_attr *att
> }
>
> /* Attach the domains */
> - rcu_read_lock();
> - for_each_cpu(i, cpu_map) {
> - rq = cpu_rq(i);
> - sd = *per_cpu_ptr(d.sd, i);
> + scoped_guard(rcu) {
> + for_each_cpu(i, cpu_map) {
> + rq = cpu_rq(i);
> + sd = *per_cpu_ptr(d.sd, i);
>
> - cpu_attach_domain(sd, d.rd, i);
> + cpu_attach_domain(sd, d.rd, i);
>
> - if (lowest_flag_domain(i, SD_CLUSTER))
> - has_cluster = true;
> + if (lowest_flag_domain(i, SD_CLUSTER))
> + has_cluster = true;
> + }
> }
> - rcu_read_unlock();
>
> if (has_asym)
> static_branch_inc_cpuslocked(&sched_asym_cpucapacity);
> @@ -2688,10 +2676,10 @@ static void detach_destroy_domains(const struct cpumask *cpu_map)
> if (static_branch_unlikely(&sched_cluster_active))
> static_branch_dec_cpuslocked(&sched_cluster_active);
>
> - rcu_read_lock();

Same as last comment ...

> - for_each_cpu(i, cpu_map)
> - cpu_attach_domain(NULL, &def_root_domain, i);
> - rcu_read_unlock();
> + scoped_guard(rcu) {
> + for_each_cpu(i, cpu_map)
> + cpu_attach_domain(NULL, &def_root_domain, i);
> + }
> }
>
> /* handle null as "default" */
> @@ -2836,7 +2824,7 @@ static void partition_sched_domains_locked(int ndoms_new, cpumask_var_t doms_new
> void partition_sched_domains(int ndoms_new, cpumask_var_t doms_new[],
> struct sched_domain_attr *dattr_new)
> {
> - sched_domains_mutex_lock();
> - partition_sched_domains_locked(ndoms_new, doms_new, dattr_new);
> - sched_domains_mutex_unlock();
> + scoped_guard(sched_domains_mutex) {

Similar to lasr comment, plain guard(sched_domains_mutex)(); should be fine.

> + partition_sched_domains_locked(ndoms_new, doms_new, dattr_new);
> + }
> }

--
Thanks and Regards,
Prateek



Return-Path: <linux-kernel+bounces-674010-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 25E7841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:43:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 64D5916E1E0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:43:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id ED1951F2BAE;
Thu, 5 Jun 2025 03:43:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="vE3Z5nrD"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CBB5FF9EC
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:43:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749095004; cv=none; b=lrSrLRaPiwHv/59g+TBhIDpr4N//s/1de5Djs6fL5+UIqVdUXsNi0oCGVD0cWzPnlm8QVEXR7n4YAKDnzEVOWDMNTxpacPQr4MKtf3EkCCYJPnKAHA1w14i3RcN0Mj3CyWOUJzNY0TdOJSCmwrsDAf9mgvavONLbMr8cfnRjIlI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749095004; c=relaxed/simple;
bh=sAWDLLVExfSdqrwYieUPJUq0LX0W8qh3MRDgC7cddeo=;
h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References:
Mime-Version:Content-Type; b=aTqB/XW99MECDcmyu7624GZqz+VWVA41rkQ15uh4szqDdsYUoymXe81/loBfM4ljmhMDyD8u9wKAVUvHsYa76hmgqcz4NNrUhOidMKDNI+easS/kb8nrLN8tVrnk8OHaxjg/6u8cEMTm+OE8F3Dzr3cpIsIE+eJJNqr0QYWNmEw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=vE3Z5nrD; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E2970C4CEEB;
Thu, 5 Jun 2025 03:43:23 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org;
s=korg; t=1749095004;
bh=sAWDLLVExfSdqrwYieUPJUq0LX0W8qh3MRDgC7cddeo=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=vE3Z5nrDR8c5pmkqLn1SwM2W0BeGhJB2EvfmuNmtbmOJh93W2LxDAzy9uc50eO3hl
uNNoo1nigjkQqUrYItUttGwYsNZNtzwaMwCvdUvO6pYI0KRUUSOy8UxJorxqc7y+N2
WRb4zXm2b7qNuA4qjOACNY9eNKf3PpuCzTl30414=
Date: Wed, 4 Jun 2025 20:43:23 -0700
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
Cc: janghyuck.kim@xxxxxxxxxxx, zhaoyang.huang@xxxxxxxxxx,
jaewon31.kim@xxxxxxxxx, david@xxxxxxxxxx, Jason Gunthorpe <jgg@xxxxxxxx>,
John Hubbard <jhubbard@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 2/2] mm: gup: avoid CMA page pinning by retrying
migration if no migratable page
Message-Id: <20250604204323.95a646ae67f6800069a11e36@xxxxxxxxxxxxxxxxxxxx>
In-Reply-To: <20250605033210.3184521-3-hyesoo.yu@xxxxxxxxxxx>
References: <20250605033210.3184521-1-hyesoo.yu@xxxxxxxxxxx>
<CGME20250605033432epcas2p4c024a9d05246b18c217f3562b3f53551@xxxxxxxxxxxxxxxxxxxx>
<20250605033210.3184521-3-hyesoo.yu@xxxxxxxxxxx>
X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, 5 Jun 2025 12:32:07 +0900 Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx> wrote:

> Commit 1aaf8c122918 ("mm: gup: fix infinite loop within __get_longterm_locked")
> introduced an issue where CMA pages could be pinned by longterm GUP requests.
> This occurs when unpinnable pages are detected but the movable_page_list is empty;
> the commit would return success without retrying, allowing unpinnable
> pages (such as CMA) to become pinned.
>
> CMA pages may be temporarily off the LRU due to concurrent isolation,
> for example when multiple longterm GUP requests are racing and therefore
> not appear in movable_page_list. Before commit 1aaf8c, the kernel would
> retry migration in such cases, which helped avoid accidental CMA pinning.
>
> The original intent of the commit was to support longterm GUP on non-LRU
> CMA pages in out-of-tree use cases such as pKVM. However, allowing this
> can lead to broader CMA pinning issues.
>
> To avoid this, the logic is restored to return -EAGAIN instead of success
> when no folios could be collected but unpinnable pages were found.
> This ensures that migration is retried until success, and avoids
> inadvertently pinning unpinnable pages.
>
> Fixes: 1aaf8c122918 ("mm: gup: fix infinite loop within __get_longterm_locked")

v6.14.

As ever, a question is "should we backport this fix". To answer that
we should understand the effect the regression has upon our users.
Readers can guess, but it's better if you tell us this, please?




Return-Path: <linux-kernel+bounces-674011-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EECED41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:46:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1B0CE3A4499
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:46:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AD6321F78F2;
Thu, 5 Jun 2025 03:46:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="NrcRNScx"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 242DE1E521E
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:46:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749095196; cv=none; b=DyRQ7aU+lJJiZZKTVsq0sx5k/EB52fOt2zr4yMb5KAtj2AD/VMab93FB4vToiC+hpuHhqmsndd7Zg+yBtxnfJJlPJYat+iqTJny6x7QgX6JqiwwkDsqTWMMD4eEZ1zrKQXOWQSmCm7tpv44B1Z+5/QaFpLJdAW/LKIfhWJECx2A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749095196; c=relaxed/simple;
bh=rPF1Y/Lj5T3DhXlPLFMCFyqGLjxlQBeRLLgsB6ClAEU=;
h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=LWtU0F9Z2Dy4h4v2UtHFYhZCI2EZGw8s9DMPLUGBnm+55PRnrfC275e0XkCbo/guX1hM93OEWB6KDglWm9yGQprXANxx7/JCB1KrMY28xISO8YzVOSSYHaoQAX37CpOypWwtDfHmMblIqkyK0UNS2GUlI1eBV2d9VeaZAAt8R6M=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=NrcRNScx; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749095193;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding;
bh=XXvmdmmn1tFYv0uxxK5u4EJQqXxf5VTQjxQB6qyj6BY=;
b=NrcRNScxpyPrVmhx0TF1VypAWuv7QtdJNq6YusL6a1Sc7k11tLyGBN+n8nIU2IhGeJD/Ma
9kqIte2chLfw5VOBgDhm78lbKXDTXx7F30G+YbeLoMOmYUpRN096HbNwT4gWPFnp/VOEWy
Fg5Hi3jgIaRgNSGwBZ1vBksbUaj19Zw=
Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com
(ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-32-h8rxEJLaO1qYFezv_spyhw-1; Wed,
04 Jun 2025 23:46:29 -0400
X-MC-Unique: h8rxEJLaO1qYFezv_spyhw-1
X-Mimecast-MFC-AGG-ID: h8rxEJLaO1qYFezv_spyhw_1749095186
Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id C9C3118003FD;
Thu, 5 Jun 2025 03:46:24 +0000 (UTC)
Received: from asrivats-na.rmtustx.csb (unknown [10.2.16.229])
by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 7EDFA30002C0;
Thu, 5 Jun 2025 03:46:18 +0000 (UTC)
From: Anusha Srivatsa <asrivats@xxxxxxxxxx>
Subject: [PATCH 0/4] Integrate refcounting across of_drm_find_panel()
callers
Date: Wed, 04 Jun 2025 22:45:09 -0500
Message-Id: <20250604-of_drm_find_panel_part1-v1-0-c632e12e131d@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIAMUSQWgC/x2MWwqAIBAArxL7nWDag7pKhFiutVAWa0QQ3T3pZ
2A+Zh6IyIQRuuwBxosi7SFJkWcwLTbMKMglByVVJWtZit0bx5vxFJw5bMA1kc9CaG2Vw7FpVVV
Dqg9GT/d/7of3/QCEmLcdaQAAAA==
X-Change-ID: 20250604-of_drm_find_panel_part1-33a2deb79256
To: Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Inki Dae <inki.dae@xxxxxxxxxxx>, Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>,
Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>,
Andrzej Hajda <andrzej.hajda@xxxxxxxxx>, Robert Foss <rfoss@xxxxxxxxxx>,
Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx>,
Jonas Karlman <jonas@xxxxxxxxx>, Jernej Skrabec <jernej.skrabec@xxxxxxxxx>,
Chen-Yu Tsai <wens@xxxxxxxx>, Samuel Holland <samuel@xxxxxxxxxxxx>,
Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx>,
Kyungmin Park <kyungmin.park@xxxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-sunxi@xxxxxxxxxxxxxxx,
linux-samsung-soc@xxxxxxxxxxxxxxx, Anusha Srivatsa <asrivats@xxxxxxxxxx>
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749095111; l=1449;
i=asrivats@xxxxxxxxxx; s=20250122; h=from:subject:message-id;
bh=rPF1Y/Lj5T3DhXlPLFMCFyqGLjxlQBeRLLgsB6ClAEU=;
b=SeeBSMW5SkSz2m1U56oKwm8PDfWdG4toxWnKciRa8oqK8kQqUV5RtZYYVHAvOk1mvJzF3/GNs
3m9IvhcutyHAcccJkhr85frr56vbFC+VUXRCu9sj/CoQvwuR6Se3vYX
X-Developer-Key: i=asrivats@xxxxxxxxxx; a=ed25519;
pk=brnIHkBsUZEhyW6Zyn0U92AeIZ1psws/q8VFbIkf1AU=
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

With the panel refcount allocation infrastructure merged: [1]
and all drivers converted to use the new API: [2],[3] and [4],
the next chunk of work involves integrating refcounting across
different callers across various drivers.

First patch was added to the original series [1] but later
removed. Adding it here with the initial of_drm_find_panel()
callers being updated with refcounting. This is not an exhaustive
list. Remaining drivers to be updated will be sent in next set
of series.

[1] -> https://patchwork.freedesktop.org/series/146750/
[2] -> https://patchwork.freedesktop.org/series/147082/
[3] -> https://patchwork.freedesktop.org/series/147157/
[4] -> https://patchwork.freedesktop.org/series/147246/

Signed-off-by: Anusha Srivatsa <asrivats@xxxxxxxxxx>
---
Anusha Srivatsa (4):
drm/panel: get/put panel reference in drm_panel_add/remove()
drm/panel/samsung-dsicm: Keep up with refcounting
drm/panel/sun4i: Keep up with refcounting
drm/panel/exynos: Keep up with refcounting

drivers/gpu/drm/bridge/samsung-dsim.c | 1 +
drivers/gpu/drm/drm_panel.c | 2 ++
drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 +
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 2 ++
4 files changed, 6 insertions(+)
---
base-commit: 685c407f168cb49a12cc703230d1e2d62767bfd2
change-id: 20250604-of_drm_find_panel_part1-33a2deb79256

Best regards,
--
Anusha Srivatsa <asrivats@xxxxxxxxxx>



Return-Path: <linux-kernel+bounces-674012-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2AD6A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:46:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 4414C1890701
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:47:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EA7501F7060;
Thu, 5 Jun 2025 03:46:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="IhUP9KHd"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 923751E521E
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:46:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749095201; cv=none; b=KIQVnluUQjaHpaJ4XOjTEmVbXBy6N4PcbVGUbPM7yMJYAwmo2GdhBiikeuZnVJGtMIxm1deme3CDu5UwFo7lSEBkpuIqGsAlfCxL4RcpAM99cLib8DATzhBi+Dc0Kr91A/lcx/v0AktaPlVCmVys9D4nSsYAh0ClCiC1pQ5nQNQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749095201; c=relaxed/simple;
bh=9zlGo30GCNSbMrsJ6h0xg1RV+1gEkhPqt5tGuwTBh00=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=ZpK63nt9uGE6/B+5sbN4c5GRSa5MxUdFAaKs+ZHMoiq+Az+9XU0Fonm8MM1yeSM38vDqpO4btRB9Je8xosgcSxU/ZoDpaS3/1EX1gLlZH+0GgDFyU3n2iVo4r3VZi1OiJAjyLNFl3UL/YVjkxinMCxTr0qmEuNiikS5ECQHGpHk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=IhUP9KHd; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749095198;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=ZXHAO2+jY1bXsxo50PiVK4q6TUh1IfN7fKlHU0JYCOM=;
b=IhUP9KHd/bES8nXrHG62MrrWJ7BquO2Vtq59usoU7UZq5zaMqwM1/iLdAm6bQEEHIj4/xW
E+xuSyD1lVcemiKse1IlOXXAPKfwV3l/f0OvtcGS3bRKbfBCgWPaUjFtNyVRV6m6FoHQcK
O7Pu6Ovcld4TTrADrTbA2jt/+5ZIk6I=
Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com
(ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-657-WRIv9wjSOb2byFW1NMyImQ-1; Wed,
04 Jun 2025 23:46:35 -0400
X-MC-Unique: WRIv9wjSOb2byFW1NMyImQ-1
X-Mimecast-MFC-AGG-ID: WRIv9wjSOb2byFW1NMyImQ_1749095192
Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 1ED9D180035E;
Thu, 5 Jun 2025 03:46:31 +0000 (UTC)
Received: from asrivats-na.rmtustx.csb (unknown [10.2.16.229])
by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 284E630002C3;
Thu, 5 Jun 2025 03:46:24 +0000 (UTC)
From: Anusha Srivatsa <asrivats@xxxxxxxxxx>
Date: Wed, 04 Jun 2025 22:45:10 -0500
Subject: [PATCH 1/4] drm/panel: get/put panel reference in
drm_panel_add/remove()
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250604-of_drm_find_panel_part1-v1-1-c632e12e131d@xxxxxxxxxx>
References: <20250604-of_drm_find_panel_part1-v1-0-c632e12e131d@xxxxxxxxxx>
In-Reply-To: <20250604-of_drm_find_panel_part1-v1-0-c632e12e131d@xxxxxxxxxx>
To: Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Inki Dae <inki.dae@xxxxxxxxxxx>, Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>,
Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>,
Andrzej Hajda <andrzej.hajda@xxxxxxxxx>, Robert Foss <rfoss@xxxxxxxxxx>,
Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx>,
Jonas Karlman <jonas@xxxxxxxxx>, Jernej Skrabec <jernej.skrabec@xxxxxxxxx>,
Chen-Yu Tsai <wens@xxxxxxxx>, Samuel Holland <samuel@xxxxxxxxxxxx>,
Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx>,
Kyungmin Park <kyungmin.park@xxxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-sunxi@xxxxxxxxxxxxxxx,
linux-samsung-soc@xxxxxxxxxxxxxxx, Anusha Srivatsa <asrivats@xxxxxxxxxx>
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749095111; l=1068;
i=asrivats@xxxxxxxxxx; s=20250122; h=from:subject:message-id;
bh=9zlGo30GCNSbMrsJ6h0xg1RV+1gEkhPqt5tGuwTBh00=;
b=PwnWFuSL2mOqVpmilI7vyag4kWY0qQx64BLJk5k/blISrap7GAOY6KekL8K+39wUERLlVUEzo
r6A1ALUIQJVAHBbQoY9hPNQ3uFgAdg+lUDedlFvVmd78a7utw8mk4A0
X-Developer-Key: i=asrivats@xxxxxxxxxx; a=ed25519;
pk=brnIHkBsUZEhyW6Zyn0U92AeIZ1psws/q8VFbIkf1AU=
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Take the panel reference and put it back as required.
drm_panel_add() and drm_panel_remove() add a panel to
the global registry and removes a panel respectively.
Use get() and put() helpers to keep up with refcounting.

Signed-off-by: Anusha Srivatsa <asrivats@xxxxxxxxxx>
---
drivers/gpu/drm/drm_panel.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c
index fee65dc65979d6c03753967cefa6d5c4e597277d..ffa3428b5f52c599b53b1fdc0d0a9181a47c91d4 100644
--- a/drivers/gpu/drm/drm_panel.c
+++ b/drivers/gpu/drm/drm_panel.c
@@ -80,6 +80,7 @@ EXPORT_SYMBOL(drm_panel_init);
*/
void drm_panel_add(struct drm_panel *panel)
{
+ drm_panel_get(panel);
mutex_lock(&panel_lock);
list_add_tail(&panel->list, &panel_list);
mutex_unlock(&panel_lock);
@@ -97,6 +98,7 @@ void drm_panel_remove(struct drm_panel *panel)
mutex_lock(&panel_lock);
list_del_init(&panel->list);
mutex_unlock(&panel_lock);
+ drm_panel_put(panel);
}
EXPORT_SYMBOL(drm_panel_remove);


--
2.48.1



Return-Path: <linux-kernel+bounces-674013-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 276B041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:47:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A5C5218909B3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:47:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5C1F21FBEB1;
Thu, 5 Jun 2025 03:46:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="gGmkoOrn"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E2D77263D
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:46:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749095207; cv=none; b=EBg5Zjz87hTKEDxrqEsrPDqhsQoTnLIgiD3CK61iMjigpuZQWDaFDHt09YOtx7WcEFUToMgL67bjOAOMEg1x0L/clRZKDXUYSO6e8t9VJTe0J2/2TgdNkZA5F7TF5JhUMhK/mfwRfTdiYcsJv7/S1ucpECTJtCQuYqOc4KBiqBI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749095207; c=relaxed/simple;
bh=MUHWOWeXTgH9muEniE1HyqfCld1wHUnfwns2dOYTIa0=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=BDsGhVDiIzzgcSUyMlfAHwpTS1FO7Qz6QVAZic9ucE2srS3huIeZFhfPuxqH7/rMurT40oa+eruOmOIKVVLTImBVPcGXZxq6uFF+PE3SNsx9ddnVGRe04gTWROPkOsYklNkDjYdL3Pt+5a1rZ+LAyWUCQNOrWkK3n890r4urU3k=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=gGmkoOrn; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749095205;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=6e2st0+iShieSpNODIcFg9Fz76rcQ8IPCC/t8w4mYog=;
b=gGmkoOrnfNJ4StpTez7t+2k7WryFDyJDtkqSLm4C08ZzWvM2uTuwLnFt6CGhazhU8tPZao
GVRKlB9SlZKTDI00wJNSd8KByhQA293W7yXfRVBdy74jO3OIiGYvPIQc1x12x28TGSMfrL
tKdy9VjfpkVuZUUN0+jeQfTkdgLq9V0=
Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com
(ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-516-qugyn03mOlKnyIwd7JPoig-1; Wed,
04 Jun 2025 23:46:41 -0400
X-MC-Unique: qugyn03mOlKnyIwd7JPoig-1
X-Mimecast-MFC-AGG-ID: qugyn03mOlKnyIwd7JPoig_1749095198
Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0E3511956087;
Thu, 5 Jun 2025 03:46:37 +0000 (UTC)
Received: from asrivats-na.rmtustx.csb (unknown [10.2.16.229])
by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 333EC30002D0;
Thu, 5 Jun 2025 03:46:31 +0000 (UTC)
From: Anusha Srivatsa <asrivats@xxxxxxxxxx>
Date: Wed, 04 Jun 2025 22:45:11 -0500
Subject: [PATCH 2/4] drm/panel/samsung-dsicm: Keep up with refcounting
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250604-of_drm_find_panel_part1-v1-2-c632e12e131d@xxxxxxxxxx>
References: <20250604-of_drm_find_panel_part1-v1-0-c632e12e131d@xxxxxxxxxx>
In-Reply-To: <20250604-of_drm_find_panel_part1-v1-0-c632e12e131d@xxxxxxxxxx>
To: Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Inki Dae <inki.dae@xxxxxxxxxxx>, Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>,
Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>,
Andrzej Hajda <andrzej.hajda@xxxxxxxxx>, Robert Foss <rfoss@xxxxxxxxxx>,
Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx>,
Jonas Karlman <jonas@xxxxxxxxx>, Jernej Skrabec <jernej.skrabec@xxxxxxxxx>,
Chen-Yu Tsai <wens@xxxxxxxx>, Samuel Holland <samuel@xxxxxxxxxxxx>,
Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx>,
Kyungmin Park <kyungmin.park@xxxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-sunxi@xxxxxxxxxxxxxxx,
linux-samsung-soc@xxxxxxxxxxxxxxx, Anusha Srivatsa <asrivats@xxxxxxxxxx>
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749095111; l=724;
i=asrivats@xxxxxxxxxx; s=20250122; h=from:subject:message-id;
bh=MUHWOWeXTgH9muEniE1HyqfCld1wHUnfwns2dOYTIa0=;
b=cbmycYmHSdj0wZkt3skRJ+iJH83a782N60NXKJyhCr1Otr9BxxDh1Y4WRMxJOXiqnntYUVaDi
RbiUhWsYhRoDKaddXeGeS5o2Wqs82qUAiaYXWug1uhWM7Kz5R6/4y/o
X-Developer-Key: i=asrivats@xxxxxxxxxx; a=ed25519;
pk=brnIHkBsUZEhyW6Zyn0U92AeIZ1psws/q8VFbIkf1AU=
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Put the panel reference back when driver is no
longer using it.

Signed-off-by: Anusha Srivatsa <asrivats@xxxxxxxxxx>
---
drivers/gpu/drm/bridge/samsung-dsim.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c b/drivers/gpu/drm/bridge/samsung-dsim.c
index 0014c497e3fe7d8349a119dbdda30d65d816cccf..3667855ff0d6d1b608c579573de657af7fd14388 100644
--- a/drivers/gpu/drm/bridge/samsung-dsim.c
+++ b/drivers/gpu/drm/bridge/samsung-dsim.c
@@ -1748,6 +1748,7 @@ static int samsung_dsim_host_attach(struct mipi_dsi_host *host,
dsi->out_bridge = ERR_PTR(-EINVAL);
}

+ drm_panel_put(panel);
of_node_put(remote);

if (IS_ERR(dsi->out_bridge)) {

--
2.48.1



Return-Path: <linux-kernel+bounces-674014-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DFAA741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:47:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 48DD21890F33
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:47:25 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EAD041FF1BF;
Thu, 5 Jun 2025 03:46:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="I9NHk/GB"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B73221FECCD
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:46:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749095211; cv=none; b=M90Ac6SgHLtiPMUxkr9QYDO+5P+6s0Z/cmETtIPqkuiK6PNr1GTmtyp9X+sRIvjDdduHW7WDpUPH0CXauCVtbBferIlHwTzUjBfELN4TnE2e9xUuqLliy6ZkIIEMB4xORTxX0E/nWkyfng/t4dk1qGGopKsDhkYScUNzY6Ka264=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749095211; c=relaxed/simple;
bh=8TEfN32KZd6YJhzTAU5W2FFXyAmDYouG69xkiU/38RY=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=HiBsttPZPy/82zXTZz3rOZr082JwsG5q/uRxEMxxutcGEiQ6OvxswoohRNfSXzGpR8lqwOlq2SvuVwBUu7Fb7n2+WMETVxmJyE9ju6VQWlC4T/Uj0U9BR74b+QUvxufnenkeOlBKrmDGPCMA9l6QwQ3ZVY9GOWUlkaF4DV05OUc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=I9NHk/GB; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749095208;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=Xbtqvsf7BRpbL9q0tKGzMc/ghsVtwuf5Kl78Wf246CI=;
b=I9NHk/GBDKLOf62NhwGTSadQQGYejRbllL1n5Kci7eADPEnCB5dz2nOvKLmtQDtFDjRED3
UPWv+mV4p/lPPHKH08+4zb5rNF6mveyqVtUR6b4I+vI4T8I4V2MN49LIATTYgPlTmWD8W+
G90MfXaEQncWbg0SPvIKWVR4u/ABwTk=
Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com
(ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-526-hSawOjZCOlCHJFa_3Q4gJg-1; Wed,
04 Jun 2025 23:46:45 -0400
X-MC-Unique: hSawOjZCOlCHJFa_3Q4gJg-1
X-Mimecast-MFC-AGG-ID: hSawOjZCOlCHJFa_3Q4gJg_1749095202
Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 6BC631956087;
Thu, 5 Jun 2025 03:46:42 +0000 (UTC)
Received: from asrivats-na.rmtustx.csb (unknown [10.2.16.229])
by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 6157C30002C0;
Thu, 5 Jun 2025 03:46:37 +0000 (UTC)
From: Anusha Srivatsa <asrivats@xxxxxxxxxx>
Date: Wed, 04 Jun 2025 22:45:12 -0500
Subject: [PATCH 3/4] drm/panel/sun4i: Keep up with refcounting
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250604-of_drm_find_panel_part1-v1-3-c632e12e131d@xxxxxxxxxx>
References: <20250604-of_drm_find_panel_part1-v1-0-c632e12e131d@xxxxxxxxxx>
In-Reply-To: <20250604-of_drm_find_panel_part1-v1-0-c632e12e131d@xxxxxxxxxx>
To: Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Inki Dae <inki.dae@xxxxxxxxxxx>, Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>,
Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>,
Andrzej Hajda <andrzej.hajda@xxxxxxxxx>, Robert Foss <rfoss@xxxxxxxxxx>,
Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx>,
Jonas Karlman <jonas@xxxxxxxxx>, Jernej Skrabec <jernej.skrabec@xxxxxxxxx>,
Chen-Yu Tsai <wens@xxxxxxxx>, Samuel Holland <samuel@xxxxxxxxxxxx>,
Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx>,
Kyungmin Park <kyungmin.park@xxxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-sunxi@xxxxxxxxxxxxxxx,
linux-samsung-soc@xxxxxxxxxxxxxxx, Anusha Srivatsa <asrivats@xxxxxxxxxx>
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749095111; l=688;
i=asrivats@xxxxxxxxxx; s=20250122; h=from:subject:message-id;
bh=8TEfN32KZd6YJhzTAU5W2FFXyAmDYouG69xkiU/38RY=;
b=hgLlqDE82iA86gpJEHX2fHQf4POVn+EIXHPqw81ubtcFdUfF7dPMQSIdXkUcX+ngUZhsvVlPw
DGg2MsfGbjfD5ueMCo+9yUhN+O3RALKd7EZxCHZgGjVQKTML4WQ1aJ5
X-Developer-Key: i=asrivats@xxxxxxxxxx; a=ed25519;
pk=brnIHkBsUZEhyW6Zyn0U92AeIZ1psws/q8VFbIkf1AU=
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Put the panel reference back when driver is no
longer using it.

Signed-off-by: Anusha Srivatsa <asrivats@xxxxxxxxxx>
---
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
index c35b70d83e53b7397c6e38dde45824bd49fdf099..36d47d7cedde1e1e3e83eb670520664100bd0a25 100644
--- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
+++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
@@ -990,6 +990,8 @@ static int sun6i_dsi_detach(struct mipi_dsi_host *host,

drm_kms_helper_hotplug_event(dsi->drm);

+ drm_panel_put(dsi->panel);
+
return 0;
}


--
2.48.1



Return-Path: <linux-kernel+bounces-674015-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E8BB741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:47:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 99ECA1774E8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:47:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2AACC1FCFF1;
Thu, 5 Jun 2025 03:46:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Q+0r5H5l"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 03FA3200B9F
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:46:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749095214; cv=none; b=UOmwFYqmqDrnHnPpQJB1ibvDBmlKZFeBOegTDXXTXZKOGuBqT2V6+QC2kXMLR7BXTfEAY1xaSXm9ZLYk90E0IRoUcU2YCmZmyKlf1VpGX2Qg+BNU5qo0HjYityZ3qz8cqxR9ttnlEHGSJCnbCyS1/k1QSis5IUabghKNcfQl1zA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749095214; c=relaxed/simple;
bh=oUAUULa8xvF5LlZB5tbq87rz3uMzHi3pU21DzZn+Vdo=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=Ie6ruKlymwVfsCx5IOnBgURWR+rtF52PUg0Hnwt+dIIUeCJAUofsosHIT6ZOhU9T8rHonWunBvncsKv9BAlPzxkEiNjTxoeaO1CyGaut+lKAdaQ0+ktoUDOnawRxiusr+mF17Nzcpj4HFJASDjsPPSFtymFgxNk3C7JlukqbNAs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Q+0r5H5l; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749095212;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=G9BkRZbsm8aRk3aSpv0SfOyGwsJsIoOb67KS8j+iekY=;
b=Q+0r5H5lxuvkksjTLVC/4E9vZdKl47zmL1PwkFfEqlXcvWJEVnq78gi/7ELGJI9iIfv271
qinJtT5i9IG00tgqH3BTTHljZ/0Es4occUY4Teka3HvQ0pqdSs6ZTKkf0dyqTYldFbTqUp
cdUpJ8XmqAY+rP8yGNKtVcq5i1kkg+M=
Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com
(ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-79-lSpiVRelPRG-Fwu687-Qdg-1; Wed,
04 Jun 2025 23:46:50 -0400
X-MC-Unique: lSpiVRelPRG-Fwu687-Qdg-1
X-Mimecast-MFC-AGG-ID: lSpiVRelPRG-Fwu687-Qdg_1749095208
Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id BC6811956094;
Thu, 5 Jun 2025 03:46:47 +0000 (UTC)
Received: from asrivats-na.rmtustx.csb (unknown [10.2.16.229])
by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id B91BE30002C0;
Thu, 5 Jun 2025 03:46:42 +0000 (UTC)
From: Anusha Srivatsa <asrivats@xxxxxxxxxx>
Date: Wed, 04 Jun 2025 22:45:13 -0500
Subject: [PATCH 4/4] drm/panel/exynos: Keep up with refcounting
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250604-of_drm_find_panel_part1-v1-4-c632e12e131d@xxxxxxxxxx>
References: <20250604-of_drm_find_panel_part1-v1-0-c632e12e131d@xxxxxxxxxx>
In-Reply-To: <20250604-of_drm_find_panel_part1-v1-0-c632e12e131d@xxxxxxxxxx>
To: Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Inki Dae <inki.dae@xxxxxxxxxxx>, Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>,
Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>,
Andrzej Hajda <andrzej.hajda@xxxxxxxxx>, Robert Foss <rfoss@xxxxxxxxxx>,
Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx>,
Jonas Karlman <jonas@xxxxxxxxx>, Jernej Skrabec <jernej.skrabec@xxxxxxxxx>,
Chen-Yu Tsai <wens@xxxxxxxx>, Samuel Holland <samuel@xxxxxxxxxxxx>,
Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx>,
Kyungmin Park <kyungmin.park@xxxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-sunxi@xxxxxxxxxxxxxxx,
linux-samsung-soc@xxxxxxxxxxxxxxx, Anusha Srivatsa <asrivats@xxxxxxxxxx>
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749095111; l=790;
i=asrivats@xxxxxxxxxx; s=20250122; h=from:subject:message-id;
bh=oUAUULa8xvF5LlZB5tbq87rz3uMzHi3pU21DzZn+Vdo=;
b=m9T9DvEk7AHTO8PjuGGuJd4n+/GgbhkJzocE3hfstzW9Lp1snMcHMfDrBcDrOYExSB1as9ZkZ
QwCScTfjRI8C8A/wkHRdNaRhHj92TooFMlpXTThKTAStQzd5NoFTYBl
X-Developer-Key: i=asrivats@xxxxxxxxxx; a=ed25519;
pk=brnIHkBsUZEhyW6Zyn0U92AeIZ1psws/q8VFbIkf1AU=
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Put the panel reference back when driver is no
longer using it.

Signed-off-by: Anusha Srivatsa <asrivats@xxxxxxxxxx>
---
drivers/gpu/drm/exynos/exynos_drm_dpi.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c
index 0dc36df6ada34cd0d4544f14e616fe3c52dafc73..7b82ff7f2d2761a679fe3b319a73f7d1d4c87033 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dpi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dpi.c
@@ -138,6 +138,7 @@ static void exynos_dpi_disable(struct drm_encoder *encoder)
drm_panel_disable(ctx->panel);
drm_panel_unprepare(ctx->panel);
}
+ drm_panel_put(ctx->panel);
}

static const struct drm_encoder_helper_funcs exynos_dpi_encoder_helper_funcs = {

--
2.48.1



Return-Path: <linux-kernel+bounces-674016-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CFF7041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:55:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3A8283A8E3D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:55:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 974731F8725;
Thu, 5 Jun 2025 03:55:16 +0000 (UTC)
Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6223928E3F;
Thu, 5 Jun 2025 03:55:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.51
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749095716; cv=none; b=RX+/8kmO0oYUSgxi4v/FVQkZqGiy3foccuI/iuI56LBhsing8q41abjprg4FIxEGpRplrStcBSAs6cHXGiAIXcZwXZ9BXYmXVeUgBzkTAVM4YohJhQEclbrXZFjQsL6JUVQ8PtwXq4Fy6gNwN6A5GCZygBZv7xPmoJVLdQPYEM8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749095716; c=relaxed/simple;
bh=2ob9mLxLPx3nnUzKezqzg9HY+9Zpiv+L6w0YwZrNN/4=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=X93Ad+n/IUOK5MmTQiCrhJvrHKzSVh49qUcII53e6uZ7gqMAvLFTidUmFA1JpJmcD5KCls0KqH0bjQBSef3FxfP1OVadOgWSMWr8s4S3IF5cs5prZA91NVDdAoqb8lRc/MhlW+VPZ1Nw3k5V3zBswbMnCTTYF9O9iSCxgNOOcgA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=huaweicloud.com; spf=none smtp.mailfrom=huaweicloud.com; arc=none smtp.client-ip=45.249.212.51
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=huaweicloud.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=huaweicloud.com
Received: from mail.maildlp.com (unknown [172.19.163.216])
by dggsgout11.his.huawei.com (SkyGuard) with ESMTPS id 4bCVvs71GLzYQv7Y;
Thu, 5 Jun 2025 11:55:05 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.128])
by mail.maildlp.com (Postfix) with ESMTP id 06C351A1530;
Thu, 5 Jun 2025 11:55:05 +0800 (CST)
Received: from [10.67.108.244] (unknown [10.67.108.244])
by APP4 (Coremail) with SMTP id gCh0CgAni18XFUFo7SMxOg--.62183S3;
Thu, 05 Jun 2025 11:55:04 +0800 (CST)
Message-ID: <83d9c5e8-9c72-4ab8-a3ac-638e49691694@xxxxxxxxxxxxxxx>
Date: Thu, 5 Jun 2025 11:55:03 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] perf/core: Fix WARN_ON_ONCE(cpuctx->ctx.nr_cgroups
== 0) in perf_cgroup_switch
Content-Language: en-US
To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: mingo@xxxxxxxxxx, acme@xxxxxxxxxx, namhyung@xxxxxxxxxx,
mark.rutland@xxxxxxx, alexander.shishkin@xxxxxxxxxxxxxxx, jolsa@xxxxxxxxxx,
irogers@xxxxxxxxxx, adrian.hunter@xxxxxxxxx, kan.liang@xxxxxxxxxxxxxxx,
davidcc@xxxxxxxxxx, linux-perf-users@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
References: <20250604033924.3914647-1-luogengkun@xxxxxxxxxxxxxxx>
<20250604033924.3914647-3-luogengkun@xxxxxxxxxxxxxxx>
<20250604100052.GH38114@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
From: Luo Gengkun <luogengkun@xxxxxxxxxxxxxxx>
In-Reply-To: <20250604100052.GH38114@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-CM-TRANSID:gCh0CgAni18XFUFo7SMxOg--.62183S3
X-Coremail-Antispam: 1UD129KBjvJXoWxWryfGrW5Cr45ZryfCF4xtFb_yoW5urW7pF
srCF4a9398XFyUXa17tw1vva4Svw4SgaykWw15Kw43CrWUXrn8GF47Ga15AFn8Z3Z7AFWf
t390kr13A348ta7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDU0xBIdaVrnRJUUUvjb4IE77IF4wAFF20E14v26r4j6ryUM7CY07I20VC2zVCF04k2
6cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4
vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7Cj
xVAFwI0_Cr0_Gr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I
0E14v26rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40E
x7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x
0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lFIxGxcIEc7CjxVA2Y2ka0xkIwI1lc7CjxVAaw2AF
wI0_Jw0_GFyl42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4
xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r43
MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I
0E14v26r4j6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWU
JVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUF1
v3UUUUU
X-CM-SenderInfo: 5oxrwvpqjn3046kxt4xhlfz01xgou0bp/
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


On 2025/6/4 18:00, Peter Zijlstra wrote:
> On Wed, Jun 04, 2025 at 03:39:24AM +0000, Luo Gengkun wrote:
>> There may be concurrency between perf_cgroup_switch and
>> perf_cgroup_event_disable. Consider the following scenario: after a new
>> perf cgroup event is created on CPU0, the new event may not trigger
>> a reprogramming, causing ctx->is_active to be 0. In this case, when CPU1
>> disables this perf event, it executes __perf_remove_from_context->
>> list _del_event->perf_cgroup_event_disable on CPU1, which causes a race
>> with perf_cgroup_switch running on CPU0.
>>
>> The following describes the details of this concurrency scenario:
>>
>> CPU0 CPU1
>>
>> perf_cgroup_switch:
>> ...
>> # cpuctx->cgrp is not NULL here
>> if (READ_ONCE(cpuctx->cgrp) == NULL)
>> return;
>>
>> perf_remove_from_context:
>> ...
>> raw_spin_lock_irq(&ctx->lock);
>> ...
>> # ctx->is_active == 0 because reprogramm is not
>> # tigger, so CPU1 can do __perf_remove_from_context
>> # for CPU0
>> __perf_remove_from_context:
>> perf_cgroup_event_disable:
>> ...
>> if (--ctx->nr_cgroups)
>> ...
>>
>> # this warning will happened because CPU1 changed
>> # ctx.nr_cgroups to 0.
>> WARN_ON_ONCE(cpuctx->ctx.nr_cgroups == 0);
>>
>> To fix this problem, expand the lock-holding critical section in
>> perf_cgroup_switch.
>>
>> Fixes: db4a835601b7 ("perf/core: Set cgroup in CPU contexts for new cgroup events")
>> Signed-off-by: Luo Gengkun <luogengkun@xxxxxxxxxxxxxxx>
>> ---
> Right, so how about we simply re-check the condition once we take the
> lock?
>
> Also, take the opportunity to convert to guard instead of adding goto
> unlock.
>
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -207,6 +207,19 @@ static void perf_ctx_unlock(struct perf_
> __perf_ctx_unlock(&cpuctx->ctx);
> }
>
> +typedef struct {
> + struct perf_cpu_context *cpuctx;
> + struct perf_event_context *ctx;
> +} class_perf_ctx_lock_t;
> +
> +static inline void class_perf_ctx_lock_destructor(class_perf_ctx_lock_t *_T)
> +{ perf_ctx_unlock(_T->cpuctx, _T->ctx); }
> +
> +static inline class_perf_ctx_lock_t
> +class_perf_ctx_lock_constructor(struct perf_cpu_context *cpuctx,
> + struct perf_event_context *ctx)
> +{ perf_ctx_lock(cpuctx, ctx); return (class_perf_ctx_lock_t){ cpuctx, ctx }; }
> +
> #define TASK_TOMBSTONE ((void *)-1L)
>
> static bool is_kernel_event(struct perf_event *event)
> @@ -944,7 +957,13 @@ static void perf_cgroup_switch(struct ta
> if (READ_ONCE(cpuctx->cgrp) == cgrp)
> return;
>
> - perf_ctx_lock(cpuctx, cpuctx->task_ctx);
> + guard(perf_ctx_lock)(cpuctx, cpuctx->task_ctx);
> + /*
> + * Re-check, could've raced vs perf_remove_from_context().
> + */
> + if (READ_ONCE(cpuctx->cgrp) == NULL)
> + return;
> +
> perf_ctx_disable(&cpuctx->ctx, true);
>
> ctx_sched_out(&cpuctx->ctx, NULL, EVENT_ALL|EVENT_CGROUP);
> @@ -962,7 +981,6 @@ static void perf_cgroup_switch(struct ta
> ctx_sched_in(&cpuctx->ctx, NULL, EVENT_ALL|EVENT_CGROUP);
>
> perf_ctx_enable(&cpuctx->ctx, true);
> - perf_ctx_unlock(cpuctx, cpuctx->task_ctx);
> }
>
> static int perf_cgroup_ensure_storage(struct perf_event *event,

Thank for your review, I will make changes based on your suggestions.



Return-Path: <linux-kernel+bounces-674017-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AE48441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:55:35 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 763FC3A83FF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:55:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C10181F8725;
Thu, 5 Jun 2025 03:55:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Rg38A2ZR"
Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67])
(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 530DD1F30B2
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:55:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.67
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749095730; cv=none; b=lJaoLxpBWJN1vcWmhOJXPrL8PHoQTXr7YTG7G9h9rmTADOPtItRzAVx9EJ3ZPRPlz312Kdd5y9JdVZoy5UZvgO307PrB1x0c2F3qZpYM6LODWJchHBiOQFTRC4OsLcydj9o9mdQ1O17yiH+tHjQ7rT6iyzls9Yv6UGVffVaC+gw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749095730; c=relaxed/simple;
bh=6vV8BBBuLBseH4drZNDS1JiYTzhPY15/Bct2tXlZ1l8=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=Y6p6Aih7iKiO2bIM0YxtOqTkAV3odi9UxVv8KmnWg1GouyCAXQHE2V+K3tIycNd8C0Ct/rneob4SQoAu88LNNmeORyA5e4LVGd1QNpEIUZtjCUSQtb03c7hWSmisHpAbA08kW9Jefk7OLyK7ltTAy6vFywDshNGGIAEMSr1lYGU=
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=Rg38A2ZR; arc=none smtp.client-ip=209.85.221.67
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
Received: by mail-wr1-f67.google.com with SMTP id ffacd0b85a97d-3a50fc819f2so385337f8f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 20:55:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749095726; x=1749700526; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:to:subject:user-agent:mime-version:date:message-id:from
:to:cc:subject:date:message-id:reply-to;
bh=UFw1hVm4aqEwlAr8rCOCLfQ9NHkEpt5q96evQjKko24=;
b=Rg38A2ZR+pFs0Fu/u3YaCQXsyaOmWMPJz/3FfRx7uj7r0ZjD13wtpEytl0hZG0VmjH
sJmw5FI1Gye+Bi2StfUljj+vQhfIzCpered0LEgpQ83POfIbjOpKHCRdBor15NZCQ88I
CtDRTtQzUyekpoxMmA3AUAKYjKdr8SosBVMNJDop+SEQ0f7OL+WyvMn+PpHLJp/1VqbW
rNlYKJrz/4D5Cpyo4d9fTVI+CNxcfCOd9ELN0H4Nk4e5B0kYxcxyKYs4xOop45eT4Dwy
F6IQjmMX8QMWG1GPkWZTBqe1qaW51KsuRF2BgXs3Eaq2FJMM+aIjzPBVHJD0MpqWCQFZ
Rvuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749095726; x=1749700526;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=UFw1hVm4aqEwlAr8rCOCLfQ9NHkEpt5q96evQjKko24=;
b=hbvrD796yKGqRbok7MEKkXaUGf/+O4rQ/uC+O10TUimdy6aiHBdBgw5fwTk1eQdU2b
T9CzW0o3X8shunUK8w9o+Lpwh4b0yZYhF1HK3LdyHmpXp25A8ZslFcE5J/PfsfOZNY0O
CF40sYCjOz4IZ2nviwp8hpqD0U6L4/TUQ6ZsETk5S5dfwa8fY9nPOtjMB/TcfCWlJ/UY
eunW+6erF0GrLLJ5NbhKd0MQ/NdIGv9gqQTfqWgxoJLHvrfo6t+DceWm+SKdmtSRfj8j
7ANieGYDuw9DzmKElo0sUtwQiz5iU2EnB6sWYX58c9JD4qpX0NCT+QSSXcxZKifOv79G
6z8g==
X-Forwarded-Encrypted: i=1; AJvYcCUPpHIY5oTRqVbBopmrosmPtVpJ+vlHDUb9TpCKP+t4Mj0PwzTRayv2BzQhHObOByGJEbRiD6rZ8OObBpw=@vger.kernel.org
X-Gm-Message-State: AOJu0YyfHZodOJdHt5d2DWfv0FVqGJsgbrxsNoGzPmd1N8fWrWLw4cd4
dvsP+xAmOQs4a20Y8JKOXWH/qWfqe1bknwqXKWobAhqaV4iVwTyCx6gS
X-Gm-Gg: ASbGnctR9m0v+KjtHuL84JNcPqzE+bad9TGY8+WI95qwYOqWOdE0IGZLwLPLJMXMMID
PZvF+PDm6eYabyD5yvN3YCqXdohFCNxz2bNqeL3fkF6Va0BXTCNk2SU3odXmFWJEfz/7MFo70Ml
owI1SA7R4QoJfwZ2BbxLaWa84YEuAJlhGhgVQeKqxPO/goOXAyXGyqvMV4y4+1ckYhTFFH5DKa1
sNAUw2zIKGyGqbts0yJOJmHOWBumcd7/JSLBNOS6BaCabnmLe2AwYRCrcwHmnoQhpy5K4CsAwC4
S9PMiAc2YoZ9GYK3VAZ2x7HgkETK4NtXpRffzUuy0pTQnXWOpmm5R8h7GsM0MenagVW3HjS+UPh
zYFuakH0BksOvU0vH8vhSAfoYPUNkFhrT6TSyPD92SkPnajzI3W4Ih210j9OzSpcdut4=
X-Google-Smtp-Source: AGHT+IHs9o7cJ+ssmBhszqk9ddF0qXxrKNkv9fb9GFLwxoeRPawQyEP6ki2Pz/VW8vyNBzgyPg9SqQ==
X-Received: by 2002:a5d:5f51:0:b0:3a4:f430:2547 with SMTP id ffacd0b85a97d-3a51d8f6105mr4140212f8f.6.1749095726307;
Wed, 04 Jun 2025 20:55:26 -0700 (PDT)
Received: from [26.26.26.1] (ec2-18-153-191-229.eu-central-1.compute.amazonaws.com. [18.153.191.229])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a52bd85d51sm192467f8f.94.2025.06.04.20.55.23
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 20:55:25 -0700 (PDT)
Message-ID: <d32ac499-fadb-401c-bb8c-9c3616da302a@xxxxxxxxx>
Date: Thu, 5 Jun 2025 11:55:20 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] iommu/vt-d: Remove dead code in
intel_iommu_domain_alloc_paging_flags()
To: Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx>, Wei Wang <wei.w.wang@xxxxxxxxx>,
kevin.tian@xxxxxxxxx, yi.l.liu@xxxxxxxxx, dwmw2@xxxxxxxxxxxxx,
jroedel@xxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, iommu@xxxxxxxxxxxxxxx
References: <20250530091325.694456-1-wei.w.wang@xxxxxxxxx>
<f1f55968-28e0-4c5d-876b-1c5499b3c01a@xxxxxxxxxxxxxxx>
Content-Language: en-US
From: Ethan Zhao <etzhao1900@xxxxxxxxx>
In-Reply-To: <f1f55968-28e0-4c5d-876b-1c5499b3c01a@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/3/2025 10:39 AM, Baolu Lu wrote:
> On 5/30/25 17:13, Wei Wang wrote:
>> When dirty_tracking is enabled, first_stage is set to false to use the
>> second stage translation table. dmar_domain->use_first_level, which is
>> assigned from first_page, is guaranteed to be false when the execution
>> reaches the location of the code to be removed by this patch. So the
>> handling for dmar_domain->use_first_level being true there will never
>> be executed.
>>
>> Signed-off-by: Wei Wang<wei.w.wang@xxxxxxxxx>
>> ---
>>   drivers/iommu/intel/iommu.c | 7 +------
>>   1 file changed, 1 insertion(+), 6 deletions(-)
>>
>> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
>> index cb0b993bebb4..1145567c60f9 100644
>> --- a/drivers/iommu/intel/iommu.c
>> +++ b/drivers/iommu/intel/iommu.c
>> @@ -3418,13 +3418,8 @@ intel_iommu_domain_alloc_paging_flags(struct
>> device *dev, u32 flags,
>>           spin_lock_init(&dmar_domain->s1_lock);
>>       }
>> -    if (dirty_tracking) {
>> -        if (dmar_domain->use_first_level) {
>
> This *explicit* check enforces that dirty tracking cannot be supported
> for a domain that relies on first-stage translation due to the lack of
> enabling/disabling dirty tracking support.
>
> While this might appear redundant, this prevents potential issues
> if related code is modified without awareness of this dependency.
There would always something sooner or later like this to stop the
improper configuration/coding , under an assumption that caller path
always coded perfect, indeed, we could remove a lot of error stopper code.

But that world seems never works like that.

Thanks,
Ethan
>
>> -            iommu_domain_free(domain);
>> -            return ERR_PTR(-EOPNOTSUPP);
>> -        }
>
> Thanks,
> baolu
>



Return-Path: <linux-kernel+bounces-674018-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AE28B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 4 Jun 2025 23:59:58 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A3DB51737FC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:59:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DB8341F8EF6;
Thu, 5 Jun 2025 03:59:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=inventec.com header.i=@inventec.com header.b="GUoaivs9"
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 B01705680
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:59:48 +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=1749095991; cv=none; b=TEkuSpDpdxcawyxK39eU4YJWpckJDofikKEBoyHb9SHwpq7Vj+2dXtLFQYTC9XXtmAgt0sXj6b13J7yfbobFfXgMAZtfXwYUP504RGY6lvfsn4zCxG/5a3YF8uW0H0flBT4Hqw2AAnRZDURRSumwOy/k236SiSgW5Mh2qOVi564=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749095991; c=relaxed/simple;
bh=a99DJB7kgqKr/Mq3XFCGHLdwCFggirioNhGpFPuOmrc=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=DqLhFsJmxBbZ8XQW+qd9fvumzTCicsW2PoSMTvtTTuAZ7zDQxR+3fGFGPan03dzUaExOFJ1Xf05Sr3j6WcKCwIJcA/RdzcK7Z5Vih9MDBsYm2Gg+zzC3QKMNbUCraRknyfFtpYG8YX63SM3GiOqAwMWhRJr7pvwlUPW811Io5cg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=inventec.com; spf=pass smtp.mailfrom=inventec.com; dkim=pass (2048-bit key) header.d=inventec.com header.i=@inventec.com header.b=GUoaivs9; arc=none smtp.client-ip=209.85.216.47
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=inventec.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=inventec.com
Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-3122368d7cfso474777a91.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 20:59:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=inventec.com; s=google; t=1749095988; x=1749700788; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=SzkZstCCrPCWPsZ455Qf8TsSyXtheVsZkxKhV0y9aO4=;
b=GUoaivs9kiZYpzwlYhipgAbl+2mUua5o1Bx68wK1PfOd7ujianyReMF6esYRs6UyXt
phfbKOWiKiJhJv8eSneKtwh3fKAp9wC1yvo6Ir75cnqWk8X9mAuwNVNRiLfaiOeGOa9E
yxPB/z9q25hVBcHrvcU8LoiTU0jKlr8ICGkeDKnjWTp+pH1gM0yiBadJqPVRrzYK6jzB
DYACxj+sGvOME5fED7QuIO+sCrLppUd5IphfwgazXz24kJeHJh0JrWv/aGdIpcApsFl9
2oYLknrAwLI5kbrEM2LXOJowH3zFNl5wzw85fqMN6TxJquLmS3WXBUGHGg4FUuKHQsgX
Mh6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749095988; x=1749700788;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=SzkZstCCrPCWPsZ455Qf8TsSyXtheVsZkxKhV0y9aO4=;
b=DedWfJSuMZuAcPDBqFyHgFuCsjVxV1jX7tqtksCE4FX5vGjmzHCjLgxXyrd6jfgy29
6RjAstC+uc0N6ak3Z364DaEblCOp1yA+lAbsIbUHvtfwlX4p0v8FWePzcaIgohOMDMtK
MUVncmhvpWAK/snz6MsyJ9fwoX0CgYVhQZ/S9SVip8DPGQZPOTYPpRhkbIc1dYA6XWFG
OWhuvPpFkDl7yyZmW9wGXe3OqkOMGLSQMs3y53JbDvYqKQWkCCd1rDWf6B2PSg9Y6v/j
GC2HGK8O6oL17M7QkatiaHshHb8rAj711YLt1Y5yd3yTnWYzupePdfm3cojU4RpI/aIf
bYYA==
X-Forwarded-Encrypted: i=1; AJvYcCUlTCiF7K3GydjCmJKFd+Sd8FEo5+geGLbvy+xEwz9408HEbjSAe7opsxVu6O7/B00vvygELdfHocQ4Rsg=@vger.kernel.org
X-Gm-Message-State: AOJu0Ywz0tywHcyj/tKZckVTkTWkJvCMOST5fNU6mmg3+o8ovr8rP4dn
1RZeIsnbWWe66l1QGIvCsV3cmi1j9e/ThsU/DMedA6YmSzRWiGAGFSWJbYBa+KP4FP4=
X-Gm-Gg: ASbGnct3ZqfURv3tDF7tz9JehznUKcn6cTduidWvfuwrkMJlTSpSU2EwV/wcvAF3g8W
7cNCJha4kaFWWX6et1cKXtnmGcDRKV0KbApD/rzr/HveE6THnR8Xn14So2XFz5Q3nOfBEGPVFkT
S1OmPDEgbGoETcY1gM2iH6umrvBFSW4TRyXa2hpOKecgmf1pS50t2/AV1hVeTLe+xWlERTjdc4I
90/kl5snXCMRCGPLN/9YH0qkDXBTdBiOLT71Z4Utw5iuxrfXuahUcblXdfGvmbDX+LF51nkmxUz
QpKPh3dFvPg9xixO4/VryA8LT8PNsq/uXmCvoU6e1YnEnakWIffhTnM/zSfVOlWH/vd9B3mq
X-Google-Smtp-Source: AGHT+IHwOv1nfgRYxTOZRYlHLTPEDAVKxSayaPRlTfw7ratzj7blGucqQmZiYitkUOV/1EwZKzf8Ew==
X-Received: by 2002:a17:90b:55c8:b0:313:287e:f1e8 with SMTP id 98e67ed59e1d1-313287ef202mr2764388a91.8.1749095987904;
Wed, 04 Jun 2025 20:59:47 -0700 (PDT)
Received: from localhost.localdomain ([123.51.235.216])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132bff66d1sm495400a91.7.2025.06.04.20.59.44
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 20:59:47 -0700 (PDT)
From: Chiang Brian <chiang.brian@xxxxxxxxxxxx>
To: krzk@xxxxxxxxxx
Cc: chiang.brian@xxxxxxxxxxxx,
conor+dt@xxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
geert+renesas@xxxxxxxxx,
grant.peltier.jg@xxxxxxxxxxx,
jdelvare@xxxxxxxx,
krzk+dt@xxxxxxxxxx,
linux-hwmon@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-renesas-soc@xxxxxxxxxxxxxxx,
linux@xxxxxxxxxxxx,
robh@xxxxxxxxxx
Subject: Re: [PATCH v4 2/2] hwmon: (pmbus/isl68137) Add support for RAA229621
Date: Thu, 5 Jun 2025 11:52:33 +0800
Message-Id: <20250605035233.3394026-1-chiang.brian@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250602-elated-aspiring-squid-d27ee4@kuoka>
References: <20250602-elated-aspiring-squid-d27ee4@kuoka>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Mon, Jun 02, 2025 at 07:55:37PM GMT, Krzysztof Kozlowski wrote:
>
> On Mon, Jun 02, 2025 at 01:04:15PM GMT, Chiang Brian wrote:
> > The RAA229621 is a digital dual output multiphase
> > (X+Y <= 8) PWM controller designed to be compliant
> > with AMD SVI3 specifications, targeting
> > VDDCR_CPU and VDDCR_SOC rails.
> > Add support for it to the isl68137 driver.
>
> Please wrap commit message according to Linux coding style / submission
> process (neither too early nor over the limit):
> https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597

I'll wrap the commit message body at 75 columns.
Thanks for the pointing out.

> >
> > this patch depends on patch:
> > dt-bindings: hwmon: (pmbus/isl68137) Add RAA229621 support
>
> No, it does not, please drop this sentence.
>

I'll remove the incorrect sentence as well.
Thank you for the patient reviewing.

Best regards,
Brian Chiang


Return-Path: <linux-kernel+bounces-674019-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3235141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:01:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 803CE173BF1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:01:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 846341F3B8A;
Thu, 5 Jun 2025 04:01:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TE3SRtVn"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B62B536D;
Thu, 5 Jun 2025 04:01:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096061; cv=none; b=TXBlXUZ1u21I6BwTBLdGVSvtzjdyYLF2CD5yFZT2k5JWErdcATnok789278L93uvEPNNjBvSHLl/IdxQEqg+UHLAgNWeRx40XisBukg7oQgGcsaawyCCkT2t6t28Y4NBL6ddevL+t8CovyU59dP65W9YHamFbZ2uozr77PTk7Gs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096061; c=relaxed/simple;
bh=FXBbPzAAhSovRjwex5dKZ+yjnaMLwgjnsSIoY9sDE1k=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=qLn5EASLmFnAhyRTZaKoij4B3yRmumZhnD/5eiyf2QC+OiA1fquMWrKZ+h3KLEP/kngaqfaSojnyj8T03Y9idcoskz00Gctr7MWcYFhpZYJwXQnja0G11MUc3GHUp4mEQi+yw21sXYj0iUbrNcRHYTn/mDXQ/MhoMT2n+GYJ01s=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TE3SRtVn; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D3B8AC4CEE7;
Thu, 5 Jun 2025 04:00:59 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749096061;
bh=FXBbPzAAhSovRjwex5dKZ+yjnaMLwgjnsSIoY9sDE1k=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=TE3SRtVn/ST+6NYt67ULRZx7tLW0hM+eND8+c6xr+qyGpmaewhWnLTwJ27qjghKQK
57GwktKqixOBYHWf7bTWA7bqVaaEq2wDr9YNXva+rIr4eplsrmGsedyY00N567BvPa
DekU3wZEL5OImZrkEeCui9XbMAH6fnWt1yx5frXEpM++4mUAl46PR/8EhLURhc4azL
/ctQkn9JztINDO49ZNJwVkbpUNG+3NxurCG990GJkwo8YZvYtGwJqNB1KhjMRm1jxj
OTIn6gmUznXonsOsg9veOK70Z8zhobwNiwExdqMwe+jQpSc6JfCLnQCL1/PoVOtYuS
7dGXV4AeYtWIw==
Date: Wed, 4 Jun 2025 21:00:58 -0700
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Petr Mladek <pmladek@xxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>,
Joe Lawrence <joe.lawrence@xxxxxxxxxx>, live-patching@xxxxxxxxxxxxxxx, Song Liu <song@xxxxxxxxxx>,
laokz <laokz@xxxxxxxxxxx>, Jiri Kosina <jikos@xxxxxxxxxx>,
Marcos Paulo de Souza <mpdesouza@xxxxxxxx>, Weinan Liu <wnliu@xxxxxxxxxx>,
Fazla Mehrab <a.mehrab@xxxxxxxxxxxxx>, Chen Zhongjin <chenzhongjin@xxxxxxxxxx>,
Puranjay Mohan <puranjay@xxxxxxxxxx>, Masahiro Yamada <masahiroy@xxxxxxxxxx>
Subject: Re: [PATCH v2 42/62] kbuild,x86: Fix module permissions for
__jump_table and __bug_table
Message-ID: <bibraqfzt22adfii3emorei7lobdhjnmfrfv3n4cd7f22k73s4@jbxclgfc6fgi>
References: <cover.1746821544.git.jpoimboe@xxxxxxxxxx>
<9da1e9f592aadc8fbf48b7429e3fbcea4606a76a.1746821544.git.jpoimboe@xxxxxxxxxx>
<20250526110634.GO24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<cv2xosjolcau7n3poyymo3yodhl4cokwmju53d3rwfsqhkbqym@rsvd5oqqhczk>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <cv2xosjolcau7n3poyymo3yodhl4cokwmju53d3rwfsqhkbqym@rsvd5oqqhczk>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 05:22:15PM -0700, Josh Poimboeuf wrote:
> On Mon, May 26, 2025 at 01:06:34PM +0200, Peter Zijlstra wrote:
> > On Fri, May 09, 2025 at 01:17:06PM -0700, Josh Poimboeuf wrote:
> > > An upcoming patch will add the SHF_MERGE flag to x86 __jump_table and
> > > __bug_table so their entry sizes can be defined in inline asm.
> > >
> > > However, those sections have SHF_WRITE, which the Clang linker (lld)
> > > explicitly forbids combining with SHF_MERGE.
> > >
> > > Those sections are modified at runtime and must remain writable. While
> > > SHF_WRITE is ignored by vmlinux, it's still needed for modules.
> > >
> > > To work around the linker interference, remove SHF_WRITE during
> > > compilation and restore it after linking the module.
> >
> > *groan*
> >
> > This and the following patches marking a whole bunch of sections M,
> > seems to suggest you're going to rely on sh_entsize actually working.
> >
> > There was an ld.lld bug, and IIRC you need to enforce llvm-20 or later
> > if you want this to be so.
>
> Hm, ISTR this working with clang 18, I'll go test that again.

You're right, looks like sh_entsize is getting cleared by the linker
with my Clang 18. I guess I tested with newer Clang.

"objtool klp diff" fails with:

vmlinux.o: error: objtool: .discard.annotate_insn: unknown entry size

So yeah, non-buggy linker is already being enforced, though I should
probably make the error more human friendly.

--
Josh


Return-Path: <linux-kernel+bounces-674020-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E01AD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:01:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id D30B5175D6D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:01:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 82EE21FC0EA;
Thu, 5 Jun 2025 04:01:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="PE/HJkK2"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6329A36D;
Thu, 5 Jun 2025 04:01:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096103; cv=none; b=MhBTHtfAy1TkwV3fUT/zKYPaLaTwyT+S0GTJaiWUil1ZNq9HDNd2U7hJHY/Le7X0t0+Fbc2PXdvW8sYEZDZlbuWWJeXMFCPanze1VJocbZ82iGrjY5gocMXtHd8pZoNV19boJDHE/tcapMphMxsw4/z+H0eiE6CxroCfKm91LpU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096103; c=relaxed/simple;
bh=32c7+/f8dJEBLn5iseICjaVxF8Xs0WCRAXtVpNyVYvk=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=EylaAzqPigCFScfatMd/3zAwKbewLEnls/+YOapRjfQXAneRYRMUFJxJ4p06k0xg4T+g/rc0DodV6m17thEWSWVmlrfg4EhPqfW5gW+5TghitfFwJzwb6oZnbV2hlXVHoZZLMBkNyCgSjhwWvxJfmlkdzVBAlSrCAnA5JNnQNts=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=PE/HJkK2; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com
Received: from pps.filterd (m0279870.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554HXXig032470;
Thu, 5 Jun 2025 04:01:35 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
YylkOQCh+vCY3pVbR+5T6o1JTLHD9ZCMZHUsqJ1mDIg=; b=PE/HJkK2ZTSZggqn
rU/xxdpJJRUrR77TLp1G94gogCvBRbhr5m/aHae0ffddwYyTauXAvmsyRdqFzyFK
8U5ByBrZ3S/bFzdgeuhy3cXM8xECkKOgV0tSlBz+gKEgymxDryEPZX5umLv3uSrk
iW/5AUXH9IOKowd4payvnn6T0yA7yHsl9vOr8LyOl/Y5uJIl1bgYoVczLoFsZfWT
BMYhhia1Q3kDMF8ClVshO//2RUmu5ZTIF41uuqggoujjS/EtiuWKZWBLU/13WAAt
Sj1oOUrNjyAUA7AbInHpV7+QBVMc+g6bU5o8MWx42FzaJliJCgkDp3W+tVcZ/Wje
i8Xqfw==
Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 471sfuxv8n-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 05 Jun 2025 04:01:35 +0000 (GMT)
Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35])
by NALASPPMTA05.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 55541YU8020129
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 5 Jun 2025 04:01:34 GMT
Received: from [10.133.33.145] (10.80.80.8) by nalasex01c.na.qualcomm.com
(10.47.97.35) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Wed, 4 Jun 2025
21:01:31 -0700
Message-ID: <03354d56-ed21-47e0-a52e-14f559ff3bfb@xxxxxxxxxxx>
Date: Thu, 5 Jun 2025 12:01:29 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] wifi: ath11k: fix dest ring-buffer corruption
To: Jeff Johnson <jeff.johnson@xxxxxxxxxxxxxxxx>,
Johan Hovold
<johan@xxxxxxxxxx>,
Baochen Qiang <quic_bqiang@xxxxxxxxxxx>
CC: Johan Hovold <johan+linaro@xxxxxxxxxx>,
Jeff Johnson
<jjohnson@xxxxxxxxxx>, <linux-wireless@xxxxxxxxxxxxxxx>,
<ath11k@xxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<stable@xxxxxxxxxxxxxxx>
References: <20250526114803.2122-1-johan+linaro@xxxxxxxxxx>
<20250526114803.2122-2-johan+linaro@xxxxxxxxxx>
<026b710f-b50f-4302-ad4f-36932c2558ff@xxxxxxxxxxx>
<aD1axxSAJsbUfnHH@xxxxxxxxxxxxxxxxxxxx>
<5268c9ba-16cf-4d3a-87df-bbe0ddd3d584@xxxxxxxxxxx>
<aD7h0OOoGjVm8pDK@xxxxxxxxxxxxxxxxxxxx>
<01634993-80b1-496e-8453-e94b2efe658c@xxxxxxxxxxx>
<50555c1a-c200-4ac0-8dfb-424ff121b41d@xxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Miaoqing Pan <quic_miaoqing@xxxxxxxxxxx>
In-Reply-To: <50555c1a-c200-4ac0-8dfb-424ff121b41d@xxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To
nalasex01c.na.qualcomm.com (10.47.97.35)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Authority-Analysis: v=2.4 cv=CY8I5Krl c=1 sm=1 tr=0 ts=6841169f cx=c_pps
a=ouPCqIW2jiPt+lZRy3xVPw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17
a=GEpy-HfZoHoA:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=VwQbUJbxAAAA:8
a=COk6AnOGAAAA:8 a=HNy3F74MYHTJsWsaVJsA:9 a=QEXdDO2ut3YA:10
a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-ORIG-GUID: eez8o6FWFR7_XDEWNogdVUfn6H8qt2j6
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDAzMSBTYWx0ZWRfX1sFSTU4HTb4g
+fVLEIJj6xUsLDiOzqWPABGcih4+gZuRi+GWUexjAfMKAKkYao0Ht5Y1nQa4FzB1n9a6Uzb389q
cJZ/IcnuIr7VDP2ikUfQ0FcQI0FxrLK3JBkKcgFNUaPSiiiqqEgt+NWeDvmM304XB7To9/IW6+L
aMRp74N2rgQsQ1iknlhbv4HF9mVHxSdm7DkcT6n33O6GunJTRh3Subhc+bm3xd1WN7fuIM4RnHi
R4jfU9k3mZyJqd17Nh+j14BgiwAhuXIhx4IaQtbDlO5GADYl4ND4cZ6kazWBfiBAnFoFyQ40N9C
ej+1L26jVzpTTVxdKg4Va8g73WaEKWnRr/E3uv+s+VuM8c76f6GXAiYpg6tXrWPsA+dj1d0S+hS
akR1h0OrMC9VvuZOPhfL8MWDTDFGazFVlIts3bYNnS/rhWPhMctME3hidCHNxgZhCM68pJRD
X-Proofpoint-GUID: eez8o6FWFR7_XDEWNogdVUfn6H8qt2j6
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
priorityscore=1501 mlxscore=0 adultscore=0 bulkscore=0 suspectscore=0
malwarescore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 impostorscore=0
phishscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000
definitions=main-2506050031
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/5/2025 12:24 AM, Jeff Johnson wrote:
> On 6/3/2025 7:34 PM, Miaoqing Pan wrote:
>> We previously had extensive discussions on this topic in the
>> https://lore.kernel.org/linux-wireless/ecfe850c-b263-4bee-b888-c34178e690fc@xxxxxxxxxxx/
>> thread. On my platform, dma_rmb() did not work as expected. The issue
>> only disappeared after disabling PCIe endpoint relaxed ordering in
>> firmware side. So it seems that HP was updated (Memory write) before
>> descriptor (Memory write), which led to the problem.
>
> Have all ath11k and ath12k firmware been updated to prevent this problem from
> the firmware side?
>
No, as this is not a widespread issue, and addressing it would require
modifying the core underlying modules of the firmware. Therefore, we
chose not to proceed with that approach but instead used the workaround
patch I previously submitted.

> Or do we need both the barriers and the logic to retry reading the descriptor?
>

I think so, that would be best.


Return-Path: <linux-kernel+bounces-674021-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2650E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:03:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 38470189353B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:04:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 84C761F8EEF;
Thu, 5 Jun 2025 04:03:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YP1uoV6T"
Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175])
(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 368B5136E;
Thu, 5 Jun 2025 04:03:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.175
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096221; cv=none; b=SVmZnFR21H9HXqd2MD0xAR89fpU8aonNs/sY+snHJVT3ZFsehAKbpnzy+TaowQeWBPHE238axLE4j5vyPAXx4dPhqmXs8EFkkZ1/J6QfTcX9OQVshOsm1wGGA0v1xAAa6yysFwplo8hED0pUMXxL1xNmjJRxTJ0d8MXE0mp8AFo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096221; c=relaxed/simple;
bh=fI8J9rG7JbSFo7ZW/8CY8BUJMXza+StESHTX68eOZkI=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=WGoW1KwpPQxLHbf/CoZrB4VtPA04gIUWqUllY1omMUFVQTOdiWstYW+ZKjOrpoycSZEkrp9PZWSG3XrRX2IZ5w/5udKuP+5xmj72jHZD4hVr2t1qjRa+7uzThp0jzgrFeeu6SlAbgaoxHvqIiIjZW+MoIbF6iy2wZZ72Eyf+bxA=
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=YP1uoV6T; arc=none smtp.client-ip=209.85.215.175
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
Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-b2c4331c50eso440136a12.3;
Wed, 04 Jun 2025 21:03:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749096219; x=1749701019; darn=vger.kernel.org;
h=mime-version:user-agent:message-id:date:subject:cc:to:from:from:to
:cc:subject:date:message-id:reply-to;
bh=n8Cus5seLSLQKzB+xZDhAecKeXWVYO5YCmHd7YT8TtE=;
b=YP1uoV6TYAfRTdYqISgjTYVzHjfE34tzFCrmL6DPrxrrSW7kNIWVrM+u1EPsh5BOa3
XuiTmzlIY08zFxHQ39lQzJy6mTLt5OxiKT7ujgw6mTH/ltxCojOdG5YxjS0IUhq6A6YK
RodOt/I218HVXBd8IdQf7tKscUpLWAcmp93pN5FHy3kH+Tq2/Juk3LeFE3WAERviVjnV
mLWVboP3iQ4AIEZ8B9UhQrfQ1jW4Nq3s8qIwQP1OYK8Co6F0c9WkdabfVt4sMN+gKh6a
+6OYUcWbRGXom+A/1gzqsSJzediTfbLiepudF5GtrzN5Tf91J7zcVsjwMRqRgDpQa43k
wHhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749096219; x=1749701019;
h=mime-version:user-agent:message-id:date:subject:cc:to:from
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=n8Cus5seLSLQKzB+xZDhAecKeXWVYO5YCmHd7YT8TtE=;
b=Q57hqznM7castmZAVusQHte2ets0/Krmlh8+hHx9uKx/QVwRQlbNyvKlLpDTs/u5ry
HBbyj2pnGzxO7dUkQhHINkw0JFxHrB4GOhOuFwEdvFc1qKqlXtbYUNLYmYwSZOimgzuR
khV8ArdtCQoz0eAZ+htvK1EAqXXvYVBgMf+t3lK4NaQfYHaPqMOcG5wOdvJLxmyrFacL
JqhrwGFRSbydH6W//b+zas9ToRWzClJHnAatoFz4ds4ev+CVuD+1I7THzOeaCU4IplTT
J9G6p1XekppJe13FOBSHve7G/lgOOpV8wGBRs/YYkYmLdPuXcegmY5iU1IJeY9rg71T4
iqGw==
X-Forwarded-Encrypted: i=1; AJvYcCVQQA/+/xx2Nyr8TU8JgSc5fwuPlUl5d6/PzNhOxhDn9md9No4fDLCjsfqfW5vhvB71tc1PfR5HPvI6xB4=@vger.kernel.org, AJvYcCWztBBkKG1g3qao3DyZ7zt5X2E2Die2FKAc0TpgEW4nCf6ImcQFv1G1q/DEss54HgsWCR9y4kgBHA==@vger.kernel.org
X-Gm-Message-State: AOJu0YxUD7xVubMRLO02PZP1hWb4OalsXQxGUrmy6X1wz/AA3g5pQtJV
Z4MmfkaevVVwd+3yfxuQ3nqFb3uvmT6CzYDYO1uGjXb1SELLwtmRUvJr
X-Gm-Gg: ASbGncv1Jmcvrnvas6TOM2tbcPy2WK5arb4blfEsyXQ9cEAM6j0jn0DUePH9rfhdbZb
hQnShQyqMlhgN2yC+8COU3HYUWR0nLOuKsUCAXqGtNHuR2uFsO/AxwB16av9B5j6USHrKzVbOrG
x39YHmqv9/S893i5D/q5v7Qdjsj5vC0kBTJk08LdDdPBxnWAtc2KsHeb4q3U3aAeV2DLfBNRolj
l1sYLKagR0FhsH7hBy05oQVpVMshnthoAQTixKMHq2SgWWLKVK+mB9FmeOMMt/OV9vq+3WIBSul
MqfSsJiduMHmFBVSjp6Okezt3K0wGJGB5YLnX1A8Yw==
X-Google-Smtp-Source: AGHT+IFleYWpeplnyvLnUHsWZ/C1wgFh8kYYty+VwdGXtjDE7p3YQ3/FXG72/ONc4f5yHBGAVqT9CQ==
X-Received: by 2002:a17:90b:1b42:b0:312:ec3b:82c0 with SMTP id 98e67ed59e1d1-3130ce8a426mr7886836a91.29.1749096219250;
Wed, 04 Jun 2025 21:03:39 -0700 (PDT)
Received: from fedora ([2601:646:8081:3770::9eb])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132bff65c0sm493926a91.6.2025.06.04.21.03.38
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 21:03:38 -0700 (PDT)
From: Collin Funk <collin.funk1@xxxxxxxxx>
To: bug-gnulib@xxxxxxx
Cc: linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
selinux@xxxxxxxxxxxxxxx, Christian Brauner <brauner@xxxxxxxxxx>, Stephen
Smalley <stephen.smalley.work@xxxxxxxxx>
Subject: Recent Linux kernel commit breaks Gnulib test suite.
Date: Wed, 04 Jun 2025 21:03:37 -0700
Message-ID: <8734ceal7q.fsf@xxxxxxxxx>
User-Agent: Gnus/5.13 (Gnus v5.13)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi,

Using the following testdir:

$ git clone https://git.savannah.gnu.org/git/gnulib.git && cd gnulib
$ ./gnulib-tool --create-testdir --dir testdir1 --single-configure `./gnulib-tool --list | grep acl`

I see the following result:

$ cd testdir1 && ./configure && make check
[...]
FAIL: test-copy-acl.sh
[...]
FAIL: test-file-has-acl.sh

This occurs with these two kernels:

$ uname -r
6.14.9-300.fc42.x86_64
$ uname -r
6.14.8-300.fc42.x86_64

But with this kernel:

$ uname -r
6.14.6-300.fc42.x86_64

The result is:

$ cd testdir1 && ./configure && make check
[...]
PASS: test-copy-acl.sh
[...]
PASS: test-file-has-acl.sh

Here is the test-suite.log from 6.14.9-300.fc42.x86_64:

FAIL: test-copy-acl.sh
======================

/home/collin/.local/src/gnulib/testdir1/gltests/test-copy-acl: preserving permissions for 'tmpfile2': Numerical result out of range
FAIL test-copy-acl.sh (exit status: 1)

FAIL: test-file-has-acl.sh
==========================

file_has_acl("tmpfile0") returned no, expected yes
FAIL test-file-has-acl.sh (exit status: 1)

To investigate further, I created the testdir again after applying the
following diff:

diff --git a/tests/test-copy-acl.sh b/tests/test-copy-acl.sh
index 061755f124..f9457e884f 100755
--- a/tests/test-copy-acl.sh
+++ b/tests/test-copy-acl.sh
@@ -209,7 +209,7 @@ cd "$builddir" ||
{
echo "Simple contents" > "$2"
chmod 600 "$2"
- ${CHECKER} "$builddir"/test-copy-acl${EXEEXT} "$1" "$2" || exit 1
+ ${CHECKER} strace "$builddir"/test-copy-acl${EXEEXT} "$1" "$2" || exit 1
${CHECKER} "$builddir"/test-sameacls${EXEEXT} "$1" "$2" || exit 1
func_test_same_acls "$1" "$2" || exit 1
}

Then running the test from inside testdir1/gltests:

$ ./test-copy-acl.sh
[...]
access("/etc/selinux/config", F_OK) = 0
openat(AT_FDCWD, "tmpfile0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0610, st_size=16, ...}) = 0
openat(AT_FDCWD, "tmpfile2", O_WRONLY) = 4
fchmod(4, 0610) = 0
flistxattr(3, NULL, 0) = 17
flistxattr(3, 0x7ffda3f6c900, 17) = -1 ERANGE (Numerical result out of range)
write(2, "/home/collin/.local/src/gnulib/t"..., 63/home/collin/.local/src/gnulib/testdir1/gltests/test-copy-acl: ) = 63
write(2, "preserving permissions for 'tmpf"..., 37preserving permissions for 'tmpfile2') = 37
write(2, ": Numerical result out of range", 31: Numerical result out of range) = 31
write(2, "\n", 1
) = 1
exit_group(1) = ?
+++ exited with 1 +++

So, we get the buffer size from 'flistxattr(3, NULL, 0)' and then call
it again after allocating it 'flistxattr(3, 0x7ffda3f6c900, 17)'. This
shouldn't fail with ERANGE then.

To confirm, I replaced 'strace' with 'gdb --args'. Here is the result:

(gdb) b qcopy_acl
Breakpoint 1 at 0x400a10: file qcopy-acl.c, line 84.
(gdb) run
Starting program: /home/collin/.local/src/gnulib/testdir1/gltests/test-copy-acl tmpfile0 tmpfile2
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Breakpoint 1, qcopy_acl (src_name=src_name@entry=0x7fffffffd7c3 "tmpfile0", source_desc=source_desc@entry=3,
dst_name=dst_name@entry=0x7fffffffd7cc "tmpfile2", dest_desc=dest_desc@entry=4, mode=mode@entry=392) at qcopy-acl.c:84
84 ret = chmod_or_fchmod (dst_name, dest_desc, mode);
(gdb) n
90 if (ret == 0)
(gdb) n
92 ret = source_desc <= 0 || dest_desc <= 0
(gdb) s
attr_copy_fd (src_path=src_path@entry=0x7fffffffd7c3 "tmpfile0", src_fd=src_fd@entry=3, dst_path=dst_path@entry=0x7fffffffd7cc "tmpfile2",
dst_fd=dst_fd@entry=4, check=check@entry=0x4009b0 <is_attr_permissions>, ctx=ctx@entry=0x0) at libattr/attr_copy_fd.c:73
73 if (check == NULL)
(gdb) n
76 size = flistxattr (src_fd, NULL, 0);
(gdb) n
77 if (size < 0) {
(gdb) print size
$1 = 17
(gdb) n
86 names = (char *) my_alloc (size+1);
(gdb) n
92 size = flistxattr (src_fd, names, size);
(gdb) print errno
$2 = 0
(gdb) n
93 if (size < 0) {
(gdb) print size
$3 = -1
(gdb) print errno
$4 = 34

After confirming with the Fedora Kernel tags [1], I am fairly confident
that it was caused by this commit [2].

But I am not familiar enough with ACLs, SELinux, or the Kernel to know
the fix.

Adding the lists where this was discussed and some of the signers to CC,
since they will know better than me.

Collin

[1] https://gitlab.com/cki-project/kernel-ark
[2] https://github.com/torvalds/linux/commit/8b0ba61df5a1c44e2b3cf683831a4fc5e24ea99d


Return-Path: <linux-kernel+bounces-674022-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2304941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:05:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2092F3A5314
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:05:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9B1E71F4C96;
Thu, 5 Jun 2025 04:05:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="P9ODmomC"
Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53])
(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 1214E136E
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:05:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096332; cv=none; b=aQWG7ij4LN/fD99zWTgo39z/MXVwHGMvbZ681knD9yp1NtBuhjsVGDXzvsQTqeBkBMTrqx8gAg1uo1MeazRXupAhtFLGP9k0B7dHWVIQRlG93hVbmDsYb4nH6g3s82W0VEaPP7ckkAqdFTYN+v4/SC/rPpiweb/EPzwIyZKIGuM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096332; c=relaxed/simple;
bh=0aMuVvcO/HryfZVnLIrporC1sMe8K19mf8AMb9yj2UY=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=TMaIFPy7x55pxKd/mNSIw+PjVFinqdLYbzqYl2Ucf9/envHMrQ5NlIF1AOgYH3s0JvK9xdfuqgp1w9AIaAriXeUP90zopcjLEYCIbxNsmOFn7uIJbgtGeiReb1o9qg6Qi3dUOmv5yls0Lg7QJeiJm3zz5M0FuHKJd47NTpfloIo=
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=P9ODmomC; arc=none smtp.client-ip=209.85.221.53
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
Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3a4e62619afso79670f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 21:05:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749096329; x=1749701129; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=dEwtieco4GKYEC1Fw9rbOSmkU4O570HqhhN1nDaf00c=;
b=P9ODmomC72UN8EmB2tJD2B0yQFuq/smuKTwGArOC+3gDPtIx7YdY2cA5orVcsoAbe3
IKAbDYKBqDA0FXupKA7HaV9szr6a/BSjgsxpv55E2F8vwzqnBdQQSaMInyZQcAfweLq9
Y9GF5h4IQpxpDuUEfALsyWgu88F/PMWmEt1Z3B59AsEewcOb+Rc0DcmAmvQ+nD19Gnut
4kNqM0rPcwiO0aEdVx8gge6FfUWgGdoTmJ3yfTdvVdTk064JGByctLy+7bbeWAiXFIKV
VxMt1ZlWBsBxdkBYtaRSUGSSHq5bKdkU66lj1IFGUN/WdHGYBWmwe+IvQEwV67h3vaMg
XliQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749096329; x=1749701129;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=dEwtieco4GKYEC1Fw9rbOSmkU4O570HqhhN1nDaf00c=;
b=gLALTK+lH8v52yKiqcF61/BZ5cjq0xLszg09I1ZqmEPmkoa39Q31z6hq6o1miF1j52
6h3Sat01wfwMmbhr81HeDkGNvdI57HWGfJfUPrQUS9n0Z/KjSOkA+DGi0Z+cPRzBVam4
QZPGSafJbK7HgCzvDw4iIBrxktAauuxMfFhbxEFZrKVw/VOcHZFhU8jlPWv7scleUn+V
P+AMF6n6hPc4Zj19cCPVP9b9PLipLY8J9ygM44a2fRflVfd5LxHYh2EST1IDJWozxbTh
EndBNUy+IPAtzLPsuM7ZPXRcP8UyKKeHeBRt+yujMuOUW5AsDeIOi+7wn7LypMgBomBL
NUmQ==
X-Forwarded-Encrypted: i=1; AJvYcCWMLmAbLdiphSiWpFK2iWn3VyysE31ZYwzkYifIDHr8ahP/ITXOJIM/toh8+EQGEC+Jy4JhNm6aNiG7/Yw=@vger.kernel.org
X-Gm-Message-State: AOJu0Yx5ocDEsz/huF41sJ0Eo3DWUNm5+toQqhqVemysHIKojyBHrdTK
cD0RI+tbugr50E3PRKug7TPk/dQeKtjhu5H0aXQCW8UjilSfi6iIQmQCncyLQ+BeBPv0fUQZp9k
wqRGr5Li5/QpSz5NeIp/olU1FjTJ4AZwkvQ==
X-Gm-Gg: ASbGncv+fSMNY5Q+HRSAmdr3gB5UdacfRmsWwNuMvx2QUAr0p9vnyRyS0SJjiDI0aRH
XVhgy5ORT7pKig5g4WaSvF9jFw4QBIQDvo+3yFkETITnrzgpCr7io3M7xEDgXvfDGLd6j+X5ZtL
PkyyyIR0e3nuguXHNGDH3QdC8CmhKr3OrLbQ==
X-Google-Smtp-Source: AGHT+IEGy5Ojz4lIsgpjdJct16wfU6hSORmQedpsbzwZYJaouI3aHwEH0WbI773cz57GlUP8HPa6/7RP5vf0nNBq8mc=
X-Received: by 2002:a05:6000:430d:b0:3a3:6ab0:8863 with SMTP id
ffacd0b85a97d-3a51d997120mr1434178f8f.16.1749096329088; Wed, 04 Jun 2025
21:05:29 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <1749037059-4243-1-git-send-email-zhiguo.niu@xxxxxxxxxx>
<76adf905-191d-4415-a584-a79bc502bb87@xxxxxxxxxx> <CAHJ8P3+ygYG=9ZnPY15=L9AwGr9b5_2PkMwT8AXOyE68v6Hg3A@xxxxxxxxxxxxxx>
<2a387dd6-9c10-478d-aae2-8284ad395944@xxxxxxxxxx>
In-Reply-To: <2a387dd6-9c10-478d-aae2-8284ad395944@xxxxxxxxxx>
From: Zhiguo Niu <niuzhiguo84@xxxxxxxxx>
Date: Thu, 5 Jun 2025 12:05:17 +0800
X-Gm-Features: AX0GCFvJBT95joyY_JO0nCWFEiJ0UyXel-A54_RG69i2bqx3GaVOigAsJsFlYfo
Message-ID: <CAHJ8P3JcGAtwQVTqCfno+_agZjkEMn3XHtgBeOicUAPkONvnTQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v2] f2fs: compress: fix UAF of f2fs_inode_info in f2fs_free_dic
To: Chao Yu <chao@xxxxxxxxxx>
Cc: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>, jaegeuk@xxxxxxxxxx,
linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
ke.wang@xxxxxxxxxx, Hao_hao.Wang@xxxxxxxxxx, baocong.liu@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Chao Yu <chao@xxxxxxxxxx> =E4=BA=8E2025=E5=B9=B46=E6=9C=885=E6=97=A5=E5=91=
=A8=E5=9B=9B 11:31=E5=86=99=E9=81=93=EF=BC=9A
>
> On 6/5/25 10:44, Zhiguo Niu wrote:
> > Chao Yu <chao@xxxxxxxxxx> =E4=BA=8E2025=E5=B9=B46=E6=9C=885=E6=97=A5=E5=
=91=A8=E5=9B=9B 10:23=E5=86=99=E9=81=93=EF=BC=9A
> >>
> >> On 6/4/25 19:37, Zhiguo Niu wrote:
> >>> The decompress_io_ctx may be released asynchronously after
> >>> I/O completion. If this file is deleted immediately after read,
> >>> and the kworker of processing post_read_wq has not been executed yet
> >>> due to high workloads, It is possible that the inode(f2fs_inode_info)
> >>> is evicted and freed before it is used f2fs_free_dic.
> >>>
> >>> The UAF case as below:
> >>> Thread A Thread B
> >>> - f2fs_decompress_end_io
> >>> - f2fs_put_dic
> >>> - queue_work
> >>> add free_dic work to post_read_wq
> >>> - do_unlink
> >>> - iput
> >>> - evict
> >>> - call_rcu
> >>> This file is deleted after read.
> >>>
> >>> Thread C kworker to process post_=
read_wq
> >>> - rcu_do_batch
> >>> - f2fs_free_inode
> >>> - kmem_cache_free
> >>> inode is freed by rcu
> >>> - process_scheduled_work=
s
> >>> - f2fs_late_free_dic
> >>> - f2fs_free_dic
> >>> - f2fs_release_decomp=
_mem
> >>> read (dic->inode)->i_compress_a=
lgorithm
> >>>
> >>> This patch use __iget before f2fs_free_dic and iput after free the di=
c.
> >>>
> >>> Cc: Daeho Jeong <daehojeong@xxxxxxxxxx>
> >>> Fixes: bff139b49d9f ("f2fs: handle decompress only post processing in=
softirq")
> >>> Signed-off-by: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>
> >>> Signed-off-by: Baocong Liu <baocong.liu@xxxxxxxxxx>
> >>> ---
> >>> v2: use __iget/iput function
> >>> ---
> >>> fs/f2fs/compress.c | 16 +++++++++++-----
> >>> 1 file changed, 11 insertions(+), 5 deletions(-)
> >>>
> >>> diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
> >>> index b3c1df9..3f0c18d 100644
> >>> --- a/fs/f2fs/compress.c
> >>> +++ b/fs/f2fs/compress.c
> >>> @@ -1687,7 +1687,7 @@ static void f2fs_release_decomp_mem(struct deco=
mpress_io_ctx *dic,
> >>> }
> >>>
> >>> static void f2fs_free_dic(struct decompress_io_ctx *dic,
> >>> - bool bypass_destroy_callback);
> >>> + bool bypass_destroy_callback, bool late_free);
> >>>
> >>> struct decompress_io_ctx *f2fs_alloc_dic(struct compress_ctx *cc)
> >>> {
> >>> @@ -1743,12 +1743,12 @@ struct decompress_io_ctx *f2fs_alloc_dic(stru=
ct compress_ctx *cc)
> >>> return dic;
> >>>
> >>> out_free:
> >>> - f2fs_free_dic(dic, true);
> >>> + f2fs_free_dic(dic, true, false);
> >>> return ERR_PTR(ret);
> >>> }
> >>>
> >>> static void f2fs_free_dic(struct decompress_io_ctx *dic,
> >>> - bool bypass_destroy_callback)
> >>> + bool bypass_destroy_callback, bool late_free)
> >>> {
> >>> int i;
> >>>
> >>> @@ -1775,6 +1775,8 @@ static void f2fs_free_dic(struct decompress_io_=
ctx *dic,
> >>> }
> >>>
> >>> page_array_free(dic->inode, dic->rpages, dic->nr_rpages);
> >>> + if (late_free)
> >>> + iput(dic->inode);
> >>> kmem_cache_free(dic_entry_slab, dic);
> >>> }
> >>>
> >>> @@ -1783,16 +1785,20 @@ static void f2fs_late_free_dic(struct work_st=
ruct *work)
> >>> struct decompress_io_ctx *dic =3D
> >>> container_of(work, struct decompress_io_ctx, free_work)=
;
> >>>
> >>> - f2fs_free_dic(dic, false);
> >>> + f2fs_free_dic(dic, false, true);
> >>> }
> >>>
> >>> static void f2fs_put_dic(struct decompress_io_ctx *dic, bool in_task=
)
> >>> {
> >>> if (refcount_dec_and_test(&dic->refcnt)) {
> >>> if (in_task) {
> >>> - f2fs_free_dic(dic, false);
> >>> + f2fs_free_dic(dic, false, false);
> >>> } else {
> >>> INIT_WORK(&dic->free_work, f2fs_late_free_dic);
> >>> + /* to avoid inode is evicted simultaneously */
> >>> + spin_lock(&dic->inode->i_lock);
> >>> + __iget(dic->inode);
> >>> + spin_unlock(&dic->inode->i_lock);
> >>
> >> Oh, how about using igrab() instead?
> > Hi Chao,
> > after I check igrab, I think it is ok,
> > but here We don't need care about igarb's return value, right?
>
> I guess "return NULL" should be impossible case, but still we can add
> f2fs_bug_on() to detect any potential bug, right?
OK, thanks for your suggestions.
>
> Thanks,
>
> > Thanks!
> >
> >>
> >>> queue_work(F2FS_I_SB(dic->inode)->post_read_wq,
> >>> &dic->free_work);
> >>> }
> >>
>


Return-Path: <linux-kernel+bounces-674023-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9052841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:08:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A0FA718952A0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:08:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 39E331F4E48;
Thu, 5 Jun 2025 04:08:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UI2nK91j"
Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45])
(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 8B721136E
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:07:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096481; cv=none; b=apCXsN/Uu4OrFA8cznRdjtP28tnDQ54kV0G6jUlVRXjmhvJH1GSifetcg0yD0qI4eFemzFWpGkyczv9jHWCprxl1qU1rfo+B9rRyEn/EPnQmuaoZEecP/hPsgps1RwjIIxirzs/o5nk69YFmBQObmhnlDEXBP1/OzhPktCKcrB8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096481; c=relaxed/simple;
bh=JlZa1MR3jqRKxiFr4tenQ3861maa561Y0IEGxPqSOQI=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=qsz5yMGGizSOyUVZdXs0VgGZdB6kq+Z9+n2yh7EWGKkd9aUHt70lo0WIPn7SR5T57303BDdtZX4GxOPZjED1x8xtzgche3LXu9+iXAmKquEOdPv82ToMk7JnP7LsshhxH9F27IB2S8/RfGiJKdvF8E6TmQslnZgd0n/BBobb36U=
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=UI2nK91j; arc=none smtp.client-ip=209.85.221.45
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
Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-3a4e6a0c274so70101f8f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 21:07:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749096478; x=1749701278; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=AJhyl/czqq/y4sUsvxlz8289DMHwxFEsMSCXaocVBpY=;
b=UI2nK91jNhT3GAH6zFkxdkHfzxRw49msTpfjsPQEmzFq69OdFDzvI18snk/Eg3SDYb
M2/IoJEMmTRg2CLRwM1rWmmxtOHMzyWjzePqNsD7ktVRvMP6c6V/DqAy59uAopb8oHFa
qw7EGx/k2FbDA5GXn+1DYqKhyZdLdCE3sVwVd+gMQkSVhvLwpwB6OS2zB7UbagB4qwvf
uTaMmndVccDmTKD+Mi0im+w0EHCF1aUTzuNHdfkkk/TFnySxyGkYn+mSLDXohRbJfYQ4
eHUlRmL/12BrDSBNZFmnjgrkwHLDQJ+XqRRCOQx/J3OO1THe1ighQ+wP89so+1JgzP4j
ZUVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749096478; x=1749701278;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=AJhyl/czqq/y4sUsvxlz8289DMHwxFEsMSCXaocVBpY=;
b=Xg3eEQSEwwx0hTnjZ5ZMnXBFNKSo9/uWf+xNCdPh6dqHauJGpT4VOqecpKQv0lUh2E
lgTdLHJVfBO7F7P/HnAfzjx7eBOsXLXx481dyv7Mzv7NUsH2VVOcs99MO4sXpWfNNYv4
IuSd53LkCR+9TfdB2vxz+7+LZigFK1m4xaWsT2s4NbaKScLlJ1AEDbMkypidpDLih52Z
z+Z5XTmnvxmxyP585JxjZXGGHKb/C0OQo8tSOL1+MTKjWrS3axHFtVFZ3Y9m7W7uO1Ab
bCWGeoEmuwAMaj1poqoe8MDNJdFsN96gGJTpzedPlzSgPtp4ssWwDuVahqq+b6i63ZXf
RzXQ==
X-Forwarded-Encrypted: i=1; AJvYcCUhERcFd3p7iEu1IYMGhshSeG2+tLlnixNUJuxzNAKLeZoPAW5ajyjfRrSDXU1jkvVi6a5zngY3qfz9x/o=@vger.kernel.org
X-Gm-Message-State: AOJu0YxsT3/BPNUKfC+p+Y3MN5Qw9KUXIvg4K2yDeaGRa2BeFhkl+deO
t79nRpevgUPfpJMP8TFw2Y10pcGkBG5p9Z8PNJ/bpIL1T6Z/8+MnbVK+XVQ+npQXCfGR28UnQe0
HHBWp5LsNw4fYbxx0BkajBa8VKleqcnk=
X-Gm-Gg: ASbGncuOqCvZQPwvN4iz/llmp60n3WR2SJ+sAX/CldA2/6NQOD0gsWj/MrkcsbR+8PA
RM9XuYnyIXOaZbdd5crhZqMcTPjPSRQ/vlp++OmGac/OelcFGNTs3YoJCEcExXjfL5F2x7DPZna
CKtsjSA2uZ9EcMp05/GXGK7buRZEIoIahAlg==
X-Google-Smtp-Source: AGHT+IEmSPI8KqN59ZHEnT3BHsvJbXgMvTKfY3B5/UO28d/mt5dsmTQN6OMmkCQtPB+7dk8uSTqbIiCnW/RzrE4TtXw=
X-Received: by 2002:a05:600c:1382:b0:439:9a40:aa1a with SMTP id
5b1f17b1804b1-451f0b27b92mr16707885e9.6.1749096477341; Wed, 04 Jun 2025
21:07:57 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250605032633.2744434-1-chao@xxxxxxxxxx>
In-Reply-To: <20250605032633.2744434-1-chao@xxxxxxxxxx>
From: Zhiguo Niu <niuzhiguo84@xxxxxxxxx>
Date: Thu, 5 Jun 2025 12:07:46 +0800
X-Gm-Features: AX0GCFvpfdoBjZVRPiDxdtYK7pUi7tY4Ahdm2d2v_lWBBaFvMYKpaLHo_lYMFKs
Message-ID: <CAHJ8P3KmB+TocruTThpTe-YE3LH-uZ7_w_GrHqSV0B-PWwwMjg@xxxxxxxxxxxxxx>
Subject: Re: [f2fs-dev] [PATCH v3] f2fs: fix to zero post-eof page
To: Chao Yu <chao@xxxxxxxxxx>
Cc: jaegeuk@xxxxxxxxxx, stable@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Chao Yu via Linux-f2fs-devel <linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx>
=E4=BA=8E2025=E5=B9=B46=E6=9C=885=E6=97=A5=E5=91=A8=E5=9B=9B 11:29=E5=86=99=
=E9=81=93=EF=BC=9A
>
> fstest reports a f2fs bug:
>
> generic/363 42s ... [failed, exit status 1]- output mismatch (see /share/=
git/fstests/results//generic/363.out.bad)
> --- tests/generic/363.out 2025-01-12 21:57:40.271440542 +0800
> +++ /share/git/fstests/results//generic/363.out.bad 2025-05-19 19:55:=
58.000000000 +0800
> @@ -1,2 +1,78 @@
> QA output created by 363
> fsx -q -S 0 -e 1 -N 100000
> +READ BAD DATA: offset =3D 0xd6fb, size =3D 0xf044, fname =3D /mnt/f2=
fs/junk
> +OFFSET GOOD BAD RANGE
> +0x1540d 0x0000 0x2a25 0x0
> +operation# (mod 256) for the bad data may be 37
> +0x1540e 0x0000 0x2527 0x1
> ...
> (Run 'diff -u /share/git/fstests/tests/generic/363.out /share/git/fst=
ests/results//generic/363.out.bad' to see the entire diff)
> Ran: generic/363
> Failures: generic/363
> Failed 1 of 1 tests
>
> The root cause is user can update post-eof page via mmap [1], however, f2=
fs
> missed to zero post-eof page in below operations, so, once it expands i_s=
ize,
> then it will include dummy data locates previous post-eof page, so during
> below operations, we need to zero post-eof page.
>
> Operations which can include dummy data after previous i_size after expan=
ding
> i_size:
> - write
> - mapwrite [1]
> - truncate
> - fallocate
> * preallocate
> * zero_range
> * insert_range
> * collapse_range
> - clone_range (doesn=E2=80=99t support in f2fs)
> - copy_range (doesn=E2=80=99t support in f2fs)
>
> [1] https://man7.org/linux/man-pages/man2/mmap.2.html 'BUG section'
>
> Cc: stable@xxxxxxxxxx
> Signed-off-by: Chao Yu <chao@xxxxxxxxxx>

Reviewed-by: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>
Thanks!
> ---
> v3:
> - fix check condition in f2fs_zero_post_eof_page()
> - fix wrong parameter passed from f2fs_setattr() to
> - add a reference
> f2fs_zero_post_eof_page()
> fs/f2fs/file.c | 38 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
> index 6bd3de64f2a8..696131e655ed 100644
> --- a/fs/f2fs/file.c
> +++ b/fs/f2fs/file.c
> @@ -35,6 +35,17 @@
> #include <trace/events/f2fs.h>
> #include <uapi/linux/f2fs.h>
>
> +static void f2fs_zero_post_eof_page(struct inode *inode, loff_t new_size=
)
> +{
> + loff_t old_size =3D i_size_read(inode);
> +
> + if (old_size >=3D new_size)
> + return;
> +
> + /* zero or drop pages only in range of [old_size, new_size] */
> + truncate_pagecache(inode, old_size);
> +}
> +
> static vm_fault_t f2fs_filemap_fault(struct vm_fault *vmf)
> {
> struct inode *inode =3D file_inode(vmf->vma->vm_file);
> @@ -103,8 +114,13 @@ static vm_fault_t f2fs_vm_page_mkwrite(struct vm_fau=
lt *vmf)
>
> f2fs_bug_on(sbi, f2fs_has_inline_data(inode));
>
> + filemap_invalidate_lock(inode->i_mapping);
> + f2fs_zero_post_eof_page(inode, (folio->index + 1) << PAGE_SHIFT);
> + filemap_invalidate_unlock(inode->i_mapping);
> +
> file_update_time(vmf->vma->vm_file);
> filemap_invalidate_lock_shared(inode->i_mapping);
> +
> folio_lock(folio);
> if (unlikely(folio->mapping !=3D inode->i_mapping ||
> folio_pos(folio) > i_size_read(inode) ||
> @@ -1109,6 +1125,8 @@ int f2fs_setattr(struct mnt_idmap *idmap, struct de=
ntry *dentry,
> f2fs_down_write(&fi->i_gc_rwsem[WRITE]);
> filemap_invalidate_lock(inode->i_mapping);
>
> + if (attr->ia_size > old_size)
> + f2fs_zero_post_eof_page(inode, attr->ia_size);
> truncate_setsize(inode, attr->ia_size);
>
> if (attr->ia_size <=3D old_size)
> @@ -1227,6 +1245,10 @@ static int f2fs_punch_hole(struct inode *inode, lo=
ff_t offset, loff_t len)
> if (ret)
> return ret;
>
> + filemap_invalidate_lock(inode->i_mapping);
> + f2fs_zero_post_eof_page(inode, offset + len);
> + filemap_invalidate_unlock(inode->i_mapping);
> +
> pg_start =3D ((unsigned long long) offset) >> PAGE_SHIFT;
> pg_end =3D ((unsigned long long) offset + len) >> PAGE_SHIFT;
>
> @@ -1510,6 +1532,8 @@ static int f2fs_do_collapse(struct inode *inode, lo=
ff_t offset, loff_t len)
> f2fs_down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
> filemap_invalidate_lock(inode->i_mapping);
>
> + f2fs_zero_post_eof_page(inode, offset + len);
> +
> f2fs_lock_op(sbi);
> f2fs_drop_extent_tree(inode);
> truncate_pagecache(inode, offset);
> @@ -1631,6 +1655,10 @@ static int f2fs_zero_range(struct inode *inode, lo=
ff_t offset, loff_t len,
> if (ret)
> return ret;
>
> + filemap_invalidate_lock(mapping);
> + f2fs_zero_post_eof_page(inode, offset + len);
> + filemap_invalidate_unlock(mapping);
> +
> pg_start =3D ((unsigned long long) offset) >> PAGE_SHIFT;
> pg_end =3D ((unsigned long long) offset + len) >> PAGE_SHIFT;
>
> @@ -1762,6 +1790,8 @@ static int f2fs_insert_range(struct inode *inode, l=
off_t offset, loff_t len)
> /* avoid gc operation during block exchange */
> f2fs_down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
> filemap_invalidate_lock(mapping);
> +
> + f2fs_zero_post_eof_page(inode, offset + len);
> truncate_pagecache(inode, offset);
>
> while (!ret && idx > pg_start) {
> @@ -1819,6 +1849,10 @@ static int f2fs_expand_inode_data(struct inode *in=
ode, loff_t offset,
> if (err)
> return err;
>
> + filemap_invalidate_lock(inode->i_mapping);
> + f2fs_zero_post_eof_page(inode, offset + len);
> + filemap_invalidate_unlock(inode->i_mapping);
> +
> f2fs_balance_fs(sbi, true);
>
> pg_start =3D ((unsigned long long)offset) >> PAGE_SHIFT;
> @@ -4860,6 +4894,10 @@ static ssize_t f2fs_write_checks(struct kiocb *ioc=
b, struct iov_iter *from)
> err =3D file_modified(file);
> if (err)
> return err;
> +
> + filemap_invalidate_lock(inode->i_mapping);
> + f2fs_zero_post_eof_page(inode, iocb->ki_pos + iov_iter_count(from=
));
> + filemap_invalidate_unlock(inode->i_mapping);
> return count;
> }
>
> --
> 2.49.0
>
>
>
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel


Return-Path: <linux-kernel+bounces-674024-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 89C1241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:09:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8966A3A885A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:08:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E903C1F4C96;
Thu, 5 Jun 2025 04:08:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=inventec.com header.i=@inventec.com header.b="WULquvlk"
Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175])
(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 783E3136E
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:08:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096539; cv=none; b=jILzFotvbpsAWf/hJYnO8c+c5oSxjlQoOh33dxmiWv0hZR/C6KQ+3VXCb7xYFXm0dlOHj7YVrdW4ongBVP7JUD0fKJ3C4/2rlPC06IMYRj1izVAEZcOqUhCpvG19b1dL/vtJgtIeFu/QYpiT+C+T7m9N7aSGSUZILf+Vge1otO4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096539; c=relaxed/simple;
bh=S9Myu/EAwV+EabHUKboJwstByqgJNE42t4kceGhAaJA=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=qOf8c6kKY3jpGRP3dhHNADAAAY1Qx/nmu1ovuX4OpCVKEs0y1VMSaYK7sxWU3EQ/IQcHEtp4phi/+HxugvMtUGQc11Zc/XpupKJHhsIybE7xV78548+DtQYOdhvP2UF+XfFFCWckt43Tapc0RbddBgXahJqJi/bKRtMlgPOWCAo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=inventec.com; spf=pass smtp.mailfrom=inventec.com; dkim=pass (2048-bit key) header.d=inventec.com header.i=@inventec.com header.b=WULquvlk; arc=none smtp.client-ip=209.85.210.175
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=inventec.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=inventec.com
Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-72d3b48d2ffso554095b3a.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 21:08:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=inventec.com; s=google; t=1749096537; x=1749701337; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=3reX2SYNoxgNAAZUbIwRQ8AO5e4F9o+0m3Nm0EB8qO8=;
b=WULquvlkqAGjVR7Ze5cycx/D1ijtw5iyhqbXmH6oPfFbAkpV1g3TWH4UUHzygVdVJ6
V5+/QU19+nRlPB5uiKW5/1WzVe2pWh93/bejElLViof+S61A8xocXKh/3yoeAdtM4Jh0
4d2QVgHPJjVP4xJ2wKPJUIttptS2Ovm4w15g0B+D8qVc4fB28u3KEFI2vg0fC770IRpo
l6nnMW4F9DPHX2UcW63tm37lML0cOQET7KrCb6qgyrUC20Z3OBkFh7RJa8W4hUiUKebn
v/FrAZs8US0DWE6ZhC6RfSwX8YwA+bwmIKWOP7XyFQo5Q6LloVIILbor8i5Wjx7QtsEY
4aYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749096537; x=1749701337;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=3reX2SYNoxgNAAZUbIwRQ8AO5e4F9o+0m3Nm0EB8qO8=;
b=rjlIUvxkLDneFZszRs+QoOVTy5RT4zFdHRYSYJZUfLZPSN5t2S+0Ikc7bo6WTq9nT0
ncnNvK/l9Cm0giNgLSufp5JRfipmsPL0p9IQfdR+3M/XVmNabiYTGHKiWgY2V48Khfgu
ZyZG5XdRBUGEfpQJXXlQj7/XVSoBUyND7Un1Zt3duFUY2+xVdcrvWTQ/Mg1XNegDjuCD
c2db4tHHZN436ZKnHnNHrVPTYyE8E4USNruFFOFfgBOG+FYdiDEviUNZHbDp3qk5HgTW
mLy/PuoF2ZUSl7Vy3MjVQzgO1IpPTeLmCPyMHudyg+nklfeO0yY/DWsLz0nWGB26P2sQ
pqkA==
X-Forwarded-Encrypted: i=1; AJvYcCXJ+ixtPaOaaREaf4xmU2nDKdgUepYi1aGPb5R8vuf5VDl8FG8TqwXCqS/03CII/qenHYNc0/oZaqCuLtQ=@vger.kernel.org
X-Gm-Message-State: AOJu0Yzab6gVHRTUG0B/zm8YfTnZYn81OH73VWx7Y4hmXS0YrOICYnIp
KNICjCwYrZl++OcjzOJHzZtn0w+TkzViJGJe0mXnlfG86gAmKD1GV3C6TyLxTCBqyu1VVTX3GAk
tkg8A
X-Gm-Gg: ASbGncvTx/iPYd5ZLKVW6OCb47HHGLprYXRupEzZUBNyxvcpJdY32nffURL7bFwN+BP
26h1aTL2Bapuy5H8ahcDwEZlhkKHi+f2VPkco6qfIyrPmj7ULOjS1KLO1r/x1wF9kfcBxs2T2lJ
Ea6sAA5GVlxvpRRaJeQ6regLgdK3/ullTrX3ug7Cf9eooMXIMfup86xdC3mj934DjtjPzB88A0o
zcvnoGlAYpZV4Hd4fle81ekvgNs7vl9Mj3NN0uGrqZN53Hj08JeyaT3m7EP001rA3w+6YRh5Mpo
wAIv9HkL/QM+WbTrYdAciV9AD6rJW0lcGZiXOrvPJhtzBUhjSQ36AUTXckMEOV6paAzrlcHhtk3
Xcs2cZ0gPjXE3ow/Vk46tefgRy7iGdNwIzSAjVCLx
X-Google-Smtp-Source: AGHT+IE2dXMM5ab3l/XoJD8gyVgwjP3vN4WSpp7LcxfwoTcExqAg2Z8Xh83mw9HHU+8k37g4o8IuiA==
X-Received: by 2002:a05:6a21:60c1:b0:1f5:7ba7:69d8 with SMTP id adf61e73a8af0-21d22ab40bemr7387987637.15.1749096536708;
Wed, 04 Jun 2025 21:08:56 -0700 (PDT)
Received: from localhost.localdomain (60-248-18-139.hinet-ip.hinet.net. [60.248.18.139])
by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b2eceb029fbsm9480924a12.13.2025.06.04.21.08.54
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 21:08:56 -0700 (PDT)
From: Chiang Brian <chiang.brian@xxxxxxxxxxxx>
To: chiang.brian@xxxxxxxxxxxx
Cc: conor+dt@xxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
geert+renesas@xxxxxxxxx,
grant.peltier.jg@xxxxxxxxxxx,
jdelvare@xxxxxxxx,
krzk+dt@xxxxxxxxxx,
linux-hwmon@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-renesas-soc@xxxxxxxxxxxxxxx,
linux@xxxxxxxxxxxx,
robh@xxxxxxxxxx
Subject: [PATCH v5 0/2] Add support for RAA229621
Date: Thu, 5 Jun 2025 12:01:32 +0800
Message-Id: <20250605040134.4012199-1-chiang.brian@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The RAA229621 is a digital dual output multiphase (X+Y <= 8) PWM controller
designed to be compliant with AMD SVI3 specifications, targeting VDDCR_CPU
and VDDCR_SOC rails.

Add support for it to the isl68137 driver.

---
v4 -> v5:
- Include Acked-by tag in dt-bindings patch
- Wrap commit message body at 75 columns
- Remove the incorrect dependency description in hwmon patch
- Link to v4: https://lore.kernel.org/all/20250602050415.848112-1-chiang.brian@xxxxxxxxxxxx/

v3 -> v4:
- Add Changelog
- Remove unnecessary "From" tag
- Add the compatible of raa229621 into dt-bindings
- Link to v3: https://lore.kernel.org/all/20250303083537.3312250-1-chiang.brian@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/

v2 -> v3:
- Fix the corrupted patch by sending plain text email
- Link to v2: https://lore.kernel.org/all/CAJCfHmWJ9N1R8x6ikU02_RYq9ieq6yWY7CGdfvc4hRqHnX5szg@xxxxxxxxxxxxxx/

v1 -> v2:
- Modify subject and description to meet requirements
- Remove the override of isl68137_probe
- Add the of_match between raa229621 and raa_dmpvr2_2rail
- Link to v1: https://lore.kernel.org/all/CAJCfHmXcrr_si4HLLCrXskuZ4aYmqAh0SFXNSkeL78d2qX2Qcg@xxxxxxxxxxxxxx/

---
Chiang Brian (2):
dt-bindings: hwmon: (pmbus/isl68137) Add RAA229621 support
hwmon: (pmbus/isl68137) Add support for RAA229621

.../devicetree/bindings/hwmon/pmbus/isil,isl68137.yaml | 1 +
drivers/hwmon/pmbus/isl68137.c | 3 +++
2 files changed, 4 insertions(+)

--
2.25.1



Return-Path: <linux-kernel+bounces-674025-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 28F3741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:09:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 278E518950EB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:09:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D382B1FF7C8;
Thu, 5 Jun 2025 04:09:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=inventec.com header.i=@inventec.com header.b="MbUqVah+"
Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182])
(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 6562A1FC0EA
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:09:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.182
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096542; cv=none; b=CEGgSMjLGDSkBbhlbeqqslg3T6uzZXi74kI66ge7K/ojDIWLkI0YTbfV/fYq0D5FeT1GpFVzAQZ6KpuuuAJyPvIS8dRIlAiyy/PSo3T1Bd/AfGgB37OlGUGDBD2PdyYSIVUDu8/Lhn2wz3Ud7Ds3wyctfBttdqGwsjQYykD4X94=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096542; c=relaxed/simple;
bh=a9vspmwOZwaz+AyzjgcDWgvZX8fCbnDmm62t4KkqheY=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=Eld4YbE8R3O/vli8KmQ/omyObGbb87AY0Ez0nYpZBSGojVodmUiBiSolPKU1VvY8OxN/mjDSeQsyb13LlEPdk2I5mRT82elI+EkP9wwDgMrZMYjHPWy5P2jCySuj5Vya94JfYdU7xWvf8RJF0qevKLptYQW5sl/AzbDvDOYP6RA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=inventec.com; spf=pass smtp.mailfrom=inventec.com; dkim=pass (2048-bit key) header.d=inventec.com header.i=@inventec.com header.b=MbUqVah+; arc=none smtp.client-ip=209.85.210.182
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=inventec.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=inventec.com
Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-739b3fe7ce8so517527b3a.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 21:09:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=inventec.com; s=google; t=1749096539; x=1749701339; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=zjfsNmetPpQZcvk0DXM+9sLzYuAqIccObvN/JpO0d60=;
b=MbUqVah+lK7MXo5D9b75EAAiO3RxL25XvgKnX3d2tfAGIJWU9X2cgZ6cOnYP+btdeL
sxX1RWPDTiRC681CL/0yGaH6mernQu9ZansHs5yxLVfoKVHb2bySvLiZzN23Lmma8OrA
B3LaElePpWuXrPxc7gV6jxXsfA/H1dYrqO3YfBD/KGBbeVURtNkWQzg22zzh0iPDiG53
o74ARzsneQFNAYCyRpyOBaIOP2T6FfbBZ30p4MwKaGJA6fpoaTqz3b7FIAFPE9vdDiy7
10rN3EUD5rrLZKZfwlsD6Z66sltmLKSWwsFcDl54dTfBfKSVc99p6EUOs+67awo27PXV
hAXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749096539; x=1749701339;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=zjfsNmetPpQZcvk0DXM+9sLzYuAqIccObvN/JpO0d60=;
b=BcKamFUj0HVx2QjdUu39mXkZjVZNFLXMAHHBJ7MD+YdTYV5aZEPwZYYKg9CelraW5V
jHvjttQiNL06uUbIaDBiqngi92cA+p/kkDHiN/wie8OVXHACuA0has2iWQvDQNQDi1HX
9KrMlBAxfidNMFA6R7FiTEYaavY8f8oblm7f1UjaehYPlWvE/gPCLWSN0exJQZOd+rf4
Qde11QYeB1LuAMWn6Asjx2tBBEPPVa1P9NbDQK1OBQ/dK6qlnzQNA2evTcCxETiMDyl6
2zctLx45825+cy03jdTEElcHJva86JELf1IhvRwu7lC5fdxqZ+2PURlH6kk7ZDjdfwu5
ypyA==
X-Forwarded-Encrypted: i=1; AJvYcCXSk86EOkFXP1SLIYjkl8ClhTCIRWwExFKv4jbZlA+qk9t2Vp8kBeF9jrOTPqLOYd2gM684e0LAxZI7mPA=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy6sQEqr2+jcN/sZ6Yt4hdnAT5U7Ft6JIDhGSS4qGJhXQqnrjFN
Hhb8l1VoZ0Ic7vhXF1TTybpQsfZx6CzFcV76KHSM4bom1K1t8yc+4zyEDDNUDYLRwA0=
X-Gm-Gg: ASbGncuCfiiUvgaSrdNUtdk/KGUTjX3SDqCTWidFIOIYiCXjREIqCg5XEyRLaPzYERo
Hl2p3g1X+BZKtQjcVO3N9C28r2YQJfw7ocsbz9iZHUB+kwwFH5AK2/zZd7fcRmXVkB3iTpqwd+l
Iki+g5tUr9iWtjE60aC+Dc1eH8xfGp3OogDdG/BOKsWZHZSb7KRC1bxuTGCqTWTS/0hrrGQ4eTe
CO9qHg86o/9ozQuxo3XQbGorGxhod5ktF5ye41cfv6+bUOd4PSKRLsDuRZLfzfhGqT5BHxCsTHT
BGyparidL01+ALRFmn+AJLYuTelYbuvq7jB9BDT9YsZQF8YAeo/Ms8lnLrMZ9muAL2FGrGMF+pB
zyTZC42o/8sVB2FO3VxaUx/Amkp9zuA==
X-Google-Smtp-Source: AGHT+IEirjuNisMSQ5l3eLZXrOk0WC7VdmxBT7nUZIwftQy8n8ayiAsp8QGY4W1u4FXoCgiVkkh9VQ==
X-Received: by 2002:a05:6a20:12c6:b0:1f5:7ea8:a791 with SMTP id adf61e73a8af0-21d22c0e03emr7290700637.10.1749096539440;
Wed, 04 Jun 2025 21:08:59 -0700 (PDT)
Received: from localhost.localdomain (60-248-18-139.hinet-ip.hinet.net. [60.248.18.139])
by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b2eceb029fbsm9480924a12.13.2025.06.04.21.08.56
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 21:08:58 -0700 (PDT)
From: Chiang Brian <chiang.brian@xxxxxxxxxxxx>
To: chiang.brian@xxxxxxxxxxxx
Cc: conor+dt@xxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
geert+renesas@xxxxxxxxx,
grant.peltier.jg@xxxxxxxxxxx,
jdelvare@xxxxxxxx,
krzk+dt@xxxxxxxxxx,
linux-hwmon@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-renesas-soc@xxxxxxxxxxxxxxx,
linux@xxxxxxxxxxxx,
robh@xxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Subject: [PATCH v5 1/2] dt-bindings: hwmon: (pmbus/isl68137) Add RAA229621 support
Date: Thu, 5 Jun 2025 12:01:33 +0800
Message-Id: <20250605040134.4012199-2-chiang.brian@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250605040134.4012199-1-chiang.brian@xxxxxxxxxxxx>
References: <20250605040134.4012199-1-chiang.brian@xxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Add device type support for raa229621

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Signed-off-by: Chiang Brian <chiang.brian@xxxxxxxxxxxx>
---
v4 -> v5:
- No code changed, included Acked-by tag
- Link to v4: https://lore.kernel.org/all/20250602050415.848112-2-chiang.brian@xxxxxxxxxxxx/

v1 -> v4:
- Correct the subject and commit message
- Patch kept in sync with series version
- Link to v1: https://lore.kernel.org/all/20250314032055.3125534-1-chiang.brian@xxxxxxxxxxxx/

Documentation/devicetree/bindings/hwmon/pmbus/isil,isl68137.yaml | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/hwmon/pmbus/isil,isl68137.yaml b/Documentation/devicetree/bindings/hwmon/pmbus/isil,isl68137.yaml
index bac5f8e352aa..3dc7f15484d2 100644
--- a/Documentation/devicetree/bindings/hwmon/pmbus/isil,isl68137.yaml
+++ b/Documentation/devicetree/bindings/hwmon/pmbus/isil,isl68137.yaml
@@ -56,6 +56,7 @@ properties:
- renesas,raa228228
- renesas,raa229001
- renesas,raa229004
+ - renesas,raa229621

reg:
maxItems: 1
--
2.25.1



Return-Path: <linux-kernel+bounces-674026-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 70BD441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:09:37 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id B51F51893A07
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:09:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 18F061F3B8A;
Thu, 5 Jun 2025 04:09:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=inventec.com header.i=@inventec.com header.b="ZL3s7Jij"
Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179])
(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 AF38C1FF1C9
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:09:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096545; cv=none; b=nwK31dnO1mDsfBkCMfM2LP+gn4hjGT7vNM6+iBgF+U7WNjWu6gVwsQQwnHzTFoKAsbrpq1x/iWrRJ/S5XMyF1o2UXfCFDi4etiKqUlnAgPLgEyRSVNLEgaKaiTZjYakyaUepWcq5+F09TeKpYl1mIjUMpynRQQ5stvfSSkjaaIo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096545; c=relaxed/simple;
bh=Du3nF+4TgAoVorAuFPh7JS2xEyp8iEm1n0JyZQ91gOw=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=sIjBZjLdBb5ELOzSafugMNZNoHs9s+3V23GH4NL0Wzol02dMb0bM2Ck6iw7x8TpOSPHyMnadW0YnDjqMG356ejapshylGa1ePuYzNfLZ6i6EQIO7Sld8pGoRL32Uihepg6TpsyB/AEO1hGxHzE7wELuUy7UOkymUHyevEFhQDHc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=inventec.com; spf=pass smtp.mailfrom=inventec.com; dkim=pass (2048-bit key) header.d=inventec.com header.i=@inventec.com header.b=ZL3s7Jij; arc=none smtp.client-ip=209.85.210.179
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=inventec.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=inventec.com
Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-742c2ed0fe1so607318b3a.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 21:09:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=inventec.com; s=google; t=1749096542; x=1749701342; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=PX//QoBGHGr5lY3j3Fpx+uZHdmH7HbmvrluHo6+r6xo=;
b=ZL3s7JijpBHSJjY37LY10NFS3IkO55lREIVNBcpWzhi1E408kmDTHs+bc1wAizsL+m
5CBbGJUlLM4KiayAZprriu4IeuYuCtOhro/xIL/sjs6ma0PpGMei/1jcZM9JcJ6teLtg
LOLVFEXHhDxOlBUlTp3UN9zojC9ISr9zeMmYE0lUf6z1wf1pdyBO1c0dqo/N10ZStFN3
mI1IyWLZEygmacI5ZNeJgk7fBmuR3fECHYACYB6ZWPYHyoKODtBkVH1ywv0GSuvnk6KW
FGLB5CEl/Vkl55iARr9DYKbu2PqexsQT8FGVRbwuZYj7bdFOr3YCUZ2yqA9yzg7q05Du
q/Fw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749096542; x=1749701342;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=PX//QoBGHGr5lY3j3Fpx+uZHdmH7HbmvrluHo6+r6xo=;
b=rI9w/9ozHg6bR8etUiReHdIYHpaxYuEVSSwnh5AzdONvMalgiY/iLCWRcke4r7L+j7
QxIGAcMbp7UH+S+nbGKdTajRh2X70dhNQAT87TMnod+JO7KKoa+dKPI1TF8ohiOeajLN
9j5WaCpKWxHGhye7NrTwgZkQTn30/5/P415EzT6eWKtyczRxUplHnuD3OrRYSyj4dTlB
yumYyx99j54Y0mw8FZmxYPnyszubCU2ycW6Aa72L7O5ewZd2GC73t69lVmZ5MoAmdtLr
Hfb2JO6ZLUp99SlB6M3esTVcyyeY6NeOMxVGcG/FhGfWDVqljSgTpJx+0HLAoovVCzDO
dHdQ==
X-Forwarded-Encrypted: i=1; AJvYcCWCMx8WiU1bNWcDTif71Ry3pxcby65fuQN7mTRh1MP8tqxq1feXl3D09cuAb3bggk2ZB70KS0QsYcqx35s=@vger.kernel.org
X-Gm-Message-State: AOJu0YxWyha1lsrEWJXsvWdu40df7mydw4CCOSoGCTfJaI9P/o0h+suS
Ai7v+GXSoFm8nmTJRll13uK2WHAFKsQ+KA3TKbHX5YTvWjEcWaLPdDmToNJacJ4eOLQ=
X-Gm-Gg: ASbGncuG8gVESjcNIF9YlCnljZk64NB00Zy98nSpiglGU5HntgiFB939KAx3/phgKXg
3gUm3wW/CEQUbR4PHLs1DT5xVVyX+4QU4dwNMa/1xFw1VaJcERp0VQZPzI/z6FhR8XpZMrmwz4Z
tH4LdCyBUGQgyhag8kQQW4ljH7gk4gwZyzMFY/ZKT6N55uSx8T3HNzLWAyTHH+ne8PcPHoX3dGM
Y//etePlrbvtYKJnSEL6li7tDv2u53CIgBk5z9aI/9SuleinbWptqMWi3Eweaa9BiAxd4EgwkiL
AfxkvUFtF1GiE1v8xP9tINJwU1/q0n1SexayZrp9PU1UJ9QDEhLWa1glzUl+uzsA/6SkqEQlISo
HiE9m8KykJpBrttO0N4XYL9UVCBkrSw==
X-Google-Smtp-Source: AGHT+IGFn4s+BWHMZpFajqhE9M4XL5w1WKIteuwhvPtoIG8N5fx8W5N53z/3lQF0q6Q5jNGNoeQXng==
X-Received: by 2002:a05:6a20:4325:b0:1f5:8622:5ed5 with SMTP id adf61e73a8af0-21d22b46de9mr8166458637.3.1749096542055;
Wed, 04 Jun 2025 21:09:02 -0700 (PDT)
Received: from localhost.localdomain (60-248-18-139.hinet-ip.hinet.net. [60.248.18.139])
by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b2eceb029fbsm9480924a12.13.2025.06.04.21.08.59
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 21:09:01 -0700 (PDT)
From: Chiang Brian <chiang.brian@xxxxxxxxxxxx>
To: chiang.brian@xxxxxxxxxxxx
Cc: conor+dt@xxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
geert+renesas@xxxxxxxxx,
grant.peltier.jg@xxxxxxxxxxx,
jdelvare@xxxxxxxx,
krzk+dt@xxxxxxxxxx,
linux-hwmon@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-renesas-soc@xxxxxxxxxxxxxxx,
linux@xxxxxxxxxxxx,
robh@xxxxxxxxxx
Subject: [PATCH v5 2/2] hwmon: (pmbus/isl68137) Add support for RAA229621
Date: Thu, 5 Jun 2025 12:01:34 +0800
Message-Id: <20250605040134.4012199-3-chiang.brian@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20250605040134.4012199-1-chiang.brian@xxxxxxxxxxxx>
References: <20250605040134.4012199-1-chiang.brian@xxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The RAA229621 is a digital dual output multiphase (X+Y <= 8) PWM controller
designed to be compliant with AMD SVI3 specifications, targeting VDDCR_CPU
and VDDCR_SOC rails.

Add support for it to the isl68137 driver.

Signed-off-by: Chiang Brian <chiang.brian@xxxxxxxxxxxx>
---
v4 -> v5:
- Wrap commit message body at 75 columns
- Remove the incorrect description about dependency of dt-bindings
- Link to v4: https://lore.kernel.org/all/20250602050415.848112-3-chiang.brian@xxxxxxxxxxxx/

v3 -> v4:
- Add Changelog
- Remove unnecessary "From" tag
- Link to v3: https://lore.kernel.org/all/20250303083537.3312250-1-chiang.brian@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/

v2 -> v3:
- Fix the corrupted patch by sending plain text email
- Link to v2: https://lore.kernel.org/all/CAJCfHmWJ9N1R8x6ikU02_RYq9ieq6yWY7CGdfvc4hRqHnX5szg@xxxxxxxxxxxxxx/

v1 -> v2:
- Modify subject and description to meet requirements
- Remove the override of isl68137_probe
- Add the of_match between raa229621 and raa_dmpvr2_2rail
- Link to v1: https://lore.kernel.org/all/CAJCfHmXm-fPD70uN-mNJdJkzf9B526y8p=Jh5E+W5cwJ0NVhEQ@xxxxxxxxxxxxxx/

drivers/hwmon/pmbus/isl68137.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/hwmon/pmbus/isl68137.c b/drivers/hwmon/pmbus/isl68137.c
index 2af921039309..c52c55d2e7f4 100644
--- a/drivers/hwmon/pmbus/isl68137.c
+++ b/drivers/hwmon/pmbus/isl68137.c
@@ -63,6 +63,7 @@ enum chips {
raa228228,
raa229001,
raa229004,
+ raa229621,
};

enum variants {
@@ -465,6 +466,7 @@ static const struct i2c_device_id raa_dmpvr_id[] = {
{"raa228228", raa_dmpvr2_2rail_nontc},
{"raa229001", raa_dmpvr2_2rail},
{"raa229004", raa_dmpvr2_2rail},
+ {"raa229621", raa_dmpvr2_2rail},
{}
};

@@ -512,6 +514,7 @@ static const struct of_device_id isl68137_of_match[] = {
{ .compatible = "renesas,raa228228", .data = (void *)raa_dmpvr2_2rail_nontc },
{ .compatible = "renesas,raa229001", .data = (void *)raa_dmpvr2_2rail },
{ .compatible = "renesas,raa229004", .data = (void *)raa_dmpvr2_2rail },
+ { .compatible = "renesas,raa229621", .data = (void *)raa_dmpvr2_2rail },
{ },
};

--
2.25.1



Return-Path: <linux-kernel+bounces-674027-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4F18C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:11:37 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 6159D174DF7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:11:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4380A54723;
Thu, 5 Jun 2025 04:11:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="E0qno6MH"
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2089.outbound.protection.outlook.com [40.107.96.89])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 68EFC136E;
Thu, 5 Jun 2025 04:11:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.96.89
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096688; cv=fail; b=lY/sr5rrf/QUCIpFPleUF1yRlcvUxmyZgsAc8x0pkYQxH0KWwN/aw6Wpo8oRKpZxFrRtguQJLKdIHm2Rg2S9FipiCNPwukWmTVxqEqyxldnsNeQb4jzp7rYJRXkRxLbTBO0VTbCtKDz3ph0u6QfzAJ+8lOI+WQKj19wzRntbvc4=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096688; c=relaxed/simple;
bh=8pdUMsBCWnnyjs5MCXuwnM9GSzmUaG5aecYBoeH0PP0=;
h=Date:From:To:CC:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=tQLYqDJ9FywYqhB/WNkprjigiW35IvQV3gOAl0mwvtajPRRyIDvwf6X7iKjFS35G8WnLJjK1SnYBjbHRV1LMRSGxPNi6J3ARhcum2hOTtaCA99BlPM07W5w/S85di1ar5AEqn/kJQU5VRJqSj50xdnYbdRLSKskiPwpbFFc5muI=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=E0qno6MH; arc=fail smtp.client-ip=40.107.96.89
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=exGpfh44XYQ5cBey9w9dqEK0EWq0MFwtdq5engeYMgwBBXLc0rVRByLX8IkUtkpCB57WGaKhQU4/UfHZJQyFr8pbYPS06NqiuqpSVRwQ+Aj2GIlmu5dJ+pxuVi3/dN197NixTy0cR93q6Ky4PvuQ6j91ULlhbM0xKGVVCCGX14VmjWgY+ZyjHuyIpWqts+90hK/t4ut53H/YdJ6iWSpT9zwvyEshyu5XZ8NL/9mC0+m2khASpqZg+Dq1f9J+v1TCIuhQMIMdC1Ny1mg3T5uic20HdPf6N5I8iBSMl6H2fzpKYjtHx6S623U2ygaBcuuSf1Hljf/z3ceuaYbRom/JmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=jgKKsFVdF58UbaFrttGZ6a/FWA/Vjp3HBVmzbQEExTI=;
b=qd9G76iNfsqnYi+h2lnH1svpbA7yQFOutMb35FhkVpBqTct3OL+BlIiGd7p3nMNv4JJmkZSBDnWOOB2u9rjyxv2GSdtEwmBVQrfaEagV4RQeJEs8y466Mz+eysdOoif/Ue7G1Bp4VGDVMk3wIAoCVeHynmsDoAqRdu8B+jYR0ECXN0xw00tANYU6ax40K9ZMFGXYckm+7NKdbosczPnsP0KUJfp0taURDKihCBGek5imTTgmsmJQfhYjHuGqevECKqHrFpgPXlbq33p/HnPE6bCGx1Qok8Ynqiv33v7F1Cv+mjVa7Q9cVBVrDtrVd1u0XkwyjNH7OxWQuEn1LFn3UA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
216.228.117.161) smtp.rcpttodomain=amd.com smtp.mailfrom=nvidia.com;
dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;
dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=jgKKsFVdF58UbaFrttGZ6a/FWA/Vjp3HBVmzbQEExTI=;
b=E0qno6MHbvE0jUQpwdX+QomEIWSj0XeVkQxDAzvRLvTa//HwYBFulzKKpzpIlWTEXZsD0MGSlc33ALc9TuEQvW63IHh0eIDaj+92i3IatloD0P/NhN9zjfi0VIm1qsUytYNIsnUXer62n1qmS7Yhmt7/+MzWiCZq7yIqnexm3XDUaGvfopfsxzNIeQq1Hm1Ri5GSvUUZIu8w5B20s9EJ3HX+40IWJopF8u2BYwGrMBn5bcZ1YNV6qjEVXAswhK2xmglgMBuJJEMGmnhMJAqsMHT3Kb95KA2zv9OxmoQX6vco4TKA5SYhoFKiKTbNJqZE2ne223I1Mq3kwKZYMEhXRw==
Received: from MW4PR03CA0021.namprd03.prod.outlook.com (2603:10b6:303:8f::26)
by DS7PR12MB6166.namprd12.prod.outlook.com (2603:10b6:8:99::13) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.31; Thu, 5 Jun
2025 04:11:22 +0000
Received: from MWH0EPF000971E3.namprd02.prod.outlook.com
(2603:10b6:303:8f:cafe::cf) by MW4PR03CA0021.outlook.office365.com
(2603:10b6:303:8f::26) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8769.18 via Frontend Transport; Thu,
5 Jun 2025 04:11:22 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161)
smtp.mailfrom=nvidia.com; dkim=none (message not signed)
header.d=none;dmarc=pass action=none header.from=nvidia.com;
Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates
216.228.117.161 as permitted sender) receiver=protection.outlook.com;
client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C
Received: from mail.nvidia.com (216.228.117.161) by
MWH0EPF000971E3.mail.protection.outlook.com (10.167.243.70) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8792.29 via Frontend Transport; Thu, 5 Jun 2025 04:11:22 +0000
Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com
(10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Wed, 4 Jun 2025
21:11:10 -0700
Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com
(10.129.68.8) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Wed, 4 Jun
2025 21:11:10 -0700
Received: from Asurada-Nvidia (10.127.8.14) by mail.nvidia.com (10.129.68.9)
with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14 via Frontend
Transport; Wed, 4 Jun 2025 21:11:08 -0700
Date: Wed, 4 Jun 2025 21:11:07 -0700
From: Nicolin Chen <nicolinc@xxxxxxxxxx>
To: Jason Gunthorpe <jgg@xxxxxxxxxx>
CC: <kevin.tian@xxxxxxxxx>, <corbet@xxxxxxx>, <will@xxxxxxxxxx>,
<bagasdotme@xxxxxxxxx>, <robin.murphy@xxxxxxx>, <joro@xxxxxxxxxx>,
<thierry.reding@xxxxxxxxx>, <vdumpa@xxxxxxxxxx>, <jonathanh@xxxxxxxxxx>,
<shuah@xxxxxxxxxx>, <jsnitsel@xxxxxxxxxx>, <nathan@xxxxxxxxxx>,
<peterz@xxxxxxxxxxxxx>, <yi.l.liu@xxxxxxxxx>, <mshavit@xxxxxxxxxx>,
<praan@xxxxxxxxxx>, <zhangzekun11@xxxxxxxxxx>, <iommu@xxxxxxxxxxxxxxx>,
<linux-doc@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-tegra@xxxxxxxxxxxxxxx>,
<linux-kselftest@xxxxxxxxxxxxxxx>, <patches@xxxxxxxxxxxxxxx>,
<mochs@xxxxxxxxxx>, <alok.a.tiwari@xxxxxxxxxx>, <vasant.hegde@xxxxxxx>,
<dwmw2@xxxxxxxxxxxxx>, <baolu.lu@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH v5 10/29] iommufd: Abstract iopt_pin_pages and
iopt_unpin_pages helpers
Message-ID: <aEEY28ZXH+NqiE+T@Asurada-Nvidia>
References: <cover.1747537752.git.nicolinc@xxxxxxxxxx>
<49f7143c1b513049fd8158278a11d9f8b6c837d3.1747537752.git.nicolinc@xxxxxxxxxx>
<20250528171754.GY61950@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20250528171754.GY61950@xxxxxxxxxx>
X-NV-OnPremToCloud: AnonymousSubmission
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000971E3:EE_|DS7PR12MB6166:EE_
X-MS-Office365-Filtering-Correlation-Id: 7fd7a941-2d26-4da0-c002-08dda3e707f5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014|7416014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?irwrUwdBnW4V5O2E12GDeBHxc5T0JHYiYBZPwnSO9S7xWc1jaSL0zy5hSjVK?=
=?us-ascii?Q?ywARBocnaTF7QX8VMEtZG7rSmDjFoWY1QymUmRRa4RIMkCJPFRCO1YEF2idm?=
=?us-ascii?Q?2HLxJoi8j9u9wtBKq4/ndembkoZ0ZZcyu0sWGvOgyNDc6tlr32PHuH0ie7Dh?=
=?us-ascii?Q?wQjvzxRJMwc4IT9b3hV7aYd7jJpnHeGvxI/mAQCWWGhN5J9n9riitfQUOMf7?=
=?us-ascii?Q?zORTQzoNtXBh335xQ32erYf+Lw79WzcJCIP7Br1EOMI+2ON9e/nzFLnUW6rN?=
=?us-ascii?Q?MfwnXX9hIafGdLfPqSCxX3jsNOzwoL6Gkjw0vUdgxAhbkIBBq6IcKnqwal6Q?=
=?us-ascii?Q?MNB2OWCxBUXG39Ol7SgNv8MV1rINoubQ5ob4X/mq8cERqN1xE3xDnIDs4wgn?=
=?us-ascii?Q?M9AQ4KSfMi7mr3zcvTx731o0SZNmvYSLeyIflhrfjjRsD0+lifJNNVIcEALp?=
=?us-ascii?Q?o+ofljEfJ8fjdoylaybUIEOFLxFGSO2I/52Bqqq1gGq0PxypN9NDmUfeehv7?=
=?us-ascii?Q?4wiyTsSsre3SOhnvrA9ue3yGjBefKpsTgSloX4gLSiKkGJEFvBFfXGOII2hv?=
=?us-ascii?Q?GFRpzOPqa9RW95TmvIuhzKuxWZLUewJLiNHJzXB0MQo9uBU5hlD3c7d3EHzv?=
=?us-ascii?Q?6XvgtLF2Qu6eS1KRCGQUkMgKnOzH7/iakR88+0UtyE3wXEhViFyJm1kwS/Dc?=
=?us-ascii?Q?v/26qsmQOtmKL3c2cG+P3Ru9uJeGSq0z3BG+I3Jdvu+zR5BJpQYCS8Qbs/n6?=
=?us-ascii?Q?pMKFN15lnX/qBaSHv0nsgzYr6+K+LO7x5nkA8iiIPNbYGyxRxKLJbjhU3WiG?=
=?us-ascii?Q?jpG/9WLeqBpt6D94BsIlTVi+VdhxdQarKyOnjNZZRnPhAcXcieAVvSMHJTmu?=
=?us-ascii?Q?iVGh87IQTSe0VTlQsc7KwpM8TZPTb6QgPeITzJ1XLYf3QCF2WrfVcqFxHnMT?=
=?us-ascii?Q?DnAtTopWuQj0oSFQvRP6VrixNbY7MI2WwAmQxc+eveBFoyzXT3lI7P/dZs+9?=
=?us-ascii?Q?mRsOeb2Gdga8H3RM8cd5On6OvRQOK4S0KiXsuvZJNXBbTn6KL0Qmo1DkI6Sw?=
=?us-ascii?Q?vi5l3rySQk/MclkRSo/xxumF1dEkXpLmhBvdA7Ikqp6CtDa87wKyZl2QoFj8?=
=?us-ascii?Q?lGewcnp5TOBSYtO9Y3Q2pIiRe1DxvqsPPv1EKwSneFlju3aaiwAwy4TgAis8?=
=?us-ascii?Q?YGeiNPrGxVsaVtIq/3EDkw/JWxiB9peAYF10MkrFDMWoQh7epZux4Nkl+QEd?=
=?us-ascii?Q?tNJNzrTJp5eIxEYv/ogokHTFS60r0y89KUugwpq+rMj1xyAY6+8FfKs4cSRr?=
=?us-ascii?Q?ZgMrNJ7sx1P34nyC6GK4353Helake0YZFh8a8v5yo+VStNroew3KkilDqt/e?=
=?us-ascii?Q?Rn8IHESusZz7hh6mjVWbFUjqx6bKyaY3hpzVA/FP35bLt7Hdi1f0cblvY8Kn?=
=?us-ascii?Q?tWtejYFduUrUid2QNSkPEHZg8t2Ou/TUpBbMBhdBX49t4ftLN0eTnuXFYXZJ?=
=?us-ascii?Q?MGm61owc91+PJ135QKta6/fcL6QRdmA9ySUF?=
X-Forefront-Antispam-Report:
CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 04:11:22.1828
(UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fd7a941-2d26-4da0-c002-08dda3e707f5
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com]
X-MS-Exchange-CrossTenant-AuthSource:
MWH0EPF000971E3.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6166
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, May 28, 2025 at 02:17:54PM -0300, Jason Gunthorpe wrote:
> On Sat, May 17, 2025 at 08:21:27PM -0700, Nicolin Chen wrote:
> > The new HW QUEUE object will be added for HW to access the guest queue for
> > HW-accelerated virtualization feature. Some of HW QUEUEs are designed in a
> > way of accessing the guest queue via a host physical address without doing
> > a translation using the nesting parent IO page table, while others can use
> > the guest physical address. For the former case, kernel working with a VMM
> > needs to pin the physical pages backing the guest memory to lock them when
> > HW QUEUE is accessing, and to ensure those physical pages to be contiguous
> > in the physical address space.
> >
> > This is very like the existing iommufd_access_pin_pages() that outputs the
> > pinned page list for the caller to test its contiguity.
> >
> > Move those code from iommufd_access_pin/unpin_pages() and related function
> > for a pair of iopt helpers that can be shared with the HW QUEUE allocator.
> >
> > Rename check_area_prot() to align with the existing iopt_area helpers, and
> > inline it to the header since iommufd_access_rw() still uses it.
> >
> > Reviewed-by: Pranjal Shrivastava <praan@xxxxxxxxxx>
> > Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>
> > Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx>
> > Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx>
> > ---
> > drivers/iommu/iommufd/io_pagetable.h | 8 ++
> > drivers/iommu/iommufd/iommufd_private.h | 6 ++
> > drivers/iommu/iommufd/device.c | 119 ++----------------------
> > drivers/iommu/iommufd/io_pagetable.c | 97 +++++++++++++++++++
> > 4 files changed, 119 insertions(+), 111 deletions(-)
>
> And if you do what was suggested do we need this patch at all? Just
> use the normal access sequence:
>
> iommufd_access_create(ops=NULL)
> iommufd_access_attach(viommu->hwpt->ioas)
> iommufd_access_pin_pages()
>
> And store a viommu->access pointer to undo it all.

I found the entire ictx would be locked by iommufd_access_create(),
then the release fop couldn't even get invoked to destroy objects.

I added a new flag to address this:
-----------------------------------------------------------------
diff --git a/drivers/iommu/iommufd/device.c b/drivers/iommu/iommufd/device.c
index f25e272ae378c..a3e0ace583a66 100644
--- a/drivers/iommu/iommufd/device.c
+++ b/drivers/iommu/iommufd/device.c
@@ -1085,7 +1085,8 @@ void iommufd_access_destroy_object(struct iommufd_object *obj)
if (access->ioas)
WARN_ON(iommufd_access_change_ioas(access, NULL));
mutex_unlock(&access->ioas_lock);
- iommufd_ctx_put(access->ictx);
+ if (!access->ops->internal_use)
+ iommufd_ctx_put(access->ictx);
}

/**
@@ -1126,7 +1127,8 @@ iommufd_access_create(struct iommufd_ctx *ictx,
/* The calling driver is a user until iommufd_access_destroy() */
refcount_inc(&access->obj.users);
access->ictx = ictx;
- iommufd_ctx_get(ictx);
+ if (!ops->internal_use)
+ iommufd_ctx_get(ictx);
iommufd_object_finalize(ictx, &access->obj);
*id = access->obj.id;
mutex_init(&access->ioas_lock);
-----------------------------------------------------------------

Btw, I think we can have an ops but only set unmap to NULL:
static const struct iommufd_access_ops hw_queue_access_ops = {
.needs_pin_pages = 1,
+ .internal_use = 1,
/* NULL unmap to reject IOMMUFD_CMD_IOAS_UNMAP */
};

Having two flags makes the code slightly more readable. After all,
HW queue does need to pin pages.

Thanks
Nicolin


Return-Path: <linux-kernel+bounces-674028-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3859341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:16:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 69F2D18954D9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:16:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0D3BD13D51E;
Thu, 5 Jun 2025 04:16:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="tA3FB8Qg"
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2086.outbound.protection.outlook.com [40.107.220.86])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AA23E1C27;
Thu, 5 Jun 2025 04:16:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.86
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096978; cv=fail; b=dIzEMpWKl4e0ORGd4zjk2G8pP0MU+XtcfR0h6VL+Wb8HjQgudKagFHR7UwnhEo0M34Lw8hguG7842xoli+lpyTxioLhkkx94Nneker3/KbO6swVbFaZKxQMbaVCis55359e+Ql0dm1NboOMG5ibOARysTinB0TjCGKtLC1nChXw=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096978; c=relaxed/simple;
bh=47+a1hE/MqkymBjaOpxUMF/tomZL2vpiPod5iqTCWcU=;
h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=ucfwW/B2LRUipejuUEhHs/pFS+9Kyk8KLZTuG3JP9luJv3pGG8YBJv7Rtkn5ySW2bkT+yBV4NuMvE97rod7qWwit8RLgyoucQCib6IrvYO3Ghkof+GQrjuXfuyVY3XMSee/zmlXSRDCGI8ZMplRGmYzn48ntOzdm4LI6Y821fM8=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=tA3FB8Qg; arc=fail smtp.client-ip=40.107.220.86
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=PO0FUd6W7EMOT/oZonf/Lm5WaC8xJTjXcCPLsTe15BKb/HZ7SJfQXDGN8PRuwdnRjRH8ej7iwEXZH09oH8cnqykwcx27ATxUsi1cj5ekqWVfFakmUqtq5b+u21BZh6hJgMejzOeM8CCnv0vTJLQEof2Nnj8Rn37ur72duyHhiHpb7kq5VZfL/LKVKaRnUYpkrZHvKiNaonEgkZSm/dq/WruDvTo8/ejBbCxY982coyTwSRoHSAEdXPkpv7mYqC64HsA6qO2sYbdHkZ3r1gcVCbbxm/Bt7ru/zyqw8k3dzxvRUVBN2OFktDL9bPaEaoWauoJpa3CCAZc/+GAR3b6K/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=aVOdLN/GlQDhYHJITNNqciVLcqkHjM8lLQdL1EbpJ+0=;
b=Sthu1CNziOzvdn92n/jkSr9lYtoojazPUmFP6bmTfX1teGc6QK0q9ncK8Ur85shtaYiHtcGB0prlq6neY2ivANg0Xu4gBE+WeVdPJhZP9uQhXo7PTuEfIBmcnB3E8Oh5XgjQyVnDPUQjmlLuh98hNhQMcvTgJnj7ZLrDC7wV+iXKWYeTN1oHMSbiea+VpDRDZgh9myDieDJJhgp+Qor9JJoVmiULW7C0YZlCwrMfpNqLctjL3dc1hUpSl305terYOXOborvyDyKVMAEHW0QEwrKo2PQpFhHvWYTJnL+Pwah997Bm2MJ19CRDsGbUJk5SworJSun2S1J/bAqcuY9fxg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
216.228.118.232) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com;
dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;
dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=aVOdLN/GlQDhYHJITNNqciVLcqkHjM8lLQdL1EbpJ+0=;
b=tA3FB8QgzsepADoA0nuCoEoZq5lgbOBunQw/vpyYtp2lX/APgzb6+dQrGHKc2+0jQebRe2sl5A3ctjNU5ogeTTy+hIjNl0rkQOpWsR2yMY/KwmF0/QvtbZOz58zbVr0YfDCgOfJepy4mHYAujPfKhZ8/GHNmlyaZblJ/eSKwQsUGhGmdnjj8pTo6n2VJmyN+o+ET/IJSWRih94YcVa8hEuVbOuwpOMQIJ/Jyfy4C4Dy8VXVKwIcnaXwaL4XYAHJg4UxdKBlqJdgVsbUM9M0eXRVJ3g9vGlR8GZBOrIV9C9n6P3U3/DjYAEmXQnRvoytWFaVhBIjf6KHGuskENdZfZw==
Received: from BYAPR05CA0077.namprd05.prod.outlook.com (2603:10b6:a03:e0::18)
by PH7PR12MB8426.namprd12.prod.outlook.com (2603:10b6:510:241::20) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 04:16:08 +0000
Received: from SJ1PEPF00001CE2.namprd05.prod.outlook.com
(2603:10b6:a03:e0:cafe::9a) by BYAPR05CA0077.outlook.office365.com
(2603:10b6:a03:e0::18) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8792.19 via Frontend Transport; Thu,
5 Jun 2025 04:16:08 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232)
smtp.mailfrom=nvidia.com; dkim=none (message not signed)
header.d=none;dmarc=pass action=none header.from=nvidia.com;
Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates
216.228.118.232 as permitted sender) receiver=protection.outlook.com;
client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C
Received: from mail.nvidia.com (216.228.118.232) by
SJ1PEPF00001CE2.mail.protection.outlook.com (10.167.242.10) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8792.29 via Frontend Transport; Thu, 5 Jun 2025 04:16:07 +0000
Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com
(10.127.129.5) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Wed, 4 Jun 2025
21:16:02 -0700
Received: from drhqmail201.nvidia.com (10.126.190.180) by
drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.14; Wed, 4 Jun 2025 21:16:01 -0700
Received: from dondevbox.nvidia.com (10.127.8.13) by mail.nvidia.com
(10.126.190.180) with Microsoft SMTP Server id 15.2.1544.14 via Frontend
Transport; Wed, 4 Jun 2025 21:16:01 -0700
From: Donald Shannon <donalds@xxxxxxxxxx>
To: <robh@xxxxxxxxxx>, <krzk+dt@xxxxxxxxxx>, <conor+dt@xxxxxxxxxx>
CC: <joel@xxxxxxxxx>, <andrew@xxxxxxxxxxxxxxxxxxxx>,
<devicetree@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-aspeed@xxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, "Donald
Shannon" <donalds@xxxxxxxxxx>
Subject: [PATCH v3 0/1] ARM: dts: aspeed: Add device tree for Nvidia's GB200 UT3.0b platform BMC
Date: Wed, 4 Jun 2025 21:15:50 -0700
Message-ID: <20250605041550.1940089-2-donalds@xxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-NV-OnPremToCloud: AnonymousSubmission
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE2:EE_|PH7PR12MB8426:EE_
X-MS-Office365-Filtering-Correlation-Id: e6c80653-e5cc-4224-3cc9-08dda3e7b246
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?QcUuX8JjB3SdNRfheSLrF2Led5FwmcbXtZw5VLdWqx0J/qEynL9QhXNSc2fC?=
=?us-ascii?Q?rk18wKja/e5rc36O12nvDV2v971lfEKqFkg6cyuO+v6+Xa/Lf8DB/SddPGUv?=
=?us-ascii?Q?75Ar6/0GDPBXchKHA+Bldm7/R6F5B6o+DMWtcspgEPaDfDetu7dZUXvhZMc/?=
=?us-ascii?Q?LW+OmiFPVYpyweOjx7LZjN4uV+n/ou7ftKMSL4+CFF6Hyd+QMrZl/UQdjTq0?=
=?us-ascii?Q?8u6FmfxxEaO3HWYA3Etzv2hyKeEF2uzwTtUOAlIcA1/nXFTajODV2gqic/l/?=
=?us-ascii?Q?zHGVRra6v/3++oRDE1ddGP/xvuXhGa/2d1RtGmBZix/hT6bbjF2yjzRxVr1o?=
=?us-ascii?Q?vXrWLyqE0SeHgEhzau/104TYCYD9DdAkTeouyGWgwa7jmfcTE5rkBFoQDcYY?=
=?us-ascii?Q?wPMXrAWbL25Nn+zN6rECpbTIF/r19Y6AVBn++T+9lzXcJzOapq1i2bE6dSeI?=
=?us-ascii?Q?rYFcmlCdYsiI/nBxR72WI3VIRwUyXRTbil15EEx9IPISDnfFLQjPzfLfYMIU?=
=?us-ascii?Q?EW5TiPxFkiczgfAanJg1YFHd9CPxQrX8Sq7L30n5BJ28p9CSMxcz+81gukzD?=
=?us-ascii?Q?C1f4FFK353Uq1CP4yns3Ou3yAoSlif1p6iK4AzhWhAP9xgCkUAQQfqt19wig?=
=?us-ascii?Q?92lLivFwg2zdziItOP163Sz8QyYGSDy8fe0bHqT5RvzTy2pbA/rb8O6wZyZT?=
=?us-ascii?Q?JB9FPIE1mydgbC1G9d+hvlYcek69sO27cUwBsw4GOBDDxyWWYCsMQfGjKsId?=
=?us-ascii?Q?xTOVg9L5DmRpP2gIHhPbheg/d93PSZoIhFtXgNiwVl+r/aPt5js50mJfP+rK?=
=?us-ascii?Q?ZIA4TvJY4FHxK12chLxw2EQTF8i52S22q6RUEh+x/EbhcVZqAOLCUv++CZ6Z?=
=?us-ascii?Q?MqmTvIUCJvxAIW3HIrI3CZx/2OQJeRFMxdXZ7FemoivejAqwP7JgSKqzW52c?=
=?us-ascii?Q?8K+7ODeeXHe3MCP5IMRNsx94Z9etxTd74g7PEysCFBAMEP0MK5w6E4u8v+on?=
=?us-ascii?Q?O55RIvrr++7xrxWeOfKmgBr/93P+Yzuxi1Q4T9OR8wvNh8UU8PraRJ7hMTtQ?=
=?us-ascii?Q?HXgP5+jrQimEjxKRnrWluku87nivYel0Cz3jRXdeLtbnGMhto5Xra5U9hbiM?=
=?us-ascii?Q?ZmZdDtHGbdGmqZu8BwR6DebXdVQFjXIy1FNtfrzndzt2fnoOb3qDTnhMmCuI?=
=?us-ascii?Q?qFGAUm2fZOAOp+LmxeCc/IoKJeC2W94Q4XVTugcUZuGSCeOEqy/WHdpGadgV?=
=?us-ascii?Q?e+VY34Lzuc/aM4uPiZV3x5mFFHUstxE6FHbP7XCO0AmvNpwD3NfH9buPF/J3?=
=?us-ascii?Q?yiQqc5wllY8vDEp33h66v/syxBZEGTfcITumJESka5zr+OufmcSQ2RenpbOq?=
=?us-ascii?Q?aRNI4SIGhUnYK8pFoSY1QlBEhQBY8LcCzHPQw5Hz4t7H44/krJdpAFehwZHx?=
=?us-ascii?Q?HKNwR5t8zNk1/pD2lK9TPFXMnpeCEIMhrQBYTbP+yCAR7UZMjWXrrIvC+1ak?=
=?us-ascii?Q?NvGnHf/l8uwBZXdC+ct6FHZbnImuptUNAqor?=
X-Forefront-Antispam-Report:
CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 04:16:07.9922
(UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e6c80653-e5cc-4224-3cc9-08dda3e7b246
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com]
X-MS-Exchange-CrossTenant-AuthSource:
SJ1PEPF00001CE2.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8426
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Fixed whitespace issues
Fixed schema validation issues from my end, but there are still issues with the aspeed dtsi file that are not related to this new dts
Reordered to follow style guide
Removed redundant status okays

Donald Shannon (1):
ARM: dts: aspeed: Add device tree for Nvidia's GB200 UT3.0b platform
BMC

arch/arm/boot/dts/aspeed/Makefile | 1 +
.../aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts | 1125 +++++++++++++++++
2 files changed, 1126 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts

--
2.43.0



Return-Path: <linux-kernel+bounces-674029-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9653C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:16:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1A88E18955D9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:16:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BBCA515665C;
Thu, 5 Jun 2025 04:16:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="sCFXstNa"
Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2075.outbound.protection.outlook.com [40.107.102.75])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 477C63B19A;
Thu, 5 Jun 2025 04:16:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.102.75
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749096995; cv=fail; b=ulbQAofI1AYozx0s63hXZOD5K5EPp6cj9MIZlcwpQ7A6DK63TAsKmU1Lrtqdm6+n9pFpAG4LDzTWRpfnCq+v1auGKkZ4nFAwi4KAlKyDrLcWNKj9Bl0XTwnKXxeM1CC18g9m8OUNqXw+9q7iYyZ7NMuk4mm2K9v50g0ImQGzWdw=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749096995; c=relaxed/simple;
bh=VGz3xv8wrmkr/UJ0S/4C3Ccd8g8J0Nl9XK40DhbUjB8=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=mv3c53ZXA5WwyOdoCOMIT63ZdKVoJ+2pBW0L215uyJ2NxPPw6eGx2VxKeEg5cbkoEXJcvzZyYI0j402VccQnSIS7mD5OmBWo+AZmVrMi0T97nfw7cg12hULKOOv3+bjPU3hJy68FOK2YefoVE3Vri1LJcfwEOACzjiix5ibKPx8=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=sCFXstNa; arc=fail smtp.client-ip=40.107.102.75
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=NaTg/NNcujXCw9tlpaEfCKkFbyoNHOOfkLedSoYttGRghtFDqU1vZfahTR3OYDmmzJB3IosOcv29B7MRWXg15NyxVzXxoIsoubgkmFPIGhaqeT+fBZerJrj1f/3z1IBL7NalQK260hkDrvdLl4RXaV/cxjtWMW1U2JxXlVU5TjSp4tLF+BidlGKb+cFXCcuHXRese2VIDsiGrHL0fPn+YnPmUCTbzZCBUm/+Bd7+/u1VGY8xVqWnvLYIwwlF+e8zkBevSomSwTa8VUSuagADlA7pFm0ZJmfA91k0kLXk5PmwFc408vw7lrMTifJ7uGeMjEw0rPgXSVS5OZtSpzCU9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=P62/RFK2zzrBmag+jdudsF0tBvkRDgoEgmlCEPfEbis=;
b=ODLCXfXcSZqtMFcQVco+fq63buNXsWNR1Gpv2aJv6dRv+Dkhn1n6i6SR1mJHUf45uqo/yq4/sZhoFy1zXRGjRM/JtBrO91rxjApXGSmeBOdf1UInIKUExH66ysrnx922P9mzU6FFTNc175kXuyVuy/0V8F+yBQJz9RT354d8t9d7vu2qX+YihB0GrGgnR4rUwG9ouWarPdH99whounsF1q2sO+OmBRjBqJF3TtE+lzHhV/ZWp/19+HJKTzE/Yyf3USW7/mfGPum5HqQt3yDwV1FKNAh5ekjQoDVDa5p6LbtUg3YAy79MbQZYiy35kJydOdKvN8Y5ocq9JeTnB4tHPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
216.228.118.233) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com;
dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;
dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=P62/RFK2zzrBmag+jdudsF0tBvkRDgoEgmlCEPfEbis=;
b=sCFXstNa55GqvGhYijhBofMHcqgdp4ALMwebOkZ/jwoLpT+VXoTiqWT4A1zN4pJwFa1i4ebL84B5QE9Ly1chJFru6UhnanXT+scZitaWtNAdBAXOOkeCyaKWBePMcWBNxiDgY8Ze61Hrxj41NFTjth9enIU1lbDQOV1yiSzGuoU3VTIpu33OZmLzfeUlbMQpCdGltoCDrOZm0w0FL2q0PpAqlaxdczPek+LO/fUz8v4NzIm4KzuGd4HXZPHAH+rn6+zrDrK8Jd00KiWJCSPXA4+K4H4cqpGn/3LUuBDdojYKevtu5yaS5TT75/6eyZVz5szpMk2fpRXQ1LKTPiYTZw==
Received: from MN0PR03CA0007.namprd03.prod.outlook.com (2603:10b6:208:52f::6)
by DS0PR12MB8200.namprd12.prod.outlook.com (2603:10b6:8:f5::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 04:16:18 +0000
Received: from BN2PEPF000044A8.namprd04.prod.outlook.com
(2603:10b6:208:52f:cafe::6e) by MN0PR03CA0007.outlook.office365.com
(2603:10b6:208:52f::6) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8792.35 via Frontend Transport; Thu,
5 Jun 2025 04:16:17 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233)
smtp.mailfrom=nvidia.com; dkim=none (message not signed)
header.d=none;dmarc=pass action=none header.from=nvidia.com;
Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates
216.228.118.233 as permitted sender) receiver=protection.outlook.com;
client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C
Received: from mail.nvidia.com (216.228.118.233) by
BN2PEPF000044A8.mail.protection.outlook.com (10.167.243.102) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8792.29 via Frontend Transport; Thu, 5 Jun 2025 04:16:17 +0000
Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com
(10.127.129.6) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Wed, 4 Jun 2025
21:16:05 -0700
Received: from drhqmail201.nvidia.com (10.126.190.180) by
drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.14; Wed, 4 Jun 2025 21:16:04 -0700
Received: from dondevbox.nvidia.com (10.127.8.13) by mail.nvidia.com
(10.126.190.180) with Microsoft SMTP Server id 15.2.1544.14 via Frontend
Transport; Wed, 4 Jun 2025 21:16:04 -0700
From: Donald Shannon <donalds@xxxxxxxxxx>
To: <robh@xxxxxxxxxx>, <krzk+dt@xxxxxxxxxx>, <conor+dt@xxxxxxxxxx>
CC: <joel@xxxxxxxxx>, <andrew@xxxxxxxxxxxxxxxxxxxx>,
<devicetree@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<linux-aspeed@xxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, "Donald
Shannon" <donalds@xxxxxxxxxx>
Subject: [PATCH v3 1/1] ARM: dts: aspeed: Add device tree for Nvidia's GB200 UT3.0b platform BMC
Date: Wed, 4 Jun 2025 21:15:51 -0700
Message-ID: <20250605041550.1940089-3-donalds@xxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605041550.1940089-2-donalds@xxxxxxxxxx>
References: <20250605041550.1940089-2-donalds@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-NV-OnPremToCloud: AnonymousSubmission
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000044A8:EE_|DS0PR12MB8200:EE_
X-MS-Office365-Filtering-Correlation-Id: d3d4065b-f0e2-4da3-efd9-08dda3e7b811
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|13003099007;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?oHVn5VupDqm77zcBjsKssxGDID79UgIHLPlq3ZXFf15fPkYJ0hCiy+T07Dsq?=
=?us-ascii?Q?GcwJBwT5cQaet/cjIDYH7+Nav4phLgBu/VSrOZqfjVO37Xf9Gsw8Cmd4J6zX?=
=?us-ascii?Q?fP2jN0GUAcWDTcRHf0cy9HFjnfYeN/ecpKc+6lM6jQGJJk1tp/5xfChU3aMQ?=
=?us-ascii?Q?3/x0YJJlEDRYO+5AjoVo2109Mm1OExs1NLcOXC140yBxI6lwOJ4aahJo7vYK?=
=?us-ascii?Q?I+XttZc6YgcaJ9j5BIHC8owMswHzbkBukmM1HERMXTmOCnHqI/L0orfjesQ9?=
=?us-ascii?Q?yIM61K4xFhdT21XWeA6KtvxPI+tT89lNKrEfkMCaquFkwiiBILx88+d9y/+H?=
=?us-ascii?Q?vEINnliGx1DtmRlrRTicTvXhLS6gJ8o9wRRax/SjFJ+DmVrg2r6Iuw0LhqfR?=
=?us-ascii?Q?8CkFxV/9UeVeghGfqI4W3RBgb24TKI7Os0kOSZtaB0qbGJqwMeX9TwqLJN5o?=
=?us-ascii?Q?33QfDVwtIEjRPjzBwp3L5WBrcBLJ4BoSiHZLXDpMV6eDNU3tqb1s/bwxv9ex?=
=?us-ascii?Q?3R+t40KQGjs4fgMJWUet9sunoOKFxVRu3YIcFMoIURl3JPCjhtuDNvxdALi3?=
=?us-ascii?Q?20bgL2DNmPeSbRKpmZh4iYvEUldzUaeXng7jrilJf8ol686A5LMjfn1AI8IC?=
=?us-ascii?Q?3q0NEz936DihzR7spmoNe000Jx+PD/juOXQH5hOjqBA1eTqevPV3hhRLAro1?=
=?us-ascii?Q?6Rk3RHeQhwzycJk8uWgzhvTYel7jTqIMEi6LhO0hxusKdfDJHUfwnv+tL/63?=
=?us-ascii?Q?XzdbjqAsmSG5r+0+FRERAgJjved2d0+ns0nY/Xs+rjGCi0sFEGwBSpzkvPrp?=
=?us-ascii?Q?YSwJmK+gy/Hw3qyXqQcSOIwVH25b5EKft+YZCWHyq66GeAUCjB/v4HFH9ggL?=
=?us-ascii?Q?UXQUqwsvLbF6tPVDTfMsKx1QrqOpkx52G7kybE3Iei0yu3rAMEOSF7+b0soH?=
=?us-ascii?Q?WRGzNSAR4eB3xNdUp2293Zs3bqASW+zttZVmMStwFr4Q8h45kZ8PeoLYhvvE?=
=?us-ascii?Q?s18wMYq3XtY7sbV6hfTOdJce+kzfnD738n0dYOFzxHJqqRZnDjXyuEF1PDzb?=
=?us-ascii?Q?kicAfoJfsCvSRHsPDHSwvYYiHa6z+1UahZHsPpFqoNbLvBfLafxp2tYo7YoX?=
=?us-ascii?Q?wVzg8kaA7D1QR2oISrq5sUuSF1iAJKSgslb3o8k6KlNCreeeICqDMHjGT9ld?=
=?us-ascii?Q?nisn5O7TmVS24pKVejiT8z+YjmZ3JSseh6uRpeWa+2HyN4aG9k65yOLyLioF?=
=?us-ascii?Q?AckayxWsb3oHoUjr/Tf+JmMOHILHmElszu4Z61CI82GZyAvlufIIBaJ6ouzu?=
=?us-ascii?Q?XyYBLSJqFVg/4AYrFU2z1ZfgFCwVvZxtzph0PuG/FSDRRbLEIt8NXMgOoLet?=
=?us-ascii?Q?xJkwkzbz8FCVBl+xgJgKffDNF1nwrF+ECuP3Iz3v/to/YcF75Pze9af+tYIe?=
=?us-ascii?Q?QAqw4GOYU49TNqUrUrqzOqFspc98eOHJxkqyW84V3dl5y4bmVpZl9WmtLlBc?=
=?us-ascii?Q?3BLsBdHYw6cSZKkZQ6Q8PStAbEiWvagclPA2szqVGWtqu1k5M+NPiaUxRQ?=
=?us-ascii?Q?=3D=3D?=
X-Forefront-Antispam-Report:
CIP:216.228.118.233;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 04:16:17.5486
(UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d3d4065b-f0e2-4da3-efd9-08dda3e7b811
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.233];Helo=[mail.nvidia.com]
X-MS-Exchange-CrossTenant-AuthSource:
BN2PEPF000044A8.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8200
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS,WEIRD_QUOTING
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The GB200NVL UT3.0b BMC is an Aspeed Ast2600 based BMC
for Nvidia Blackwell GB200NVL platform.
Reference to Ast2600 SOC [1].
Reference to Blackwell GB200NVL Platform [2].

Link: https://www.aspeedtech.com/server_ast2600/ [1]
Link: https://nvdam.widen.net/s/wwnsxrhm2w/blackwell-datasheet-3384703 [2]

Signed-off-by: Donald Shannon <donalds@xxxxxxxxxx>
---
arch/arm/boot/dts/aspeed/Makefile | 1 +
.../aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts | 1125 +++++++++++++++++
2 files changed, 1126 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts

diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
index b3170fdd3096..1101bc74e8c8 100644
--- a/arch/arm/boot/dts/aspeed/Makefile
+++ b/arch/arm/boot/dts/aspeed/Makefile
@@ -51,6 +51,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-lenovo-hr855xg2.dtb \
aspeed-bmc-microsoft-olympus.dtb \
aspeed-bmc-nvidia-gb200nvl-bmc.dtb \
+ aspeed-bmc-nvidia-gb200-ut30b.dtb \
aspeed-bmc-opp-lanyang.dtb \
aspeed-bmc-opp-mowgli.dtb \
aspeed-bmc-opp-nicole.dtb \
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts
new file mode 100644
index 000000000000..81c44a1e4f5d
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts
@@ -0,0 +1,1125 @@
+// SPDX-License-Identifier: GPL-2.0+
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/i2c/i2c.h>
+#include <dt-bindings/gpio/aspeed-gpio.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+ model = "AST2600 GB200 UT3.0b BMC";
+ compatible = "nvidia,gb200nvl-bmc", "aspeed,ast2600";
+
+ aliases {
+ serial2 = &uart3;
+ serial4 = &uart5;
+ i2c16 = &imux16;
+ i2c17 = &imux17;
+ i2c18 = &imux18;
+ i2c19 = &imux19;
+ i2c20 = &imux20;
+ i2c21 = &imux21;
+ i2c22 = &imux22;
+ i2c23 = &imux23;
+ i2c24 = &imux24;
+ i2c25 = &imux25;
+ i2c26 = &imux26;
+ i2c27 = &imux27;
+ i2c28 = &imux28;
+ i2c29 = &imux29;
+ i2c30 = &imux30;
+ i2c31 = &imux31;
+ i2c32 = &imux32;
+ i2c33 = &imux33;
+ i2c34 = &imux34;
+ i2c35 = &imux35;
+ i2c36 = &imux36;
+ i2c37 = &imux37;
+ i2c38 = &imux38;
+ i2c39 = &imux39;
+ i2c40 = &e1si2c0;
+ i2c41 = &e1si2c1;
+ i2c42 = &e1si2c2;
+ i2c43 = &e1si2c3;
+ i2c44 = &e1si2c4;
+ i2c45 = &e1si2c5;
+ i2c46 = &e1si2c6;
+ i2c47 = &e1si2c7;
+ i2c48 = &i2c17mux0;
+ i2c49 = &i2c17mux1;
+ i2c50 = &i2c17mux2;
+ i2c51 = &i2c17mux3;
+ i2c52 = &i2c25mux0;
+ i2c53 = &i2c25mux1;
+ i2c54 = &i2c25mux2;
+ i2c55 = &i2c25mux3;
+ i2c56 = &i2c29mux0;
+ i2c57 = &i2c29mux1;
+ i2c58 = &i2c29mux2;
+ i2c59 = &i2c29mux3;
+ };
+
+ buttons {
+ button-power {
+ label = "power-btn";
+ gpio = <&sgpiom0 156 GPIO_ACTIVE_LOW>;
+ };
+ button-uid {
+ label = "uid-btn";
+ gpio = <&sgpiom0 154 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ chosen {
+ stdout-path = &uart5;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ led-0 {
+ label = "uid_led";
+ gpios = <&sgpiom0 27 GPIO_ACTIVE_LOW>;
+ };
+ led-1 {
+ label = "fault_led";
+ gpios = <&sgpiom0 29 GPIO_ACTIVE_LOW>;
+ };
+ led-2 {
+ label = "power_led";
+ gpios = <&sgpiom0 31 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x80000000>;
+ };
+
+ reg_3v3_stby: regulator-3v3-standby {
+ compatible = "regulator-fixed";
+ regulator-name = "3v3-standby";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ gpio = <&gpio0 ASPEED_GPIO(M, 3) GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-always-on;
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ vga_memory: framebuffer@9f000000 {
+ no-map;
+ reg = <0x9f000000 0x01000000>; /* 16M */
+ };
+
+ ramoops@a0000000 {
+ compatible = "ramoops";
+ reg = <0xa0000000 0x100000>; /* 1MB */
+ record-size = <0x10000>; /* 64KB */
+ max-reason = <2>; /* KMSG_DUMP_OOPS */
+ };
+
+ gfx_memory: framebuffer {
+ size = <0x01000000>;
+ alignment = <0x01000000>;
+ compatible = "shared-dma-pool";
+ reusable;
+ };
+
+ video_engine_memory: jpegbuffer {
+ size = <0x02000000>; /* 32M */
+ alignment = <0x01000000>;
+ compatible = "shared-dma-pool";
+ reusable;
+ };
+ };
+};
+
+// Enable Primary flash on FMC for bring up activity
+&fmc {
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ label = "bmc";
+ spi-max-frequency = <50000000>;
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ u-boot@0 {
+ // 896KB
+ reg = <0x0 0xe0000>;
+ label = "u-boot";
+ };
+
+ kernel@100000 {
+ // 9MB
+ reg = <0x100000 0x900000>;
+ label = "kernel";
+ };
+
+ rofs@a00000 {
+ // 55292KB (extends to end of 64MB SPI - 4KB)
+ reg = <0xa00000 0x35FF000>;
+ label = "rofs";
+ };
+ };
+ };
+};
+
+&spi2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_spi2_default>;
+
+ // Data SPI is 64MB in size
+ flash@0 {
+ label = "config";
+ spi-max-frequency = <50000000>;
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ u-boot-env@0 {
+ // 256KB
+ reg = <0x0 0x40000>;
+ label = "u-boot-env";
+ };
+
+ rwfs@40000 {
+ // 16MB
+ reg = <0x40000 0x1000000>;
+ label = "rwfs";
+ };
+
+ log@1040000 {
+ // 40MB
+ reg = <0x1040000 0x2800000>;
+ label = "log";
+ };
+ };
+ };
+};
+
+&mdio0 {
+ ethphy0: ethernet-phy@0 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&mac0 {
+ pinctrl-names = "default";
+ phy-mode = "rgmii-id";
+ phy-handle = <&ethphy0>;
+ pinctrl-0 = <&pinctrl_rgmii1_default>;
+};
+
+// USB 2.0 to HMC, on USB Port B
+&ehci1 { };
+
+// USB 1.0
+&uhci { };
+
+/*
+ * Enable USB port A as device (via the virtual hub) to host
+ */
+&vhub { };
+
+&rng { };
+
+&video {
+ memory-region = <&video_engine_memory>;
+};
+
+&gpio0 {
+ gpio-line-names =
+ /*A0-A7*/ "", "", "", "", "", "", "", "",
+ /*B0-B7*/ "", "", "", "", "", "", "", "",
+ /*C0-C7*/ "SGPIO_I2C_MUX_SEL-O", "", "", "", "", "", "", "",
+ /*D0-D7*/ "", "", "", "UART1_MUX_SEL-O", "", "FPGA_PEX_RST_L-O", "", "",
+ /*E0-E7*/ "RTL8221_PHY_RST_L-O", "RTL8211_PHY_INT_L-I", "", "UART3_MUX_SEL-O",
+ "", "", "", "SGPIO_BMC_EN-O",
+ /*F0-F7*/ "", "", "", "", "", "", "", "",
+ /*G0-G7*/ "", "", "", "", "", "", "", "",
+ /*H0-H7*/ "", "", "", "", "", "", "", "",
+ /*I0-I7*/ "", "", "", "", "", "QSPI2_RST_L-O", "GLOBAL_WP_BMC-O", "BMC_DDR4_TEN-O",
+ /*J0-J7*/ "", "", "", "", "", "", "", "",
+ /*K0-K7*/ "", "", "", "", "", "", "", "",
+ /*L0-L7*/ "", "", "", "", "", "", "", "",
+ /*M0-M7*/ "PCIE_EP_RST_EN-O", "BMC_FRU_WP-O", "FPGA_RST_L-O", "STBY_POWER_EN-O",
+ "STBY_POWER_PG-I", "PCIE_EP_RST_L-O", "", "",
+ /*N0-N7*/ "", "", "", "", "", "", "", "",
+ /*O0-O7*/ "", "", "", "", "", "", "", "",
+ /*P0-P7*/ "", "", "", "", "", "", "", "",
+ /*Q0-Q7*/ "", "", "", "", "", "", "", "",
+ /*R0-R7*/ "", "", "", "", "", "", "", "",
+ /*S0-S7*/ "", "", "", "", "", "", "", "",
+ /*T0-T7*/ "", "", "", "", "", "", "", "",
+ /*U0-U7*/ "", "", "", "", "", "", "", "",
+ /*V0-V7*/ "AP_EROT_REQ-O", "EROT_AP_GNT-I", "", "","PCB_TEMP_ALERT-I", "","", "",
+ /*W0-W7*/ "", "", "", "", "", "", "", "",
+ /*X0-X7*/ "", "", "TPM_MUX_SEL-O", "", "", "", "", "",
+ /*Y0-Y7*/ "", "", "", "EMMC_RST-O", "","", "", "",
+ /*Z0-Z7*/ "BMC_READY-O","", "", "", "", "", "", "";
+};
+
+&gpio1 {
+ /* 36 1.8V GPIOs */
+ gpio-line-names =
+ /*A0-A7*/ "", "", "", "", "", "", "", "",
+ /*B0-B7*/ "", "", "", "", "", "", "IO_EXPANDER_INT_L-I","",
+ /*C0-C7*/ "", "", "", "", "", "", "", "",
+ /*D0-D7*/ "", "", "", "", "", "", "SPI_HOST_TPM_RST_L-O", "SPI_BMC_FPGA_INT_L-I",
+ /*E0-E7*/ "", "", "", "", "", "", "", "";
+};
+
+&sgpiom0 {
+ ngpios = <128>;
+ gpio-line-names =
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "RUN_POWER_FAULT_L-I","SYS_RST_IN_L-O",
+ "RUN_POWER_PG-I","PWR_BRAKE_L-O",
+ "SYS_RST_OUT_L-I","RUN_POWER_EN-O",
+ "L0L1_RST_REQ_OUT_L-I","SHDN_FORCE_L-O",
+ "L2_RST_REQ_OUT_L-I","SHDN_REQ_L-O",
+ "SHDN_OK_L-I","UID_LED_N-O",
+ "BMC_I2C1_FPGA_ALERT_L-I","SYS_FAULT_LED_N-O",
+ "BMC_I2C0_FPGA_ALERT_L-I","PWR_LED_N-O",
+ "FPGA_RSVD_FFU3-I","",
+ "FPGA_RSVD_FFU2-I","",
+ "FPGA_RSVD_FFU1-I","",
+ "FPGA_RSVD_FFU0-I","BMC_I2C_SSIF_ALERT_L-O",
+ "CPU_BOOT_DONE-I","JTAG_MUX_SELECT-O",
+ "SPI_BMC_FPGA_INT_L-I","RTC_CLR_L-O",
+ "THERM_BB_WARN_L-I","UART_MUX_SEL-O",
+ "THERM_BB_OVERT_L-I","",
+ "CPU0_UPHY3_PRSNT1_L-I","IOBRD0_RUN_POWER_EN-O",
+ "CPU0_UPHY3_PRSNT0_L-I","IOBRD1_RUN_POWER_EN-O",
+ "CPU0_UPHY2_PRSNT1_L-I","FPGA_RSVD_FFU4-O",
+ "CPU0_UPHY2_PRSNT0_L-I","FPGA_RSVD_FFU5-O",
+ "CPU0_UPHY1_PRSNT1_L-I","FPGA_RSVD_FFU6-O",
+ "CPU0_UPHY1_PRSNT0_L-I","FPGA_RSVD_FFU7-O",
+ "CPU0_UPHY0_PRSNT1_L-I","RSVD_NV_PLT_DETECT-O",
+ "CPU0_UPHY0_PRSNT0_L-I","SPI1_INT_L-O",
+ "CPU1_UPHY3_PRSNT1_L-I","",
+ "CPU1_UPHY3_PRSNT0_L-I","HMC_EROT_MUX_STATUS",
+ "CPU1_UPHY2_PRSNT1_L-I","",
+ "CPU1_UPHY2_PRSNT0_L-I","",
+ "CPU1_UPHY1_PRSNT1_L-I","",
+ "CPU1_UPHY1_PRSNT0_L-I","",
+ "CPU1_UPHY0_PRSNT1_L-I","",
+ "CPU1_UPHY0_PRSNT0_L-I","",
+ "FAN1_PRESENT_L-I","",
+ "FAN0_PRESENT_L-I","",
+ "","",
+ "IPEX_CABLE_PRSNT_L-I","",
+ "M2_1_PRSNT_L-I","",
+ "M2_0_PRSNT_L-I","",
+ "CPU1_UPHY4_PRSNT1_L-I","",
+ "CPU0_UPHY4_PRSNT0_L-I","",
+ "","",
+ "I2C_RTC_ALERT_L-I","",
+ "FAN7_PRESENT_L-I","",
+ "FAN6_PRESENT_L-I","",
+ "FAN5_PRESENT_L-I","",
+ "FAN4_PRESENT_L-I","",
+ "FAN3_PRESENT_L-I","",
+ "FAN2_PRESENT_L-I","",
+ "IOBRD0_IOX_INT_L-I","",
+ "IOBRD1_PRSNT_L-I","",
+ "IOBRD0_PRSNT_L-I","",
+ "IOBRD1_PWR_GOOD-I","",
+ "IOBRD0_PWR_GOOD-I","",
+ "","",
+ "","",
+ "FAN_FAIL_IN_L-I","",
+ "","",
+ "","",
+ "","",
+ "PDB_CABLE_PRESENT_L-I","",
+ "","",
+ "CHASSIS_PWR_BRK_L-I","",
+ "","",
+ "IOBRD1_IOX_INT_L-I","",
+ "10GBE_SMBALRT_L-I","",
+ "PCIE_WAKE_L-I","",
+ "I2C_M21_ALERT_L-I","",
+ "I2C_M20_ALERT_L-I","",
+ "TRAY_FAST_SHDN_L-I","",
+ "UID_BTN_N-I","",
+ "PWR_BTN_L-I","",
+ "PSU_SMB_ALERT_L-I","",
+ "","",
+ "","",
+ "NODE_LOC_ID[0]-I","",
+ "NODE_LOC_ID[1]-I","",
+ "NODE_LOC_ID[2]-I","",
+ "NODE_LOC_ID[3]-I","",
+ "NODE_LOC_ID[4]-I","",
+ "NODE_LOC_ID[5]-I","",
+ "FAN10_PRESENT_L-I","",
+ "FAN9_PRESENT_L-I","",
+ "FAN8_PRESENT_L-I","",
+ "FPGA1_READY_HMC-I","",
+ "DP_HPD-I","",
+ "HMC_I2C3_FPGA_ALERT_L-I","",
+ "HMC_I2C2_FPGA_ALERT_L-I","",
+ "FPGA0_READY_HMC-I","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "LEAK_DETECT_ALERT_L-I","",
+ "MOD1_B2B_CABLE_PRESENT_L-I","",
+ "MOD1_CLINK_CABLE_PRESENT_L-I","",
+ "FAN11_PRESENT_L-I","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "","",
+ "RSVD_SGPIO_IN_CRC[0]","RSVD_SGPIO_O_CRC[7]",
+ "RSVD_SGPIO_IN_CRC[1]","RSVD_SGPIO_O_CRC[6]",
+ "RSVD_SGPIO_IN_CRC[2]","RSVD_SGPIO_O_CRC[5]",
+ "RSVD_SGPIO_IN_CRC[3]","RSVD_SGPIO_O_CRC[4]",
+ "RSVD_SGPIO_IN_CRC[4]","RSVD_SGPIO_O_CRC[3]",
+ "RSVD_SGPIO_IN_CRC[5]","RSVD_SGPIO_O_CRC[2]",
+ "RSVD_SGPIO_IN_CRC[6]","RSVD_SGPIO_O_CRC[1]",
+ "RSVD_SGPIO_IN_CRC[7]","RSVD_SGPIO_O_CRC[0]";
+};
+
+&uart1 { };
+
+// Enabling SOL
+&uart3 { };
+
+// BMC Debug Console
+&uart5 { };
+
+&uart_routing { };
+
+// I2C1, SSIF IPMI interface
+&i2c0 {
+ clock-frequency = <400000>;
+
+ ssif-bmc@10 {
+ compatible = "ssif-bmc";
+ reg = <0x10>;
+ };
+};
+
+// I2C2
+// BMC_I2C1_FPGA - Secondary FPGA
+// HMC EROT
+&i2c1 {
+ clock-frequency = <400000>;
+ multi-master;
+};
+
+// I2C3
+// BMC_I2C0_FPGA - Primary FPGA
+// HMC FRU EEPROM
+&i2c2 {
+ clock-frequency = <400000>;
+ multi-master;
+};
+
+// I2C4
+&i2c3 {
+ clock-frequency = <400000>;
+ multi-master;
+};
+
+// I2C5
+// RTC Driver
+// IO Expander
+&i2c4 {
+ clock-frequency = <400000>;
+
+ // Module 0, Expander @0x21
+ exp4: gpio@21 {
+ compatible = "nxp,pca9555";
+ reg = <0x21>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
+ vcc-supply = <&reg_3v3_stby>;
+ gpio-line-names =
+ "RTC_MUX_SEL-O",
+ "PCI_MUX_SEL-O",
+ "TPM_MUX_SEL-O",
+ "FAN_MUX-SEL-O",
+ "SGMII_MUX_SEL-O",
+ "DP_MUX_SEL-O",
+ "UPHY3_USB_SEL-O",
+ "NCSI_MUX_SEL-O",
+ "BMC_PHY_RST-O",
+ "RTC_CLR_L-O",
+ "BMC_12V_CTRL-O",
+ "PS_RUN_IO0_PG-I",
+ "",
+ "",
+ "",
+ "";
+ };
+};
+
+// I2C6
+// Module 0/1 I2C MUX x3
+&i2c5 {
+ clock-frequency = <400000>;
+ multi-master;
+
+ i2c-mux@71 {
+ compatible = "nxp,pca9546";
+ reg = <0x71>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ imux16: i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ };
+
+ imux17: i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ i2c-mux@74 {
+ compatible = "nxp,pca9546";
+ reg = <0x74>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ i2c17mux0: i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ };
+
+ i2c17mux1: i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+ };
+
+ i2c17mux2: i2c@2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <2>;
+ };
+
+ i2c17mux3: i2c@3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <3>;
+ };
+ };
+ };
+
+ imux18: i2c@2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <2>;
+ };
+
+ imux19: i2c@3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <3>;
+ };
+ };
+
+ i2c-mux@72 {
+ compatible = "nxp,pca9546";
+ reg = <0x72>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ imux20: i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux21: i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpio@20 {
+ compatible = "nxp,pca9555";
+ reg = <0x20>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ vcc-supply = <&reg_3v3_stby>;
+ gpio-line-names =
+ "RST_CX_0_L-O",
+ "RST_CX_1_L-O",
+ "CX0_SSD0_PRSNT_L-I",
+ "CX1_SSD1_PRSNT_L-I",
+ "CX_BOOT_CMPLT_CX0-I",
+ "CX_BOOT_CMPLT_CX1-I",
+ "CX_TWARN_CX0_L-I",
+ "CX_TWARN_CX1_L-I",
+ "CX_OVT_SHDN_CX0-I",
+ "CX_OVT_SHDN_CX1-I",
+ "FNP_L_CX0-O",
+ "FNP_L_CX1-O",
+ "",
+ "MCU_GPIO-I",
+ "MCU_RST_N-O",
+ "MCU_RECOVERY_N-O";
+ };
+ };
+
+ imux22: i2c@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux23: i2c@3 {
+ reg = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
+ i2c-mux@73 {
+ compatible = "nxp,pca9546";
+ reg = <0x73>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ imux24: i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux25: i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c-mux@70 {
+ compatible = "nxp,pca9546";
+ reg = <0x70>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ i2c25mux0: i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c25mux1: i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c25mux2: i2c@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c25mux3: i2c@3 {
+ reg = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+ };
+
+ imux26: i2c@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux27: i2c@3 {
+ reg = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
+ i2c-mux@75 {
+ compatible = "nxp,pca9546";
+ reg = <0x75>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ imux28: i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux29: i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c-mux@74 {
+ compatible = "nxp,pca9546";
+ reg = <0x74>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ i2c29mux0: i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c29mux1: i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c29mux2: i2c@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c29mux3: i2c@3 {
+ reg = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+ };
+
+ imux30: i2c@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux31: i2c@3 {
+ reg = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
+ i2c-mux@76 {
+ compatible = "nxp,pca9546";
+ reg = <0x76>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ imux32: i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux33: i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpio@21 {
+ compatible = "nxp,pca9555";
+ reg = <0x21>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ vcc-supply = <&reg_3v3_stby>;
+ gpio-line-names =
+ "SEC_RST_CX_0_L-O",
+ "SEC_RST_CX_1_L-O",
+ "SEC_CX0_SSD0_PRSNT_L-I",
+ "SEC_CX1_SSD1_PRSNT_L-I",
+ "SEC_CX_BOOT_CMPLT_CX0-I",
+ "SEC_CX_BOOT_CMPLT_CX1-I",
+ "SEC_CX_TWARN_CX0_L-I",
+ "SEC_CX_TWARN_CX1_L-I",
+ "SEC_CX_OVT_SHDN_CX0-I",
+ "SEC_CX_OVT_SHDN_CX1-I",
+ "SEC_FNP_L_CX0-O",
+ "SEC_FNP_L_CX1-O",
+ "",
+ "SEC_MCU_GPIO-I",
+ "SEC_MCU_RST_N-O",
+ "SEC_MCU_RECOVERY_N-O";
+ };
+ };
+
+ imux34: i2c@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux35: i2c@3 {
+ reg = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
+ i2c-mux@77 {
+ compatible = "nxp,pca9546";
+ reg = <0x77>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ imux36: i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux37: i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux38: i2c@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ imux39: i2c@3 {
+ reg = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+};
+
+// I2C7
+// Module 0/1 Leak Sensors
+// Module 0/1 Fan Controllers
+&i2c6 {
+ clock-frequency = <400000>;
+
+ pmic@12 {
+ compatible = "ti,lm5066i";
+ reg = <0x12>;
+ shunt-resistor-micro-ohms = <190>;
+ };
+
+ pmic@14 {
+ compatible = "ti,lm5066i";
+ reg = <0x14>;
+ shunt-resistor-micro-ohms = <190>;
+ };
+
+ pwm@20 {
+ compatible = "maxim,max31790";
+ reg = <0x20>;
+ };
+
+ pwm@23 {
+ compatible = "maxim,max31790";
+ reg = <0x23>;
+ };
+
+ pwm@2c {
+ compatible = "maxim,max31790";
+ reg = <0x2c>;
+ };
+
+ pwm@2f {
+ compatible = "maxim,max31790";
+ reg = <0x2f>;
+ };
+};
+
+// I2C9
+// M.2
+&i2c8 {
+ clock-frequency = <400000>;
+ multi-master;
+};
+
+// I2C10
+// Module 0/1 IO Expanders
+&i2c9 {
+ clock-frequency = <400000>;
+
+ // Module 0, Expander @0x20
+ exp0: gpio@20 {
+ compatible = "nxp,pca9555";
+ reg = <0x20>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
+ vcc-supply = <&reg_3v3_stby>;
+ gpio-line-names =
+ "FPGA_THERM_OVERT_L-I",
+ "FPGA_READY_BMC-I",
+ "HMC_BMC_DETECT-O",
+ "HMC_PGOOD-O",
+ "",
+ "BMC_STBY_CYCLE-O",
+ "FPGA_EROT_FATAL_ERROR_L-I",
+ "WP_HW_EXT_CTRL_L-O",
+ "EROT_FPGA_RST_L-O",
+ "FPGA_EROT_RECOVERY_L-O",
+ "BMC_EROT_FPGA_SPI_MUX_SEL-O",
+ "USB_HUB_RESET_L-O",
+ "NCSI_CS1_SEL-O",
+ "SGPIO_EN_L-O",
+ "B2B_IOEXP_INT_L-I",
+ "I2C_BUS_MUX_RESET_L-O";
+ };
+
+ // Module 1, Expander @0x21
+ exp1: gpio@21 {
+ compatible = "nxp,pca9555";
+ reg = <0x21>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
+ vcc-supply = <&reg_3v3_stby>;
+ gpio-line-names =
+ "SEC_FPGA_THERM_OVERT_L-I",
+ "SEC_FPGA_READY_BMC-I",
+ "",
+ "",
+ "",
+ "",
+ "SEC_FPGA_EROT_FATAL_ERROR_L-I",
+ "SEC_WP_HW_EXT_CTRL_L-O",
+ "SEC_EROT_FPGA_RST_L-O",
+ "SEC_FPGA_EROT_RECOVERY_L-O",
+ "SEC_BMC_EROT_FPGA_SPI_MUX_SEL-O",
+ "SEC_USB2_HUB_RST_L-O",
+ "",
+ "",
+ "",
+ "SEC_I2C_BUS_MUX_RESET_L-O";
+ };
+
+ // UT3.0b Expander @0x22
+ exp2: gpio@22 {
+ compatible = "nxp,pca9555";
+ reg = <0x22>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
+ gpio-line-names =
+ "BMC1_FANCTRL_FAIL_L-I",
+ "IOEXP_BMC_RST_12V-O",
+ "NODE_RST_STBY_H-O",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "";
+ };
+
+ // UT3.0b Expander @0x23
+ exp3: gpio@23 {
+ compatible = "nxp,pca9555";
+ reg = <0x23>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
+ gpio-line-names =
+ "PEXSW_FL_SPI_MUX_SEL-O",
+ "PEX_SW_FATAL_ERROR_3V3_L-I",
+ "IOEXP_PDB_NODE_EN_L-O",
+ "NODE_PWOK_ISO-I",
+ "BMC_FAN_PWR_EN-O",
+ "BMC_ETHERNET_INT-I",
+ "BMC_ENET_RST-O",
+ "IOEXP_BMC_RST_SENSE-O",
+ "BMC_ID-I",
+ "TPM_MUX_3V3_SEL_N-O",
+ "IOEXP_TPM_RST_N-O",
+ "TPM_DOWN_SPI_INT_L-I",
+ "PS_BRD_PGOOD-I",
+ "FP_BUTTON_POWER_N-I",
+ "FP_BUTTON_RESET_N-I",
+ "FP_LED_POWER_GPIOEXP_N-O";
+ };
+};
+
+// I2C11
+// BMC FRU EEPROM
+// BMC Temp Sensor
+&i2c10 {
+ clock-frequency = <400000>;
+
+ // BMC FRU EEPROM - 256 bytes
+ eeprom@50 {
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+ pagesize = <8>;
+ };
+};
+
+// I2C12
+&i2c11 {
+ clock-frequency = <400000>;
+};
+
+// I2C13
+&i2c12 {
+ status = "disabled";
+};
+
+// I2C14
+// Module 0 UPHY3 SMBus
+&i2c13 {
+ status = "disabled";
+};
+
+// I2C15
+// Module 1 UPHY3 SMBus
+&i2c14 {
+ clock-frequency = <100000>;
+ multi-master;
+
+ //E1.S drive slot 0-3
+ i2c-mux@77 {
+ compatible = "nxp,pca9546";
+ reg = <0x77>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ e1si2c0: i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ e1si2c1: i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ e1si2c2: i2c@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ e1si2c3: i2c@3 {
+ reg = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+};
+
+// I2C16
+&i2c15 {
+ clock-frequency = <100000>;
+ multi-master;
+
+ //E1.S drive slot 4-7
+ i2c-mux@77 {
+ compatible = "nxp,pca9546";
+ reg = <0x77>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-mux-idle-disconnect;
+ vdd-supply = <&reg_3v3_stby>;
+
+ e1si2c4: i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ e1si2c5: i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ e1si2c6: i2c@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ e1si2c7: i2c@3 {
+ reg = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+};
--
2.43.0



Return-Path: <linux-kernel+bounces-674030-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A6DFB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:19:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 183F67A3A6A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:17:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BCC381A840A;
Thu, 5 Jun 2025 04:18:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="dBcnWden"
Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49])
(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 D5143BA2E
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:18:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749097139; cv=none; b=rEq46qPPfyUNz+9j7Yhuvc+LfZEFpEm1ETbxwF+6m8EtmkFnfJ+xa2VZLOSKN+Jz5lsGChiaxOLZqOF47lQjWF17iYO1Q15EQuFzLaWsj5A88cnI/heOnDyrG+VwhuUkL3vZCpUEiVs+noVhWbO6/dViKgYFCbOVFhWM0AFc9LQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749097139; c=relaxed/simple;
bh=bx2Kj9sSofrF7t7EIXeCJJOaXbVRllv9Bpb6i+w+zdY=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=JM913OQAsgcrbbubLPceoHVWIsOFK9i7tdiIzXe7rBowUSk2DNWN05HRgoLBgPmlXNEQE2MxRbrK71zxbhCxzTeN0gtpqUKSIemplpmL/Iy9TdPaFp3knvBdbdOgUAQYJ6sqbyBbC40YWWt2AVhcQk7tYRzO1SCmecbYAAymenw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org; spf=pass smtp.mailfrom=linuxfoundation.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=dBcnWden; arc=none smtp.client-ip=209.85.218.49
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linuxfoundation.org
Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-ad51ba0af48so321102266b.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 21:18:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linux-foundation.org; s=google; t=1749097135; x=1749701935; darn=vger.kernel.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=F9yo9o38fJyHqRjj2p+pl4O+P1rBusXLank2hy0x8o4=;
b=dBcnWdennxuXI4+es2MhkeZ1KrYrJwZ0E0/nqvkbspddH0dhXGQFrZkP22X5Vx3sgL
1EWIKE5nRqZZjjPwiq9c5fAnTOcDAL+kKz6ePth3e6z23j3x2kpPbHR9k/KJDRd8bnZ0
ISMvV680JAvbQtdtx1OV7ghM2KRXFv8pSsZOQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749097135; x=1749701935;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=F9yo9o38fJyHqRjj2p+pl4O+P1rBusXLank2hy0x8o4=;
b=HL0aJYzLZ7pZ6CPQVj9XaDEvA8ksxarB02RIrhFGNG05wWSFcbuGJCDHlYWVmBdu+h
kDJJZ0l/zp5sBRQp2grtDAlzM/kchNEp3FC3oA9cXjq71WuIUtn6/l/1ys//FilGgJAQ
va5HW3bv6Qp5sNLfG2w1OhESOWvy5xjJ7DDRMCTEBsSAGpN+Hz1w5WeF5B9fdtyk/0p9
UyXcD/jhbYuxmEXj0AC+mD9vlUsW5b0m4w9t653vyOTJeJtqqfvHhvATqY1s6ny3TNlL
hK11PxV9KJ/00ke/AbED64lCa0iR3kXl1YZ60IjdUY5Aw3xTSlQXoWBACsooecG+2F67
oUlw==
X-Forwarded-Encrypted: i=1; AJvYcCWrxPuk+t1c1RI0Fp/vF1ty6AOYFZIMajkopulzeWYnLMjYg1GK8tok145N+tr8PcCa76xNLdTOseYPAkc=@vger.kernel.org
X-Gm-Message-State: AOJu0YwWXZVKK1tFaG+hViRyBaYaeo2/r1SBH/ynBRve/eK4w8Lnq4Wh
J+anCJEI0U3cxt+/x6d36teX0CNvb9SZoZ2VuDdFYVo2x319TvBd8wmb0UHWlbCP5OuhJoeK1d1
4FQMZmFA=
X-Gm-Gg: ASbGnctzyENU4g2a4bhgZkmVYz3lzFKpRG5QFC+JgxDCUe+xAwsG0YTbRJODZ9X6tyw
9XLDQIsRvZh3vncRwpZwyMVWE8Jr39xRiyiX06/04Yv/TQSJFFEyqip+IybxNusxhQGnfuM5cfX
SlRmrcXoYkd6EMJUjeaqwPYdt6gDCh6UtZU1Xc9DaXE2N0EIFjJXNNiPTn9iNZrBPYFSy8kM2iG
Mlv+qHCPuycFoV0ME7Yzovw9/6/I5Xw0I9TbllJrauIUZVOa41Vdjk+DnW+6t/wbVNbwSieKG4r
jBG2k7BkYqbyIv0v4QmbiVWsnfGmap2Y7/miupznEf5I1P3pE69uhElqkPiJ4ZBT+QkEWgl9Wxj
7QlwbXtTRGYfpqXMqRz8TR42K9A==
X-Google-Smtp-Source: AGHT+IFi+1zv93n7HJf8nNtmuoYS6+5Y/WxoPynsyLAiu4+w/FoX0+9aTPNQAwBgUkd1vqf0SjpwTA==
X-Received: by 2002:a17:907:3fa3:b0:ace:d587:2f3b with SMTP id a640c23a62f3a-ade0787bd4dmr156716666b.22.1749097134951;
Wed, 04 Jun 2025 21:18:54 -0700 (PDT)
Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com. [209.85.208.42])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ada5d7fef88sm1195746766b.35.2025.06.04.21.18.53
for <linux-kernel@xxxxxxxxxxxxxxx>
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 21:18:53 -0700 (PDT)
Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-6020ff8d35dso1281153a12.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 21:18:53 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCUnnp6iW++fUx2as98+Qhl34zSOIpImnPGq1znGEznsRmH19JCnOtzScN22x66V+F2X/3LglIK5R3sOJiA=@vger.kernel.org
X-Received: by 2002:a05:6402:50cf:b0:601:470b:6d47 with SMTP id
4fb4d7f45d1cf-60722629489mr1800092a12.1.1749097132977; Wed, 04 Jun 2025
21:18:52 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250605025400.244965-1-ojeda@xxxxxxxxxx>
In-Reply-To: <20250605025400.244965-1-ojeda@xxxxxxxxxx>
From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 4 Jun 2025 21:18:36 -0700
X-Gmail-Original-Message-ID: <CAHk-=wik7gvxt-CEak_4HsGziRwo6-7q9LGeW37Pj9182dJ=ow@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFtAvs9wozQ-rwI1G083uyw9H3jq8x4n8f2NRql_pfJMWPUvLEz1uBEkqq0
Message-ID: <CAHk-=wik7gvxt-CEak_4HsGziRwo6-7q9LGeW37Pj9182dJ=ow@xxxxxxxxxxxxxx>
Subject: Re: [GIT PULL] Rust for 6.16
To: Miguel Ojeda <ojeda@xxxxxxxxxx>
Cc: Alex Gaynor <alex.gaynor@xxxxxxxxx>, Boqun Feng <boqun.feng@xxxxxxxxx>,
Gary Guo <gary@xxxxxxxxxxx>, =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <benno.lossin@xxxxxxxxx>, Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, 4 Jun 2025 at 19:54, Miguel Ojeda <ojeda@xxxxxxxxxx> wrote:
>
> There are a few conflicts, including semantic ones, but they are all
> easy to apply. The resolutions in the latest linux-next are fine; I also
> did a test merge -- please check either to catch the semantic ones

Hmm. I don't understand why the suggested merge adds those

let self_ptr: *mut Opaque<bindings::drm_gem_object> = self_ptr.cast();

let ptr: *mut Opaque<bindings::drm_gem_object> = obj.cast();

cases to rust/kernel/drm/gem/mod.rs, and it built cleanly for me
without those changes, but that may be because my build doesn't
trigger this.

But in the name of safety, and because I didn't understand that
change, I modified my merge to do what you did.

Linus


Return-Path: <linux-kernel+bounces-674031-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EC09041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:23:43 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 412113AA5F2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:23:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1E5741B87D9;
Thu, 5 Jun 2025 04:23:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BQkcuyv2"
Received: from mail-yw1-f182.google.com (mail-yw1-f182.google.com [209.85.128.182])
(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 DC2F11C27;
Thu, 5 Jun 2025 04:23:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.182
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749097413; cv=none; b=osAQnax4c2CnaipHB6PQp1i5urKIKugX3j1qwSELnyd+8q/59H0ts9RDTOmAFmwiMceR589F/FlLt9tNKXp01CfR/Gcj4dP9+NpKirrDPU3eQ2KLSnx4ru1eLmjcuj9nPgX37VeM1SMhQf2g9UZ8/kJPBlGO/yA1nQ55H8RZkr4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749097413; c=relaxed/simple;
bh=xcqSsH8JG67hjrSowQ1GFIuINC5lXrn+xg+F6QxuczM=;
h=Date:From:To:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=nnirxnRfjHL0cCnoXBaaMu2TTEjI+ve0EqBW4XoJKzJKMRcE8nLi5wU3VBLNHn4fHJtQU4kQWMOhnFV8dEdBys4Yh20n0j8oZIKSnV+4qzq3zoiAtXxv8ej816rIvZg0iOxyOvePcLp3APY2gYa8A/inL3ofk501DaK+byN/pyo=
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=BQkcuyv2; arc=none smtp.client-ip=209.85.128.182
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
Received: by mail-yw1-f182.google.com with SMTP id 00721157ae682-7080dd5fe92so5353957b3.3;
Wed, 04 Jun 2025 21:23:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749097411; x=1749702211; darn=vger.kernel.org;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:to:from:date:from:to:cc:subject:date:message-id:reply-to;
bh=PcOrzpWjq/BkBEzwdw8mv0dCDmFt7adswzP9QPspSUg=;
b=BQkcuyv25nsHTMEq7yDAiS5iR1bfv4DfMb+aeDZjvNDcxUfZNPHtSP60hpavbgSQdv
d4kZCmL7M19lzUcvtWOgovv2oIIAq2j5Yb4zhxdhFbYrrq5D7QVwBJPNMTSuPvI4GphM
RCee9rsxVWZtjyc1ls6TXKSlecSrtiTf5i0FxP4A8xiZpIi9AI4wP5+TKqk/C6K2UvS8
v8caZ07qfHG4TlO3XWNl+MeZgT4n1O41rVAFuHXFDcjRwFAN715/w84j+jqZ5l/7zHGR
1Ns0sSf6rntyPGiSfumXvdieq08jtNf36bA0pDyZgovleIx+nRpU6G5+6SIEYI8n2u6N
n8Fg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749097411; x=1749702211;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=PcOrzpWjq/BkBEzwdw8mv0dCDmFt7adswzP9QPspSUg=;
b=tkjAo1+iHiodW0M+RZ4ocweYeCHuVTahSdWG4chK1oVzHWnwn+dDOWBjNB7EEQc9OD
zBZq+1JuAcMLh9VNUpEMCuWUR5GBTCLL+qss5uolv6Uj+Lazoiv4yt0kJsmTEGh9LRQA
/cfxRbsRNa/UEnTbWkXEET54yb79QzzG7sTH1QcKWjR0vxGJ0jKH84bHckzKkO36DJQ4
YsghAIHjy+SEEO95KQWIl9k65Pad4URMQzW8yKwo59YRQBa+dBZCsk/8X5MBkJB7mxeU
6PSoFczFQqqQDxX5rmj8fIhHodxvRsFhMTBtV1qHumaaZub/w1FJ82mGRL97uC6Tui1n
Q8wA==
X-Forwarded-Encrypted: i=1; AJvYcCWOPNuM9vXHKVwFaQKI9bqK+P8M8INYS+kThtjw2OKiR8oXzuNq3XfmooMllO25JvCCx6sw/1Tz@xxxxxxxxxxxxxxx, AJvYcCXGRb4LW72odsxUDpyE9bWoWwdnpaTQnxJFwTBSx7Pu7yRuJHscPCsOkAsQryzEdFl3Y8cYLH+BZvesKPc=@vger.kernel.org
X-Gm-Message-State: AOJu0Ywq+BUrSWhKvB2IYMLJxAKyf3L1zoTCMEEtvilgf1GAzl7AEHa0
lFZIm3Arqe3u9dBHLLfgOt2W4nQ4mhoYNKk+1gRMp15hnDWLWCXS3LSL
X-Gm-Gg: ASbGncvFktWsQg9lRBuuteIuBgf7Q6SEYxoM4Dlcg9JI2NO1Abycp4PPQCInU4tw6xr
uyvRRGISbQsZSHsCJ8aKblcSajp7husqiczZ+q5dp3aQ2A9y4uiyynkMKU6iwPWcA7SpcA+G3Mz
vLkL3dndWvU/wvNIQMfKBWYq5eu/EPJVg+MOGKGhQbH8CV0w3bbQmMvS1I5KYWbwscTWW4T8Xf3
a43imCKZ4tlkSAb81hB78dU2rZUJIxC6taz2jPQ6SmqABoeKQGEdWCmflN/P1aW8abIpYo7v1KK
EktLobw8teCLP627/4yOFzYuk7btwWKG5IAvbDoEjeBj91N5vURJuhwfFxeFyP52rOHcj/Xnu9P
CinstMq3U+mc=
X-Google-Smtp-Source: AGHT+IGwjW7MDmAwX88wzy2K6C4SsiEVtRq6YqAm1ZsuSD7WYUpOBa/WcBffoD7Zr8Xr/9saSv6bAA==
X-Received: by 2002:a05:6902:2e05:b0:e81:8760:15c8 with SMTP id 3f1490d57ef6-e8187601fc2mr3665429276.28.1749097410596;
Wed, 04 Jun 2025 21:23:30 -0700 (PDT)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net. [73.224.175.84])
by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-e7f733ee856sm3483847276.30.2025.06.04.21.23.29
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 21:23:29 -0700 (PDT)
Date: Thu, 5 Jun 2025 00:23:29 -0400
From: Yury Norov <yury.norov@xxxxxxxxx>
To: "Jason A. Donenfeld" <Jason@xxxxxxxxx>,
Andrew Lunn <andrew+netdev@xxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
wireguard@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] wireguard/queueing: simplify wg_cpumask_next_online()
Message-ID: <aEEbwQzSoVQAPqLq@yury>
References: <20250604233656.41896-1-yury.norov@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604233656.41896-1-yury.norov@xxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 07:36:55PM -0400, Yury Norov wrote:
> wg_cpumask_choose_online() opencodes cpumask_nth(). Use it and make the
> function significantly simpler. While there, fix opencoded cpu_online()
> too.
>
> Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
> ---
> drivers/net/wireguard/queueing.h | 14 ++++----------
> 1 file changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/wireguard/queueing.h b/drivers/net/wireguard/queueing.h
> index 7eb76724b3ed..3bfe16f71af0 100644
> --- a/drivers/net/wireguard/queueing.h
> +++ b/drivers/net/wireguard/queueing.h
> @@ -104,17 +104,11 @@ static inline void wg_reset_packet(struct sk_buff *skb, bool encapsulating)
>
> static inline int wg_cpumask_choose_online(int *stored_cpu, unsigned int id)
> {
> - unsigned int cpu = *stored_cpu, cpu_index, i;
> + if (likely(*stored_cpu < nr_cpu_ids && cpu_online(*stored_cpu)))
> + return cpu;

Oops... This should be
return *stored_cpu;

I'll resend, sorry for noise.

>
> - if (unlikely(cpu >= nr_cpu_ids ||
> - !cpumask_test_cpu(cpu, cpu_online_mask))) {
> - cpu_index = id % cpumask_weight(cpu_online_mask);
> - cpu = cpumask_first(cpu_online_mask);
> - for (i = 0; i < cpu_index; ++i)
> - cpu = cpumask_next(cpu, cpu_online_mask);
> - *stored_cpu = cpu;
> - }
> - return cpu;
> + *stored_cpu = cpumask_nth(id % num_online_cpus(), cpu_online_mask);
> + return *stored_cpu;
> }
>
> /* This function is racy, in the sense that it's called while last_cpu is
> --
> 2.43.0


Return-Path: <linux-kernel+bounces-674032-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3518F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:24:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7819C3AA584
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:23:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 643751BEF74;
Thu, 5 Jun 2025 04:24:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="qSk7bTlf"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 958E442065;
Thu, 5 Jun 2025 04:24:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749097440; cv=none; b=HR9pBc1AR67xoQMIzQCRkkguzSO70fA45ueW+2vzmFZ83//zMhBvHNoc0gagYgM5Kg8yDQB0JRRlpE8dm40TTe6VdEcVJsAut7sjnF9nDX8oGE4vic+dBeSVpvN78ybDGmKJhZEiP7TMtN4eAW9fraaYCgElbNOBmA6a0sQ27EY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749097440; c=relaxed/simple;
bh=cl/9dwi0NgI67Cm44M2Id5f8c++OtBegUIKnmKrji74=;
h=Subject:From:In-Reply-To:References:Message-Id:Date:To:Cc; b=Ffl0q6A5+nxIYDMl1KgzqGaZX4btrF67R3UzQ52guvAwi8z9kbdgPny7pmcoRpXqxmTXbLLjQcAncXcJQjEuV8muraeaKeXBkQz/+o0ctFZPG0ciWYTB5/3kvQpBIOUdCd4oAG//VWUXuQoWFf7SICvRtiOU35g3sTs9Mgty9oI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=qSk7bTlf; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 704BDC4CEE7;
Thu, 5 Jun 2025 04:24:00 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749097440;
bh=cl/9dwi0NgI67Cm44M2Id5f8c++OtBegUIKnmKrji74=;
h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
b=qSk7bTlfW/T/rKpWbhFHi655q/IS5OcwbFcA8qAbAe7WffeDUYoTlM565ctLty85e
PJrJqlgNSNGzRhm/IeR3KJTrZm1FG2Hvw7YGDP8WzwRZl8tXo0JJ8MI5JlgeOghPTr
nJAn1spaH1cS7xrb01v0nDccs+UPFVJpg1UdZiAgKvmJSU1zZAuWYojjRbbI2bquNf
CgdCQkPqLJ9LnOo9n9b/OmDEYsV2Iu2jBn6TrmgVFvnnKUtEIlJBKpSSJh7gYR++CS
FC23DWTTakSgWQMbrQ6bGp7SJrx9BJQcnsGDdbPS+yZJxFwYGNJpJak8Jg7SnZQhRW
Sah1B5DJl/ncw==
Received: from [10.30.226.235] (localhost [IPv6:::1])
by aws-us-west-2-korg-oddjob-rhel9-1.codeaurora.org (Postfix) with ESMTP id AE160380CED9;
Thu, 5 Jun 2025 04:24:33 +0000 (UTC)
Subject: Re: [GIT PULL] Rust for 6.16
From: pr-tracker-bot@xxxxxxxxxx
In-Reply-To: <20250605025400.244965-1-ojeda@xxxxxxxxxx>
References: <20250605025400.244965-1-ojeda@xxxxxxxxxx>
X-PR-Tracked-List-Id: <linux-kernel.vger.kernel.org>
X-PR-Tracked-Message-Id: <20250605025400.244965-1-ojeda@xxxxxxxxxx>
X-PR-Tracked-Remote: https://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux.git rust-6.16-test-merge
X-PR-Tracked-Commit-Id: 7a17bbc1d952057898cb0739e60665908fbb8c72
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: ec7714e4947909190ffb3041a03311a975350fe0
Message-Id: <174909747230.2573604.4030348226584390118.pr-tracker-bot@xxxxxxxxxx>
Date: Thu, 05 Jun 2025 04:24:32 +0000
To: Miguel Ojeda <ojeda@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Miguel Ojeda <ojeda@xxxxxxxxxx>, Alex Gaynor <alex.gaynor@xxxxxxxxx>, Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>, =?UTF-8?q?Bj=C3=B6rn=20Roy=20Baron?= <bjorn3_gh@xxxxxxxxxxxxxx>, Benno Lossin <benno.lossin@xxxxxxxxx>, Andreas Hindborg <a.hindborg@xxxxxxxxxx>, Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>, Danilo Krummrich <dakr@xxxxxxxxxx>, rust-for-linux@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The pull request you sent on Thu, 5 Jun 2025 04:54:00 +0200:

> https://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux.git rust-6.16-test-merge

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/ec7714e4947909190ffb3041a03311a975350fe0

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


Return-Path: <linux-kernel+bounces-674033-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D786641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:31:17 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id CC399173245
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:31:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B6E3D1ACEDF;
Thu, 5 Jun 2025 04:31:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="nxmIL+2L"
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2046.outbound.protection.outlook.com [40.107.237.46])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D7E13D530;
Thu, 5 Jun 2025 04:31:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.46
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749097869; cv=fail; b=kYd1m+3WtMWqGtmKXKExT1L3KmkkTf9Phkdzrwc0pOt9Sdvn7VoS+KwfvuHTjTNaBImRCA/2bDa7fdsVn4XOi9NVQRlsLfMVE9egWR1OobI3w8QDq1zkY9OOp9Qa+ZHVydUrECAf2sP5vSPWgLm/kF0d1c67DLWpWmFJSn5+i/o=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749097869; c=relaxed/simple;
bh=hNTqxbvVnAOkXmqbK79/9J3JOTwFDOwJ6ynQwiLqQjk=;
h=Date:From:To:CC:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=t7AHe5KrFAKBO95DR/Phemg32tQL9HkQ0kd0nEbFo1vn8EnrmajiYXct3oTsb3OaTfe2AYx4NDy4VPwkqlhoTuLCQt+V3gJ0WHni6tAN14ir4poCr5dHVpDx8LUMJOCn7YcH33RDZ/ZACxeJQQU5TT14Z1ld4QMSLOWY42bR4kk=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=nxmIL+2L; arc=fail smtp.client-ip=40.107.237.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=GmVN105MMbiHb6TetFj11SAxmrt5WIIjRxvpEbEblVdBexJQPaQwXDsD8CG41oVbzqTL/T9F0NgY+mYA8Et06jqFioOat8NWQUHKBPW2LQ59TnQBBC214o5RlkpmJk/q6tH6jukjyAu6RiIEee4DjPMEjJvrxy/p8GQG4z0kPzzG/MeIuU2Hksm3pBEMoT/zcuIq6JqSXvZltegvF4ruBpDX/KPVM5Z3GfWdHqq+woVFQ0YlKWpZK0yT9A5LRJbbe8QZQkA0lTLQ1lFQbG2/Swz+67Sp3leWlXDKbZ547aJx1pNyeSbPxqOywZL8nerRwE2WDWMeT17pI+TIelYmjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=Graq5oPHM/ZTYuWvaLkdJcd+VeT0j4xdlqa4jEASiQU=;
b=GIjAtyybcCIwON6LBM4+6V1RAahO7kp0GVHDCYcf9yF6K9t8R/igfk0XTiXkVenoN4SBQ+K2LwtHSoKAt1znT5leOsnb0cQjZ0sL2Ep/9hGA/zSRJzzhhAxfKXXaKWedFMhUn+bEfFhJlgTtmeUQGd9SiDdSF0sP7BhHVaw5w9PbOcb3nm8gdqtB2uVL36Bz/6+7SgdX4QGcxUOQSWpVu6o9oGUL0os/qhslUFR1Kn78NHdCE7K5zSQQJtQ+Suz9iyzkrDtvJqBEzovMdqpuo4sPf0pHwqZQbAeIfWNweSYWY/Df2DijlFGdSQaVSv1yoUV9pNMJ0NKlmoGj+v6IEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
216.228.117.160) smtp.rcpttodomain=amd.com smtp.mailfrom=nvidia.com;
dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;
dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=Graq5oPHM/ZTYuWvaLkdJcd+VeT0j4xdlqa4jEASiQU=;
b=nxmIL+2LS70BbUbBaQED1AtNuYgfXruLYnxtxORyd3gMj7tnzyDfIdFqGG/d7KxS69lpwlu1paHwWPG8OvW2zH5P7ueoSpz5vT7g3QZgC01BVEs0jcCNzf4RASoFLUTVT6m9NmIO7JyQSJ07o7931ePWI0cCi1NGXuxe/w8m5oU7M5uXtJXuw198D+A5BxVW2ec2tBAA5ha4Ymt5TOw5jX0RrdLiL7oiqYstHgYzq57H9zW8Y9x0s/CgLYL8HKYzoYtv1VaysYS0ob7dddmx8QPd/cs+rDJt1FhEVG8wc9TXYUOx9belA2QfMsY2PZftcx5kNwkQPH+we4NDob30kQ==
Received: from SJ0PR13CA0055.namprd13.prod.outlook.com (2603:10b6:a03:2c2::30)
by LV2PR12MB5990.namprd12.prod.outlook.com (2603:10b6:408:170::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.33; Thu, 5 Jun
2025 04:31:02 +0000
Received: from MWH0EPF000A6733.namprd04.prod.outlook.com
(2603:10b6:a03:2c2:cafe::c5) by SJ0PR13CA0055.outlook.office365.com
(2603:10b6:a03:2c2::30) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8769.15 via Frontend Transport; Thu,
5 Jun 2025 04:31:01 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160)
smtp.mailfrom=nvidia.com; dkim=none (message not signed)
header.d=none;dmarc=pass action=none header.from=nvidia.com;
Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates
216.228.117.160 as permitted sender) receiver=protection.outlook.com;
client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C
Received: from mail.nvidia.com (216.228.117.160) by
MWH0EPF000A6733.mail.protection.outlook.com (10.167.249.25) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8792.29 via Frontend Transport; Thu, 5 Jun 2025 04:31:01 +0000
Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com
(10.129.200.66) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Wed, 4 Jun 2025
21:30:42 -0700
Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail201.nvidia.com
(10.129.68.8) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Wed, 4 Jun
2025 21:30:41 -0700
Received: from Asurada-Nvidia (10.127.8.14) by mail.nvidia.com (10.129.68.8)
with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14 via Frontend
Transport; Wed, 4 Jun 2025 21:30:40 -0700
Date: Wed, 4 Jun 2025 21:30:38 -0700
From: Nicolin Chen <nicolinc@xxxxxxxxxx>
To: Jason Gunthorpe <jgg@xxxxxxxxxx>
CC: <kevin.tian@xxxxxxxxx>, <corbet@xxxxxxx>, <will@xxxxxxxxxx>,
<bagasdotme@xxxxxxxxx>, <robin.murphy@xxxxxxx>, <joro@xxxxxxxxxx>,
<thierry.reding@xxxxxxxxx>, <vdumpa@xxxxxxxxxx>, <jonathanh@xxxxxxxxxx>,
<shuah@xxxxxxxxxx>, <jsnitsel@xxxxxxxxxx>, <nathan@xxxxxxxxxx>,
<peterz@xxxxxxxxxxxxx>, <yi.l.liu@xxxxxxxxx>, <mshavit@xxxxxxxxxx>,
<praan@xxxxxxxxxx>, <zhangzekun11@xxxxxxxxxx>, <iommu@xxxxxxxxxxxxxxx>,
<linux-doc@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-tegra@xxxxxxxxxxxxxxx>,
<linux-kselftest@xxxxxxxxxxxxxxx>, <patches@xxxxxxxxxxxxxxx>,
<mochs@xxxxxxxxxx>, <alok.a.tiwari@xxxxxxxxxx>, <vasant.hegde@xxxxxxx>,
<dwmw2@xxxxxxxxxxxxx>, <baolu.lu@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH v5 09/29] iommufd: Do not unmap an owned iopt_area
Message-ID: <aEEdbha8TNCUtTgQ@Asurada-Nvidia>
References: <cover.1747537752.git.nicolinc@xxxxxxxxxx>
<3ddc8c678406772a8358a265912bb1c064f4c796.1747537752.git.nicolinc@xxxxxxxxxx>
<20250528170845.GX61950@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20250528170845.GX61950@xxxxxxxxxx>
X-NV-OnPremToCloud: AnonymousSubmission
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000A6733:EE_|LV2PR12MB5990:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c7dfe08-f8cc-4a15-239b-08dda3e9c6ec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7416014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?k6PWESUSbdvB68j3UHO2RXSMnMciwn8KuWN9ZzoNeo1GiQxifUtOrUhzN/Mp?=
=?us-ascii?Q?aYS/BRNokUMrAs1Dfyf6tpMB8ywR2Pydd83PdFSAr5gcjdxL+v9LX6SsMmwM?=
=?us-ascii?Q?eE+WRmJt4/FDNVRPc3buoTKPAyhl0hMAMw0vElt76qG8xDtV6z/KoUGqd6Lq?=
=?us-ascii?Q?GYL68yt7cp4Vxg5LrqYlPWvpHqknDJiTUgoFko+g34KM3JzDiy6tdLxwDtR4?=
=?us-ascii?Q?iMXW3Le+rtPHhoesnVRC9xt84zrGo2JEwB9wJjt4yLHslfSvMJ/HzvMEpiOz?=
=?us-ascii?Q?zd3A6LPiDpPKZ6hD5+Oj0dBEYCC+UOPwGtR1mdYJCLBhvS/7cLWYU5UWFrpA?=
=?us-ascii?Q?k0GRIiWfJfhjY/VViTmzdpAuBa8uRT2VdB1kPFAn8HjVq8WdxKlOsulfAVqb?=
=?us-ascii?Q?PwwMwoXXW2MS591YzGkmBKD/vqsD0ysLw/eSzRPGMX4yskCY9dYUvpE6ZW1c?=
=?us-ascii?Q?8qib+26jTUxsCKF3agg+Xh5NxiFvxzECd0EvPIfiWckhicO0V87/c/ZuT0yM?=
=?us-ascii?Q?xiGVG81sVOoAui3szHDVz7VK/HQfFg5OjRlDx4hSZ3dMeH7vYlf4hKiijkJ9?=
=?us-ascii?Q?T4c0IeQ159H/e1V4LZl9bUcakePbZHDQLyFTZ3zYMEStQtXYcx+3Y9/if3tk?=
=?us-ascii?Q?rtqu8iHb8WCryhWlpJbXMervoCE51hwv8PIht/fF9MyfURKJG3U3YV7uLTeU?=
=?us-ascii?Q?Mh7e5v/gv/MUgyPPkGxpfjiqxfvJWlgMxtApnLr6kfwFIx6zyGOh57kBKHzz?=
=?us-ascii?Q?zLXUoAVLFooKAlpYMIBbmE683NwlubWB5HlS5ulY1IUpbNuJrcTehDAc8kS4?=
=?us-ascii?Q?ilEFsTaPffbQJBKnwtUmPQE9GHweM1jSA3VgJd3tc9VSIFhbUdjMqfF0Mjvz?=
=?us-ascii?Q?q2WS1FDDuM2kFYcrlYMKKZlw+vR1yJ67dpn+4Nt7hJbJx7VODNdXSCgTIXRZ?=
=?us-ascii?Q?8GxhtJ/XRwtL6dVqUbQRywjHd2D1equBSMJV5q1kYn8ETh49Qf9qngV+s44m?=
=?us-ascii?Q?ygXcvkeNvFnl0Klt4/TnCYa2ls9GCD3osJQJX6Xw3FDj3yAfgwwOn1kkQ1Yl?=
=?us-ascii?Q?UPqlPJNs32EFepxgMFYaqpTAdXqEyASMgMAavvGlv9DNVvffQUvQTWSGEUh7?=
=?us-ascii?Q?YTdEELe8dqbAA/o1zfkFF3saXLiI91olCNDXDRYxWMY4A9xLIZJ8P/lyW0Ga?=
=?us-ascii?Q?6SEvRSQeQbKRB8v/0A7e+Ddcd0X16kYGaLAOpf64KolO4ZP0943EkBHUjdxK?=
=?us-ascii?Q?1tftlcTQUit5EnLiBfFLrJnWo7l071sJyL676lajpvAJedg7Pz7vMltXZvMq?=
=?us-ascii?Q?Ct7bymMnjGdAMPfP3I8MGijW6KerqqfpJOfYQsylc5+Jd5ZaQELr+6a8JGqg?=
=?us-ascii?Q?SXI0vVA7AiwpgdGDfXR42U1yyPj6vqkf5EbVvQXbBpa/n8FkJeIhK/Z5ZotF?=
=?us-ascii?Q?qp23vsnqeLRJn9IMEyQbhHxWFLM0MtDCR38/5fPAM72ycWQg8zbc4bQVIkwD?=
=?us-ascii?Q?PHXDZ1E4r0So6PHHd3p6T+z8m1B4DBLF86Q2?=
X-Forefront-Antispam-Report:
CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 04:31:01.5167
(UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c7dfe08-f8cc-4a15-239b-08dda3e9c6ec
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com]
X-MS-Exchange-CrossTenant-AuthSource:
MWH0EPF000A6733.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5990
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, May 28, 2025 at 02:08:45PM -0300, Jason Gunthorpe wrote:
> @@ -740,11 +740,16 @@ static int iopt_unmap_iova_range(struct io_pagetable *iopt, unsigned long start,
> up_write(&iopt->iova_rwsem);
> up_read(&iopt->domains_rwsem);
>
> - iommufd_access_notify_unmap(iopt, area_first, length);
> + rc = iommufd_access_notify_unmap(iopt, area_first, length);
> + if (rc)
> + goto out_unmapped;
> +

I found that we have to re-take those rwsems to unset a flag:

rc = iommufd_access_notify_unmap(iopt, area_first, length);
if (rc) {
down_read(&iopt->domains_rwsem);
down_write(&iopt->iova_rwsem);
area->prevent_access = false;
goto out_unlock_iova;
}

Will include this in the patch.

Thanks
Nicolin


Return-Path: <linux-kernel+bounces-674034-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D2D3A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:34:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B4C3A3AA2AA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:34:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EC0A41B0439;
Thu, 5 Jun 2025 04:34:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="j4BsejGm";
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="ImT1PK+u";
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="j4BsejGm";
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="ImT1PK+u"
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
(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 89270146D6A
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:34:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749098074; cv=none; b=EMsMZ3BtXA7QaI3VhZeKCrcrFL5Po6S7IKlZs8HFXiAcuUuwbU81X34eyD6MktqjhZT30PXCDh/2L239ZGFo9OVFpCqWXkMPZ43eI+3//PeVSiOIbEMiLGxEbbI2lGo3NF5MO82f309C9gkUmAQChbaUyGhgK3ohTHt0GLiqSKY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749098074; c=relaxed/simple;
bh=KlywLjCpoYLVKd1KHU/SoX6JWccv4fV2YByeX0jQmUI=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=d/gnm+0Bl5ltBBWdIRf91pOZYNTE0xjYlBeAjSRiDIhWAOhfQU/6iRQ/kuBUJzHwM1TWbO30+Qf28QiCU+RGj87hgE48FETcjGvIzqXtnsgUI0ImUyOYBEjOWzW1tG8NmK9lZFu7dHdCboO5oFlfyMP7sX6d04hpVWz5MUnyNu8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de; spf=pass smtp.mailfrom=suse.de; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=j4BsejGm; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=ImT1PK+u; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=j4BsejGm; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=ImT1PK+u; arc=none smtp.client-ip=195.135.223.130
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.de
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out1.suse.de (Postfix) with ESMTPS id 7A10B211B8;
Thu, 5 Jun 2025 04:34:30 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
t=1749098070; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=Vhg/BSQkQq1b9VFsC44xsekkKzQTY9ISghkCrgC0U1c=;
b=j4BsejGmsGIart99M2DYOoBQRNrxndzoLe0uY67fCL+DfJ0mKiVsqYYkqtXe6TUoSP4RCN
OBqU5Xq6N3FWBLDUCzTXBXHfVUfBL//MihaCCFhZPq5VLy/Pp+YfVnxXur7lpmwbyF+R7S
Oe2FhipjgZrzJoIZhn0/QQce+fyosNI=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
s=susede2_ed25519; t=1749098070;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=Vhg/BSQkQq1b9VFsC44xsekkKzQTY9ISghkCrgC0U1c=;
b=ImT1PK+usPgp6EFG7l/JQOANOn7kVpf/m9BBX94NrCn59BYc5biRXmJyp34SnwjsK5hvbF
ArQ1+zPywDQOLSDQ==
Authentication-Results: smtp-out1.suse.de;
none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
t=1749098070; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=Vhg/BSQkQq1b9VFsC44xsekkKzQTY9ISghkCrgC0U1c=;
b=j4BsejGmsGIart99M2DYOoBQRNrxndzoLe0uY67fCL+DfJ0mKiVsqYYkqtXe6TUoSP4RCN
OBqU5Xq6N3FWBLDUCzTXBXHfVUfBL//MihaCCFhZPq5VLy/Pp+YfVnxXur7lpmwbyF+R7S
Oe2FhipjgZrzJoIZhn0/QQce+fyosNI=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
s=susede2_ed25519; t=1749098070;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=Vhg/BSQkQq1b9VFsC44xsekkKzQTY9ISghkCrgC0U1c=;
b=ImT1PK+usPgp6EFG7l/JQOANOn7kVpf/m9BBX94NrCn59BYc5biRXmJyp34SnwjsK5hvbF
ArQ1+zPywDQOLSDQ==
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 22774137FE;
Thu, 5 Jun 2025 04:34:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id ViaJBVUeQWirdwAAD6G6ig
(envelope-from <osalvador@xxxxxxx>); Thu, 05 Jun 2025 04:34:29 +0000
Date: Thu, 5 Jun 2025 06:34:23 +0200
From: Oscar Salvador <osalvador@xxxxxxx>
To: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Barry Song <baohua@xxxxxxxxxx>,
David Hildenbrand <david@xxxxxxxxxx>,
"Liam R . Howlett" <Liam.Howlett@xxxxxxxxxx>,
Vlastimil Babka <vbabka@xxxxxxx>, Mike Rapoport <rppt@xxxxxxxxxx>,
Suren Baghdasaryan <surenb@xxxxxxxxxx>,
Michal Hocko <mhocko@xxxxxxxx>, Muchun Song <muchun.song@xxxxxxxxx>,
Huacai Chen <chenhuacai@xxxxxxxxxx>,
WANG Xuerui <kernel@xxxxxxxxxx>, Jonas Bonn <jonas@xxxxxxxxxxxx>,
Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx>,
Stafford Horne <shorne@xxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Albert Ou <aou@xxxxxxxxxxxxxxxxx>, Alexandre Ghiti <alex@xxxxxxxx>,
Jann Horn <jannh@xxxxxxxxxx>, loongarch@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-openrisc@xxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx
Subject: Re: [PATCH v2] mm/pagewalk: split walk_page_range_novma() into
kernel/user parts
Message-ID: <aEEeT2zyafbHzSyy@localhost.localdomain>
References: <20250604141958.111300-1-lorenzo.stoakes@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604141958.111300-1-lorenzo.stoakes@xxxxxxxxxx>
X-Spamd-Result: default: False [-4.29 / 50.00];
BAYES_HAM(-3.00)[100.00%];
NEURAL_HAM_LONG(-0.99)[-0.989];
NEURAL_HAM_SHORT(-0.20)[-0.997];
MIME_GOOD(-0.10)[text/plain];
RCVD_TLS_ALL(0.00)[];
RCVD_VIA_SMTP_AUTH(0.00)[];
MIME_TRACE(0.00)[0:+];
ARC_NA(0.00)[];
RCPT_COUNT_TWELVE(0.00)[25];
MISSING_XM_UA(0.00)[];
FREEMAIL_ENVRCPT(0.00)[gmail.com];
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
FROM_HAS_DN(0.00)[];
FREEMAIL_CC(0.00)[linux-foundation.org,kernel.org,redhat.com,oracle.com,suse.cz,google.com,suse.com,linux.dev,xen0n.name,southpole.se,saunalahti.fi,gmail.com,sifive.com,dabbelt.com,eecs.berkeley.edu,ghiti.fr,lists.linux.dev,vger.kernel.org,lists.infradead.org,kvack.org];
TO_DN_SOME(0.00)[];
FROM_EQ_ENVFROM(0.00)[];
TO_MATCH_ENVRCPT_ALL(0.00)[];
RCVD_COUNT_TWO(0.00)[2];
FUZZY_BLOCKED(0.00)[rspamd.com];
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,imap1.dmz-prg2.suse.org:helo]
X-Spam-Level:
X-Spam-Score: -4.29
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 03:19:58PM +0100, Lorenzo Stoakes wrote:
> The walk_page_range_novma() function is rather confusing - it supports two
> modes, one used often, the other used only for debugging.
>
> The first mode is the common case of traversal of kernel page tables, which
> is what nearly all callers use this for.
>
> Secondly it provides an unusual debugging interface that allows for the
> traversal of page tables in a userland range of memory even for that memory
> which is not described by a VMA.
>
> It is far from certain that such page tables should even exist, but perhaps
> this is precisely why it is useful as a debugging mechanism.
>
> As a result, this is utilised by ptdump only. Historically, things were
> reversed - ptdump was the only user, and other parts of the kernel evolved
> to use the kernel page table walking here.
>
> Since we have some complicated and confusing locking rules for the novma
> case, it makes sense to separate the two usages into their own functions.
>
> Doing this also provide self-documentation as to the intent of the caller -
> are they doing something rather unusual or are they simply doing a standard
> kernel page table walk?
>
> We therefore establish two separate functions - walk_page_range_debug() for
> this single usage, and walk_kernel_page_table_range() for general kernel
> page table walking.
>
> We additionally make walk_page_range_debug() internal to mm.
>
> Note that ptdump uses the precise same function for kernel walking as a
> convenience, so we permit this but make it very explicit by having
> walk_page_range_novma() invoke walk_kernel_page_table_range() in this case.
>
> Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> Acked-by: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>

Reviewed-by: Oscar Salvador <osalvador@xxxxxxx>


--
Oscar Salvador
SUSE Labs


Return-Path: <linux-kernel+bounces-674035-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2CD7841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:44:35 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 9F1D63AA48C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:44:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 812C01C3C14;
Thu, 5 Jun 2025 04:44:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="dRdpQcMu"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1936A143748
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:44:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749098668; cv=none; b=aqNAb2IV/v5kDEMrYFWDHVHwjZ9LGz6hgO6U52qRMbr04wNHrGDhedALJ5E8/nAOfeqjed+zGg72/daWD90Mea00Oz8BLNSR6ypyPYwEpZMMmjHOfgOFUyU9Z62Uc7GdV+Ch06kLxuVJ6b3YHm/QZkVz+V7OsIZxnVFq5Z0YOI4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749098668; c=relaxed/simple;
bh=RhvWrjSWo6T0I7Dy3t5SLtp9vTk57trWxV/jPe9QL4g=;
h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=QzqWHWwfGFT5/PMu+FG6k/Dw788BNp3uUf3No8pygwAnLw9mGkCz8M3l6Y72RMi6H50sGeFhd2wZkrqHnHTu5AFzeRL56ZHeHW2qsS2EC5EW8JYLwBDbH2JfAsYl02NQPKgoiNNV51LFTuUWkVT+O3mzGzBWuSwzInnbz+j0HeY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=dRdpQcMu; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com
Received: from pps.filterd (m0279862.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554NJZF5031915;
Thu, 5 Jun 2025 04:44:19 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
cc:content-transfer-encoding:content-type:date:from:message-id
:mime-version:subject:to; s=qcppdkim1; bh=qcI9oLneDHpSrp750wTWGm
UjFEtYOdFUi0EQGXqymtk=; b=dRdpQcMucISS/dxjKjK0IIVBpjGgpy2RM0+ZK9
ZnEf1OTWnEg5lJOjyVbNsPwBfbS+rc2Dnj1ul5eXUVAdPxpfJnQp11p0/25f30Ue
auQaf3COUjB5IuYTWRexgj86g432x5OQePZ6oGZzzdxIoUO4b+gFuwYueMOXoRaj
o3ulg5wwivQmtYEOpNDCA0f+k46EXHF+SAAwCq1WfkKCiHfA5Zaf+NzEXuj3XAdK
oJ5bcng2dYcS2pfaXu1ho32PxmtFVlgOM7tKpvmHaIqRCith23tX2YHIGtqEtgOz
iB3hlOBARPayqAcRN2GEpEKfcBmhZ6k3GIXHHxUKfIkmk4Fg==
Received: from nasanppmta04.qualcomm.com (i-global254.qualcomm.com [199.106.103.254])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 472be83tr8-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 05 Jun 2025 04:44:19 +0000 (GMT)
Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250])
by NASANPPMTA04.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 5554iJ07027588
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 5 Jun 2025 04:44:19 GMT
Received: from ap-cloud-sh02-lnx.qualcomm.com (10.80.80.8) by
nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.9; Wed, 4 Jun 2025 21:44:17 -0700
From: Songwei Chai <quic_songchai@xxxxxxxxxxx>
To: Julia Lawall <Julia.Lawall@xxxxxxxx>,
Nicolas Palix
<nicolas.palix@xxxxxxx>, <cocci@xxxxxxxx>
CC: <linux-kernel@xxxxxxxxxxxxxxx>, <quic_songchai@xxxxxxxxxxx>,
<quic_tingweiz@xxxxxxxxxxx>, <quic_jinlmao@xxxxxxxxxxx>
Subject: [PATCH v1] scripts: coccicheck: filter *.cocci files by MODE
Date: Thu, 5 Jun 2025 12:44:05 +0800
Message-ID: <20250605044405.2057511-1-quic_songchai@xxxxxxxxxxx>
X-Mailer: git-send-email 2.34.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To
nasanex01b.na.qualcomm.com (10.46.141.250)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Authority-Analysis: v=2.4 cv=bNYWIO+Z c=1 sm=1 tr=0 ts=684120a3 cx=c_pps
a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17
a=GEpy-HfZoHoA:10 a=6IFa9wvqVegA:10 a=COk6AnOGAAAA:8 a=WKtsJadjgsE31bDWsHgA:9
a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-GUID: 3_CYi77ldzOnVAZ6IEeDIwtbgC_UuWzx
X-Proofpoint-ORIG-GUID: 3_CYi77ldzOnVAZ6IEeDIwtbgC_UuWzx
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDAzOSBTYWx0ZWRfXxA/a02RBR5CP
Lzu4bhFSZc9nc9x7/hfLQe1S+O4vq2DVuZaM0Z/P/h0ZPMNlJUdTv9qw4DFxO4R6mROkqEcQMKK
ugitV5ZVn2rGsPBjRd7oHYKlx7LBllrQIVVtEdViX1CRFYWYsXJD2+1K2I1KzWvGO9zBbxkadBC
sXOep+KEGZ9WUJr9jjklwB+T5oEe5HRsSZ2GS0mwQdsPVGARDal1eNGLjeXikWIyffljr6Eq2ed
Q4Le/I2F884dBYWWfctbY9P7+NNP35Rpi3eOjdOYAzp+6IfjTmBv3ERSq6VS/9UME8UD6IVxsin
UHV10UxUgw3yLaLj0nxKcMmvBBv58y/VJcvJmNTFw6HTKlrdRZvfQVhy+BjCyIE3L0pICOYdV2c
Z6bVxWumHpfIH7r+QkTcjTFmt5zrD3QNUpSzcGc//YHih9Qa73g0K8mCnkQBBfpwE3kaq3eA
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
lowpriorityscore=0 malwarescore=0 phishscore=0 priorityscore=1501
suspectscore=0 mlxscore=0 impostorscore=0 spamscore=0 clxscore=1011
mlxlogscore=999 adultscore=0 bulkscore=0 classifier=spam authscore=0
authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505280000 definitions=main-2506050039
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Enhance the coccicheck script to filter *.cocci files based on the
specified MODE (e.g., report, patch). This ensures that only compatible
semantic patch files are executed, preventing errors such as:

"virtual rule report not supported"

This error occurs when a .cocci file does not define a 'virtual <MODE>'
rule, yet is executed in that mode.

For example:

make coccicheck M=drivers/hwtracing/coresight/ MODE=report

In this case, running "secs_to_jiffies.cocci" would trigger the error
because it lacks support for 'report' mode. With this change, such files
are skipped automatically, improving robustness and developer experience.

Signed-off-by: Songwei Chai <quic_songchai@xxxxxxxxxxx>
---
scripts/coccicheck | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/scripts/coccicheck b/scripts/coccicheck
index 0e6bc5a10320..18a69edcea66 100755
--- a/scripts/coccicheck
+++ b/scripts/coccicheck
@@ -270,7 +270,9 @@ fi

if [ "$COCCI" = "" ] ; then
for f in `find $srctree/scripts/coccinelle/ -name '*.cocci' -type f | sort`; do
- coccinelle $f
+ if grep -q "virtual[[:space:]]\+$MODE" "$f"; then
+ coccinelle $f
+ fi
done
else
coccinelle $COCCI



Return-Path: <linux-kernel+bounces-674036-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 37A2641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:49:17 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 6467E188E726
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:49:26 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1E56B1C84CD;
Thu, 5 Jun 2025 04:49:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="KVl4zVOA";
dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="KVl4zVOA"
Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012007.outbound.protection.outlook.com [52.101.66.7])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3324323B0
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:49:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.7
ARC-Seal:i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749098945; cv=fail; b=gFxIO155UeU7atruBFYFRPLzp5ZuofD9KmTEPoFgzrBHWRz8xlEenQLg3AyDxgIjmKBIZjNKJ8NmHppN/acBPXnjUbwwZ7byR9j1LxOmh+XUwDghcBNYKR9gXNO3/lUv4ZChmZjselYZe6KPb3ERek3CtLVAccSkF1SOORlEx1A=
ARC-Message-Signature:i=3; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749098945; c=relaxed/simple;
bh=k1P6t8TAsNPZqSZQVK/fNuHklbQEAIFpkiR/6DCR49M=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=VPu4zahGbN3bJlmGIcrRMAdw6TodAA5NGHPentCbVIMuekNySrMoqjzGCxqkGzo1uYAOaIDBCyujqCcJvvpQzd7mNEEXvqQ32M4JBLnk4a/nglP+MsSfJiqm1LwyraSx09V6zlK8HNSZ9VWsqaESzpC9jyby5EiherwB9iHmHKg=
ARC-Authentication-Results:i=3; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=KVl4zVOA; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=KVl4zVOA; arc=fail smtp.client-ip=52.101.66.7
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
b=Z3tTr9ZZs/CReE51ssntHD9impacIT90Ky40PQe+w5tKVIoSit1UedrT893artd2sSvo83O5yQrBq5RBkUfvXlt9fGBguDJ5Z40ELLlQzRcc+JonPizCr2Qt6rSUzbieGL6A2RODWx7OGKg5UKxshGSkN1GXwmLZXkj799Oquq3dM+shKS/ParG8O6wl8XsLofhHCTwun2YsEU7O5A2Jv+SKeLyVAcaPdrwzpdCvFWkZ6xeaz0EaI2TOhwEhrsIjmqL8+bDJXWIVnDoAR/5aLRohE89XMWm6rqUg+2SxDRscFVkf+05C1/6zHS1rNS1aXs2dNBzxkvRjLW36HkQk8Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=gjTRdTnKnFXB17jZo8REv4nWFhsu9F7Or5tyGV39Odo=;
b=DKhH2fzj5qEUBwHJlQ2pIq3kTjBt7LzZlztjQjc3ldmvHJticGcmBN5OS4Y3upioW3CFTbyPkiVv5CerT2uBtdFmwfTWwHkNdKYo3T1ZTnmmA7HLsanvghRuUc0WpuIhsaPM4pZThfM/LZN147om+Zpabzx/2v5IA6YRWtAGSvbXixkz0Jsy5wPMuVEu4btU9Db7xof9Y2v440C8vyJAvCE3/fkWksBId208NxxHQKHmnOM4quFICCj2ZHeFwLrhQBvqkt3I0BSZAl1+z0AqJnNUt66PvDfqsaw2wrBnbBuR8COILyqhUfTN3+FnXF6XDbiPxzQ6GGo9b6bIZwC4dg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
4.158.2.129) smtp.rcpttodomain=kernel.org smtp.mailfrom=arm.com; dmarc=pass
(p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
(signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=gjTRdTnKnFXB17jZo8REv4nWFhsu9F7Or5tyGV39Odo=;
b=KVl4zVOAXg+omMvjz/iUKo3I85vmXQJNsjtpI13iI1NsYl9Pmad6DjumCawhRVzg9XpDBQRuzpXGv7z3UNwaglFhFlNwYLMnjx3TLFxqK4YzQ07egfXA1icrV2TM+8dqjo57KxH/6O4X/tDH2xMnFN+O7WporMSpPOaTN2uaU/s=
Received: from DU2PR04CA0170.eurprd04.prod.outlook.com (2603:10a6:10:2b0::25)
by AM8PR08MB6434.eurprd08.prod.outlook.com (2603:10a6:20b:369::23) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 04:48:57 +0000
Received: from DB5PEPF00014B9B.eurprd02.prod.outlook.com
(2603:10a6:10:2b0:cafe::c2) by DU2PR04CA0170.outlook.office365.com
(2603:10a6:10:2b0::25) with Microsoft SMTP Server (version=TLS1_3,
cipher=TLS_AES_256_GCM_SHA384) id 15.20.8792.24 via Frontend Transport; Thu,
5 Jun 2025 04:48:56 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129)
smtp.mailfrom=arm.com; dkim=pass (signature was verified)
header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
4.158.2.129 as permitted sender) receiver=protection.outlook.com;
client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C
Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by
DB5PEPF00014B9B.mail.protection.outlook.com (10.167.8.168) with Microsoft
SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8792.29
via Frontend Transport; Thu, 5 Jun 2025 04:48:56 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=X+s6tvbIwOK0IiD2qQ8OruzPp2vttyKFX5b/v7VlPU0qoERtriLlyzjt1AImvzCsRflxu7QbGBreybQx/tmAjZ8g+7h3aKG9PlwspJD0mYBp2Y+/CclR4hmuYTUMZ8FSAzfGkc+M1h3oF7qSaceKzEnmabU1ApQqQxsL4/3Nr+0tvi1TZwxc/v0Pcr9G4eJ6H8zcO/93CJUwm+ZfaW/qFkd26gozp3vD4EY6lsZoo98fZYi8rzayAd3rZlumsMVyLAMUIdWkr5yH2JB61QN+oXFXR3ic1AExIHl7PsJhUL222S6uEFKtfE3w02q7EVQj00niZ6E706BIfKB2pqsy+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=gjTRdTnKnFXB17jZo8REv4nWFhsu9F7Or5tyGV39Odo=;
b=kwF93WIcAjBbdAJ1dnJ9EGn4dKbMs3gjCi0tR/RauC75JIJhrJDVLAtgkdFoImaMNwxUxxb15Gx3lxMxFXx/8cGoG99DlwTyLwho3xMmR/fyKV1e5s50zmM96Iwfs5A7ChYIXu8FcxexFNXDerLS+yYr2m58PocHX1Q0rK2YRSKNM5JUahEAcBzx+PZmOx783X0LQ098OgoANtLd+AA9QZOJmBFVxTYbnuUFyJExEISfkFnei3DAb/pSB3Ca4ih5vtXx2UB44OmRGnrIJrT7pPuVPjN+3lOOJ9lWL7X0cKyxDFI+G5akuyYe3PhDu8ZJPnyOvgNX+tfEcxWZL6DMiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=gjTRdTnKnFXB17jZo8REv4nWFhsu9F7Or5tyGV39Odo=;
b=KVl4zVOAXg+omMvjz/iUKo3I85vmXQJNsjtpI13iI1NsYl9Pmad6DjumCawhRVzg9XpDBQRuzpXGv7z3UNwaglFhFlNwYLMnjx3TLFxqK4YzQ07egfXA1icrV2TM+8dqjo57KxH/6O4X/tDH2xMnFN+O7WporMSpPOaTN2uaU/s=
Authentication-Results-Original: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=arm.com;
Received: from AS8PR08MB7111.eurprd08.prod.outlook.com (2603:10a6:20b:402::22)
by VI0PR08MB10653.eurprd08.prod.outlook.com (2603:10a6:800:20c::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Thu, 5 Jun
2025 04:48:22 +0000
Received: from AS8PR08MB7111.eurprd08.prod.outlook.com
([fe80::4ea7:7e71:7dd3:3b45]) by AS8PR08MB7111.eurprd08.prod.outlook.com
([fe80::4ea7:7e71:7dd3:3b45%4]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
04:48:22 +0000
Message-ID: <6cd41ae9-303d-4eda-8d64-f7dba19eb106@xxxxxxx>
Date: Thu, 5 Jun 2025 10:18:15 +0530
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm64: Enable vmalloc-huge with ptdump
To: Will Deacon <will@xxxxxxxxxx>, Ryan Roberts <ryan.roberts@xxxxxxx>
Cc: catalin.marinas@xxxxxxx, anshuman.khandual@xxxxxxx,
quic_zhenhuah@xxxxxxxxxxx, kevin.brodsky@xxxxxxx, yangyicong@xxxxxxxxxxxxx,
joey.gouly@xxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, david@xxxxxxxxxx
References: <20250530082021.18182-1-dev.jain@xxxxxxx>
<d2b63b97-232e-4d2e-816b-71fd5b0ffcfa@xxxxxxx>
<832e84a9-4303-4e21-a88b-94395898fa3e@xxxxxxx>
<4202a03d-dacd-429c-91e6-81a5d05726a4@xxxxxxx>
<20250530123527.GA30463@willie-the-truck>
<b223245d-c43c-4d3e-86d4-9fbfd90cfacf@xxxxxxx>
<20250530133625.GA30622@willie-the-truck>
Content-Language: en-US
From: Dev Jain <dev.jain@xxxxxxx>
In-Reply-To: <20250530133625.GA30622@willie-the-truck>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: MA1PR01CA0152.INDPRD01.PROD.OUTLOOK.COM
(2603:1096:a00:71::22) To AS8PR08MB7111.eurprd08.prod.outlook.com
(2603:10a6:20b:402::22)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-TrafficTypeDiagnostic:
AS8PR08MB7111:EE_|VI0PR08MB10653:EE_|DB5PEPF00014B9B:EE_|AM8PR08MB6434:EE_
X-MS-Office365-Filtering-Correlation-Id: a665d257-98f2-4a63-0b2d-08dda3ec4782
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info-Original:
=?utf-8?B?SDhRcGhGOWdudUQvSng0SnREa09mRCs5cjRUbVBFbjQrUk11NDJnTmxvZWQ5?=
=?utf-8?B?MXFEaGl4MEZILy8wUE5CNWtxOWIyNjIrRkNtTUc5OVRqU3NqVUpYTmdXakFp?=
=?utf-8?B?cFFjNkd3UHZjWnViaS9zYk8vWHk2SmM4UlJQemRycWNCdmlsY2JoajF3UlpG?=
=?utf-8?B?QllXblNZaFNUWlZvK1dlOVorTXFpREVOblVsMTB6V1h5dk9UTmIxK2Y0M282?=
=?utf-8?B?MldvYVVqbzd1SElGTVgzcGhOVm5zZG9kOVZETkFHWnNzZjErdUs5QW5ScnVW?=
=?utf-8?B?UUF1M2cydEJPeVI2cmMyVjlqZXlpQ2pId1dORStqWFVPUGxMTEpleXhuZDI3?=
=?utf-8?B?TjZDdXBGcHVTVmNRMlU5ZkxlaXZtNjdwZzRWZ0RGcmREUjJveEN1bXpqL1RS?=
=?utf-8?B?V3k3QWcxY1MyL014RmpwTjRIckFiZHNPNXd4Q242R1QrVGtFd2txb1lLNDR3?=
=?utf-8?B?djhMZlJCY2pIWW4yY2tKWFY1c3IyYWNxcnVkN0I0V3A3d0krZlFsUGdoNGtP?=
=?utf-8?B?SjNXVTMzSUhqT3JwWUJqY1p5RjdLYnZVS0MvZzZBb1hPUFd5U0FJOVJJUS8y?=
=?utf-8?B?b1N6eGYzVnhUSHNqRmpuaThWaktiNmNpRHVPRDhZdzZtTE0xWkN1dzRnOGNM?=
=?utf-8?B?b0grNzk3UzJMMktKdjBqRkdtajc4dEFwZjV0SmtZcUpGYUZlMFdmOEF6cFJR?=
=?utf-8?B?aGtZcXhPUE9QT2J4a0d6MGhENE81R0p1cmoxempjdXo3OHFaamh3MjNoTzZ0?=
=?utf-8?B?MjQ5SG1MZFNocUgrek52R0w0WkJMV2p2aTRBSXU4QysxclA0N0N5VkFLT1RR?=
=?utf-8?B?cUpFMFA4Ymo2Rk5QMWVOMy9WSjJVZTJyUzRJNTZLZ0RUZmVpUXNGRHRGSVNH?=
=?utf-8?B?UVROcnRaZUdubXVqVjJxK2VxVk9CaDdRQ1hFZWZuSGdmWTA4WGQ3RGxtLzhi?=
=?utf-8?B?cmFieEgwcCtMYjNyY2cwa3krU0FYVHNJdTU2QjFNYkM4cUkxRW1YbjBabjFq?=
=?utf-8?B?Qlh1M09Db0RsUU12eHVYdWh0Q284eTZ2QUttckk3UlNZUHl0Qm94ZC9NeEho?=
=?utf-8?B?QTVYcm5IT29BeStSREt3S3R5eXpNYndDdlFXVXk4c281TDREaTh3WHBLamtL?=
=?utf-8?B?Q0E0RjQzTmlxU0pLTDdPa1pSbGE1d1hPUlN4VW92L1VQV2tzS2FUeVRtQkRu?=
=?utf-8?B?T2ZvTUN1UjNweFZHdmhrcUJLZllYNVFUdVNzR3ExN3lIS2RSbHRoMWU3dmt3?=
=?utf-8?B?ampvUVZCQ3dNM2czQnhRMlB1MkV3N1hHNThaN3gwZVQzMHRJYjkxYXVVN21q?=
=?utf-8?B?bFBJVCtGbmI1NGhRODJmSllUN1dvZ0ZUaE1CTldkMTUzT3dyM2JFa2NmTDAr?=
=?utf-8?B?TnY0YnNGNDY1RENmOGh6MUNsUTZ3RTU2eUI3cUhxazM5N3R5Rkl3UktqbTMv?=
=?utf-8?B?SGliSW1TM3ZHampqYnRmS2pjdWNQWFY2cjBZQ0xZMW12dEZBckdDdXVmRm1S?=
=?utf-8?B?ZGZ1aTR0Uit1blBOZ1lZSHRCSWptcGNXRndOVllHbUZMVmgwTEdMdVl1T0tC?=
=?utf-8?B?MUpjM3dsazVJT0F3bmFRU1p0dWs0ZGhjVlpLWXk3REp5ZUVTYm9sc0JpbXpo?=
=?utf-8?B?c0krQzdaS0F3MDJVa1kwa3U1bGc2THpQYkNXMUdXa3hLYzVYUXYrRXNoU29Y?=
=?utf-8?B?bEpYU2UxQjk5bkNzSUJ4ZElPWFhkYlFOdC90NFBmdVE1MThZYUZsUzl6SCtD?=
=?utf-8?B?djNUUkpEbEpWbVRFQThSSjBxTVhja1pCWXRYZlVJcG5vdGVVcGkwY3lVbTVR?=
=?utf-8?B?MTFIbGpBZHRHS05Wa0FqcjA4VkUxTnFQK000UzhqT2hmck03Q2tKTHNLYjN2?=
=?utf-8?B?SGFBdmhCUVBPM3FsZlRZUWpKNHRQTFYremx0djhtcHpROXc9PQ==?=
X-Forefront-Antispam-Report-Untrusted:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7111.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB10653
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
DB5PEPF00014B9B.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
818334e9-b8f8-4876-f5dc-08dda3ec32a3
X-Microsoft-Antispam:
BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700013|14060799003|35042699022;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?NU42Mk04ckZnWnVLWk9hTlcxcG1mVEtOYlFXSmdZYjdxa201UnhFcnN5UnIr?=
=?utf-8?B?dmdQbXNtK2MvZTY5Mzhnc1RoNEpnNTVjYWRRZmtySGhJS3BqUTVZeGZLZVNC?=
=?utf-8?B?TWJmZ1VtTitDWXJ4R3MvMm1jTVlOUnJEWlludHEzcEJtbjBjcG16cUN3cU42?=
=?utf-8?B?Syt1bGNjQmhHWFdwVkJGVTdvM2MwV1JmaW9PZGRxeDVvcVZ6MnFnQm5zQzE3?=
=?utf-8?B?VDRBZjBCMGhrT3RUR09DSWFiVUViK0MxajdWYVJCc1Rrb1FBS0VQYzJmTlFW?=
=?utf-8?B?Z1FwUkpqUUVhaGUvTk10TW80Q0ljQk1Bcyt1U2ljVnZmdTVwbWR5SWtyRWFC?=
=?utf-8?B?aUpiM0xqTDFGLzZJaTl4T0lXZy8rY1lyZk00TW1aRGl2SmNQc3BRRW1pd0Jr?=
=?utf-8?B?YllLdXBhY3c3UlZkdGVlamZscGpLcmFseHVQaSs4YytqNXZ5amZrdHBCV200?=
=?utf-8?B?a0k5N2JoWDhCaW9IejN5cTlDWkVnbEtmQnR0RVVvSEZoVmlXYm5jSGpaVnM3?=
=?utf-8?B?dDVDZDgwQ0ZZU0pXeDNQb1ZsaFNUSEwwMUw1dG51TGgzZ29uczdoWTJvdE5W?=
=?utf-8?B?YUtOZC9xZXBjZU5uSHpJdllYdDhHY3ZMUU5PZWM4Z2d2Q1k0SDNJZFNYTDEr?=
=?utf-8?B?Q3Z0L2dJbm5sMmRPdzFCbHV2TXJuMVVLYU9JeDNad0doTll0S0dCQzFWdWY3?=
=?utf-8?B?MTRtTHFsdlFTM0tRZVYwRkpJRUxpNUdCc3dJVG41MGczK1I1WHRRRkFuemdn?=
=?utf-8?B?WHNxMFhQMmNjenRqeTlPci8xOG9OOWUrTFhoSlV3M01wVmxSeUNRaUxBdTNn?=
=?utf-8?B?b2V5TG9xUDMxdHd0ZW5zMTlrbTdNeFVOMUxtRk1DaUVGTExIUjZmaUpHT0FY?=
=?utf-8?B?dkVjb0Nid0tLdk1xcFlXTFMxS08wOEhJSUZuVytYZUh1YlNOakp3L2pTcFRt?=
=?utf-8?B?TEdVVTFDVVFoeEltbTFsTXp2K1ZHbm9xYUFpb0dvQzFnUkJVTTZQUFlhcnFo?=
=?utf-8?B?UWc0enJlUWJLampla0FlbUo1cU9SYnc3VWtXTGRvRVgyYkZqdE9DR3VZM1dM?=
=?utf-8?B?a0Jxc28zdmJTUmVGRUNsd0J0RDZoM3lEcTJCSElpSkZMNTNSOEZmL2lKZlR4?=
=?utf-8?B?YXcyMi9FSHpqOGREd0xhNjhSUFVWVXlqaDJvWExWNWdUblFxYU5CZzI2ZGh3?=
=?utf-8?B?UWk2OW9uQisrM3ZCYmlDeC90eXk2bmRJYXFEWFpJRFczQ2YyeE1QZ1RyeExE?=
=?utf-8?B?UUlUdlU0U0FMS3I1dWhUVkdJVUgzRlVGSWdsMjJtYmx3L1JnYzBZaG50WUVW?=
=?utf-8?B?cHpsckdyU0oySVptNE1WVHNQMHlEd3hBUlhrR0V0RFNRN01QRHQrcSsxSGUv?=
=?utf-8?B?Yy93b25lQ21rTFAxT2ZtZjJQN3BJYXRxUVV0MG95R3o1YWNwZnVyNjNQdS9O?=
=?utf-8?B?S0VMbDJQWTdhWm1JMTQ3dHcvTE1vNGZZM3FjUnMwQ0duSGVKS1lBTi9BS011?=
=?utf-8?B?ek1Oa1VXa3l4emRqQTNhZEpXbHJBV3JldU42dUY1TkZSWFNackhyK0t5TWpk?=
=?utf-8?B?K0hMTkU1Q200Rk4vVWZXVmpsZ05GY2hpanBERjd6UXVLL2d2KzVhNmZkOEls?=
=?utf-8?B?L1NDVTN5cEpjTC9EdlZuTmJOMVlsOWUrMjM5aFdIbDU1a0N4TkxSNEZVamtz?=
=?utf-8?B?T1NzL1doU1pTaDBybUNHZFlzbWNFUlpCTFBCbHVzSmNlUU5XTVBDTWdQMXJL?=
=?utf-8?B?VnliaDNHMlJkY3duRzdlMXVUc2kxZGQ1cmFSSms5M2lhbzUxbVJaMnE0dWE5?=
=?utf-8?B?ZnUyenJBMElhOUlQbU5QazZ4UGZPbmNYeU9yL2tEUC9MYllkZlZxRVd0MUxh?=
=?utf-8?B?cEdVQWhEVXp5VTc5M2E0N1VYeGNKQnRjMElXM2dIY2xpMnVscExid3BveFJl?=
=?utf-8?B?cTlJUUNteU0ralRuNjkwUU01aEdWdFJDZ1lGc3RYZmhWbWdlNVFUaWVZVHdP?=
=?utf-8?B?TlNXTFZCUUZOT3ZKNGNZSElJeVdSR1FEbzF2NXFTN2F0QzRSU2JZblB0K21O?=
=?utf-8?Q?4jndQb?=
X-Forefront-Antispam-Report:
CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(36860700013)(14060799003)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 04:48:56.2652
(UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a665d257-98f2-4a63-0b2d-08dda3ec4782
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource:
DB5PEPF00014B9B.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6434
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


On 30/05/25 7:06 pm, Will Deacon wrote:
> On Fri, May 30, 2025 at 02:11:36PM +0100, Ryan Roberts wrote:
>> On 30/05/2025 13:35, Will Deacon wrote:
>>> On Fri, May 30, 2025 at 12:50:40PM +0100, Ryan Roberts wrote:
>>>> On 30/05/2025 10:14, Dev Jain wrote:
>>>>> On 30/05/25 2:10 pm, Ryan Roberts wrote:
>>>>>> On 30/05/2025 09:20, Dev Jain wrote:
>>>>>>> arm64 disables vmalloc-huge when kernel page table dumping is enabled,
>>>>>>> because an intermediate table may be removed, potentially causing the
>>>>>>> ptdump code to dereference an invalid address. We want to be able to
>>>>>>> analyze block vs page mappings for kernel mappings with ptdump, so to
>>>>>>> enable vmalloc-huge with ptdump, synchronize between page table removal in
>>>>>>> pmd_free_pte_page()/pud_free_pmd_page() and ptdump pagetable walking. We
>>>>>>> use mmap_read_lock and not write lock because we don't need to synchronize
>>>>>>> between two different vm_structs; two vmalloc objects running this same
>>>>>>> code path will point to different page tables, hence there is no race.
>>>>> My "correction" from race->no problem was incorrect after all :) There will
>>>>> be no race too since the vm_struct object has exclusive access to whatever
>>>>> table it is clearing.
>>>>>
>>>>>>> Signed-off-by: Dev Jain <dev.jain@xxxxxxx>
>>>>>>> ---
>>>>>>>   arch/arm64/include/asm/vmalloc.h | 6 ++----
>>>>>>>   arch/arm64/mm/mmu.c              | 7 +++++++
>>>>>>>   2 files changed, 9 insertions(+), 4 deletions(-)
>>>>>>>
>>>>>>> diff --git a/arch/arm64/include/asm/vmalloc.h b/arch/arm64/include/asm/vmalloc.h
>>>>>>> index 38fafffe699f..28b7173d8693 100644
>>>>>>> --- a/arch/arm64/include/asm/vmalloc.h
>>>>>>> +++ b/arch/arm64/include/asm/vmalloc.h
>>>>>>> @@ -12,15 +12,13 @@ static inline bool arch_vmap_pud_supported(pgprot_t prot)
>>>>>>>       /*
>>>>>>>        * SW table walks can't handle removal of intermediate entries.
>>>>>>>        */
>>>>>>> -    return pud_sect_supported() &&
>>>>>>> -           !IS_ENABLED(CONFIG_PTDUMP_DEBUGFS);
>>>>>>> +    return pud_sect_supported();
>>>>>>>   }
>>>>>>>     #define arch_vmap_pmd_supported arch_vmap_pmd_supported
>>>>>>>   static inline bool arch_vmap_pmd_supported(pgprot_t prot)
>>>>>>>   {
>>>>>>> -    /* See arch_vmap_pud_supported() */
>>>>>>> -    return !IS_ENABLED(CONFIG_PTDUMP_DEBUGFS);
>>>>>>> +    return true;
>>>>>>>   }
>>>>>>>     #endif
>>>>>>> diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
>>>>>>> index ea6695d53fb9..798cebd9e147 100644
>>>>>>> --- a/arch/arm64/mm/mmu.c
>>>>>>> +++ b/arch/arm64/mm/mmu.c
>>>>>>> @@ -1261,7 +1261,11 @@ int pmd_free_pte_page(pmd_t *pmdp, unsigned long addr)
>>>>>>>       }
>>>>>>>         table = pte_offset_kernel(pmdp, addr);
>>>>>>> +
>>>>>>> +    /* Synchronize against ptdump_walk_pgd() */
>>>>>>> +    mmap_read_lock(&init_mm);
>>>>>>>       pmd_clear(pmdp);
>>>>>>> +    mmap_read_unlock(&init_mm);
>>>>>> So this works because ptdump_walk_pgd() takes the write_lock (which is mutually
>>>>>> exclusive with any read_lock holders) for the duration of the table walk, so it
>>>>>> will either consistently see the pgtables before or after this removal. It will
>>>>>> never disappear during the walk, correct?
>>>>>>
>>>>>> I guess there is a risk of this showing up as contention with other init_mm
>>>>>> write_lock holders. But I expect that pmd_free_pte_page()/pud_free_pmd_page()
>>>>>> are called sufficiently rarely that the risk is very small. Let's fix any perf
>>>>>> problem if/when we see it.
>>>>> We can avoid all of that by my initial approach - to wrap the lock around
>>>>> CONFIG_PTDUMP_DEBUGFS.
>>>>> I don't have a strong opinion, just putting it out there.
>>>> (I wrote then failed to send earlier):
>>>>
>>>> It's ugly though. Personally I'd prefer to keep it simple unless we have clear
>>>> evidence that its needed. I was just laying out my justification for not needing
>>>> to doing the conditional wrapping in this comment.
>>> I really don't think we should be adding unconditional locking overhead
>>> to core mm routines purely to facilitate a rarely used debug option.
>>>
>>> Instead, can we either adopt something like the RCU-like walk used by
>>> fast GUP or stick the locking behind a static key that's only enabled
>>> when a ptdump walk is in progress (a bit like how
>>> hugetlb_vmemmap_optimize_folio() manipulates hugetlb_optimize_vmemmap_key)?
>> My sense is that the static key will be less effort and can be contained fully
>> in arm64. I think we would need to enable the key around the call to
>> ptdump_walk_pgd() in both ptdump_walk() and ptdump_check_wx(). Then where Dev is
>> currently taking the read lock, that would be contingent on the key being
>> enabled and the unlock would be contingent on having taken the lock.
>>
>> Does that sound like an acceptable approach?
> Yup, and I think you'll probably need something like a synchronize_rcu()
> when flipping the key to deal with any pre-existing page-table freers.

IIUC, you mean to say that we need to ensure any existing readers having
a reference to the isolated table in pmd_free_pte_page and friend, have exited.
But the problem is that we take an mmap_write_lock() around ptdump_walk_pgd() so
this is a sleepable code path.

>
> Will


Return-Path: <linux-kernel+bounces-674037-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EA9AA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:49:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E6CCE3AA28C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:49:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A21191DEFE7;
Thu, 5 Jun 2025 04:49:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="sFYS8yHa"
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2056.outbound.protection.outlook.com [40.107.223.56])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 784051A3BC0;
Thu, 5 Jun 2025 04:49:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.56
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749098968; cv=fail; b=MoRiKfIkm78h5es+TCgJQFoEYvK6Jxo/cmyBpW/kilCCf0DKWjzs6+7qXYMcJZo61s7/6HjfBPF6UVqjbx4FmDrxm5P5EJzJECgRLYDJz3mcvo/hwq2dqHky0jGLeNDuBMaU+gGSIFzN/zkYXDrzjbswIvwgy/2R5VEdEjNzUXQ=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749098968; c=relaxed/simple;
bh=LX7U2mdX9svAe57Z8DXy6Ox4PtHLyWKrJb1SwAYLoI0=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=eLrFf5zYmCUjo2cooSX4pGOio4tBFmcTGsirwFeOF7Uo/CHQ8s1Ymn58y/u6TRPr5BJbOdK/ZIPR4SgWFgjyV5F8q+0qTN7GFf/QGaCW0guCfiaAUFn8rOCNYHKG2onUw8FGpezHnm1KdvJI+jRIroIUv18L+1Q9fZRmBZ4ZlxE=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=sFYS8yHa; arc=fail smtp.client-ip=40.107.223.56
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=AB6f6bhmiTBJlPzBmuYaRA8sxzgakqfNIk1lEoqBj9A/OjTd5OktBsfRSdeFiya6ykhimxHDT9nq+Yd1BakiHcBVfJonzpxElqrZPnydIhnIRlqrU2LZDSWSGZSVKK9swzyAI0MNTwft6lAN6PSNnS5R8ZBDL1CVq4HW38nbuA8vcKps+nsBSAJkPk1eQSIz3DUGr8Bp/gwQLAiFphu5gbsz1tul6Mt14DLsrWZOrie/V0ZnWj4vgJWkxtfoxcmljamQnd1YeW+ovKgtoPjXK2BEXcB0hMDr9ig7JPZTH2UPe22933mGCowYd69YaPzLTLKlq3xkfM1xc+/pLea5Sg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=ZsrzHD2NTKagvkTjFZ/dQGywgwWS7CspoWcKm4Vx/dg=;
b=MdqlLbDmI5wfkZTA/RgdVKR8b6zObzz5NoAACIPclHFLvai1/nL3fb4axwTa8HUNo8Oiitk1CeHDNWhwIS6T7nClnrdcZIYpqd544t0ge50+3mFW/Inq0ZqKkcRHnaDj2Kzwes+E2g0MZyQLLdYFLbhlrJ6i6+SvBtOsTX3mJWH/5XXN6c8nfv8MXlkekEWtd+fSH9s2722THomDAB57OLhPCXCp7gRVpHhUTIud9GEZn460qC9yM5eWL8MCKy0tgXknbaIhNk7EgYb0c97Cfoo83Ujrb8jGduBporsiO7XYHiD0AiusMqljyvKVMP8n5rfNBsyetQJp1C3rNW5s1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=ZsrzHD2NTKagvkTjFZ/dQGywgwWS7CspoWcKm4Vx/dg=;
b=sFYS8yHaloV+N4c5/H8VEmr4uyoF6oTIxDTSojmXgBNpnNXgKC9aqRgynpv8NzbLqpHxlXy0WwvicxH5IqAWQoIYMN1fV4ckTmcPWPTWJLfWOlXDrp8SZ9jDlYIuAdAwWNpUeJGaSsiqknYPclb9UYR7JMscdd6Yn4wtiP5Wy8Y=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from CH3PR12MB9194.namprd12.prod.outlook.com (2603:10b6:610:19f::7)
by BL1PR12MB5705.namprd12.prod.outlook.com (2603:10b6:208:384::5) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 04:49:23 +0000
Received: from CH3PR12MB9194.namprd12.prod.outlook.com
([fe80::53fb:bf76:727f:d00f]) by CH3PR12MB9194.namprd12.prod.outlook.com
([fe80::53fb:bf76:727f:d00f%5]) with mapi id 15.20.8769.037; Thu, 5 Jun 2025
04:49:20 +0000
Message-ID: <48e2199f-37e4-4ea1-b28b-23eb421444cc@xxxxxxx>
Date: Thu, 5 Jun 2025 14:49:11 +1000
User-Agent: Mozilla Thunderbird Beta
Subject: Re: [PATCH v4 2/5] crypto: ccp: Add support for SNP_FEATURE_INFO
command
To: Ashish Kalra <Ashish.Kalra@xxxxxxx>, seanjc@xxxxxxxxxx,
pbonzini@xxxxxxxxxx, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, bp@xxxxxxxxx,
dave.hansen@xxxxxxxxxxxxxxx, hpa@xxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx
Cc: x86@xxxxxxxxxx, john.allen@xxxxxxx, davem@xxxxxxxxxxxxx,
thomas.lendacky@xxxxxxx, michael.roth@xxxxxxx, kvm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx
References: <cover.1747696092.git.ashish.kalra@xxxxxxx>
<61fb0b9d9cae7d02476b8973cc72c8f2fe7a499a.1747696092.git.ashish.kalra@xxxxxxx>
Content-Language: en-US
From: Alexey Kardashevskiy <aik@xxxxxxx>
In-Reply-To: <61fb0b9d9cae7d02476b8973cc72c8f2fe7a499a.1747696092.git.ashish.kalra@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SYCPR01CA0009.ausprd01.prod.outlook.com
(2603:10c6:10:31::21) To CH3PR12MB9194.namprd12.prod.outlook.com
(2603:10b6:610:19f::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PR12MB9194:EE_|BL1PR12MB5705:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c366d69-ed25-4c18-78f4-08dda3ec557a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|7416014|366016;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?WGVHVHlva0twQkdxVEhldkdIcFMzNlc2YWk2QXhiM0NwQlZ6VDArUUxoUTRy?=
=?utf-8?B?dWwrMTIwOXdDd2JFWi9NaGdsZ0pkSkJRa0lNc0xQblR6ZGJSTi9ITjBTRnhu?=
=?utf-8?B?T1M1UVA0TjMremhGanpFR1NJTmVBOW44NFlKcEEyWFVIbW8yMjduQUEwWm11?=
=?utf-8?B?RFA5SDB3aVZBbkQ1RkxlTGM4ZUM0RTgvUDBxcWNnbHVWWjVoVUgwL0czVzhm?=
=?utf-8?B?ZWhsWXNLVHIwSnBtU3lNbTVaUnAyRWVRVE5HV2xtbk9wKzBoSVVzRHdhV1VJ?=
=?utf-8?B?UHJ4TTBHQ3FaSUQybkV2bUFmWWJHMWlwbVV3VkVYeTZrUFVWQVpUYW9QTnE2?=
=?utf-8?B?ZXNOdVhFTEFLcmZtOFdvV1lVbE5WRGtYRFBOeTkwbUZKVTN2NWl2N0hSbUdD?=
=?utf-8?B?M3Jidk9TcldwOVhNMHpVbCszekRHa1pPcXNrSXl6dDFuNjJIQm50UWFhSXpC?=
=?utf-8?B?aUJjVXhzSGlNSG05MU5KR0psRnYzTi9sSHgyUUZPdHN1RnBDc1c5U1pNWW4y?=
=?utf-8?B?c1NjOHBVVTNvN25yMTNpZmxiSVlYZ3prblJ5dFdIS3JHYTN2V2E1RG9ETDMw?=
=?utf-8?B?ejB2Ky9EY1FoTVZCU2FXY3BBRGkrVTROVzVNb1dla2pmc2tPcGg0K0ZYd2pY?=
=?utf-8?B?TmllRk8wNWtCSGYwWVdCMlpjUVhIVHdRNElWdlRQT3ZpSmw5ZUNPNVlMVlJz?=
=?utf-8?B?bFRMNGRUMHFtc1VGRk5GN0V1enBqR25GdHRvWVkvT2JBQ0cyRzNPZFBEdzhu?=
=?utf-8?B?Zy9mSXFnaWhhRTFuYU9CcWRiTjR0RFpKRFVwVzNxNXdWaWdPRFM1TXJocmtZ?=
=?utf-8?B?c05jZWt1UHdrSWFzaFlrVVQ4ZEFHeVpGam1TRVV1amRpZHh6a0VDa0pqMnZZ?=
=?utf-8?B?Q0JmSVVqKzNWeC9sSTZHYnlWb2Y4dzN3c3VuR0dzTzZZREhoa0dGNmhMbTdn?=
=?utf-8?B?WWJyZk16L1QwYjlRNmNteExWdjNPTUFadkljVFAzVHJpdlJFZG1xL3R3U1Nu?=
=?utf-8?B?NnlWRG14N1gxTkthUTF3MGdmeWw2ZngrWDUrMnZ6OHBtbDhsK0xlTGVXZ0VH?=
=?utf-8?B?WmtYdWNlZlpJMktSMUk4VXlWakdJQjdjMVdXRnJ6WHRDMDlCU2N4b2xhVkJP?=
=?utf-8?B?MnNQbkc1cXorU3lBWjJISFAzNFQ0NnhIaEFKaERHYjlueDFlT1V2cDJyUmQ1?=
=?utf-8?B?K2FkRzRmUi9rRnFQTkJ3Z05iTEZ6Y21VTjBMZjg5eW5MRm90WjJFVis2dUFm?=
=?utf-8?B?NTRpd2kzeVR1ZUI4eXJUVkFQM0F3aE5qbUo1RnkyWVZwRWJaNlE2dUN4WWdn?=
=?utf-8?B?TVVzak5MTE04MXhIaXZKaXBXZWVOSTdBMDIxMFB4U2hRc1ZJUDByK0ZIVXVH?=
=?utf-8?B?dDd3dlZ4U2JPeVBSRHhVLzR4WWhnMnNpdlgxbSsvSk9rVWxveGpHbkdyeHhF?=
=?utf-8?B?UmZ6Qk95dmlwUy9WUUY2RG0xVGFoanRiVDVndHJlbTArRE1IalNXZmltZVJk?=
=?utf-8?B?enRuMXBWWnRWQmV3dnNnbVFQMmlQK1lLdUJaQW1uU0ttZVE0dzR3RmdsTEpE?=
=?utf-8?B?WDdlU0RDUFhIY0NTd0Y0MGJiVUd5eXdXanVYVlovQ1hkTkRlY0pTRVBIRTU1?=
=?utf-8?B?VUhYb25BZFl5VTJpOGQ5RlRBUU9WY3JpK0liU3V1WE5aYTErNm5YUWpld0kr?=
=?utf-8?B?cnJqSHZza1YrNThJcTBkYkgrSjZoakFLeTlJc0IwckpObjEyZDdjSFVpNkx3?=
=?utf-8?B?RkQ1RHV5Rm1QK2pOSDhSQjZuS0I4Q2Z3UHJBSWs3NzdiUDZZbWNnL0pWdUQ4?=
=?utf-8?B?TlZubHZndjVoSFo1ZlkxRWZrelBpak1LRmtSL0s5cG9aQ1JYVUNTNVNRQ3Fu?=
=?utf-8?B?RzlPMEJFL0NkTlpLOVpmODZrQmgwVkZ1b2pDRlEyMWliVHZCZFl4QlBGZDlz?=
=?utf-8?Q?EPO25LiZl+A=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR12MB9194.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(7416014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?N3ZtcHlkeG13WFJGSFdxTlNpcEdXbDV1TnhpQmRZWEV2Sit5Nzh4ejNmdGRB?=
=?utf-8?B?RytUMkQ4WDJyQWxQT1F0UmgzT0cxWENwd1NIa0l1Mys3a09TS3IxZGRWTlNV?=
=?utf-8?B?THU5cExkTFdGN3hxMmNnWGVJWHRWU1d5ZktQZ1Z2YWJFZmF5RXZwNTNSR0ZP?=
=?utf-8?B?azkzdFVrU0FveXpBQ0w5RFUza2xidE44UTNTaCtlRGRneTIvNkdKM3VHQWw4?=
=?utf-8?B?bERTeTNzMis3TGZBeGlqTXdnVDZ4NWU0eXRtZlBudlZkaC81M0ZkTUFFV25D?=
=?utf-8?B?VVkzR3U2WWlSbW5JL2FKR1ZST1pIb0YyMTZYSlZNdW5ZR0hVRmFwSXlnSlpl?=
=?utf-8?B?MTFlMG1va2FDbGtlbEVRZGpaN2hOS2ZJZ0ZzcnBsaTRHOFdEYVAvM3BRSFpN?=
=?utf-8?B?N2ZRL3NYV0s2ZGlwUHJ1VXprRXZUMmJjcmk1SVE3TU1FNkw5a2ZXUnN5NTFz?=
=?utf-8?B?eUwxbGFKVEc5M1JWaHMrZXdqbEovZFYxYTduWUtPOTRkZ0prM3N1cE5ueXR5?=
=?utf-8?B?eXZYeTJ6bjF2LytjZ3ZuRlBNeWd2RmtURHMrbGZGbDY1Z3NxZVZNWjZtL1pj?=
=?utf-8?B?dktBN1V1OURHZ09NK0I2UXIvckdWV3B4WnZQTmM0R0dsZEhMNlBkc0RaQVFq?=
=?utf-8?B?enBlc1E0TkFFbzZoQnNqZFZRU1ZQOW1NVnAzMkN2MVlmeUFCUS96VzdwUEpi?=
=?utf-8?B?VEFhdm5iT3dUejB5bjJhQk1ZV3d1RVB6NG1jc2l4R3gyekM4WXlBYTRHbHBx?=
=?utf-8?B?bEpySDdhOVZBMFdUUWd0UlZkVk04ZlpIKzhWdldzbUpHSkxzRG9kMDByNlJS?=
=?utf-8?B?Y0dvazcwRUdTTWFoOEJKeW9LTGhFeWliRGJYMzFFQlhxaFZMRFVBT0E4MHk1?=
=?utf-8?B?ZE5tckdSajRPVTIySDRweUJZMmZtK0Y2WVlSQ0FVanJhbzRsUkpTR1kzY1VG?=
=?utf-8?B?Umh1cm8wakMxSGdiK2RocTZNTWFOTCtCTGNFRnZpVUV2cnoyYytTVWE5bkRv?=
=?utf-8?B?VXZCQ0t3a0NiWERjT2VhSVl6Z1FIM2VVYWhFMGM3L3FMSk9pZjVlUWdmTXQ0?=
=?utf-8?B?UFpYNWUwV01xNWpJdU9TUGlleFVjVEhGYzViOVFmY0tDWklua2FjM0k4MWZP?=
=?utf-8?B?NEtMRjBOVUp4cUlVZFp4bG1wd1FTR3Jyb1lrcUROa2VzcXZqV1FwUkRXeUFm?=
=?utf-8?B?WE1yL2F1MWZpaHhQME5sNzFTcW1SdkZvWEdtaEMxYjBSRjNQNlRiNGNEQmUv?=
=?utf-8?B?YXFOalphYmNqbEFQVlZ5NVNuOGo1Umk4Vm5NcWVxRW9OOXpqMHJad2FzTHNJ?=
=?utf-8?B?S0Z6NlM3Vy9BcU5kWnRVWWtLc3hCbVZHamZYeTNFRXp1aWcwa09MZnNpK0RL?=
=?utf-8?B?TG01K05EWkZlSHRlSjV1NWl2OUlmL3lXVVl0a29hWEV3S1dwYU9jOGtsRkp3?=
=?utf-8?B?RWF1NFdGZnZ0V28yYmRmT1NEQ0lIdjlSdE10cllMdlExMjRWNnhKSGpRcWND?=
=?utf-8?B?b3JWMFhYTHcwcVdWMW9nMTNaSUROVVhlUWZPOVBhQS9kMXJZb3RyZUtlQ1Z5?=
=?utf-8?B?VU1ROGdpMkRiTlJhd1N6Mk5LTWZlYU8wU2ZZaWdLWGExR0VIUWtjaXl1SkVI?=
=?utf-8?B?Yy9HcHZJUVo0aGdCWnFMTWpDOU1DSnhpeGYzQ1lFNFUzWk4rQ0hYVy9zKzhN?=
=?utf-8?B?M2h5RzYyRjNBK0VNa1BFa3pkQ1hKL1YzTjBUSCt0ejBPeFl2bFFYTXphNkNr?=
=?utf-8?B?bityNk1KTlRPbG5BL0pJWWFTcXBDckpKL0swUmZzUDBObzFzTDhQdkRRRUkw?=
=?utf-8?B?MWJ3b0hEeXZpQkNsWU9Tb2hFQmY5ZGpDekxPLzNDbU5BbkhxeFpiT3JGK3d1?=
=?utf-8?B?djl4TXhiV0JjZXdUR0kvRFFTa093QllUeElyVCtVOG5Ld0lZa2FaY1Y2NlhO?=
=?utf-8?B?SENobXBheHdoRkYveG5iZ1pyaEhNeHoxVzVPZnNpMytOWmdFU2J4Z1JWQ2lP?=
=?utf-8?B?dzRhSEVBSmdHQ0RXeWlDZGU0ODlKeUVuWjBHNmZjdjRtemc0c2Y3cnZkMGxt?=
=?utf-8?B?djY2aVNUYUlsS0ZDRkNLRWpJS0xVUWRSWVlPbDQvL3NTa2UwT2w3eHhuRTBC?=
=?utf-8?Q?7smp+yTKtDFVxcCfZdFnJ+J+9?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c366d69-ed25-4c18-78f4-08dda3ec557a
X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB9194.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 04:49:20.1624
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZvOZqFp+F6GHGD/NbKeA5SjD6mF4HMf7YcDC8SKR4n4m4gRiD2UR4X60btrwv3aBGOzhaeQi7rDjkv8pUu0qsw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5705
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 20/5/25 09:56, Ashish Kalra wrote:
> From: Ashish Kalra <ashish.kalra@xxxxxxx>
>
> The FEATURE_INFO command provides host and guests a programmatic means
> to learn about the supported features of the currently loaded firmware.
> FEATURE_INFO command leverages the same mechanism as the CPUID instruction.
> Instead of using the CPUID instruction to retrieve Fn8000_0024,
> software can use FEATURE_INFO.
>
> The hypervisor may provide Fn8000_0024 values to the guest via the CPUID
> page in SNP_LAUNCH_UPDATE. As with all CPUID output recorded in that page,
> the hypervisor can filter Fn8000_0024. The firmware will examine
> Fn8000_0024 and apply its CPUID policy.
>
> Switch to using SNP platform status instead of SEV platform status if
> SNP is enabled and cache SNP platform status and feature information
> from CPUID 0x8000_0024, sub-function 0, in the sev_device structure.
>
> Signed-off-by: Ashish Kalra <ashish.kalra@xxxxxxx>
> ---
> drivers/crypto/ccp/sev-dev.c | 81 ++++++++++++++++++++++++++++++++++++
> drivers/crypto/ccp/sev-dev.h | 3 ++
> include/linux/psp-sev.h | 29 +++++++++++++
> 3 files changed, 113 insertions(+)
>
> diff --git a/drivers/crypto/ccp/sev-dev.c b/drivers/crypto/ccp/sev-dev.c
> index 3451bada884e..b642f1183b8b 100644
> --- a/drivers/crypto/ccp/sev-dev.c
> +++ b/drivers/crypto/ccp/sev-dev.c
> @@ -233,6 +233,7 @@ static int sev_cmd_buffer_len(int cmd)
> case SEV_CMD_SNP_GUEST_REQUEST: return sizeof(struct sev_data_snp_guest_request);
> case SEV_CMD_SNP_CONFIG: return sizeof(struct sev_user_data_snp_config);
> case SEV_CMD_SNP_COMMIT: return sizeof(struct sev_data_snp_commit);
> + case SEV_CMD_SNP_FEATURE_INFO: return sizeof(struct sev_data_snp_feature_info);
> default: return 0;
> }
>
> @@ -1073,6 +1074,69 @@ static void snp_set_hsave_pa(void *arg)
> wrmsrq(MSR_VM_HSAVE_PA, 0);
> }
>
> +static int snp_get_platform_data(struct sev_user_data_status *status, int *error)
> +{
> + struct sev_data_snp_feature_info snp_feat_info;
> + struct sev_device *sev = psp_master->sev_data;
> + struct snp_feature_info *feat_info;
> + struct sev_data_snp_addr buf;
> + struct page *page;
> + int rc;
> +
> + /*
> + * The output buffer must be firmware page if SEV-SNP is
> + * initialized.
> + */
> + if (sev->snp_initialized)
> + return -EINVAL;
> +
> + buf.address = __psp_pa(&sev->snp_plat_status);
> + rc = __sev_do_cmd_locked(SEV_CMD_SNP_PLATFORM_STATUS, &buf, error);
> +
> + if (rc) {
> + dev_err(sev->dev, "SNP PLATFORM_STATUS command failed, ret = %d, error = %#x\n",
> + rc, *error);
> + return rc;
> + }
> +
> + status->api_major = sev->snp_plat_status.api_major;
> + status->api_minor = sev->snp_plat_status.api_minor;
> + status->build = sev->snp_plat_status.build_id;
> + status->state = sev->snp_plat_status.state;

These 4 lines should be ....

> +
> + /*
> + * Do feature discovery of the currently loaded firmware,
> + * and cache feature information from CPUID 0x8000_0024,
> + * sub-function 0.
> + */
> + if (sev->snp_plat_status.feature_info) {

Could do:

if (!sev->snp_plat_status.feature_info)
return 0;

and reduce indentation below.

> + /*
> + * Use dynamically allocated structure for the SNP_FEATURE_INFO
> + * command to handle any alignment and page boundary check
> + * requirements.
> + */
> + page = alloc_page(GFP_KERNEL);
> + if (!page)
> + return -ENOMEM;
> + feat_info = page_address(page);
> + snp_feat_info.length = sizeof(snp_feat_info);
> + snp_feat_info.ecx_in = 0;
> + snp_feat_info.feature_info_paddr = __psp_pa(feat_info);
> +
> + rc = __sev_do_cmd_locked(SEV_CMD_SNP_FEATURE_INFO, &snp_feat_info, error);
> +
> + if (!rc)
> + sev->feat_info = *feat_info;
> + else
> + dev_err(sev->dev, "SNP FEATURE_INFO command failed, ret = %d, error = %#x\n",
> + rc, *error);
> +
> + __free_page(page);
> + }
> +
> + return rc;
> +}
> +
> static int snp_filter_reserved_mem_regions(struct resource *rs, void *arg)
> {
> struct sev_data_range_list *range_list = arg;
> @@ -1597,6 +1661,23 @@ static int sev_get_api_version(void)
> struct sev_user_data_status status;
> int error = 0, ret;
>
> + /*
> + * Use SNP platform status if SNP is enabled and cache
> + * SNP platform status and SNP feature information.
> + */
> + if (cc_platform_has(CC_ATTR_HOST_SEV_SNP)) {
> + ret = snp_get_platform_data(&status, &error);
> + if (ret) {
> + dev_err(sev->dev,
> + "SEV-SNP: failed to get status. Error: %#x\n", error);

Drop this as snp_get_platform_data() does that too (and even better as it prints @ret too).

> + return 1;
> + }

.... here, and drop the @status parameter. Which in fact is pointless anyway as ....

Let snp_get_platform_data() do just SNP stuff.


> + }
> +
> + /*
> + * Fallback to SEV platform status if SNP is not enabled> + * or SNP platform status fails.
> + */
> ret = sev_platform_status(&status, &error);

... this sev_platform_status() is called anyway (not a fallback as the comment above says) and will override whatever snp_get_platform_data() wrote to @status.


> if (ret) {
> dev_err(sev->dev,
> diff --git a/drivers/crypto/ccp/sev-dev.h b/drivers/crypto/ccp/sev-dev.h
> index 3e4e5574e88a..1c1a51e52d2b 100644
> --- a/drivers/crypto/ccp/sev-dev.h
> +++ b/drivers/crypto/ccp/sev-dev.h
> @@ -57,6 +57,9 @@ struct sev_device {
> bool cmd_buf_backup_active;
>
> bool snp_initialized;
> +
> + struct sev_user_data_snp_status snp_plat_status;
> + struct snp_feature_info feat_info;


"snp_feat_info_0" as 1) it is for SNP like some other fields 2) there is subfunction=1 already defined so need some distinction.


> };
>
> int sev_dev_init(struct psp_device *psp);
> diff --git a/include/linux/psp-sev.h b/include/linux/psp-sev.h
> index 0b3a36bdaa90..0149d4a6aceb 100644
> --- a/include/linux/psp-sev.h
> +++ b/include/linux/psp-sev.h
> @@ -107,6 +107,7 @@ enum sev_cmd {
> SEV_CMD_SNP_DOWNLOAD_FIRMWARE_EX = 0x0CA,
> SEV_CMD_SNP_COMMIT = 0x0CB,
> SEV_CMD_SNP_VLEK_LOAD = 0x0CD,
> + SEV_CMD_SNP_FEATURE_INFO = 0x0CE,
>
> SEV_CMD_MAX,
> };
> @@ -812,6 +813,34 @@ struct sev_data_snp_commit {
> u32 len;
> } __packed;
>
> +/**
> + * struct sev_data_snp_feature_info - SEV_SNP_FEATURE_INFO structure
> + *
> + * @length: len of the command buffer read by the PSP
> + * @ecx_in: subfunction index
> + * @feature_info_paddr : SPA of the FEATURE_INFO structure
> + */
> +struct sev_data_snp_feature_info {
> + u32 length;
> + u32 ecx_in;
> + u64 feature_info_paddr;
> +} __packed;
> +
> +/**
> + * struct feature_info - FEATURE_INFO structure
> + *
> + * @eax: output of SNP_FEATURE_INFO command
> + * @ebx: output of SNP_FEATURE_INFO command
> + * @ecx: output of SNP_FEATURE_INFO command
> + * #edx: output of SNP_FEATURE_INFO command
> + */
> +struct snp_feature_info {
> + u32 eax;
> + u32 ebx;
> + u32 ecx;
> + u32 edx;
> +} __packed;

(not insisting) You could even define this as "struct snp_feature_info_0" with all the bits from "Table 5. Contents of Each Subfunction of Fn8000_0024". Thanks,


> +
> #ifdef CONFIG_CRYPTO_DEV_SP_PSP
>
> /**

--
Alexey



Return-Path: <linux-kernel+bounces-674038-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0182F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:50:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 19128172E0D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:50:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8FDFE1DB34B;
Thu, 5 Jun 2025 04:50:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=chipsnmedia.com header.i=@chipsnmedia.com header.b="WNV7AIfE"
Received: from SE2P216CU007.outbound.protection.outlook.com (mail-koreacentralazon11021125.outbound.protection.outlook.com [40.107.42.125])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9A00023B0;
Thu, 5 Jun 2025 04:50:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.42.125
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749099036; cv=fail; b=E8pxjc4D07UkBJNJ9IEpc+WePNyA3IpfqNaXwQju02XvM3F18HG5l1dMXJNrP6iZ2qL3kEiNdU7Hz3YCvI4Jtv28M/L66JgqMUDyzriTpb324kRK5djJdAhghVqzUgwM1eKDV8LZxB66akbMN3TRThh58b7DaR40lK+UPL854L8=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749099036; c=relaxed/simple;
bh=C+ab7UW1TweY5/fdRz6M3HGeIfpCOJubMYkhsn0+Dh0=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=IKXPZ+8gJkv+RYQ9vB8WQCJLqSYjDdQwTFHM0NO585Dd3ArykjHWGUax/XCz7AJtnMFFGIeeS6ENu/5JKeZh5SKuxUIl+XOXsX86qRftCUPeRyBayaaOIjmn7ICYjz7NM4Wlu1ZYer8kUL12GEmhM4ao6OTWcmIMtuNGYEwTdlM=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=chipsnmedia.com; spf=fail smtp.mailfrom=chipsnmedia.com; dkim=pass (1024-bit key) header.d=chipsnmedia.com header.i=@chipsnmedia.com header.b=WNV7AIfE; arc=fail smtp.client-ip=40.107.42.125
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=chipsnmedia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=chipsnmedia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=C3x5iM9XqYPhdc5K1W1VbaAO8uYz0xe3rlu/a0iBFIOjUoTMuIOrIz9gb2BI0kkALX+Aav3JCaSx3iQSS7KChdWZd6Qdjd0+ioDiHWzp1u+lSZ/QWO7MESbu2yUxNyWmLP4yF/6Mehm4yVBwnJ5vUnQOXZoVo2OmUr9nF62JJJn+H7fXJrScVOMPsihiNEZ+nREBZWiEbxGXW7CqVXXwOkc8j1wadKvq7t8gYJG4HZjLOyGVyrC6xm3bO98lJu7F2fXtYKP8oaPBwXJ1Gi3Pn9dOkZkhm7KC9YOKSKiEsulWjP0wkrGADOwSFLXvXs+QDxhMbLhOVe9LG+EWVuAasQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=C+ab7UW1TweY5/fdRz6M3HGeIfpCOJubMYkhsn0+Dh0=;
b=oY1dcBuUwbwPGJHoxa9MtVUOqxSh9Tzi8X+SzC/d/+XTWvl9nrWVOXM48OXiCq2JXMwi5RrALd97L+pN06yr6bDMWZwK/igvlTeJEen/nsP4RqzAmjrChGbgzWpMbOBg3DLeZUHHGfg517nzuuYbMq7V/+VRxLwRPQW18Sw0PuLXkUZT6iZJs4QoK5vLBJxQWem9zVqYTA/Z2nK/aGYHKvjnfzVeyh70ULLIuH1UxJfiiwNLn4Tmu6QkNmYtHF6ViVvGXBNpzLqUw/6cmWqL/PpvK60sp25VEDA7dH3OGfvT82PMSwzQBYIyD1bXWcGzdYE90no1eWLqre9ZnNallA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=chipsnmedia.com; dmarc=pass action=none
header.from=chipsnmedia.com; dkim=pass header.d=chipsnmedia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chipsnmedia.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=C+ab7UW1TweY5/fdRz6M3HGeIfpCOJubMYkhsn0+Dh0=;
b=WNV7AIfE28j5/bYyjLURVGFlQZ5WVVFoBeO1XG3sotHfB42fv4Zp4gCiH4tJW/RV7gsoGvQaYgFPe41ubXH3+7ZQovGVJbOBmBzO0V0pfjQmLlxu9rzhG68WTmQAv8HT235np23S2GMDv8UcdpAK9n03uHbAtPF/WMdwYsCCZQ0=
Received: from SE1P216MB1303.KORP216.PROD.OUTLOOK.COM (2603:1096:101:15::5) by
SL2P216MB2061.KORP216.PROD.OUTLOOK.COM (2603:1096:101:14e::9) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8813.21; Thu, 5 Jun 2025 04:50:30 +0000
Received: from SE1P216MB1303.KORP216.PROD.OUTLOOK.COM
([fe80::b711:5ab1:b5a4:d01b]) by SE1P216MB1303.KORP216.PROD.OUTLOOK.COM
([fe80::b711:5ab1:b5a4:d01b%5]) with mapi id 15.20.8813.020; Thu, 5 Jun 2025
04:50:30 +0000
From: jackson.lee <jackson.lee@xxxxxxxxxxxxxxx>
To: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>, "mchehab@xxxxxxxxxx"
<mchehab@xxxxxxxxxx>, "hverkuil-cisco@xxxxxxxxx" <hverkuil-cisco@xxxxxxxxx>,
"bob.beckett@xxxxxxxxxxxxx" <bob.beckett@xxxxxxxxxxxxx>
CC: "linux-media@xxxxxxxxxxxxxxx" <linux-media@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>, lafley.kim
<lafley.kim@xxxxxxxxxxxxxxx>, "b-brnich@xxxxxx" <b-brnich@xxxxxx>,
"hverkuil@xxxxxxxxx" <hverkuil@xxxxxxxxx>, Nas Chung
<nas.chung@xxxxxxxxxxxxxxx>
Subject: RE: [PATCH v2 2/7] media: chips-media: wave5: Improve performance of
decoder
Thread-Topic: [PATCH v2 2/7] media: chips-media: wave5: Improve performance of
decoder
Thread-Index:
AQHbyurOkmkh1DQff0CeTO0j+fdx8bPgfWOAgAVz/yCAAiaxgIAKXsPwgAChxwCAAPwu8A==
Date: Thu, 5 Jun 2025 04:50:30 +0000
Message-ID:
<SE1P216MB1303F7ADAC83F6CE312C5CA3ED6FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250522072606.51-1-jackson.lee@xxxxxxxxxxxxxxx>
<20250522072606.51-3-jackson.lee@xxxxxxxxxxxxxxx>
<3afbd0253fabcf9f8795ab2231107e2e9da012cc.camel@xxxxxxxxxxxxx>
<SE1P216MB1303C1D1C2A9FA165A01B71AED64A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<03a87e1c9e8f77887c2457b9c3fcbf0c6a6cf287.camel@xxxxxxxxxxxxx>
<SE1P216MB13033207BDFE2A6BCC48999EED6CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<1318bd68f2d60b9d44cb22bd90b92399311f0b00.camel@xxxxxxxxxxxxx>
In-Reply-To: <1318bd68f2d60b9d44cb22bd90b92399311f0b00.camel@xxxxxxxxxxxxx>
Accept-Language: ko-KR, en-US
Content-Language: ko-KR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=chipsnmedia.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SE1P216MB1303:EE_|SL2P216MB2061:EE_
x-ms-office365-filtering-correlation-id: 9210c953-a18c-446e-4b74-08dda3ec7f85
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
=?utf-8?B?Nm41cmtHQ3lLeC9UL1ViU2x4K0ZwaHkvYVJoRms1dkRDM3crY1VnNnB1UUxO?=
=?utf-8?B?UEVuVTFYZUtCYWE1czRRRHNUU1FiZkNZOE16clVDZVJaOUxmZUpEc2ZaS0Zr?=
=?utf-8?B?ZkIvSG5KdW43Z2ZZWnYwdllRRElIZFAwMXBBOVNqMUFuMW85N0dNWFgxVlla?=
=?utf-8?B?ZW90Q05lM0JyQ3NpSHFZKzNaRWNiRHUrU0hTMHZueURsc2lOUVhoT2xDRnJi?=
=?utf-8?B?NjQxTUpIRmRsV1JpTGJtVGtUOVV0MndjMGtRWTQ1NFVWeGtNSHdYcXBiRm1I?=
=?utf-8?B?WWorUkVDNVJieURCTHBkNEpubVlZaFN4MEljMzc3SzZITGRDZVo0b3ZqWEdG?=
=?utf-8?B?MnU4QVhoNC91Y0FiTDFLbExiS3d2bjVnTkdnNzN5REFrbU1iUWdoU01VNDM0?=
=?utf-8?B?OEs0NjVGSG1TN2xMeTA1OURJRFBGdDBjM3hrSXc1U1VMakltT2crUjNmWE9O?=
=?utf-8?B?YVJUUXdrY3BpTlJ4QTdQVkoyR0NqbHB6dzNHeDZ6L3E1YjBrUDBwbTlNT01L?=
=?utf-8?B?dk5DdTE3SUZnYlJULzFJT0dtV1RVRWVUWGYyZkMzSjQxUnVyQk5QTjN3VVBV?=
=?utf-8?B?S3BHSTJCY2JvaHFRZEdzd3FXdFZsRFBSOEE0M0dhRGZOS09QdWRKalhqSHZJ?=
=?utf-8?B?SktKTHY2cnVuOGtKZTdXUERLNzQ0YjdWem9Bam5QN1libFBJUlVyOW9PQnRE?=
=?utf-8?B?V29XWHJrVFJuQ1g4NjdyNWNCaTRObE40V2k3Wk43NGxQbkxPcjNYaStsRUJy?=
=?utf-8?B?SktNWjAvSzNNMno5ZCtQZDVuZmFsL3dIUE5ETzA1UmZhLytja3cwR01DODhL?=
=?utf-8?B?YzA5S21tMHdMUmJ2Y0ZIc3VSVFFMOHU5KzRXODVlazdHaTFQMkpHVlAzeC9P?=
=?utf-8?B?TUliMlJCL3kzejMxRkd2T1ljRHJUMjhsU25pQzg0UlVhTHN5ZE5KTGRVQmVq?=
=?utf-8?B?bTFPQ1VGYklOMEl1L0gxUTBQTmNkSjdVMjVHbkc3UytVM2p2eHVDVnVjVTR0?=
=?utf-8?B?YmRJaERUQWNpbVFLc25IdUFFTFlhZ0MxMVZiTDZQZzlIY2JQZm5yNmZCcS9t?=
=?utf-8?B?Ny9wangycUxTSEkvWE9kVk5HQ21KMFh1amN6U2dvc3R6T0JaZ0hURFUrTmpm?=
=?utf-8?B?WVNSNGRCNFgyS3I1Z1NWNFlSMFgzTklvdU1pRzBBZ2QrdjI5NW1YT1Zmcktm?=
=?utf-8?B?RkkyaTNqMy9ZTE85YlQyajdoekZSTkYrY2lwUnNYbmV2TVlGL3kwNFlRUDlu?=
=?utf-8?B?NXRmaFZ2d1lCeFpVUUdFWDA0bmEzcWhabUorRU5rU0FTUExuMmRkZ0lDZXlM?=
=?utf-8?B?alJtYXZiZkJVckN4cFh1RDdmbmVtRGRESUN3TW9qOEJEZVBETzJKemg4RzB6?=
=?utf-8?B?d0sxckpvTlpmVWRQaFMxQWpVZmRtNThYN1d2Y2EwV1lMZ0FOWWN5UFRrZ291?=
=?utf-8?B?a1EvQUlEQ2orR2Yxa3hiakdrUTB5RGxhZWFuRE1SMmhMQ2dxWkJlbVpzdjBw?=
=?utf-8?B?ejFZZStpSlIzY1phajFTUE9ialdNbjNtMVVpYjlWQ2lKWDI1SndBYXJiL0Z6?=
=?utf-8?B?QU9VOTRKaGxCM0wvUGNJZzhiOVNFemhYQlFkVGMzZzZwZW5WY1JMVEFsQ2ov?=
=?utf-8?B?UUZUdUM4SXBvZ3RqYzREUUdQZjB4TnZ4aVBBWVZNU2V2dE9KTGlYamg0ZlVv?=
=?utf-8?B?K1BMQ3V6STU4Z1V2b3czSGQrQlFLTjdaMjlYUDltQTZvSm5mZ2VzY0FqazFk?=
=?utf-8?B?TFQ2aFFQdGVCVFJuME5OenhIYllURW5USS9iWDJRbnBHR2J3L0JTaXRNbmZM?=
=?utf-8?B?blB3M0VkUW5sVWU2UEZacmt6bjgybnh4Nlc2VitxY1VRdHBvZkp4Q3NuUUpN?=
=?utf-8?B?NkRnOUpmeDdZN2htNVEzQkY2VGRWWTg0RzJEOFRZdG1zY3BienYwK0ZZeHNG?=
=?utf-8?B?MUhTMnBINzgxQVlpYitNelhJaWNoVlJMZXl2cDhTd0gzQ1FUTldxalNON2Rh?=
=?utf-8?Q?y+Cw7eSTLGkCQNjOw8SVBCPAhh2IT8=3D?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:ko;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SE1P216MB1303.KORP216.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?WlpUVi94V1NQY0ozSEFPV2E0dEc1bjVCYWY0Wm5nVURxZ1J5dEtFQk0rZG5a?=
=?utf-8?B?bllVRktkQTJ6SWQrVW5XRFQ4Y3BYZ3NJblVYSGFObHc0UUFSeXd5b0lYTDlL?=
=?utf-8?B?UmhqbVZZZWk4cGFpUFoyMDJuOFg0b0RuanhNYWNrT1FhKzRwVUpOcE0vUnJy?=
=?utf-8?B?cDZ6NkFNeHBja25rMW9ZQVJseU5GYWRlOHBqR1dkTEljS0dmcGJZbUVKU3Bk?=
=?utf-8?B?THErZG9uTGVISTdiL2JlZDdUcWtQZ1VtL0p0eS9MYmEyQklFL2FZRGYwc202?=
=?utf-8?B?RG1Ja0dnVGJleFptZ3ppNEdCbTR2T1Z5RFU5VDRwb0lieVBuOHRNVktHSUpI?=
=?utf-8?B?eWhRR1kwS0owSmRVMjhNSWVmL1lkdHQ2YnVFQTlQYnNWTWpQVmVUWmdhTkZl?=
=?utf-8?B?UXNBTk9WOXlvL1hEV2l4OEFBdXQ2bUdtSkNreGUwMThJSG5hQnVxL1dMTkZR?=
=?utf-8?B?MDhOcGxNQVVaQm13aitKRVFUUzJHeWVLMEIzU01LdDV4RkpnejQzQlU1KzhL?=
=?utf-8?B?UVY0R0tlaXpVOGl3L1U4N2plSFo4SDJ0aVNFN2tzZ1dZU1ZNRDFWdDR4Wmph?=
=?utf-8?B?Ykp5R1BkbHFjUFNmTUlxcDhySVJScTVSOHZ0ZEZ6S0JvTlM2UVF6blNvMG9w?=
=?utf-8?B?dnNicXE3WEQ0clB4V1BtMmhrMHVnMFg1R0hGdTNNNkJoVHUxK1FTVkNEdkN2?=
=?utf-8?B?VzEyWlo4WnZUTU9qaTl6b0pNTVpuUncrdmFuOWRIbFNOTnI3Z3ZFd1B3eG9Q?=
=?utf-8?B?RVZlQldMdk9EWDJvSytBbGZvY09vdVNFMm9obngxdlNldHhLa0xIQ2pUWG5m?=
=?utf-8?B?SlVWTlJKbzlQWXl3aHpVRVo5elRSOHdXVVpDSzNUdUFKSUhLL3RCdk5KUGhJ?=
=?utf-8?B?dW5NMGhBUEt6cnVINmdXUm0rMG9Eb1V0U3dRWUtzTWNqTjQwNmNvVUg1WU1w?=
=?utf-8?B?YzhRSlhEdUh2TlhyeVY5eEFSa3VKSmhIME5adlVzc1ZtUnJHT29nNFdGUFdn?=
=?utf-8?B?UVBnMmozc0Jkc3d1SkNodGt5MDNibWs0MkFBNG1uaFNNU3U3WXp0bHpOM2xU?=
=?utf-8?B?S29abklYOStsbC9VazRrNDVmTTN1SlB4Q0J0ZkZmbVl5YmNiT2lNZHowUzgz?=
=?utf-8?B?Z1dUWXQvL0h1LzNIcER2R2hsS2tWYUtOTmQ1T2pqMlltKzFacm9ZWXNWMTJr?=
=?utf-8?B?OVlGZk1CSFNpTGdBVHJlOWJ5VVhKdS9QaVRyM0xaOHlGQ0pkT25CRGQrVmxD?=
=?utf-8?B?WURwSEF6VFlBRis4QytOTldRTS9iK2VQRnVSQkdPcnZxL1laTWpwNmJhaHlR?=
=?utf-8?B?dUJLcHk4R01UVVlSTUcwNGt3VW43alQwSVZ6ZVdFWU9PY0M0UjF1eWJRbU8v?=
=?utf-8?B?bm0xOG9Ua0tPU0VnQ1J1MkI3VnkwTzhQajMvam5hajZSRWhKYmYrWmNRTk1O?=
=?utf-8?B?Vy9ZUU44MjdUNmtXNC80cWJ0cXczMCthemlLK2MzTzZZblV0b3dmMFBCWXNn?=
=?utf-8?B?aHZDN0FKdE5KTHYzdTZ2ZVI5TCsxT1RNM0RLeG45Vy9nSU5CMFk1M2lONUJy?=
=?utf-8?B?QkJqNHh5dmVmZ3dhWldWdGd4M1pRUXU0d1cwY1ZzMVZSTDNEbzRveDYzdm56?=
=?utf-8?B?US9YSnlheXZpUktlSVFZWWs3QmpDYUdNL2xrODExYTFZTHpKbUxrN3JlT3NP?=
=?utf-8?B?cFNBV1V1Sm8wTnQ3WnRsdnU5RDBlelNYeUdYVXJUTHRGQm90TEtTMkVLQm5o?=
=?utf-8?B?V2wvaWk3VUowQlJWUU1xQVhYYkFTemtnakFrY2lQVmkya2tBZ0U2ZDdCZzlU?=
=?utf-8?B?V2dYeWdSTnJLeHVabm5WV1RKK0dhQWpjSGtTcHhnVUxBbmduMXJYSkplU0NM?=
=?utf-8?B?R2NDUUphVi9nMjFUR2VUMWtvenJ4WXlBOHhpdDROclZBbXNzV2J2bmJrOURG?=
=?utf-8?B?S0VxWnVEZWh3K0Y0b0k0UitXSU40MHJPOUtZZGtJT21JZWNSbXZkM3orK2c2?=
=?utf-8?B?Rll1U0hhclp2TnZiMUZUSHV6NFVOU0ovS3RSNGRtK2tmcUR0aGhsMW1YSTIr?=
=?utf-8?B?czZnd2JGZjhMVWliZ1d6ZTM2S1FHWVQvNGdmUVRMSmw0akVhcGhmSmJ6MS9j?=
=?utf-8?B?NFpGckw0OWNKUFZidHQ3MjRCcEhOSXo4bzBxREozVHUxeWlzcENxY2kzS28z?=
=?utf-8?B?TXc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-OriginatorOrg: chipsnmedia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SE1P216MB1303.KORP216.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 9210c953-a18c-446e-4b74-08dda3ec7f85
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 04:50:30.3304
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4d70c8e9-142b-4389-b7f2-fa8a3c68c467
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: iZcARVnuIoZ8JaBNhMpWHjbjgS9GBBb4n9A0d9EiZSqMqyX10ojl8hTeL9lzFjwduG4sMhIuhbMQ4kgIJdoIgt8se0y/jIZipfweSAueu4k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SL2P216MB2061
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

SGkgTmljb2xhcw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE5pY29s
YXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4NCj4gU2VudDogV2Vk
bmVzZGF5LCBKdW5lIDQsIDIwMjUgMTA6NDggUE0NCj4gVG86IGphY2tzb24ubGVlIDxqYWNrc29u
LmxlZUBjaGlwc25tZWRpYS5jb20+OyBtY2hlaGFiQGtlcm5lbC5vcmc7DQo+IGh2ZXJrdWlsLWNp
c2NvQHhzNGFsbC5ubDsgYm9iLmJlY2tldHRAY29sbGFib3JhLmNvbQ0KPiBDYzogbGludXgtbWVk
aWFAdmdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBsYWZsZXku
a2ltDQo+IDxsYWZsZXkua2ltQGNoaXBzbm1lZGlhLmNvbT47IGItYnJuaWNoQHRpLmNvbTsgaHZl
cmt1aWxAeHM0YWxsLm5sOyBOYXMNCj4gQ2h1bmcgPG5hcy5jaHVuZ0BjaGlwc25tZWRpYS5jb20+
DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIgMi83XSBtZWRpYTogY2hpcHMtbWVkaWE6IHdhdmU1
OiBJbXByb3ZlIHBlcmZvcm1hbmNlDQo+IG9mIGRlY29kZXINCj4gDQo+IExlIG1lcmNyZWRpIDA0
IGp1aW4gMjAyNSDDoCAwNDowOSArMDAwMCwgamFja3Nvbi5sZWUgYSDDqWNyaXQgOg0KPiA+ID4g
UnVubmluZyBpbiBsb29wIGFueXRoaW5nIGlzIG5ldmVyIHRoZSByaWdodCBhcHByb2FjaC4gVGhl
DQo+ID4gPiBkZXZpY2VfcnVuKCkgc2hvdWxkIGJlIHJ1biB3aGVuIGEgdXNlZnVsIGV2ZW50IG9j
Y3VyIGFuZCBmaWx0ZXJlZCBieQ0KPiA+ID4gdGhlIGpvYl9yZWFkeSgpIG9wcy4gSSBiZWxpZXZl
IEknbSBwcm9wb3Npbmcgc29tZSBoaW50IGhvdyB0byBzb2x2ZQ0KPiA+ID4gdGhpcyBkZXNpZ24g
aXNzdWUuIFRoZSBpc3N1ZSBpcyBxdWl0ZSBjbGVhciB3aXRoIHRoZSBmb2xsb3cgdXAgcGF0Y2gN
Cj4gPiA+IHRyeWluZyB0byByZWR1Y2UgdGhlIENQVSB1c2FnZSBkdWUgdG8gc3Bpbm5pbmcuDQo+
ID4NCj4gPg0KPiA+DQo+ID4gVGhhbmtzIGZvciB5b3VyIGZlZWRiYWNrLg0KPiA+IEJ1dCB0aGVy
ZSBpcyBvbmUgdGhpbmcgdG8gc2F5IHRvIHlvdS4NCj4gPiBBZnRlciByZWNlaXZpbmcgRU9TIGZy
b20gYXBwbGljYXRpb24sIHdlIGhhdmUgdG8gcGVyaW9kaWNhbGx5IHJ1biB0aGUNCj4gPiBkZXZp
Y2VfcnVuIHRvIHNlbmQgdGhlIERFQ19QSUMgY29tbWFuZCBzbyB0aGF0IFZQVSBjYW4gdHJpZ2dl
cg0KPiA+IGludGVycnVwdCAgdW50aWwgZ2V0dGluZyBhbGwgZGVjb2RlZCBmcmFtZXMgYW5kIEVP
UyBmcm9tIEdldF9SZXN1bHQNCj4gY29tbWFuZC4NCj4gPiBTbyBldmVuIGlmIHdlIHNlbnQgRU9T
IHRvIFZQVSBvbmNlLCB3ZSBzaG91bGQgcnVuIHRoZSBkZXZpY2VfcnVuDQo+ID4gZnVuY3Rpb24g
Y29udGludW91c2x5LCB0aGUgYWJvdmUgY29kZSB3YXMgYWRkZWQuIElmIHRoZSBqb2JfcmVhZHkN
Cj4gPiByZXR1cm5zIGZhbHNlIHRvIHByZXZlbnQgcnVubmluZyB0aGUgZGV2aWNlX3J1biBhZnRl
ciBzZW5kaW5nIEVPUyB0bw0KPiA+IFZQVSwgdGhlbiBHU3RyZWFtZXIgcGlwZWxpbmUgd2lsbCBu
b3QgYmUgdGVybWluYXRlZCBub3JtYWxseSBiZWNhdXNlIG9mDQo+IG5vdCByZWNlaXZpbmcgYWxs
IGRlY29kZWQgZnJhbWVzLg0KPiANCj4gVGhpcywgaW4gbXkgb3BpbmlvbiwgYm9pbHMgZG93biB0
byBhIHNtYWxsIGZsYXcsIGVpdGhlciBpbiB0aGUgZmlybXdhcmUgb3INCj4gdGhlIGRyaXZlci4N
Cj4gVGhpcyBpcyB3aHkgdGhlcmUgd2FzIHRoaXMgY29kZToNCj4gDQo+IC0NCj4gLQkvKg0KPiAt
CSAqIER1cmluZyBhIHJlc29sdXRpb24gY2hhbmdlIGFuZCB3aGlsZSBkcmFpbmluZywgdGhlIGZp
cm13YXJlIG1heQ0KPiBmbHVzaA0KPiAtCSAqIHRoZSByZW9yZGVyIHF1ZXVlIHJlZ2FyZGxlc3Mg
b2YgaGF2aW5nIGEgbWF0Y2hpbmcgZGVjb2RpbmcNCj4gb3BlcmF0aW9uDQo+IC0JICogcGVuZGlu
Zy4gT25seSB0ZXJtaW5hdGUgdGhlIGpvYiBpZiB0aGVyZSBhcmUgbm8gbW9yZSBJUlEgY29taW5n
Lg0KPiAtCSAqLw0KPiAtCXdhdmU1X3ZwdV9kZWNfZ2l2ZV9jb21tYW5kKGluc3QsIERFQ19HRVRf
UVVFVUVfU1RBVFVTLCAmcV9zdGF0dXMpOw0KPiAtCWlmIChxX3N0YXR1cy5yZXBvcnRfcXVldWVf
Y291bnQgPT0gMCAmJg0KPiAtCSAgICAocV9zdGF0dXMuaW5zdGFuY2VfcXVldWVfY291bnQgPT0g
MCB8fA0KPiBkZWNfaW5mby5zZXF1ZW5jZV9jaGFuZ2VkKSkgew0KPiAtCQlkZXZfZGJnKGluc3Qt
PmRldi0+ZGV2LCAiJXM6IGZpbmlzaGluZyBqb2IuXG4iLCBfX2Z1bmNfXyk7DQo+IC0JCXBtX3J1
bnRpbWVfbWFya19sYXN0X2J1c3koaW5zdC0+ZGV2LT5kZXYpOw0KPiAtCQlwbV9ydW50aW1lX3B1
dF9hdXRvc3VzcGVuZChpbnN0LT5kZXYtPmRldik7DQo+IC0JCXY0bDJfbTJtX2pvYl9maW5pc2go
aW5zdC0+djRsMl9tMm1fZGV2LCBtMm1fY3R4KTsNCj4gLQl9DQo+IA0KPiBXaGljaCB5b3UgcmVt
b3ZlZCBpbiB0aGlzIHBhdGNoLCBhcyBpdCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIHV0aWxpc2Ug
dGhlDQo+IEhXIHF1ZXVlcy4NCj4gSW4gdGhlIHNwZWNpZmljIGNhc2UgeW91IGRlc2NyaWJlZCwg
aWYgbXkgbWVtb3J5IGlzIHJpZ2h0LCB0aGUgQ01EX1NUT1ANCj4gKEVPUyBpbiB5b3VyDQo+IHRl
cm1zKSBjb21lcyBpbiByYWNlIHdpdGggdGhlIHF1ZXVlIGJlaW5nIGNvbnN1bWVkLCBsZWFkaW5n
IHRvIHBvc3NpYmx5DQo+IGhhdmluZyBubyBldmVudCB0byBmaWd1cmUtb3V0IHdoZW4gd2UgYXJl
IGRvbmUgd2l0aCB0aGF0IHNlcXVlbmVjZS4NCj4gDQo+IFY0TDIgTTJNIGlzIGFsbCBldmVudCBi
YXNlZCwgYW5kIHY0bDJfbTJtX2pvYl9maW5pc2goKSBpcyBvbmUgb2YgdGhvc2UuDQo+IEJ1dCBp
biB0aGUgbmV3IGltcGxlbWVudGF0aW9uLCB0aGlzIGV2ZW50IG5vIGxvbmdlciBjb3JyZWxhdGUg
d2l0aCB0aGUgSFcNCj4gYmVpbmcgaWRsZS4NCj4gVGhpcyBpcyBmaW5lLCBkb24ndCByZWFkIG1l
IHdyb25nLiBJdCBub3cgbWF0Y2hlcyB0aGUgZHJpdmVyIGJlaW5nIHJlYWR5DQo+IHRvIHRyeSBh
bmQgcXVldWUgbW9yZSB3b3JrLg0KPiANCj4gU28gbXkgcXVlc3Rpb24gaXMsIGlzIHRoZXJlIGEg
d2F5IHRvIGtub3csIGF0IENNRF9TVE9QIGNhbGwsIHRoYXQgdGhlIEhXDQo+IGhhcyBnb25lIGlk
bGUsIGFuZCB0aGF0IG5vIG1vcmUgZXZlbnRzIHdpbGwgYWxsb3cgaGFuZGxpbmcgdGhlIEVPUyBj
YXNlPw0KPiANCj4gTmljb2xhcw0KDQoNClRoYW5rcyBmb3IgeW91ciByZXBseS4JDQoNCk5vdyB0
aGVyZSBpcyBvbmx5IG9uZSB0aGluZyB0byBrbm93IGlmIHRoZXJlIGlzIG1vcmUgZXZlbnRzIG9y
IG5vdCB0byBoYW5kbGUgdGhlIEVPUyBjYXNlLg0KSXQgaXMgdGhhdCBkcml2ZXIgc2VuZHMgREVD
X1BJQyBjb21tYW5kIHRvIFZQVSBjb250aW51b3VzbHkgdW50aWwgZGlzcGxheSBpbmRleCBpcyAt
MihpdCBtZWFucyBFT1MpIGZyb20gVlBVLg0KVlBVIHNob3VsZCB0cmlnZ2VyIGludGVycnVwdHMg
dG8gZ2V0IGRpc3BsYXkgaW5kZXggZnJvbSB0aGUgZmluaXNoX2RlY29kZSBmdW5jdGlvbi4NClNv
IHdlIGhhdmUgdG8gcnVuIGRldmljZV9ydW4gdG8gc2VuZCBERUNfUElDIGNvbW1hbmQuDQoNClRo
YW5rcw0KSmFja3Nvbg0K


Return-Path: <linux-kernel+bounces-674039-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2759041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:54:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id F2E493AA40A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:53:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 195C01D63C6;
Thu, 5 Jun 2025 04:53:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KTJb43QU"
Received: from mail-yb1-f196.google.com (mail-yb1-f196.google.com [209.85.219.196])
(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 6AD841C84BD
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:53:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.196
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749099236; cv=none; b=mQO7rfgvfUn7Fd8//6PTkaEIysQVvtnMBULGj9ecpzodggtwfla3fOyDmtfct0+rmSogiE/lynKUsNNBeiAE0Ta6GPbX1/VNxykdkhFlYuP5YM6JWw656bLHA3LVXROvjxbJm2r4G++D5uIfeC7ifVKn61kGRe8+cDDcMWkxIKU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749099236; c=relaxed/simple;
bh=/6C+JWw75/R50FFWMI8mjgcGEP7wVQE4tlqoTV6v7jo=;
h=MIME-Version:From:Date:Message-ID:Subject:To:Content-Type; b=SflJTuLZ32jdm9JKgXdJBEDmMC1Dg+HfX+a2SwY4gMWL0phARWg8aUWZjFXWEffISB3t4/fIpzNeHBuuuVE7bP/00Id2uqIcelPcKrF2DONv9FGF7Bl29A/g9Ue2K0kqlP0l1v8pNa8jHst7tXT5DhDIYpMMyq9qcC99YbY2UxM=
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=KTJb43QU; arc=none smtp.client-ip=209.85.219.196
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
Received: by mail-yb1-f196.google.com with SMTP id 3f1490d57ef6-e817b40d6e7so550710276.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 21:53:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749099233; x=1749704033; darn=vger.kernel.org;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=fS1f4AAXPnrRwjp5YID0CFk+74EYHvs8nkPEHGKclR4=;
b=KTJb43QUfCKdTLdhwPx4S/QDd++/czqXavTr/atnjFZ3EUdHsWn+1lU9rzERT0JQxV
A9ZHDD8Ukrp3I6zcbOVp5n7Ytmn0KwJOnwYfCrAmzJ6Y3bveiX2r9ECVEsNkJl0Y5Uak
vlYm1abqy9XkbARlvl0NFFb/Y6e1Gf0sksCBei7qapeDa17zVemKbeAF9yknH05KxnMx
6zVbjyN2cihgby8GWmJT2W5D11LxMoA5gQjFPqEAlsy6tQpSI2FUEFYCoT/KcQAyTRb9
+29qieu3mT1+dRwbCgQ8Jy3dXYSKVisd0tzvvD5/xR5gEOCcUYEec5mf0Dy7Ugxdd8HV
r6+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749099233; x=1749704033;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=fS1f4AAXPnrRwjp5YID0CFk+74EYHvs8nkPEHGKclR4=;
b=O3MbMi4J4XpanTzO695NwupulAFLxlR1jbfxDs6Jvd1JXi1OaIMSb+7dnzYsnBi6hH
Jdkis2z7pyMi+d6fddLydRJfHJ23JFUSNWIC9JR2Ydewr3SJvfNzUP7/jVqNQB0TR13v
kB6zPrGhCGv/1LDqRRyxmsh4xiYV012TJQccLP4y+YbM5VMIZDaixUlRbZSN3mY8BJFu
2cd+nyzj0avJOUN7vYDr+sNa5106SkGvtzOv1bV3nKeGACOHhjMSUAqlE1eV6cJh471t
E1aAyQiBeNcw77C3+rZAnvSJXLsTNtNfLBZcxpLqVswDBOU1w5vv8qfASlMNQYy6rTIk
PZ/A==
X-Gm-Message-State: AOJu0YziOy3RDCd0nZkWucKBf9Y5zpg99Zc6ogIZj49K3W/m5QgHoPg+
Pd/G3Y7WcjNJVOpvyJR/J10TxwUnfeX1qHpXB42zusHltJm09khtK1h7hcURSH9s7sbvfiOwvdM
ELeqc37QYpvJ9IjaNUQzOmK2ePaMPWbqpuAATsnEWlsDn
X-Gm-Gg: ASbGncuZFuAkeqiBj2Tq3EEvjGrD9NTdfcoo2742vaVEOGeOaj5RLSqbr9uUXvqFKhI
VLbFlV/H8pYiF5Az/kOQNQjQfyi/QGe2n3b4Q7Tvz6YX6LSeCXznPx2oo3YXxxgISNH+f4E0IvQ
0q1vt30seQtdj2OnbeuBrKLKMqPVz15f3pnQu19T4QkbRS7DdT5pmgEozJrhfkwVA/8u0=
X-Google-Smtp-Source: AGHT+IHJuAN2+ZFaNLR5ueUfxcly/u2JFLZx/T5PpU4QBjXlA0KknbXu8sCGbRYKhFcuqVfOE2DFPxf776nna4VQWEQ=
X-Received: by 2002:a05:6902:18ca:b0:e7d:8eee:aec8 with SMTP id
3f1490d57ef6-e8179c39ce6mr7602022276.8.1749099233098; Wed, 04 Jun 2025
21:53:53 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
From: Amit <amitchoudhary0523@xxxxxxxxx>
Date: Thu, 5 Jun 2025 10:23:42 +0530
X-Gm-Features: AX0GCFsH-dgiodMRruB7kOXtiaAHea4aQnMTeLbEsDQ9FJ21Lhx4v55zJ3feva0
Message-ID: <CAFf+5zgmy9p3vLHKY6qeTKJO=RQa8z0H8dNs8BfqDr9D-1GC9g@xxxxxxxxxxxxxx>
Subject: Encrypt decrypt file using password as key (simple algorithm) (File: encrypt_decrypt_file.php).
To: linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Encrypt decrypt file using password as key (simple algorithm) (File:
encrypt_decrypt_file.php).

---------------------------------
encrypt_decrypt_file.php
---------------------------------

<?php

$e_option_present = FALSE;
$d_option_present = FALSE;
$op = "";
$op_str = "";
$input_file = "";
$output_file = "";
$in_handle = NULL;
$out_handle = NULL;
$password = "";
$max_password_len = 20;
$actual_password_len = 0;
$help_msg = "Please see how to use this program/script by using the --help" .
" option (encrypt_decrypt_file --help).";
$buf_size = 8192;

// error handler function
function custom_error_handler($errno, $errstr, $errfile, $errline)
{
//echo "Got error/notice/warning, etc.\n";
//echo $errno . "\n";
//echo $errtsr . "\n";
//echo $errfile . "\n";
//echo $errline . "\n";
return true;
} // end of custom_error_handler
// set to the user defined error handler
$old_error_handler = set_error_handler("custom_error_handler");

function print_usage()
{
echo ("Usage:\n\n" .
" Syntax:\n\n" .
" encrypt_decrypt_file OPTION INPUT_FILE\n\n" .
" Description:\n\n" .
" encrypt_decrypt_file will encrypt or decrypt INPUT_FILE\n" .
" according to the option given by the user.\n" .
" \n" .
" encrypt_decrypt_file will ask the user for a password and\n" .
" then use this password to encrypt or decrypt the INPUT_FILE\n" .
" (according to the option given by the user).\n" .
" \n" .
" The password for decrypting the input file should be the\n" .
" same as the password given for encrypting the original input\n" .
" file.\n" .
" \n" .
" The name of the output file will be\n" .
" input_file_name.[encrypted|decrypted] and it will be created\n" .
" in the same directory in which the INPUT_FILE is present.\n" .
" \n" .
" In case, the directory already has a file with the same name\n" .
" as the output file name, then this script will exit without\n" .
" doing anything and print an appropriate error message.\n" .
" \n" .
" Basically, this can be considered as protecting a file with\n" .
" a password.\n" .
" \n" .
" Options:\n\n" .
" -e\n" .
" Encrypt the INPUT_FILE.\n\n" .
" -d\n" .
" Decrypt the INPUT_FILE.\n\n" .
" --help\n".
" Print this usage/help and exit.\n\n");
} // end of print_usage

// print debug info
function print_debug_info()
{
global $argc, $argv, $input_file, $output_file;
echo "DEBUG_INFO_START:\n\n";
echo "Number of arguments = " . ($argc - 1) . "\n\n";
for ($i = 1; $i < $argc; $i++) {
$arg = trim($argv[$i]);
echo "Argument " . $i . ": " . $arg . "\n";
}
echo "\n";
echo "input_file: '$input_file'\n";
echo "output_file: '$output_file'\n";
echo "\nDEBUG_INFO_END\n\n";
} // end of print_debug_info

function close_file_handles()
{
global $in_handle, $out_handle;
fclose($in_handle);
fclose($out_handle);
} // end of close_file_handles

function delete_output_file()
{
if (unlink($output_file) == FALSE) {
echo "Error: Failed to delete output file. Please delete it" .
" manually. Exiting..\n";
}
} // end of delete_output_file

echo "\n";

//---- trim all elements of argv[] (including argv[0]) and store in an arg_list
// so that I don't have to trim argv[] everywhere.

//---- check testing from here.

//---- check correctness of program.

// check for --help option first
for ($i = 1; $i < $argc; $i++) {
$arg = trim($argv[$i]);
if ($arg === '--help') {
print_usage();
exit(0);
}
}

if ($argc != 3) {
echo "Error: (Only) two arguments are required: -e|-d and an input file" .
" name. Exiting..\n";
echo "\n";
echo "Number of arguments given = " . ($argc - 1) . "\n";
echo "\n";
echo "Arguments given are: ";
if ($argc > 1) {
echo "\n";
for ($i = 1; $i < $argc; $i++) {
$arg = trim($argv[$i]);
echo " Argument " . $i . ": " . $arg . "\n";
}
} else {
echo "None\n";
}
echo "\n";
echo $help_msg;
echo "\n\n";
exit(1);
}

for ($i = 1; $i < $argc; $i++) {
$arg = trim($argv[$i]);
if ($arg === "-e") {
$e_option_present = TRUE;
$op = "encrypt";
} else if ($arg === "-d") {
$d_option_present = TRUE;
$op = "decrypt";
} else {
$input_file = $arg;
}
} // end of for loop

if (($e_option_present == FALSE) && ($d_option_present == FALSE)) {
echo "Error: Neither '-e' option nor '-d' option is given." .
" This is invalid. One of the options should be given. Exiting..\n";
echo "\n";
echo $help_msg;
echo "\n\n";
exit(1);
}

if (($e_option_present == TRUE) && ($d_option_present == TRUE)) {
echo "Error: Both '-e' option and '-d' option are given." .
" This is invalid. Only one option should be given. Exiting..\n";
echo "\n";
echo $help_msg;
echo "\n\n";
exit(1);
}

if (strlen($input_file) == 0) {
echo "Error: Input file name is empty. Exiting..\n";
echo "\n";
echo $help_msg;
echo "\n\n";
exit(1);
}

// set output file name
$op_str = $op . "ed";
$output_file = $input_file . "." . $op_str;

//print_debug_info();

// print names of input file and output file
echo "Input file: $input_file\n";
echo "Output file (to be created): $output_file\n\n";

// check if output file already exists by trying to read it
$op_str = $op . "ion";
$op_str = ucfirst($op_str);
if (($out_handle = fopen($output_file, "r")) != FALSE) { // output file exists
fclose($out_handle);
echo "\n";
echo "Error: Output file already exists. $op_str was not done." .
" Exiting..\n\n";
exit(1);
}

// open input file for reading
if (($in_handle = fopen($input_file, "rb")) == FALSE) {
echo "\n";
echo "Error: Failed to open input file for reading. $op_str was not done." .
" Exiting..\n\n";
exit(1);
}

// get password from user
$op_str = $op . "ing";
while (strlen($password) == 0) {

echo "Please enter password for $op_str input file" .
" (max. $max_password_len characters): ";

if (($password = fread(STDIN, $max_password_len)) == FALSE) {
echo "Error: Failed to read password entered by the user on standard" .
" input (STDIN). Exiting..\n\n";
fclose($in_handle);
exit(1);
}

// remove \r and \n from password
$password = str_replace("\r", "", $password);
$password = str_replace("\n", "", $password);
$actual_password_len = strlen($password);
//var_dump($password);

} // end of while strlen password

// open output file for writing
if (($out_handle = fopen($output_file, "wb")) == FALSE) {
echo "\n";
echo "Error: Failed to open output file for writing. $op_str was not" .
" done. Exiting..\n\n";
fclose($in_handle);
exit(1);
}

while (!feof($in_handle)) {

//testing
//echo "Press enter to resume testing: ";
//fread(STDIN, 20);

if (($buf = fread($in_handle, $buf_size)) == FALSE) {
echo "\n";
echo "Error: Failed to read input file. $op_str was not done." .
" Exiting..\n\n";
close_file_handles();
delete_output_file();
echo "\n";
exit(1);
}

$buf_len = strlen($buf);

for ($bi = 0, $pi = 0;
$bi < $buf_len;
$bi++, $pi = (($pi + 1) % $actual_password_len)) {
//echo "$buf[$bi], ";
//echo "$password[$pi], ";
$buf[$bi] = ($buf[$bi] ^ $password[$pi]) ^ chr(0x80);
//echo "$buf[$bi]\n";
//print_r(unpack("H*", $buf[$bi]));
} // end of for loop

//testing
//echo "Press enter to resume testing: ";
//fread(STDIN, 20);

if (($num_bytes_written = fwrite($out_handle, $buf, $buf_len)) == FALSE) {
echo "\n";
echo "Error: Failed to write to output file. $op_str was not done." .
" Exiting..\n\n";
close_file_handles();
delete_output_file();
echo "\n";
exit(1);
}

//testing
//$num_bytes_written = 1234;
//echo "Press enter to resume testing: ";
//fread(STDIN, 20);

if ($num_bytes_written != $buf_len) {
echo "\n";
echo "Error: Number of bytes read from the input file are not equal" .
" to the number of bytes written to the output file. Output file" .
" is corrupted. Deleting output file and exiting..\n";
close_file_handles();
delete_output_file();
echo "\n";
exit(1);
}

} // end of while !feof

$op_str = $op . "ed";
echo "\n";
echo "Input file was $op_str successfully.\n\n";

echo "Output file was created successfully and is ready.\n\n";

close_file_handles()

?>

----


Return-Path: <linux-kernel+bounces-674040-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7EB6A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:58:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2B8013AA649
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:57:42 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A446E1DE4DB;
Thu, 5 Jun 2025 04:57:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hwPNDL/g"
Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175])
(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 63EFC1C6FF5;
Thu, 5 Jun 2025 04:57:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.175
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749099475; cv=none; b=tA7UOEdGjFYrM/pW6lHcI3hEtH7pgUuscdrbwpJWH2I0P9D/lhZYC0ZCBbg6ucOO7JSodhtirVc0Eb6Jeczj12f9M3DGwvMx/2BRmL+ayFxeObjWfIeEut5NjEh1MTWQ/FMqYWt+O7hyT59sJMt9PAWMed/EfT1OjZkWnODsxmg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749099475; c=relaxed/simple;
bh=AuYV66Ih0LXZxDwQJor5VmM4o4LMdvsXL4ek9ntMWYo=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=g4CZhTktJAZO7oCFi7toultGwUCMkAOrwSGmK9HzLczOAJCMn5jY3ebLSTT1yKBL39lyhgqqSnISCCrULADFwYGB4oC+r6lYrp2sVZFJpHQf2flsLo+eALf2DSuekd/GIbrVPg5Kqz3N/sUAiwuhy2xWnh0kVW+pWifv6hrbO1A=
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=hwPNDL/g; arc=none smtp.client-ip=209.85.222.175
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
Received: by mail-qk1-f175.google.com with SMTP id af79cd13be357-7d0997d3ac7so65286185a.2;
Wed, 04 Jun 2025 21:57:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749099473; x=1749704273; darn=vger.kernel.org;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:feedback-id:from:to:cc:subject:date
:message-id:reply-to;
bh=hxLMAwf5kST/2aAdJnXG9CfUn1R9lHnOYKKuQIdJb+0=;
b=hwPNDL/gcZTZl7lerzfg27MLN2wwixLFGT3bHNmREMjDbDu8fnn5GFHSn9ilJdiUJ1
Kvm9utU9fa18bc+g6ZkifvXldN9wKWYDA5GU6VWbgbhJDKZwFIbIRZEYT/LKdiUgteiW
kI8XDVV5pLqviJZ+qALndWERphLmEZP/NsK7slEeQY5uHDecVP+jAz76jDQIj5wdp1CI
BaIEV43nAINaRrPdwwv0kZkAQ2yzXUYzZXk2A/8QegOh1iEb9KhMuAO9uZvIZFDvzhsy
ALw0rByc4xk9y9EvfVF1xruZBCvi/E3HJgWsSkwKtKRa+UW61z4oZ5ecFPvhrFJJZD0X
lJCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749099473; x=1749704273;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:feedback-id:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=hxLMAwf5kST/2aAdJnXG9CfUn1R9lHnOYKKuQIdJb+0=;
b=YcugcHV2irDvX4SJ76QcAigBpmelh4AeVnP/XtxI5k4075ya3Sb3ezKs4jd9sTU89x
IdYrx//lxxRbwkQRU0sQn2Q3dAL2Qvg/3B1HZCgAVbOBD12y7nxnL1/FaLxbfsBsgUj/
7mxg4ruHafW/Ysr2t5bRBunmRJRAQXjNKbZ1uxqPNlbPWDBtihimQHEWO5pSivAn0bwj
+6IQXY92/cM5R/vf8+BxqyMtQsFxBvOUb9TbiXwJRubgTg27CzvagMy5LqloPzkDemT8
cFZUQfxBWG+Ewh9+Y70Yh/fQ4cnFInHcOdYJCSImPfhfc0y1LXUYbKmfJumPBeVgQINq
6xYQ==
X-Forwarded-Encrypted: i=1; AJvYcCU0O2O/xEXCNUE+kv135QMYBtDKBuSd8ktUGaf1bqNR7xNwvm/cd9L72yBKR7Gi7eu0KwLlcgHN1eUkRAa6fAc=@vger.kernel.org, AJvYcCUHI6wFmtGmrOoGnXgB7IPKRpTbA3Gfai3pGNcrA/TJAGlY6CTSOc5nyAUzzTkcJ7xMadXFeJvaBgBBENk=@vger.kernel.org
X-Gm-Message-State: AOJu0YwRZStguk/O9cr6mpqyzjDfwDwDC3qM4aJv3XlvlIYpyTukozn7
lzgQZdFTw2lJn3FEHgYjvwci68xgafr5dSfPmEeGwL0Rb/YeIN/6l9Ml
X-Gm-Gg: ASbGncsLCs0gZqO7iEMBH/V969QRfT03WVCV6xjkXzlKZRVMi3miHlcjKLw8DZlgjPV
bMRJxJuEjBqPB4xUAxwm8QBqmgsb66NeE2KTpoqaUEtl9cHhDXcw8EKIuT+8q/IziymfVv0ur4X
NGARuQwWvbv6J3s0YvO0ZKYjUxBnDENC8l4TCULccai65Jmr9zD+As6ouD0t+tyk3/HJqlZ3a6c
xHwJW8e455+cDiXk3i16hzrzTINpCO1ppjvh23fR/116GsdpDC29njmRsVd+wFJJR93anM0c9PO
F6R6haXCM9nO1CizHFcqw9oE7UvG8Iz6N9FUWs++Xa1SJbiYyFnfDmYKIEkORdwU3pwbvxVSLJ1
ebTMK6mqvyH2z23MIf/m+1JlRe7GJghrsETvQXiiRRnUdEuvdsl6h
X-Google-Smtp-Source: AGHT+IEb4KQbsxDXGPCc7TeXoW3/SOxU7yi3JWWPXwW1535gcjsOPKCrVSY8aqqP/ctMHA9Sr0onFQ==
X-Received: by 2002:a05:620a:4802:b0:7d0:a1ac:e83a with SMTP id af79cd13be357-7d2198934bfmr731043285a.16.1749099473099;
Wed, 04 Jun 2025 21:57:53 -0700 (PDT)
Received: from fauth-a2-smtp.messagingengine.com (fauth-a2-smtp.messagingengine.com. [103.168.172.201])
by smtp.gmail.com with ESMTPSA id af79cd13be357-7d09a1a7949sm1185334785a.108.2025.06.04.21.57.51
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 21:57:51 -0700 (PDT)
Received: from phl-compute-03.internal (phl-compute-03.phl.internal [10.202.2.43])
by mailfauth.phl.internal (Postfix) with ESMTP id F01FA1200066;
Thu, 5 Jun 2025 00:57:50 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
by phl-compute-03.internal (MEProxy); Thu, 05 Jun 2025 00:57:50 -0400
X-ME-Sender: <xms:ziNBaMyiLRIF-jACRBLQUluBcYifJmU5V7RV4ywNZOGn4lmjE9TLeA>
<xme:ziNBaAS1twFlnAw_dPsTkMIbEeCEQfeYZG33PZshIf-gKrZFWtXZffFBQUW1MTJY2
jB913R7bDwLbwiJgA>
X-ME-Received: <xmr:ziNBaOUC6hamRHq6QlKJ80AuSwH2kR0m8OD7g1XS2vd99gYTW2ds5DijwQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddugdefudeiucetufdoteggodetrfdotf
fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
htshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesthdtredttddtvden
ucfhrhhomhepuehoqhhunhcuhfgvnhhguceosghoqhhunhdrfhgvnhhgsehgmhgrihhlrd
gtohhmqeenucggtffrrghtthgvrhhnpefhtedvgfdtueekvdekieetieetjeeihedvteeh
uddujedvkedtkeefgedvvdehtdenucffohhmrghinhepkhgvrhhnvghlrdhorhhgnecuve
hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepsghoqhhunhdo
mhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidqieelvdeghedtieegqddujeejke
ehheehvddqsghoqhhunhdrfhgvnhhgpeepghhmrghilhdrtghomhesfhhigihmvgdrnhgr
mhgvpdhnsggprhgtphhtthhopedufedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoh
epthhorhhvrghlughssehlihhnuhigqdhfohhunhgurghtihhonhdrohhrghdprhgtphht
thhopehojhgvuggrsehkvghrnhgvlhdrohhrghdprhgtphhtthhopegrlhgvgidrghgrhi
hnohhrsehgmhgrihhlrdgtohhmpdhrtghpthhtohepghgrrhihsehgrghrhihguhhordhn
vghtpdhrtghpthhtohepsghjohhrnhefpghghhesphhrohhtohhnmhgrihhlrdgtohhmpd
hrtghpthhtohepsggvnhhnohdrlhhoshhsihhnsehprhhothhonhdrmhgvpdhrtghpthht
oheprgdrhhhinhgusghorhhgsehkvghrnhgvlhdrohhrghdprhgtphhtthhopegrlhhitg
gvrhihhhhlsehgohhoghhlvgdrtghomhdprhgtphhtthhopehtmhhgrhhoshhssehumhhi
tghhrdgvughu
X-ME-Proxy: <xmx:ziNBaKhlPIZZ7oMaw28npzqkZ1tw0xp2n5aR0bsO52KALVo2rC3KKA>
<xmx:ziNBaOD8Lw5rL7m_IjoCsH5TG2PVnSRb6fXapqs4bCIKwfMQz2VuYA>
<xmx:ziNBaLKHBgfcDMsl3OLg9h8xdhuJyXOlc3GgNoesowZR9wfL1cqzIQ>
<xmx:ziNBaFBEZ8KMhjVH8nl3e9Y5SptA4GerewjTcAhDM5PhDfHH97FnbQ>
<xmx:ziNBaOzCyO8PsWhDt09QLdMMeirNcs0hTfjfDxQ73_0XpP7Bi54PzyRA>
Feedback-ID: iad51458e:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
5 Jun 2025 00:57:50 -0400 (EDT)
Date: Wed, 4 Jun 2025 21:57:49 -0700
From: Boqun Feng <boqun.feng@xxxxxxxxx>
To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Miguel Ojeda <ojeda@xxxxxxxxxx>, Alex Gaynor <alex.gaynor@xxxxxxxxx>,
Gary Guo <gary@xxxxxxxxxxx>,
=?iso-8859-1?Q?Bj=F6rn?= Roy Baron <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <benno.lossin@xxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [GIT PULL] Rust for 6.16
Message-ID: <aEEjzTMJm7YzS1Ks@xxxxxxxx>
References: <20250605025400.244965-1-ojeda@xxxxxxxxxx>
<CAHk-=wik7gvxt-CEak_4HsGziRwo6-7q9LGeW37Pj9182dJ=ow@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAHk-=wik7gvxt-CEak_4HsGziRwo6-7q9LGeW37Pj9182dJ=ow@xxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 09:18:36PM -0700, Linus Torvalds wrote:
> On Wed, 4 Jun 2025 at 19:54, Miguel Ojeda <ojeda@xxxxxxxxxx> wrote:
> >
> > There are a few conflicts, including semantic ones, but they are all
> > easy to apply. The resolutions in the latest linux-next are fine; I also
> > did a test merge -- please check either to catch the semantic ones
>
> Hmm. I don't understand why the suggested merge adds those
>
> let self_ptr: *mut Opaque<bindings::drm_gem_object> = self_ptr.cast();
>
> let ptr: *mut Opaque<bindings::drm_gem_object> = obj.cast();
>
> cases to rust/kernel/drm/gem/mod.rs, and it built cleanly for me
> without those changes, but that may be because my build doesn't
> trigger this.
>
> But in the name of safety, and because I didn't understand that
> change, I modified my merge to do what you did.
>

FWIW, I think this thread has the explanation:

https://lore.kernel.org/regressions/CANiq72mFL4dn+0JppLLfxyKnM+xYwKeduFw2j07hUfxWVVHdUw@xxxxxxxxxxxxxx/

I believe these changes are needed because in commit b20fbbc08a36
("rust: check type of `$ptr` in `container_of!`"), we enabled the
checking for `container_of!(ptr, struct, field)` that `ptr` must be the
same type of `&struct->field`. But the drm/gem code is added from a
different repo (probably the nova tree), so the adjustment has to be
done in a merge. Miguel can keep me honest on this one ;-)

Regards,
Boqun

> Linus


Return-Path: <linux-kernel+bounces-674041-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 35F7E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 00:59:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A83991890AB4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 04:59:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A0D6E1DE2CD;
Thu, 5 Jun 2025 04:58:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="DZ0bkUzt"
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2064.outbound.protection.outlook.com [40.107.93.64])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A6B01C6FF5;
Thu, 5 Jun 2025 04:58:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.64
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749099536; cv=fail; b=oZtLF0vA63z7bTuGJallpCdsI34Dwg92qvBerLS5r4eYfFYoj+R+fjUpA7c0N/+FyZHHuijWxIs4z2THtnpAMxtF6jiBnPVoN3B8rmVgAnu3+d+5NE8KNX9LZzYL6mvD6zohyheP1N+vcJRA0zisLab6nwV9wKRVUAxcsF4vRGY=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749099536; c=relaxed/simple;
bh=Rs5LQ4BFZEX1CdCQRlPWjGTc/R6zYqPc0wTj4ac5lgY=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=exCsZhVkSbSOBnxVwsuKUuhAJZ5jF/cIX416l3F5CqFbi8LEYrGcUafmfRdwnDOdMyiJF8KV4+uIHm+UasQfk69orK1mpsJTaIObOiy3qt8Wh0KPOzHsCkfkKNHh1u1CCARoSAO7Wi2kiVggCiJvoPQYeYBTzk5Tk/NBV9AhJK0=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=DZ0bkUzt; arc=fail smtp.client-ip=40.107.93.64
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=rb7bRSkToFBh+w/Uibgz4HS9mRfo/YiC3LVN0pMj5oFNYf/xjYNVtLtGM+0tU+kh4XBHhZ5wNdnShBJFrsO+yd4Prt9mSQdfQYbWb5KBR4r2BC0T57KxKXHtfTayJWKVQNUT0XBMVh6xzOMRmJNxNtKGnN9IbOpa+pzYrnge+MM2ywl1GPFgsc1yr3dRNSIN0r72MC63a2lF3u9QEN0cSYJKIhrcQ/92VlL8kG0SNP75SwErtJffDyrI25ZkyIXduGYuDXYR2+43TuHgn0jjMBEi8vEXtbx9UnVztR1nYkgalh+G6aO1wVTWjbuYl2TEtdAK3OWMW1RGQoYobBfw3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=Rs5LQ4BFZEX1CdCQRlPWjGTc/R6zYqPc0wTj4ac5lgY=;
b=mZk9FYLT0NbOUCdQ/CDc1oQfi8iFYR6oTMEm+QI2mzgGsDKxfMbhEYysFzFMd+5voE9QxajWN/ssUgShnUqEyFVxbYkyfHvcSFwyMlE6R+f92/cV8To4D9YZt7cRwblnN1DS0BBHm79MTJQcxkuUHzc6LyChBIXojNO938Gnj97HGObrC7smj3APiGfy6Endrvw+DNNC3h7KtDTzDAjvhShVudyjpfcVWvdEpDMGG6Iew8HqQRxy5wSVVroZDxfnONe8tDVVH97aDIEE24wztixsXNwUz01rW+6hd0VNfT3157RMLvQlhJ3pf5atx0Art0ga+AgcU1+fbsp3ZvjQ9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=Rs5LQ4BFZEX1CdCQRlPWjGTc/R6zYqPc0wTj4ac5lgY=;
b=DZ0bkUztjoT2F/TSuFLVyckXSp31rURQ1qb4KwzJ/mI9a1KP5HLKxFuFcuA9aR4/bqlrFOgZadOoTG71AiHccZtRFW4NG3zGHpUKztsiFoO3f4r+YO7dGLbrbiTrqfFV5iC5AStwj86O23ABrXZ534lFf1mpypncu0vzCBBjrB8=
Received: from IA0PR12MB7699.namprd12.prod.outlook.com (2603:10b6:208:431::7)
by DM6PR12MB4316.namprd12.prod.outlook.com (2603:10b6:5:21a::18) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.36; Thu, 5 Jun
2025 04:58:50 +0000
Received: from IA0PR12MB7699.namprd12.prod.outlook.com
([fe80::7ed1:80d:75c:f1aa]) by IA0PR12MB7699.namprd12.prod.outlook.com
([fe80::7ed1:80d:75c:f1aa%5]) with mapi id 15.20.8792.034; Thu, 5 Jun 2025
04:58:50 +0000
From: "Mahapatra, Amit Kumar" <amit.kumar-mahapatra@xxxxxxx>
To: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
CC: "richard@xxxxxx" <richard@xxxxxx>, "vigneshr@xxxxxx" <vigneshr@xxxxxx>,
"robh@xxxxxxxxxx" <robh@xxxxxxxxxx>, "krzk+dt@xxxxxxxxxx"
<krzk+dt@xxxxxxxxxx>, "conor+dt@xxxxxxxxxx" <conor+dt@xxxxxxxxxx>,
"linux-mtd@xxxxxxxxxxxxxxxxxxx" <linux-mtd@xxxxxxxxxxxxxxxxxxx>,
"devicetree@xxxxxxxxxxxxxxx" <devicetree@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>, "git
(AMD-Xilinx)" <git@xxxxxxx>, "amitrkcian2002@xxxxxxxxx"
<amitrkcian2002@xxxxxxxxx>, Bernhard Frauendienst <kernel@xxxxxxxxxxxxxxxxx>
Subject: RE: [PATCH v13 3/3] mtd: Add driver for concatenating devices
Thread-Topic: [PATCH v13 3/3] mtd: Add driver for concatenating devices
Thread-Index: AQHb1L+rxkaEZPDIFEKZdywc9m/BhLPyqgB1gAFVkrA=
Date: Thu, 5 Jun 2025 04:58:50 +0000
Message-ID:
<IA0PR12MB7699DCA10744AD147339839CDC6FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250603194209.1341374-1-amit.kumar-mahapatra@xxxxxxx>
<20250603194209.1341374-4-amit.kumar-mahapatra@xxxxxxx>
<87sekfkjc1.fsf@xxxxxxxxxxx>
In-Reply-To: <87sekfkjc1.fsf@xxxxxxxxxxx>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ActionId=a044baa4-7fac-4c6f-8346-1045909dac9f;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ContentBits=0;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Enabled=true;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Method=Standard;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Name=AMD
Internal Distribution
Only;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SetDate=2025-06-05T04:44:34Z;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Tag=10,
3, 0, 1;
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: IA0PR12MB7699:EE_|DM6PR12MB4316:EE_
x-ms-office365-filtering-correlation-id: 63dd2b5a-4fb0-4ae8-cba4-08dda3eda9a9
x-ld-processed: 3dd8961f-e488-4e60-8e11-a82d994e183d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
BCL:0;ARA:13230040|1800799024|366016|376014|7416014|38070700018;
x-microsoft-antispam-message-info:
=?utf-8?B?bWpLNFc5RFhGYjJuMnFqRVM1dVBiWjNLQzVKZWF1aXVpdDFkS3pBYmJDZU1M?=
=?utf-8?B?NUxERU9BUWVXenJMNFNMc2ZwYmhjdWlLR01tNi9hV0UxU0tOaGRucE9aOTBy?=
=?utf-8?B?UzYyelZ4dlBDWFIyTVNyVFJENllYSjZycVcwYlZIWUlEMTdoUC9KZE04Q20z?=
=?utf-8?B?akJScWVnWGl6d3RvNDNhTU02N1dIeHRDd1BrQUxIalBRSDVCYVUxVjl0MkF0?=
=?utf-8?B?bXAwTEhXRmZoSzZJditmbTFrSXBPbFBoRmFKU09SNzdBZVRrbTF2WGMrNzFL?=
=?utf-8?B?WUJTQnhXcndHQVJzcEVHQ3F5MWxxYUIxT1duUWtRTndiKzczRnF5YzQ2UU9p?=
=?utf-8?B?djZvNDNoR3FDK0RzSzdXUmlJMzcwWXRFbVdSR0hvQ0RPNHEvVzZIbWFKbmJw?=
=?utf-8?B?eUFrNTR5K0wwQi9lam81bTgvVHJ4OHdoT1JLbTlVRkRzS01zeUdIWi9IY3Zt?=
=?utf-8?B?K3FBeHVnMVFGaUpOMGNYR2RxTEorRTdMbW5RZ0oyMDlVb1ZTZ0g2ODFLOVky?=
=?utf-8?B?T3crNkc2U05kb21tRjRQL2IzQ09YMHROTlJRTThFZWJjTmJGazlNdGozajNa?=
=?utf-8?B?ZXBxaWNqVTQwc0VnWGFTak9Rc25NeVBKNE1Talc0TGRtT1NUb3E5Q2x1TlRu?=
=?utf-8?B?SkhYaVQ0SWhpeHNsWFNUd1JzRm85RkF3cjQ1M2VGbkhRSkxmdUhYVWlKL2Fk?=
=?utf-8?B?NFFpbE9BMTJvMWw3TUZtTnBSVmVkY0kxajNJS1BtWU13a0ROZW5ZZ2t2cW0v?=
=?utf-8?B?U3ppd3BWMUVkQkRsb2tqaHdEMGRlNlhtWWtYdDBlaWU0N2cyNXl2OFdNKzI5?=
=?utf-8?B?ZFhqelU1WldJYWtheW1IZW82VEZ2OUs3UDAzSE0zSDIvaUMzQi8zNGlSSDVQ?=
=?utf-8?B?OXNWNUd0eTlDd0h5OGtsUEZwZ3lYTlRlTDltTml1WlErU1dJdGJGa1NzQmlJ?=
=?utf-8?B?TU5OdWErbGdSNFJKK1N6V1lMTDVwbk5yMDdXQTlBcktMN1htNWh2US94b0RU?=
=?utf-8?B?ZmlLV2dIdWhOTDJYYkluQzhWM2QvN3VVeTIwRnBiOFd2bU9zVGszM0VvbVVL?=
=?utf-8?B?dDBxNW1kTzdROXN4VlFiamx1NGJZZ0R3OWRXTW9tandqdlU4bnc1SkF4aXNO?=
=?utf-8?B?MEtQU01jQ2hKZUNWQW43QnFQUVlnWDFpY2RLZldPODBNeDZtdWRzVUdJZm52?=
=?utf-8?B?VEx0WWhNRmdnVFRONyt6a1JUUndZY3JJZlZ3V1gzQ0RCbTFCREhHeFZnVU4x?=
=?utf-8?B?S3U5WGozTW1BRVpKVUF3anljUUJqNEpJb1FUTDBEM3R5NUY1QUNyeVlPTnFv?=
=?utf-8?B?N1ZzZnJncHMyVVJGbEh4UjVteWs5ME5WbVh3YTdoOHBJWE9xdUYxaEp5M0Rh?=
=?utf-8?B?UENicmhmRmhCVzRMVDlGa0RvNHJyb3FibGZYYmUzWlZ3U0dlNlNrVXgxMVg0?=
=?utf-8?B?YjU4Y2lWUHBIWXlSSEVoWmU3L3pkV1VwRGdpY291Y2ZKYTdVVENTTnhtK0gx?=
=?utf-8?B?RkZUN2lrZys2Z3J1UHNEVmJqV2hPYkc5NzF4SDE5Ly90TlRKb00wTGorMjg4?=
=?utf-8?B?TlhPVFJ5WWRUOXV6T3NtSDZGZk5xOWdKdUxNaWFDTEQrUzR4RmpCcVBqTG1Z?=
=?utf-8?B?TThzTGY2UWRZNERIVlZrR1VEZEZ0c0FVUWwvcDd6YTl1ZFpHc3ErRUZWNGJR?=
=?utf-8?B?NnFUSlZDODVwdGxzNmE2dkRmT1BjOWsyclExUDBjSWdvbXJLN2t5UFB4NGhO?=
=?utf-8?B?T09NNjhoaFkyd0JOL2w3MC9YYnpZZkdqcFpBQ3pkTVY5dEp4S0k5cjJtaUNy?=
=?utf-8?B?U3lPN1I0RTErMFBQeEVTQXRPaFdoVy85R1UwWFJOc1VSLzlGd2NyUDVIVHVX?=
=?utf-8?B?c2gxcEUyaUkxM0lUSnRoVkFRbWNHbVV2ZU82VDl4Zk9HdllIRmpHYTZLYjJl?=
=?utf-8?B?S0VZcWlndUJFQ0dhVlNoR1hiQkNuQko3Wkh4TkMzQ2lVcEhIdm9iREZuMnps?=
=?utf-8?Q?1pokvsjDQRDAHUAXzVgI0cPS8jkM0A=3D?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA0PR12MB7699.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?utf-8?B?Mjh0dU1UbnBreVFSZUFNOW96d2pHRE1PVkhvVVNMYUFyQjNXUzRZbUJtMHM4?=
=?utf-8?B?N1A2UFlqVzNhOTVuaW1JS2dVSHZPOExPRjhNaWtubW5JS0Vuc1psQXUvdFgv?=
=?utf-8?B?SHVqU1BtR3BYVEZUa0hxTTVjcldhMUpPZFZUWmp3alpIR1FzTjNkcGozMVNN?=
=?utf-8?B?Z2Njdmw4dXZFdXVFME9idVcxTTAwdVkvd0dHR1BScGtCUFpVcEpEV3doSC9h?=
=?utf-8?B?bm5sMjRoWDdZc3J0c2dLQStCTFB2NEhhQk42YVN6ZStzd3VGbFR6bFVEdWh0?=
=?utf-8?B?UUdNV2pvWW5YQkhobVZWSnJtTXZMa2VQTWFTbzBWV1N0NS8rSlF3ZTAvQXNV?=
=?utf-8?B?ZFM1ekV3STNneUwxV0lpSEhrcG5CbjFwNFF4MThiR1RUYUdnUkhXQjFDUHlI?=
=?utf-8?B?bm52Mnl5eUwwREI2ZEtQV2N3dCtoUEJSZ25rdk16eE91T1RNMzN2MW9JVUZT?=
=?utf-8?B?K1RLbTBOV01qZDBDZVY1U2g2bHVCZE40eVpqcHF4RFVBUWpLVE8vUjJNZ1dp?=
=?utf-8?B?Zy9UT1BVUzVwMEtobURWdktpSDNTME0xYzZKN3BIc1hrUWlVQjU4Tmt1bXRT?=
=?utf-8?B?OXRqck02cEgxVXFpUGE3aVVPUnQyQTdISENUMXFPR3JFMWF0bkgwSjdMU3o0?=
=?utf-8?B?aG9Pd1hJMGlkZWkvbE1MRHFvSkpCMkNzSFpheHhyNVZPTXZGakFLa3U1ZHpp?=
=?utf-8?B?d3YzWTRHSFV3eW1pMnVIbWZBNGJnTmFmUjFJQUxEaldSYUJsZGptMVZhRWM2?=
=?utf-8?B?ZjZndy96K25sM2hDb01wMUtGN2lzSGZZYjZ2OXZCdmVUbXQvRWlTZktWSXZy?=
=?utf-8?B?R3A1UUVCNWpmajFEZ1ptTDc3V3BRaVFxanVzZ1FtYlJTMkZBQkFsdWFPRkpF?=
=?utf-8?B?UzJWNlhidlNFVHNabXZwb2tOWExOeGZSY3Q4TDBIdWx3MFJlSmY4ZkwvVVow?=
=?utf-8?B?MTAyNEp5dnVQRElZbTBPbXBEYUhTeVI2bmh4VkpFcDlBeklTWjJiQVo5YU50?=
=?utf-8?B?dWlwYkdDSUVBZXI3OXhGRVluL3V2R0lPcjJKSXdIdEoxb2diQ1FFVFE2OUVa?=
=?utf-8?B?WXp1aVV4MWdWNEV0MStMR2cvWnRpekhaZjNkNWovUVM3eWpkU3lWVEhYRWZK?=
=?utf-8?B?QXBXRk9RUkFCcGlMYUs4S2ZnNGVGQmtlZkRjc1RxOWV4S09QblVDM2wyejd1?=
=?utf-8?B?VFgvRGlnVFUvS3JmaklrRXpGMGpWZWhLMmwrMmpKd1NsME9aZVdkN0tQdWNS?=
=?utf-8?B?cEtKbHhLTG1lcWMvT1RYQ0pVU3o1SWxUaDNzKzBkaFFCRHZOM1JjWFZZNEl6?=
=?utf-8?B?ekJsMklDdnYwc0kvK3Jxd0pYeFRDbHJ4TzY1NmZ2Q3NiN0N3MzY1R3lJdE03?=
=?utf-8?B?Sk9lcWRocWczZGpZdWYzdmVyMkNCVEZpZjJCaGx3SmxybGlpMTJSQmtIWkV5?=
=?utf-8?B?QzY1dmlTQmJrQWk0bmZ5NUtzN2VIWHhDZCtkckFrK0hHWTJTZmhCZlhoTWV1?=
=?utf-8?B?WVoyWCtNK0lEQVQzbksveVVOZ3lLRE4wdDVtaXp2aGJsVEp1aEQwNDRET2VC?=
=?utf-8?B?NG1mNG1Jb2M0NTlMZjBWTHQ2WGJDcnBqZGJqWlRkWkpoQ0ZwWk9na1d3VC9D?=
=?utf-8?B?d0RFcDUxMXhPYno0dW52RGJLYnZmZUNTL1h5UmZYMjhadFZjVGFleGdHVjdN?=
=?utf-8?B?K2lXV1ltSnI2Tk9XMTJrYXQ4RzdoMmlYeENsOVA4NEtLNXZVK2dQVXBKWkNn?=
=?utf-8?B?bTU3KzNYS0s2Y1lvWFRjOGN4b3JtVUVTbVZZS0hIb1BtQVNwb3BPTjV5R01i?=
=?utf-8?B?czFUN1hTWGZsTEdUcGp4VHlSVkpwN2J3a0NDSGZkem5leEg4QkFiMm1BZFlP?=
=?utf-8?B?WFE4WFBKRnB3SWFjNFVWTWp0bVZ6Y21mRXdIdi9yWFpPbHo1LzY1Vm5mSy80?=
=?utf-8?B?aGhvb1pFcFlCemIzSG9UN2UvOWFZV013YjczRkc2alpzc3dxK29XS2h3bnpC?=
=?utf-8?B?RWlmZk5MMi95UWxKU3BWOGlQdjdraitxTGs4bWFpb1p0Yis3UXZta3hSYktU?=
=?utf-8?B?Z29TZ1JWb3pOK2xlZEVnUTh3dkFlb3NtUXQvK2kyMU44RTNXcTFRKzZMbnEz?=
=?utf-8?Q?FAp8=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB7699.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63dd2b5a-4fb0-4ae8-cba4-08dda3eda9a9
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 04:58:50.4910
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: DukOFIKI5hijqkrIlgVYz57xX/OfpwisHH1fmL5l5FVfKCEcIWACyBDcfJezNwV66Il4j7QfsAHKWrd1fqk9Dw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4316
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEFNRCBJbnRlcm5hbCBEaXN0cmlidXRpb24gT25seV0N
Cg0KSGVsbG8gTWlxdWVsLA0KPg0KPiBIaSBBbWl0LA0KPg0KPiA+IC0tLSBhL2luY2x1ZGUvbGlu
dXgvbXRkL2NvbmNhdC5oDQo+ID4gKysrIGIvaW5jbHVkZS9saW51eC9tdGQvY29uY2F0LmgNCj4g
PiBAQCAtMjgsNSArMjgsMzcgQEAgc3RydWN0IG10ZF9pbmZvICptdGRfY29uY2F0X2NyZWF0ZSgN
Cj4gPg0KPiA+ICB2b2lkIG10ZF9jb25jYXRfZGVzdHJveShzdHJ1Y3QgbXRkX2luZm8gKm10ZCk7
DQo+ID4NCj4gPiArLyoqDQo+ID4gKyAqIG10ZF92aXJ0X2NvbmNhdF9ub2RlX2NyZWF0ZSAtIENy
ZWF0ZSBhIGNvbXBvbmVudCBmb3IgY29uY2F0ZW5hdGlvbg0KPiA+ICsgKg0KPiA+ICsgKiBSZXR1
cm5zIGEgcG9zaXRpdmUgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgbm8uIG9mIGRldmljZXMgZm91
bmQNCj4gPiArZm9yDQo+ID4gKyAqIGNvbmNhdGVuYXRpb24sIG9yIGEgbmVnYXRpdmUgZXJyb3Ig
Y29kZS4NCj4gPiArICoNCj4gPiArICogTGlzdCBhbGwgdGhlIGRldmljZXMgZm9yIGNvbmNhdGVu
YXRpb25zIGZvdW5kIGluIERUIGFuZCBjcmVhdGUgYQ0KPiA+ICsgKiBjb21wb25lbnQgZm9yIGNv
bmNhdGVuYXRpb24uDQo+ID4gKyAqLw0KPiA+ICtpbnQgbXRkX3ZpcnRfY29uY2F0X25vZGVfY3Jl
YXRlKHZvaWQpOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAqIG10ZF92aXJ0X2NvbmNhdF9hZGQg
LSBhZGQgbXRkX2luZm8gb2JqZWN0IHRvIHRoZSBsaXN0IG9mDQo+ID4gK3N1YmRldmljZXMgZm9y
IGNvbmNhdGVuYXRpb24NCj4gPiArICogQG10ZDogcG9pbnRlciB0byBuZXcgTVREIGRldmljZSBp
bmZvIHN0cnVjdHVyZQ0KPiA+ICsgKg0KPiA+ICsgKiBSZXR1cm5zIHRydWUgaWYgdGhlIG10ZF9p
bmZvIG9iamVjdCBpcyBhZGRlZCBzdWNjZXNzZnVsbHkgZWxzZSByZXR1cm5zIGZhbHNlLg0KPiA+
ICsgKg0KPiA+ICsgKiBUaGUgbXRkX2luZm8gb2JqZWN0IGlzIGFkZGVkIHRvIHRoZSBsaXN0IG9m
IHN1YmRldmljZXMgZm9yIGNvbmNhdGVuYXRpb24uDQo+ID4gKyAqIEl0IHJldHVybnMgdHJ1ZSBp
ZiBhIG1hdGNoIGlzIGZvdW5kLCBhbmQgZmFsc2UgaWYgYWxsIHN1YmRldmljZXMNCj4gPiAraGF2
ZQ0KPiA+ICsgKiBhbHJlYWR5IGJlZW4gYWRkZWQgb3IgaWYgdGhlIG10ZF9pbmZvIG9iamVjdCBk
b2VzIG5vdCBtYXRjaCBhbnkgb2YNCj4gPiArdGhlDQo+ID4gKyAqIGludGVuZGVkIE1URCBkZXZp
Y2VzLg0KPiA+ICsgKi8NCj4gPiArYm9vbCBtdGRfdmlydF9jb25jYXRfYWRkKHN0cnVjdCBtdGRf
aW5mbyAqbXRkKTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBtdGRfdmlydF9jb25jYXRfY3Jl
YXRlX2pvaW4gLSBDcmVhdGUgYW5kIHJlZ2lzdGVyIHRoZSBjb25jYXRlbmF0ZWQNCj4gPiArTVRE
IGRldmljZQ0KPiA+ICsgKg0KPiA+ICsgKiBSZXR1cm5zIG9uIHN1Y2Nlcywgb3IgYSBuZWdhdGl2
ZSBlcnJvciBjb2RlLg0KPiA+ICsgKg0KPiA+ICsgKiBDcmVhdGVzIGFuZCByZWdpc3RlcnMgdGhl
IGNvbmNhdGVuYXRlZCBNVEQgZGV2aWNlICAqLyBpbnQNCj4gPiArbXRkX3ZpcnRfY29uY2F0X2Ny
ZWF0ZV9qb2luKHZvaWQpOw0KPiA+ICAjZW5kaWYNCj4NCj4gRG9uJ3Qgd2UgbWlzcyBzb21lIGRl
c3RydWN0b3JzPyBJdCBzZWVtcyB0aGF0IHJlbW92aW5nIHRoZSBtdGQgZGV2aWNlIG9yIHRoZQ0K
DQpZZXMsIHRoYXQncyBjb3JyZWN04oCUd2UgaGF2ZSBkZWZpbmVkIHRoZW0gaW4gbXRkX3ZpcnRf
Y29uY2F0LmMsIGJ1dA0KSSBtaXNzZWQgZXhwb3J0aW5nIGFuZCBpbnZva2luZyB0aGVtIGZyb20g
TVREIGNvcmUgZHVyaW5nIGNvbmNhdA0KcmVnaXN0cmF0aW9uIGZhaWx1cmUgb3Igd2hlbiBNVEQg
ZGV2aWNlcyBhcmUgcmVtb3ZlZC4gSSdsbCBmaXggdGhpcyBpbiB0aGUNCm5leHQgcmV2aXNpb24u
DQoNClJlZ2FyZHMsDQpBbWl0DQo+IGNvbmNhdCBtb2R1bGUgbWlnaHQgbGVhZCB0byBhbiB1bnN0
YWJsZSBzdGF0ZS4gQ2FuIHlvdSBwbGVhc2UgdGVzdCB0aGVzZSB0d28NCj4gc2l0dWF0aW9ucz8N
Cj4NCj4gVGhhbmtzLA0KPiBNaXF1w6hsDQo=


Return-Path: <linux-kernel+bounces-674042-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B144141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:00:36 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1F19E3AA6A7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:00:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0BDE51DF97C;
Thu, 5 Jun 2025 05:00:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="PzhnlvL5"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 364B419D07E;
Thu, 5 Jun 2025 05:00:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749099626; cv=none; b=VPZ44c44Hev0km42zfC4NfhURgEp0sUMRUmjhqc5Y3gpFHFeBRrfeh32JCEGzrcVD7GhO+M33NwMdv5cyVSlZR5UhWQGTwXeuB+4CJ7ql2BK//nLT58Y4RqMu3Xftd/0vaRSP4c8/hsmscOdo4bNXjoAKFuBWkeIE1rY5XOvucg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749099626; c=relaxed/simple;
bh=8ei//ic++rZxYT54f37/ii3rswY6C83GCS9YizWM/+k=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=KYsIHU+QzBrnvHB9eatfNcL6vGBhiyxqF57r3dmW1/AIpODDmzj2U8jprcsN2CnZ0OH66o5PQE/gzqIREv0qentuPNOH4lUHhFC0Y1kUcxSFjET8LSEVqOrnx8gR6uz+mzikoNqaWmsov5zlVh0Ae0+recuPc52NivbcujR6P34=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=PzhnlvL5; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com
Received: from pps.filterd (m0279865.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554GBiTL007516;
Thu, 5 Jun 2025 04:59:59 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
VCDAPDZBMd3Ybf7L7X6pzUCk1WNQr1j1w6rtdHb7Hvc=; b=PzhnlvL5GHOYQTjC
dkKPbrvE6abw/IQbrd8DXs8n1GKPOZmiv2AWjrdV6boreoCJXTeGAEwS6A8gONkR
lMhjeUqZG0TbN6IXP0nEchRasId3Wz0VQXhtU2QUg8IPFqBBsqne9NS1JYx+rd2X
p0fcytrs+LcSgWfm1GwaNNCxxCtpyr82Wj7l4bCL7FrPCftujd4uVYy/3ddx9gwR
uKC6yId0OX6zSJUb07w38/T9YWKt7KJxBwY2ZWG7UbLK5dbms6hCksVEDfOPKcZX
/NK3udCes0t7p14tGlQRiLN4gctFAXjq++VBggyJqyyjKOzo9SYHofv0x4ZydtWR
CQoYZw==
Received: from nasanppmta05.qualcomm.com (i-global254.qualcomm.com [199.106.103.254])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 471g8t03kp-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 05 Jun 2025 04:59:58 +0000 (GMT)
Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250])
by NASANPPMTA05.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 5554xwqY032285
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 5 Jun 2025 04:59:58 GMT
Received: from [10.216.16.95] (10.80.80.8) by nasanex01b.na.qualcomm.com
(10.46.141.250) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Wed, 4 Jun 2025
21:59:53 -0700
Message-ID: <e6824f1a-c1a9-4c2e-9b46-6fe224877bfc@xxxxxxxxxxx>
Date: Thu, 5 Jun 2025 10:29:49 +0530
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 net] net: phy: clear phydev->devlink when the link is
deleted
To: "Abhishek Chauhan (ABC)" <quic_abchauha@xxxxxxxxxxx>,
Wei Fang
<wei.fang@xxxxxxx>
CC: Florian Fainelli <f.fainelli@xxxxxxxxx>,
"andrew@xxxxxxx"
<andrew@xxxxxxx>,
"hkallweit1@xxxxxxxxx" <hkallweit1@xxxxxxxxx>,
"linux@xxxxxxxxxxxxxxx" <linux@xxxxxxxxxxxxxxx>,
"davem@xxxxxxxxxxxxx"
<davem@xxxxxxxxxxxxx>,
"edumazet@xxxxxxxxxx" <edumazet@xxxxxxxxxx>,
"kuba@xxxxxxxxxx" <kuba@xxxxxxxxxx>,
"pabeni@xxxxxxxxxx" <pabeni@xxxxxxxxxx>,
"xiaolei.wang@xxxxxxxxxxxxx" <xiaolei.wang@xxxxxxxxxxxxx>,
"netdev@xxxxxxxxxxxxxxx" <netdev@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"imx@xxxxxxxxxxxxxxx" <imx@xxxxxxxxxxxxxxx>
References: <20250523083759.3741168-1-wei.fang@xxxxxxx>
<8b947cec-f559-40b4-a0e0-7a506fd89341@xxxxxxxxx>
<d696a426-40bb-4c1a-b42d-990fb690de5e@xxxxxxxxxxx>
<PAXPR04MB85107D8AB628CC9814C9B230886CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<0b44c0f5-d922-4d89-8244-f114aedafa03@xxxxxxxxxxx>
Content-Language: en-US
From: Sarosh Hasan <quic_sarohasa@xxxxxxxxxxx>
In-Reply-To: <0b44c0f5-d922-4d89-8244-f114aedafa03@xxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To
nasanex01b.na.qualcomm.com (10.46.141.250)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Authority-Analysis: v=2.4 cv=RMizH5i+ c=1 sm=1 tr=0 ts=6841244f cx=c_pps
a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17
a=jZjJzmEmTJcjZ5Ws:21 a=GEpy-HfZoHoA:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10
a=8AirrxEcAAAA:8 a=zo4qo1mtkRo1JUt1IrUA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
a=ST-jHhOKWsTCqRlWije3:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDA0MSBTYWx0ZWRfX8RWzedTfUh6e
5YG4jULnTUzWwLPHofQqTiSZLxugihItcoOTG/pj336/XqASz0UCmCEACyVG9x5UcZnXX6ODxGT
9916m7x7Sh8SWyROZFlIEOo1JBSi5jkCs2il2TAdq/rJSlzNAhHJfPXi5DTgkP4Y/oHbQJOVLcO
B+6q6z4/tDo5HCCKMLB8eLfJq4MxhxLScA/GtxyRJUgudV7AqSsLkfqyRXhc2WKhUPXuACsL9+r
qfxfoopYDJkoAoNZc9jehSRJ/kQlhqsFFzCMh5Pm4G2DTmzttUcIufCBCZc4MurltK/cKzaoVjp
pfDGf3WgW2/ZZKMiGb2vXGqucL66aRgd4Tc/pIHDGrwdWPZ1uwNWfvrHqS4IZjSScBlzf/5kqnO
FdYnCR3u9HWlNFrtRLo2xqXDqO8Hit7rnAmR0Cj2nODFhufY45ocV6V1JoWs4lrtm5TsVaIF
X-Proofpoint-GUID: T9sPq_QfEuKn_ROq-2DGTnMeSboqpXFm
X-Proofpoint-ORIG-GUID: T9sPq_QfEuKn_ROq-2DGTnMeSboqpXFm
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
impostorscore=0 phishscore=0 spamscore=0 lowpriorityscore=0 malwarescore=0
bulkscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 mlxscore=0
clxscore=1011 priorityscore=1501 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505280000 definitions=main-2506050041
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/4/2025 11:39 AM, Abhishek Chauhan (ABC) wrote:
>
>
> On 6/3/2025 11:00 PM, Wei Fang wrote:
>>>> On 5/23/2025 1:37 AM, Wei Fang wrote:
>>>>> There is a potential crash issue when disabling and re-enabling the
>>>>> network port. When disabling the network port, phy_detach() calls
>>>>> device_link_del() to remove the device link, but it does not clear
>>>>> phydev->devlink, so phydev->devlink is not a NULL pointer. Then the
>>>>> network port is re-enabled, but if phy_attach_direct() fails before
>>>>> calling device_link_add(), the code jumps to the "error" label and
>>>>> calls phy_detach(). Since phydev->devlink retains the old value from
>>>>> the previous attach/detach cycle, device_link_del() uses the old value,
>>>>> which accesses a NULL pointer and causes a crash. The simplified crash
>>>>> log is as follows.
>>>>>
>>>>> [   24.702421] Call trace:
>>>>> [   24.704856]  device_link_put_kref+0x20/0x120
>>>>> [   24.709124]  device_link_del+0x30/0x48
>>>>> [   24.712864]  phy_detach+0x24/0x168
>>>>> [   24.716261]  phy_attach_direct+0x168/0x3a4
>>>>> [   24.720352]  phylink_fwnode_phy_connect+0xc8/0x14c
>>>>> [   24.725140]  phylink_of_phy_connect+0x1c/0x34
>>>>>
>>>>> Therefore, phydev->devlink needs to be cleared when the device link is
>>>>> deleted.
>>>>>
>>>>> Fixes: bc66fa87d4fd ("net: phy: Add link between phy dev and mac dev")
>>>>> Signed-off-by: Wei Fang <wei.fang@xxxxxxx>
>>>>
>>> @Wei
>>> What happens in case of shared mdio ?
>>>
>>> 1. Device 23040000 has the mdio node of both the ethernet phy and device
>>> 23000000 references the phy-handle present in the Device 23040000
>>> 2. When rmmod of the driver happens
>>> 3. the parent devlink is already deleted.
>>> 4. This cause the child mdio to access an entry causing a corruption.
>>> 5. Thought this fix would help but i see that its not helping the case.
>>>
>>
>> My patch is only to fix the potential crash issue when re-enabling
>> the network interface. phy_detach() is not called when the MDIO
>> controller driver is removed. So phydev->devlink is not cleared, but
>> actually the device link has been removed by phy_device_remove()
>> --> device_del(). Therefore, it will cause the crash when the MAC
>> controller driver is removed.
>>
>>> Wondering if this is a legacy issue with shared mdio framework.
>>>
>>
>> I think this issue is also introduced by the commit bc66fa87d4fd
>> ("net: phy: Add link between phy dev and mac dev"). I suggested
>> to change the DL_FLAG_STATELESS flag to
>> DL_FLAG_AUTOREMOVE_SUPPLIER to solve this issue, so that
>> the consumer (MAC controller) driver will be automatically removed
>> when the link is removed. The changes are as follows.
>>
>
> thanks a lot , Russell and Wei for your prompt response.
> I appreciate your help. let me test this change and get back.
>

Myself and Abhishek tested this suggestion from Wei and we now observe
that the driver removal is successful without a crash. It looks like the
flag 'DL_FLAG_AUTOREMOVE_SUPPLIER' is helping.
Wei and Russell, please suggest the next steps.
>> diff --git a/drivers/net/phy/phy_device.c
b/drivers/net/phy/phy_device.c
>> index 73f9cb2e2844..a6d7acd73391 100644
>> --- a/drivers/net/phy/phy_device.c
>> +++ b/drivers/net/phy/phy_device.c
>> @@ -1515,6 +1515,7 @@ int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
>> struct mii_bus *bus = phydev->mdio.bus;
>> struct device *d = &phydev->mdio.dev;
>> struct module *ndev_owner = NULL;
>> + struct device_link *devlink;
>> bool using_genphy = false;
>> int err;
>>
>> @@ -1646,9 +1647,16 @@ int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
>> * another mac interface, so we should create a device link between
>> * phy dev and mac dev.
>> */
>> - if (dev && phydev->mdio.bus->parent && dev->dev.parent != phydev->mdio.bus->parent)
>> - phydev->devlink = device_link_add(dev->dev.parent, &phydev->mdio.dev,
>> - DL_FLAG_PM_RUNTIME | DL_FLAG_STATELESS);
>> + if (dev && phydev->mdio.bus->parent &&
>> + dev->dev.parent != phydev->mdio.bus->parent) {
>> + devlink = device_link_add(dev->dev.parent, &phydev->mdio.dev,
>> + DL_FLAG_PM_RUNTIME |
>> + DL_FLAG_AUTOREMOVE_SUPPLIER);
>> + if (!devlink) {
>> + err = -ENOMEM;
>> + goto error;
>> + }
>> + }
>>
>> return err;
>>
>> @@ -1749,11 +1757,6 @@ void phy_detach(struct phy_device *phydev)
>> struct module *ndev_owner = NULL;
>> struct mii_bus *bus;
>>
>> - if (phydev->devlink) {
>> - device_link_del(phydev->devlink);
>> - phydev->devlink = NULL;
>> - }
>> -
>> if (phydev->sysfs_links) {
>> if (dev)
>> sysfs_remove_link(&dev->dev.kobj, "phydev");
>> diff --git a/include/linux/phy.h b/include/linux/phy.h
>> index e194dad1623d..cc1f45c3ff21 100644
>> --- a/include/linux/phy.h
>> +++ b/include/linux/phy.h
>> @@ -505,8 +505,6 @@ struct macsec_ops;
>> *
>> * @mdio: MDIO bus this PHY is on
>> * @drv: Pointer to the driver for this PHY instance
>> - * @devlink: Create a link between phy dev and mac dev, if the external phy
>> - * used by current mac interface is managed by another mac interface.
>> * @phyindex: Unique id across the phy's parent tree of phys to address the PHY
>> * from userspace, similar to ifindex. A zero index means the PHY
>> * wasn't assigned an id yet.
>> @@ -610,8 +608,6 @@ struct phy_device {
>> /* And management functions */
>> const struct phy_driver *drv;
>>
>> - struct device_link *devlink;
>> -
>> u32 phyindex;
>> u32 phy_id;
>>


Return-Path: <linux-kernel+bounces-674043-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4C4F341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:08:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 5C4A2188E9AF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:09:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E78D21D799D;
Thu, 5 Jun 2025 05:08:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nLYmQU74"
Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172])
(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 D468524B26
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:08:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749100122; cv=none; b=kptXfKIUGogwwCRNg5oCjZgBCY2GYWKBUMzqYGgiGG2skcnbDS57aLqXVmw4mL16Mes442hAos3D1ceAlSc4LBJSic2s/lQ2CH72xDs6DV8OORtC/gg3oyllQ7CKM0DXjQRmIAmdOmM3yk7/rUqyi8HDr98J5EY8/ycHJ0U5XcY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749100122; c=relaxed/simple;
bh=wQu6OhIbL7g01JSo2S203VelUJN0+hJwvR+5l7HVOGY=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=M4A3mwINdVjbeOQ8P8P+NR+jVhDbq+JEXmLDJrTsCy36cZydc+790G0dC8A/z3xs7UyMhJYo4DdvQylUUpkKctHz4GzKVM06R2xZXoHamCQWgOrQn6jMMOm0JAtmf/0EjkzY88JMrM4muJrLsHxC5ULW1wdnq7ymdfgj8HqIkGM=
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=nLYmQU74; arc=none smtp.client-ip=209.85.210.172
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
Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-74800b81f1bso548505b3a.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 22:08:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749100120; x=1749704920; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=apgFwOObvt1HHcVpAIZQVYtRIRhRGZ6ybZ1Z4lONDxs=;
b=nLYmQU74rdR0USNOT1us/uSUfA70Uz/S3x+/XWHD964yHTaEXotYcKxsbPknjzcwtE
3FwqEm+Rj8k/x/j30z4qEdRWXVzfTQCcRkmRkcap1hWCd5GsWhzpAArXlecJC+yL1HyF
fHGjdRI6juQG2nCqxk9bl4aIlG78QUnzsfRctXkebmdKC6aEzK/KOVI4f4JxfDyOIkOF
Mp0wFobc5Uol8KpKiZKltYibfo4bKpo+y4pR5AwvEfVpaiZAa1CHR/dsm0CpyNsU3BcB
OCLkPLt4dsuHwVpdAxP5mwpooWD/GuernrJQxy+bf9BSXQeJcGfP9OKGWNK9w23uKXtr
HIww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749100120; x=1749704920;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=apgFwOObvt1HHcVpAIZQVYtRIRhRGZ6ybZ1Z4lONDxs=;
b=NFQFoQs7iAuEX0Fy89HVCVQ6EahGC8/CdyxTOLFLLdA7Jn9u70ZdH8mKRGgYJv4bja
Onv1ijGNw9gRDJ/XTXIZtqUvVcw1f/VFQhbwJBMwkeqDqhF9XB95LzkIEpOwJyWNyLj2
8luqdUHS2WOztJFIuuDX15KViIw+N8XTVCvX57jRXhBLROME5TsusFLahjHBFSzx2BO5
3LtTO2zdJGDgNwUGoKeVZJ62Tm3oEF1yTV5olJQ+37SDwrgLdPFjll8AWkfJywuMl+mp
6G+J6eUiZconbJ+PKo8UHgDava4vSNnD8mlkDtqVo07OVnZzu0zdXJCqzT2EtrCYl5aa
JAUA==
X-Forwarded-Encrypted: i=1; AJvYcCVlK+PYubXXUpaAThAMkN3+cABePpFNfbxnUBTBKxI3dfHYNBKCEwdJvmbjuBD1bExsfMPtkN6qhOl45/I=@vger.kernel.org
X-Gm-Message-State: AOJu0YzmKqnBsBiCSd3TeoYKhvLfaSJgPay58r/OW5Iw1CgEBm6Ajhl1
r1K2ojL6NjqwwXHhFVk+NiCVB6Tx1E4TK/QxeDXKTumr4VyI6+4jxWIt
X-Gm-Gg: ASbGnctw3RSHKdsLkAtIOSFQDdlZhOS68OgOAJ8iTPcR4ZcK7zG0/3+Bn/dCwOS7rvH
Y7SLck/95xRfv5EGDFQ1QhEsftAAItS56QDoKfmkJCt+ZH6Lrpm41UfCl24Bdi8gcAR9rpTqMYC
Ef0lHFmFgskRTGzcUq9XAd4JsJ3CrrVAxJDStHTGYkSIw9DQLURYmFDKfnZLWwgut23Aq2JQ4p+
1AFapGXOiYsZBgFle2UHbeq17ttkxvS9TtLHcyJA9cDBYSbvuNdnYkSn0b+NV5Nt0YP0B5fa/Km
PzSnvntYVYzUCAE0z7vQYMyNsngILqUH/v0sa8cHQ7Xl5hvrW27dkt4XHJuXjDC14dN3
X-Google-Smtp-Source: AGHT+IGfenh2yAlg9hxozEW6E/CDohy2WOExj1GBAOlcnLNCptcxRjrV/S9q4u5MVJo5QGyYjOj50w==
X-Received: by 2002:a05:6a00:3990:b0:740:6615:33c7 with SMTP id d2e1a72fcca58-7480b46a03dmr7983327b3a.23.1749100119882;
Wed, 04 Jun 2025 22:08:39 -0700 (PDT)
Received: from ubuntu.. ([103.149.59.114])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-747afed36b9sm12055253b3a.76.2025.06.04.22.08.36
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 22:08:39 -0700 (PDT)
From: Jagadeesh Yalapalli <jagadeesharm14@xxxxxxxxx>
To: jagadeesharm14@xxxxxxxxx
Cc: chris@xxxxxxxxxxxxxxxx,
jagadeesh.yalapalli@xxxxxxxxxxxxxx,
kirk@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
mingo@xxxxxxxxxx,
samuel.thibault@xxxxxxxxxxxx,
speakup@xxxxxxxxxxxxxxxxx,
tglx@xxxxxxxxxxxxx,
w.d.hubbs@xxxxxxxxx
Subject: [PATCH v2] speakup: Standardize character attribute types to u16
Date: Thu, 5 Jun 2025 05:08:24 +0000
Message-ID: <20250605050828.17011-1-jagadeesharm14@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250604135846.46184-1-jagadeesharm14@xxxxxxxxx>
References: <20250604135846.46184-1-jagadeesharm14@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Jagadeesh Yalapalli <jagadeesh.yalapalli@xxxxxxxxxxxxxx>

This change replaces non-portable `u_short` types with standardized `u16`
throughout the speakup subsystem to ensure:
1. Consistent 16-bit width across all architectures.
2. Improved code portability and readability.
3. Elimination of platform-dependent type sizes.
4. Safe bitwise operations without sign-extension risks.

Signed-off-by: Jagadeesh Yalapalli <jagadeesh.yalapalli@xxxxxxxxxxxxxx>
---
drivers/accessibility/speakup/keyhelp.c | 10 +--
drivers/accessibility/speakup/kobjects.c | 4 +-
drivers/accessibility/speakup/main.c | 74 ++++++++++----------
drivers/accessibility/speakup/selection.c | 2 +-
drivers/accessibility/speakup/speakup.h | 10 +--
drivers/accessibility/speakup/speakup_dtlk.h | 2 +-
drivers/accessibility/speakup/spk_types.h | 2 +-
drivers/accessibility/speakup/synth.c | 2 +-
8 files changed, 53 insertions(+), 53 deletions(-)

diff --git a/drivers/accessibility/speakup/keyhelp.c b/drivers/accessibility/speakup/keyhelp.c
index 822ceac83068..9c6e488adc2a 100644
--- a/drivers/accessibility/speakup/keyhelp.c
+++ b/drivers/accessibility/speakup/keyhelp.c
@@ -14,8 +14,8 @@
#define MAXFUNCS 130
#define MAXKEYS 256
static const int num_key_names = MSG_KEYNAMES_END - MSG_KEYNAMES_START + 1;
-static u_short key_offsets[MAXFUNCS], key_data[MAXKEYS];
-static u_short masks[] = { 32, 16, 8, 4, 2, 1 };
+static u16 key_offsets[MAXFUNCS], key_data[MAXKEYS];
+static u16 masks[] = { 32, 16, 8, 4, 2, 1 };

static short letter_offsets[26] = {
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -49,7 +49,7 @@ static int cur_item, nstates;
static void build_key_data(void)
{
u_char *kp, counters[MAXFUNCS], ch, ch1;
- u_short *p_key, key;
+ u16 *p_key, key;
int i, offset = 1;

nstates = (int)(state_tbl[-1]);
@@ -129,12 +129,12 @@ static int help_init(void)
return 0;
}

-int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u_short key)
+int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u16 key)
{
int i, n;
char *name;
u_char func, *kp;
- u_short *p_keys, val;
+ u16 *p_keys, val;

if (letter_offsets[0] == -1)
help_init();
diff --git a/drivers/accessibility/speakup/kobjects.c b/drivers/accessibility/speakup/kobjects.c
index 0dfdb6608e02..3c3b1a4efbfe 100644
--- a/drivers/accessibility/speakup/kobjects.c
+++ b/drivers/accessibility/speakup/kobjects.c
@@ -120,7 +120,7 @@ static ssize_t chars_chartab_store(struct kobject *kobj,
ssize_t retval = count;
unsigned long flags;
unsigned long index = 0;
- int charclass = 0;
+ u16 charclass = 0;
int received = 0;
int used = 0;
int rejected = 0;
@@ -461,7 +461,7 @@ static ssize_t punc_show(struct kobject *kobj, struct kobj_attribute *attr,
struct st_var_header *p_header;
struct punc_var_t *var;
struct st_bits_data *pb;
- short mask;
+ u16 mask;
unsigned long flags;

p_header = spk_var_header_by_name(attr->attr.name);
diff --git a/drivers/accessibility/speakup/main.c b/drivers/accessibility/speakup/main.c
index e68cf1d83787..4e52607fa2be 100644
--- a/drivers/accessibility/speakup/main.c
+++ b/drivers/accessibility/speakup/main.c
@@ -63,7 +63,7 @@ int spk_attrib_bleep, spk_bleeps, spk_bleep_time = 10;
int spk_no_intr, spk_spell_delay;
int spk_key_echo, spk_say_word_ctl;
int spk_say_ctrl, spk_bell_pos;
-short spk_punc_mask;
+u16 spk_punc_mask;
int spk_punc_level, spk_reading_punc;
int spk_cur_phonetic;
char spk_str_caps_start[MAXVARLEN + 1] = "\0";
@@ -183,13 +183,13 @@ char *spk_default_chars[256] = {
/* 251 */ "u circumflex", "u oomlaut", "y acute", "thorn", "y oomlaut"
};

-/* array of 256 u_short (one for each character)
+/* array of 256 u16 (one for each character)
* initialized to default_chartab and user selectable via
* /sys/module/speakup/parameters/chartab
*/
-u_short spk_chartab[256];
+u16 spk_chartab[256];

-static u_short default_chartab[256] = {
+static u16 default_chartab[256] = {
B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, /* 0-7 */
B_CTL, B_CTL, A_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, /* 8-15 */
B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, B_CTL, /*16-23 */
@@ -267,10 +267,10 @@ static void speakup_date(struct vc_data *vc)
spk_y = spk_cy = vc->state.y;
spk_pos = spk_cp = vc->vc_pos;
spk_old_attr = spk_attr;
- spk_attr = get_attributes(vc, (u_short *)spk_pos);
+ spk_attr = get_attributes(vc, (u16 *)spk_pos);
}

-static void bleep(u_short val)
+static void bleep(u16 val)
{
static const short vals[] = {
350, 370, 392, 414, 440, 466, 491, 523, 554, 587, 619, 659
@@ -346,14 +346,14 @@ static void speakup_cut(struct vc_data *vc)

if (!mark_cut_flag) {
mark_cut_flag = 1;
- spk_xs = (u_short)spk_x;
- spk_ys = (u_short)spk_y;
+ spk_xs = (u16)spk_x;
+ spk_ys = (u16)spk_y;
spk_sel_cons = vc;
synth_printf("%s\n", spk_msg_get(MSG_MARK));
return;
}
- spk_xe = (u_short)spk_x;
- spk_ye = (u_short)spk_y;
+ spk_xe = (u16)spk_x;
+ spk_ye = (u16)spk_y;
mark_cut_flag = 0;
synth_printf("%s\n", spk_msg_get(MSG_CUT));

@@ -482,7 +482,7 @@ static void say_char(struct vc_data *vc)
u16 ch;

spk_old_attr = spk_attr;
- ch = get_char(vc, (u_short *)spk_pos, &spk_attr);
+ ch = get_char(vc, (u16 *)spk_pos, &spk_attr);
if (spk_attr != spk_old_attr) {
if (spk_attrib_bleep & 1)
bleep(spk_y);
@@ -497,7 +497,7 @@ static void say_phonetic_char(struct vc_data *vc)
u16 ch;

spk_old_attr = spk_attr;
- ch = get_char(vc, (u_short *)spk_pos, &spk_attr);
+ ch = get_char(vc, (u16 *)spk_pos, &spk_attr);
if (ch <= 0x7f && isalpha(ch)) {
ch &= 0x1f;
synth_printf("%s\n", phonetic[--ch]);
@@ -549,7 +549,7 @@ static u_long get_word(struct vc_data *vc)
u_char temp;

spk_old_attr = spk_attr;
- ch = get_char(vc, (u_short *)tmp_pos, &temp);
+ ch = get_char(vc, (u16 *)tmp_pos, &temp);

/* decided to take out the sayword if on a space (mis-information */
if (spk_say_word_ctl && ch == SPACE) {
@@ -558,26 +558,26 @@ static u_long get_word(struct vc_data *vc)
return 0;
} else if (tmpx < vc->vc_cols - 2 &&
(ch == SPACE || ch == 0 || (ch < 0x100 && IS_WDLM(ch))) &&
- get_char(vc, (u_short *)tmp_pos + 1, &temp) > SPACE) {
+ get_char(vc, (u16 *)tmp_pos + 1, &temp) > SPACE) {
tmp_pos += 2;
tmpx++;
} else {
while (tmpx > 0) {
- ch = get_char(vc, (u_short *)tmp_pos - 1, &temp);
+ ch = get_char(vc, (u16 *)tmp_pos - 1, &temp);
if ((ch == SPACE || ch == 0 ||
(ch < 0x100 && IS_WDLM(ch))) &&
- get_char(vc, (u_short *)tmp_pos, &temp) > SPACE)
+ get_char(vc, (u16 *)tmp_pos, &temp) > SPACE)
break;
tmp_pos -= 2;
tmpx--;
}
}
- attr_ch = get_char(vc, (u_short *)tmp_pos, &spk_attr);
+ attr_ch = get_char(vc, (u16 *)tmp_pos, &spk_attr);
buf[cnt++] = attr_ch;
while (tmpx < vc->vc_cols - 1 && cnt < ARRAY_SIZE(buf) - 1) {
tmp_pos += 2;
tmpx++;
- ch = get_char(vc, (u_short *)tmp_pos, &temp);
+ ch = get_char(vc, (u16 *)tmp_pos, &temp);
if (ch == SPACE || ch == 0 ||
(buf[cnt - 1] < 0x100 && IS_WDLM(buf[cnt - 1]) &&
ch > SPACE))
@@ -591,7 +591,7 @@ static u_long get_word(struct vc_data *vc)
static void say_word(struct vc_data *vc)
{
u_long cnt = get_word(vc);
- u_short saved_punc_mask = spk_punc_mask;
+ u16 saved_punc_mask = spk_punc_mask;

if (cnt == 0)
return;
@@ -606,7 +606,7 @@ static void say_prev_word(struct vc_data *vc)
u_char temp;
u16 ch;
enum edge edge_said = edge_none;
- u_short last_state = 0, state = 0;
+ u16 last_state = 0, state = 0;

spk_parked |= 0x01;

@@ -635,7 +635,7 @@ static void say_prev_word(struct vc_data *vc)
spk_x--;
}
spk_pos -= 2;
- ch = get_char(vc, (u_short *)spk_pos, &temp);
+ ch = get_char(vc, (u16 *)spk_pos, &temp);
if (ch == SPACE || ch == 0)
state = 0;
else if (ch < 0x100 && IS_WDLM(ch))
@@ -661,7 +661,7 @@ static void say_next_word(struct vc_data *vc)
u_char temp;
u16 ch;
enum edge edge_said = edge_none;
- u_short last_state = 2, state = 0;
+ u16 last_state = 2, state = 0;

spk_parked |= 0x01;
if (spk_x == vc->vc_cols - 1 && spk_y == vc->vc_rows - 1) {
@@ -669,7 +669,7 @@ static void say_next_word(struct vc_data *vc)
return;
}
while (1) {
- ch = get_char(vc, (u_short *)spk_pos, &temp);
+ ch = get_char(vc, (u16 *)spk_pos, &temp);
if (ch == SPACE || ch == 0)
state = 0;
else if (ch < 0x100 && IS_WDLM(ch))
@@ -755,9 +755,9 @@ static int get_line(struct vc_data *vc)
u_char tmp2;

spk_old_attr = spk_attr;
- spk_attr = get_attributes(vc, (u_short *)spk_pos);
+ spk_attr = get_attributes(vc, (u16 *)spk_pos);
for (i = 0; i < vc->vc_cols; i++) {
- buf[i] = get_char(vc, (u_short *)tmp, &tmp2);
+ buf[i] = get_char(vc, (u16 *)tmp, &tmp2);
tmp += 2;
}
for (--i; i >= 0; i--)
@@ -770,7 +770,7 @@ static void say_line(struct vc_data *vc)
{
int i = get_line(vc);
u16 *cp;
- u_short saved_punc_mask = spk_punc_mask;
+ u16 saved_punc_mask = spk_punc_mask;

if (i == 0) {
synth_printf("%s\n", spk_msg_get(MSG_BLANK));
@@ -817,12 +817,12 @@ static int say_from_to(struct vc_data *vc, u_long from, u_long to,
{
int i = 0;
u_char tmp;
- u_short saved_punc_mask = spk_punc_mask;
+ u16 saved_punc_mask = spk_punc_mask;

spk_old_attr = spk_attr;
- spk_attr = get_attributes(vc, (u_short *)from);
+ spk_attr = get_attributes(vc, (u16 *)from);
while (from < to) {
- buf[i++] = get_char(vc, (u_short *)from, &tmp);
+ buf[i++] = get_char(vc, (u16 *)from, &tmp);
from += 2;
if (i >= vc->vc_size_row)
break;
@@ -895,10 +895,10 @@ static int get_sentence_buf(struct vc_data *vc, int read_punc)
sentmarks[bn][0] = &sentbuf[bn][0];
i = 0;
spk_old_attr = spk_attr;
- spk_attr = get_attributes(vc, (u_short *)start);
+ spk_attr = get_attributes(vc, (u16 *)start);

while (start < end) {
- sentbuf[bn][i] = get_char(vc, (u_short *)start, &tmp);
+ sentbuf[bn][i] = get_char(vc, (u16 *)start, &tmp);
if (i > 0) {
if (sentbuf[bn][i] == SPACE &&
sentbuf[bn][i - 1] == '.' &&
@@ -1047,7 +1047,7 @@ static void say_position(struct vc_data *vc)
static void say_char_num(struct vc_data *vc)
{
u_char tmp;
- u16 ch = get_char(vc, (u_short *)spk_pos, &tmp);
+ u16 ch = get_char(vc, (u16 *)spk_pos, &tmp);

synth_printf(spk_msg_get(MSG_CHAR_INFO), ch, ch);
}
@@ -1080,7 +1080,7 @@ static void spkup_write(const u16 *in_buf, int count)
{
static int rep_count;
static u16 ch = '\0', old_ch = '\0';
- static u_short char_type, last_type;
+ static u16 char_type, last_type;
int in_count = count;

spk_keydown = 0;
@@ -1325,9 +1325,9 @@ void spk_reset_default_chartab(void)

static const struct st_bits_data *pb_edit;

-static int edit_bits(struct vc_data *vc, u_char type, u_char ch, u_short key)
+static int edit_bits(struct vc_data *vc, u_char type, u_char ch, u16 key)
{
- short mask = pb_edit->mask, ch_type = spk_chartab[ch];
+ u16 mask = pb_edit->mask, ch_type = spk_chartab[ch];

if (type != KT_LATIN || (ch_type & B_NUM) || ch < SPACE)
return -1;
@@ -1947,7 +1947,7 @@ static void speakup_bits(struct vc_data *vc)
spk_special_handler = edit_bits;
}

-static int handle_goto(struct vc_data *vc, u_char type, u_char ch, u_short key)
+static int handle_goto(struct vc_data *vc, u_char type, u_char ch, u16 key)
{
static u_char goto_buf[8];
static int num;
@@ -2105,7 +2105,7 @@ static void do_spkup(struct vc_data *vc, u_char value)
static const char *pad_chars = "0123456789+-*/\015,.?()";

static int
-speakup_key(struct vc_data *vc, int shift_state, int keycode, u_short keysym,
+speakup_key(struct vc_data *vc, int shift_state, int keycode, u16 keysym,
int up_flag)
{
unsigned long flags;
diff --git a/drivers/accessibility/speakup/selection.c b/drivers/accessibility/speakup/selection.c
index 7df7afad5ab4..1713ce4e0ba5 100644
--- a/drivers/accessibility/speakup/selection.c
+++ b/drivers/accessibility/speakup/selection.c
@@ -13,7 +13,7 @@

#include "speakup.h"

-unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */
+u16 spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */
struct vc_data *spk_sel_cons;

struct speakup_selection_work {
diff --git a/drivers/accessibility/speakup/speakup.h b/drivers/accessibility/speakup/speakup.h
index 54f1226ea061..984a729fd82d 100644
--- a/drivers/accessibility/speakup/speakup.h
+++ b/drivers/accessibility/speakup/speakup.h
@@ -62,7 +62,7 @@ int spk_set_num_var(int val, struct st_var_header *var, int how);
int spk_set_string_var(const char *page, struct st_var_header *var, int len);
int spk_set_mask_bits(const char *input, const int which, const int how);
extern special_func spk_special_handler;
-int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u_short key);
+int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u16 key);
int synth_init(char *name);
void synth_release(void);

@@ -82,7 +82,7 @@ void synth_writeu(const char *buf, size_t count);
int synth_supports_indexing(void);

extern struct vc_data *spk_sel_cons;
-extern unsigned short spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */
+extern u16 spk_xs, spk_ys, spk_xe, spk_ye; /* our region points */

extern wait_queue_head_t speakup_event;
extern struct kobject *speakup_kobj;
@@ -95,20 +95,20 @@ extern struct st_spk_t *speakup_console[];
extern struct spk_synth *synth;
extern char spk_pitch_buff[];
extern u_char *spk_our_keys[];
-extern short spk_punc_masks[];
+extern u16 spk_punc_masks[];
extern char spk_str_caps_start[], spk_str_caps_stop[], spk_str_pause[];
extern bool spk_paused;
extern const struct st_bits_data spk_punc_info[];
extern u_char spk_key_buf[600];
extern char *spk_characters[];
extern char *spk_default_chars[];
-extern u_short spk_chartab[];
+extern u16 spk_chartab[];
extern int spk_no_intr, spk_say_ctrl, spk_say_word_ctl, spk_punc_level;
extern int spk_reading_punc, spk_attrib_bleep, spk_bleeps;
extern int spk_bleep_time, spk_bell_pos;
extern int spk_spell_delay, spk_key_echo;
extern int spk_cur_phonetic;
-extern short spk_punc_mask;
+extern u16 spk_punc_mask;
extern short spk_pitch_shift, synth_flags;
extern bool spk_quiet_boot;
extern char *synth_name;
diff --git a/drivers/accessibility/speakup/speakup_dtlk.h b/drivers/accessibility/speakup/speakup_dtlk.h
index 9c378b58066e..4190c7badeaf 100644
--- a/drivers/accessibility/speakup/speakup_dtlk.h
+++ b/drivers/accessibility/speakup/speakup_dtlk.h
@@ -39,7 +39,7 @@

/* data returned by Interrogate command */
struct synth_settings {
- u_short serial_number; /* 0-7Fh:0-7Fh */
+ u16 serial_number; /* 0-7Fh:0-7Fh */
u_char rom_version[24]; /* null terminated string */
u_char mode; /* 0=Character; 1=Phoneme; 2=Text */
u_char punc_level; /* nB; 0-7 */
diff --git a/drivers/accessibility/speakup/spk_types.h b/drivers/accessibility/speakup/spk_types.h
index 08011518a28a..a5762330e249 100644
--- a/drivers/accessibility/speakup/spk_types.h
+++ b/drivers/accessibility/speakup/spk_types.h
@@ -53,7 +53,7 @@ enum var_id_t {
};

typedef int (*special_func)(struct vc_data *vc, u_char type, u_char ch,
- u_short key);
+ u16 key);

#define COLOR_BUFFER_SIZE 160

diff --git a/drivers/accessibility/speakup/synth.c b/drivers/accessibility/speakup/synth.c
index d8addbf3ad0d..d1ec1a7eb160 100644
--- a/drivers/accessibility/speakup/synth.c
+++ b/drivers/accessibility/speakup/synth.c
@@ -574,4 +574,4 @@ struct spk_synth *synth_current(void)
}
EXPORT_SYMBOL_GPL(synth_current);

-short spk_punc_masks[] = { 0, SOME, MOST, PUNC, PUNC | B_SYM };
+u16 spk_punc_masks[] = { 0, SOME, MOST, PUNC, PUNC | B_SYM };
--
2.43.0



Return-Path: <linux-kernel+bounces-674044-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B320641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:12:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 30C153AA405
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:12:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 383AA1DDC22;
Thu, 5 Jun 2025 05:12:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="iigaeUz2"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E623324B26;
Thu, 5 Jun 2025 05:12:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.8
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749100340; cv=none; b=NuGqRMSWcVRhpOGV1dsQM8qvGzcqGYjUliJEE8l/8n3+O7HOZJF5aoA4FWokf3rV4T51T9Dr1fzc58+InNcU2NDr34rO9v2/zSdPxJ34BTojJniscNkcaYhjqw1oe/os9T5LyjfWWZBx94RsxjJtBqJudRP8JhBNeAgALRrya4s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749100340; c=relaxed/simple;
bh=Cojmq5Bw19bcv4D8O2BvzUtCCdxSCkh1++xIikVWjiQ=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=VF6ifSX2pI8axH0LGiPMTINsJ8qfm+7YOjpjNIoqE3rPVJXvixEFtbXyxFCPBacIFCG2hXd1axjFWiD6+1YkeSvx+YOSzP+3/xvKqh+NcjxaxMP95khwb3AOMOmW/1ZZubVD6SSTySucmBV/5z8O06aB9/z+BfmfUm+OhFgfAts=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=iigaeUz2; arc=none smtp.client-ip=192.198.163.8
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749100339; x=1780636339;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=Cojmq5Bw19bcv4D8O2BvzUtCCdxSCkh1++xIikVWjiQ=;
b=iigaeUz23tmDfaYno5Tm3jhdxZDwcuR1GekOlucQ39h/kL+mR4BCg9EY
TCezB0PebmCXyRrqr3sjalcrJpfB3GyD8J5pFf+2iFrLnqJoW3SeVpVlZ
nqyZPiuuYl6ti4D6TU8mcjpsRrdFMAAaQLqezry95vYUiF7tRjV26QO5H
IiqzVYvfHJS/hD92DfLZOAQvy5L0o1mw124qHXeaYC4hkqXKw3OUEvSdO
caONnN4SQm6KitDqUompuPxzMX0i8sDbIcR2ye6v9JNy/VZAK8ZAC9y3+
OWQCfBSpt/UYM4Z+A24qi9ujm5ZfdaZl4NFuyP08Ao5IxZVAfR6q4QcQ0
A==;
X-CSE-ConnectionGUID: z0002rrrS+y906dRWBwZuA==
X-CSE-MsgGUID: xBe60VFHR9m8aLFxdPFX8A==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="68754326"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="68754326"
Received: from fmviesa003.fm.intel.com ([10.60.135.143])
by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 22:12:18 -0700
X-CSE-ConnectionGUID: pP3Otw1VR0Op+zdYIbAlJQ==
X-CSE-MsgGUID: K9klzGtHRqiTQbrzEuROdA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="149232736"
Received: from lkp-server01.sh.intel.com (HELO e8142ee1dce2) ([10.239.97.150])
by fmviesa003.fm.intel.com with ESMTP; 04 Jun 2025 22:12:15 -0700
Received: from kbuild by e8142ee1dce2 with local (Exim 4.96)
(envelope-from <lkp@xxxxxxxxx>)
id 1uN2th-0003kP-1q;
Thu, 05 Jun 2025 05:12:13 +0000
Date: Thu, 5 Jun 2025 13:12:06 +0800
From: kernel test robot <lkp@xxxxxxxxx>
To: Jorge Marques <jorge.marques@xxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Frank Li <Frank.Li@xxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: oe-kbuild-all@xxxxxxxxxxxxxxx, linux-i3c@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Jorge Marques <jorge.marques@xxxxxxxxxx>
Subject: Re: [PATCH 2/2] i3c: master: Add driver for Analog Devices I3C
Controller IP
Message-ID: <202506051224.6jLJ0AOh-lkp@xxxxxxxxx>
References: <20250604-adi-i3c-master-v1-2-0488e80dafcb@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604-adi-i3c-master-v1-2-0488e80dafcb@xxxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Jorge,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 00286d7d643d3c98e48d9cc3a9f471b37154f462]

url: https://github.com/intel-lab-lkp/linux/commits/Jorge-Marques/dt-bindings-i3c-Add-adi-i3c-master/20250604-235108
base: 00286d7d643d3c98e48d9cc3a9f471b37154f462
patch link: https://lore.kernel.org/r/20250604-adi-i3c-master-v1-2-0488e80dafcb%40analog.com
patch subject: [PATCH 2/2] i3c: master: Add driver for Analog Devices I3C Controller IP
config: alpha-randconfig-r111-20250605 (https://download.01.org/0day-ci/archive/20250605/202506051224.6jLJ0AOh-lkp@xxxxxxxxx/config)
compiler: alpha-linux-gcc (GCC) 10.5.0
reproduce: (https://download.01.org/0day-ci/archive/20250605/202506051224.6jLJ0AOh-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506051224.6jLJ0AOh-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/i3c/master/adi-i3c-master.c:768:28: sparse: sparse: dubious: x | !y

vim +768 drivers/i3c/master/adi-i3c-master.c

759
760 static void adi_i3c_master_handle_da_req(struct adi_i3c_master *master)
761 {
762 u8 payload0[8];
763 u32 addr;
764
765 /* Clear device characteristics */
766 adi_i3c_master_rd_from_rx_fifo(master, payload0, 6);
767 addr = master->daa.addrs[master->daa.index++];
> 768 addr = (addr << 1) | !parity8(addr);
769
770 writel(addr, master->regs + REG_SDO_FIFO);
771 }
772

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


Return-Path: <linux-kernel+bounces-674045-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1EA5141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:13:35 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 87CEE189389A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:13:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7253D1D799D;
Thu, 5 Jun 2025 05:13:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="O50PM8nT"
Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C221E24B26
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:13:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.254.224.25
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749100407; cv=none; b=BcRn4fhHiWo8t5boGBVje0FQeue0y4aMToG+j+7yCDnk1Cni76MFdwDPkS1z3VXWP0jtciG6q6qzFRRLeiY+9GJ5uBJhKvG9Y7C01pomROrKJv38/VurzC1JiUgSeVXdhTAt7FmWgJVXzlRRthC7GR+3kAJe4CJy7596KflPmgk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749100407; c=relaxed/simple;
bh=yjKcUVsaOzsXlLaQQ6sVYum/jf/YVTmjmTtuD4pHD+Y=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:In-Reply-To:
Content-Type:References; b=lJhJokML7ALZ+co0VtPMOHuMXAiPxh3DC9pcBtLmHdEZ4DJpSXDlLr+5NyqNpVqksiM25IwHKO+nggmjYVhEvRclVwQZuHVqhZr7wUWI5z0HIiSu9USJXHVZlSWQELMXPff4vFxjlDqw0d/dmuU3AELM95onsgvVUIeNY75uljU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=O50PM8nT; arc=none smtp.client-ip=203.254.224.25
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com
Received: from epcas2p3.samsung.com (unknown [182.195.41.55])
by mailout2.samsung.com (KnoxPortal) with ESMTP id 20250605051322epoutp02a17a35543e53e6cbbc43ed7d53c3433c~GDYyERrSY3266132661epoutp02H
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:13:22 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20250605051322epoutp02a17a35543e53e6cbbc43ed7d53c3433c~GDYyERrSY3266132661epoutp02H
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
s=mail20170921; t=1749100402;
bh=TWZJnqmiFPsSy1+ILLqtvM1BwPxqpl14A88a5Y7yhVg=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=O50PM8nTZjeAH6peznjsVNd6ROJAp6sMkDLlxgluh1/bV+AZuGG13WvvLXqX+q4Eq
R+5KEY0Fwt6gST2XIhanC4g0pZIV6FcfCNUQnjJfRLXT4HdPf/jyyLXU4u1RtZarV6
t1iUo0u+CinRkl2OzZLqFCL24N1yV2abe0xQq4UA=
Received: from epsnrtp01.localdomain (unknown [182.195.42.153]) by
epcas2p4.samsung.com (KnoxPortal) with ESMTPS id
20250605051321epcas2p41d48d5da8ce26a73ad4b5de424a807f6~GDYxoACPw3115231152epcas2p4R;
Thu, 5 Jun 2025 05:13:21 +0000 (GMT)
Received: from epcas2p4.samsung.com (unknown [182.195.36.89]) by
epsnrtp01.localdomain (Postfix) with ESMTP id 4bCXf930Kmz6B9m5; Thu, 5 Jun
2025 05:13:21 +0000 (GMT)
Received: from epsmtip1.samsung.com (unknown [182.195.34.30]) by
epcas2p3.samsung.com (KnoxPortal) with ESMTPA id
20250605051320epcas2p31ea8aec2cbc88346cd08b2200a96e53f~GDYwk3cVo1550815508epcas2p3O;
Thu, 5 Jun 2025 05:13:20 +0000 (GMT)
Received: from tiffany (unknown [10.229.95.142]) by epsmtip1.samsung.com
(KnoxPortal) with ESMTPA id
20250605051320epsmtip116d0132b5d4ad98ba02e5f10b4ee2d5f~GDYwhojvp2376823768epsmtip1Z;
Thu, 5 Jun 2025 05:13:20 +0000 (GMT)
Date: Thu, 5 Jun 2025 14:11:31 +0900
From: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: janghyuck.kim@xxxxxxxxxxx, zhaoyang.huang@xxxxxxxxxx,
jaewon31.kim@xxxxxxxxx, david@xxxxxxxxxx, Jason Gunthorpe <jgg@xxxxxxxx>,
John Hubbard <jhubbard@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 2/2] mm: gup: avoid CMA page pinning by retrying
migration if no migratable page
Message-ID: <20250605051131.GA3407065@tiffany>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
In-Reply-To: <20250604204323.95a646ae67f6800069a11e36@xxxxxxxxxxxxxxxxxxxx>
X-CMS-MailID: 20250605051320epcas2p31ea8aec2cbc88346cd08b2200a96e53f
X-Msg-Generator: CA
Content-Type: multipart/mixed;
boundary="----bfByJ-ZIY6BJv7sVO1BMUP1RgQAR8Q.m4BWNyUsw_2ev9GnZ=_322ae_"
X-Sendblock-Type: AUTO_CONFIDENTIAL
CMS-TYPE: 102P
cpgsPolicy: CPGSC10-234,Y
X-CFilter-Loop: Reflected
X-CMS-RootMailID: 20250605033432epcas2p4c024a9d05246b18c217f3562b3f53551
References: <20250605033210.3184521-1-hyesoo.yu@xxxxxxxxxxx>
<CGME20250605033432epcas2p4c024a9d05246b18c217f3562b3f53551@xxxxxxxxxxxxxxxxxxxx>
<20250605033210.3184521-3-hyesoo.yu@xxxxxxxxxxx>
<20250604204323.95a646ae67f6800069a11e36@xxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

------bfByJ-ZIY6BJv7sVO1BMUP1RgQAR8Q.m4BWNyUsw_2ev9GnZ=_322ae_
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline

On Wed, Jun 04, 2025 at 08:43:23PM -0700, Andrew Morton wrote:
> On Thu, 5 Jun 2025 12:32:07 +0900 Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx> wrote:
>
> > Commit 1aaf8c122918 ("mm: gup: fix infinite loop within __get_longterm_locked")
> > introduced an issue where CMA pages could be pinned by longterm GUP requests.
> > This occurs when unpinnable pages are detected but the movable_page_list is empty;
> > the commit would return success without retrying, allowing unpinnable
> > pages (such as CMA) to become pinned.
> >
> > CMA pages may be temporarily off the LRU due to concurrent isolation,
> > for example when multiple longterm GUP requests are racing and therefore
> > not appear in movable_page_list. Before commit 1aaf8c, the kernel would
> > retry migration in such cases, which helped avoid accidental CMA pinning.
> >
> > The original intent of the commit was to support longterm GUP on non-LRU
> > CMA pages in out-of-tree use cases such as pKVM. However, allowing this
> > can lead to broader CMA pinning issues.
> >
> > To avoid this, the logic is restored to return -EAGAIN instead of success
> > when no folios could be collected but unpinnable pages were found.
> > This ensures that migration is retried until success, and avoids
> > inadvertently pinning unpinnable pages.
> >
> > Fixes: 1aaf8c122918 ("mm: gup: fix infinite loop within __get_longterm_locked")
>
> v6.14.
>
> As ever, a question is "should we backport this fix". To answer that
> we should understand the effect the regression has upon our users.
> Readers can guess, but it's better if you tell us this, please?
>

Hi Andrew.

We have confirmed that this regression causes CMA pages to be pinned
in our kernel 6.12-based environment.

In addition to CMA allocation failures, we also observed GUP longterm
failures in cases where the same VMA was accessed repeatedly.

Specifically, the first GUP longterm call would pin a CMA page, and a second
call on the same region would fail the migration due to the cma page already
being pinned.

After reverting commit 1aaf8c122918, the issue no longer reproduced.

Therefore, this fix is important to ensure reliable behavior of GUP longterm
and CMA-backed memory, and should be backported to stable.

Thanks,
Regards.

>
>

------bfByJ-ZIY6BJv7sVO1BMUP1RgQAR8Q.m4BWNyUsw_2ev9GnZ=_322ae_
Content-Type: text/plain; charset="utf-8"


------bfByJ-ZIY6BJv7sVO1BMUP1RgQAR8Q.m4BWNyUsw_2ev9GnZ=_322ae_--


Return-Path: <linux-kernel+bounces-674046-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2DA8A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:14:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 8A982173232
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:14:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C3AFA1D799D;
Thu, 5 Jun 2025 05:14:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="qOcKnXj/";
dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="qOcKnXj/"
Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011069.outbound.protection.outlook.com [40.107.130.69])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0849819D07E
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:13:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.69
ARC-Seal:i=3; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749100439; cv=fail; b=kZ3804xSeIg1Aka7oN2o8ourrkhDvc0DNzJKt0o+tQe91qKv7wO5lO6WJs6ykXRthSB1mWG96+zNZYh5j8GwsAxo7GxblM5Ki2ZkttVDaZ91m4PdELvRIp8MMsQsSwN+qAdNr5wLXQkk7oC+5MfeV9aR/ESrY8KhtDwOYG20MeA=
ARC-Message-Signature:i=3; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749100439; c=relaxed/simple;
bh=XEDV0r3ix6odEpm0gPjoDndex/Ia7Hbzg4oKoU0qbYs=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=Jz/0+25mHh1QchlSoZIhKAB6k2OObAHug8+b76DequqJTDG4xJS0Itk+sfSQHE9WrOnfosW/PaJ1VoF9vsLK0lNeqBHFmFac8TzY5XKMW6ovI/PadHcD87t79aQ1V7VvHotO//SNb3BTPxuncaqWysrzSKDfwA9tPMZw1f962jo=
ARC-Authentication-Results:i=3; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=qOcKnXj/; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=qOcKnXj/; arc=fail smtp.client-ip=40.107.130.69
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
b=C2UzJyvS3zPgVZndK8nKd3wtCnvNDVlV8/F49kZUmWRe3TZT66OkFYiGjzKS6e9cvpKLaBiige0VKmjQ3+K9ue51i9+7CQquwMQNLJ+b1/vgy8UrLbTMtqP1wLuBokMLr0H2RpLZ79Kyu0mNRJqvQJBIbNuwPq1aDpeApvP4z84iNUSsZj74tXDgiLwtp9Nk+9PRMN1HtsrRHq4Fg2nl+qiogtt4ztHpilkqaFfvS+bTh01JTFbuSvrW6XA4m3jyvOFpkoiYBorPZ2DdR4/MPi77IslZcd+4Lmv2Cag7LRlgUDs8Fnes69hhfPwLRCn5U4K6tnBYRGgf9KrR0gjr4g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=nl0+njriRQAm/ycOE3aj+a2CnCQKBtN6Qb8tgCFhhiQ=;
b=d5o3MwR7Aumvr+Dm8PLgh1uQIepFR6qSW4INtSQ4DrR1e0b72TWzkYW3Ew2UabfQumagrz4OygpO3YBLSy9Ao8MNs5LNnf66UaoRaGzXhlMMDrffgW2nOHw093kwpGupsOZrTfmeEGlzipUhdHUCvvhlPSxxC9Qt2VPAAa7qqWRb4+1LmhuozNeNYk737RW7xUV6MxH00vS1clIyxJ1WZAAXVK49wzU72ErbDnZ9VQ/j5qhO3wiKOhaH2/6OSvdAL//4X6Xyz/ZOrjFBomqY3Ul8+mQduVzK8MBZfI6IOGHUbk2XJ5x2yYT2IDks7B3nE+OTuF6t2MsWTdK87H3BUQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
4.158.2.129) smtp.rcpttodomain=gmail.com smtp.mailfrom=arm.com; dmarc=pass
(p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
(signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=nl0+njriRQAm/ycOE3aj+a2CnCQKBtN6Qb8tgCFhhiQ=;
b=qOcKnXj/kxF2XjHU2mtInlGFSMWHtaJWAJ6cg7Xak9LmM/RMPtyQnPQ+U93YuhWq1sO2GGlPggx3VMIF2PquNWWcmyryq9Sbj7ePS/0ZXAsjYxUOpJ5rNzDaRPqNbz2AMMScjRCK0Sa1wj8lZ1w40KziL8IfA2ZPvp5WkJN6OL8=
Received: from AM0PR02CA0116.eurprd02.prod.outlook.com (2603:10a6:20b:28c::13)
by AS8PR08MB8273.eurprd08.prod.outlook.com (2603:10a6:20b:537::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.19; Thu, 5 Jun
2025 05:13:51 +0000
Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com
(2603:10a6:20b:28c:cafe::61) by AM0PR02CA0116.outlook.office365.com
(2603:10a6:20b:28c::13) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.31 via Frontend
Transport; Thu, 5 Jun 2025 05:13:51 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129)
smtp.mailfrom=arm.com; dkim=pass (signature was verified)
header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
4.158.2.129 as permitted sender) receiver=protection.outlook.com;
client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C
Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by
AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with Microsoft
SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8792.29
via Frontend Transport; Thu, 5 Jun 2025 05:13:50 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=JQccim1LJCYgR9iF5tju6NXvwfsKmeQk/SS1i2GKUHJki49R3sOE8uzK90zVbI2gqN7wq/rbZ1jQfH4ltQ3OvJ5U+g61HU3JoEkEb3WQ3lGNAQpLuZ0Ozstob3wj+tDMwdj0nX73S+Ota0KXhvR1PFvaXZX6+OJ9z702r5mGgY2ho1OyMQBRKqeCnOjgLWwo/JcApJ1kpHX9rPhUVF8oReHKHDPiA+291e27mti8s6M5Ewoyy+XHnNl37sVH2Y1YkG66ZBplKVPzWjEwIb6rUqk4B36k3F8C5UZ7rzksWLARIqSrRwO43PTYkpI2pOkoh9PML5BI5NLmQTUMpBNuhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=nl0+njriRQAm/ycOE3aj+a2CnCQKBtN6Qb8tgCFhhiQ=;
b=QsZuyxx4+Ci6hZidrsdWfQ7O1Kinjoll/Jv731GSMdzZxmZ7sijp55CNxOy9wW4csl0AgD9AfiGHubRIhaCV0/UDYipCQ26g+vzoy9tY4j58zeugWTp8Px8+L/e+rLyhkM4DTcKck6Ix1v9q8xju3MB4xJU6qEGVUp/tAY6f7BX3ng/5gnFqE/pMqxwnt9ZhpOK93+Y2+ECzDoF2OM2TdsqP9JE/LLAslKg186Ud+pkjZmRQOb+TLK9j8V4L92mEj97BbhEtjsD2W5cMNKtRp2b5+sVv2aVnBswaZE2utQifnTbf2ICndN6iKv1Xo8ZTyJXbJbQthFukqD0CqZMHSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=nl0+njriRQAm/ycOE3aj+a2CnCQKBtN6Qb8tgCFhhiQ=;
b=qOcKnXj/kxF2XjHU2mtInlGFSMWHtaJWAJ6cg7Xak9LmM/RMPtyQnPQ+U93YuhWq1sO2GGlPggx3VMIF2PquNWWcmyryq9Sbj7ePS/0ZXAsjYxUOpJ5rNzDaRPqNbz2AMMScjRCK0Sa1wj8lZ1w40KziL8IfA2ZPvp5WkJN6OL8=
Authentication-Results-Original: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=arm.com;
Received: from GV1PR08MB10521.eurprd08.prod.outlook.com
(2603:10a6:150:163::20) by AS8PR08MB6165.eurprd08.prod.outlook.com
(2603:10a6:20b:29a::20) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.20; Thu, 5 Jun
2025 05:13:19 +0000
Received: from GV1PR08MB10521.eurprd08.prod.outlook.com
([fe80::d430:4ef9:b30b:c739]) by GV1PR08MB10521.eurprd08.prod.outlook.com
([fe80::d430:4ef9:b30b:c739%7]) with mapi id 15.20.8792.033; Thu, 5 Jun 2025
05:13:18 +0000
Date: Thu, 5 Jun 2025 06:13:16 +0100
From: Yeoreum Yun <yeoreum.yun@xxxxxxx>
To: Luka <luka.2016.cs@xxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [BUG] WARNING: locking bug in ___rmqueue_pcplist in Linux kernel
v6.12
Message-ID: <aEEnbJKLdwOZm3UC@xxxxxxxxxxxxxxx>
References: <CALm_T+2nmQCQXsBSsD2QPTXb_wOKALAgOPwzTFc=evWUmUsq5g@xxxxxxxxxxxxxx>
<aEAC4/XzOqkqA1wd@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <aEAC4/XzOqkqA1wd@xxxxxxxxxxxxxxx>
X-ClientProxiedBy: LO2P265CA0484.GBRP265.PROD.OUTLOOK.COM
(2603:10a6:600:13a::9) To GV1PR08MB10521.eurprd08.prod.outlook.com
(2603:10a6:150:163::20)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-TrafficTypeDiagnostic:
GV1PR08MB10521:EE_|AS8PR08MB6165:EE_|AMS0EPF000001A5:EE_|AS8PR08MB8273:EE_
X-MS-Office365-Filtering-Correlation-Id: cb1d3240-06ee-47c3-ee40-08dda3efc262
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info-Original:
=?us-ascii?Q?KeiBJ08lkAdIcYfGhbi1GEHx0TVytUfHN0XRK14UHgmpGzIKgRT9Bt3oBnsF?=
=?us-ascii?Q?FRwJYLOAg7MLq70nHs5/OhzbXXjvLG7UDt0fJr5mZWC+RcBUSV5oLhUwOBf0?=
=?us-ascii?Q?yBlgs2ELKOMaleSWtzzNBdAs6nJzZ9Z+CM2NGlVsunRMvXj6sAlPiatio8i0?=
=?us-ascii?Q?1miG/hvgm6X25BtxVFrXa2bj3iO7CbAN2BDfa33OSO6lpF9AuBjoB8Gqdqba?=
=?us-ascii?Q?ogWuvCtXT0QrEfwYJQZ09d4n5uALlj4I2dkXGMh/qLVd+l1ZSe347Fl575A0?=
=?us-ascii?Q?d8VAQZd6SjLjtfzRnxRNjRyh325Bkrrax8x5JlSWKBiHb7E3DlNUg2tHZk7U?=
=?us-ascii?Q?s1mLAepjR1ePf00uzLdHVXs7VxQHBTkYQkkxuhZKdskwC7/YunDKNb8nXzxJ?=
=?us-ascii?Q?srlknBSdNgL3VLUeW5zWFtZkHprbenaAmKahAPOviAdT9/LyQhwh8tV7ec/i?=
=?us-ascii?Q?l01GOV27wESMF6pqY5nfBdzBWr4JTSmF8L1XoE9+495JKSEO+LUQEfuaJyS1?=
=?us-ascii?Q?zybr/Xa4o3p0uZuvD7Yocj04hi/S5BOtOnkiMcaT8iTUukoi/Z/1jxWB2f6F?=
=?us-ascii?Q?yA/jW+B/YthY7C8uS7Lls/V/DqvC/c00ukiVdkkk9jxULA7UZpdy5Fwwv5Qo?=
=?us-ascii?Q?goC9eYSRMBHehMRKA2Dx2yi4cRilLbUtBddgyUNl1oXQpqY3xIjYzHCn9dt0?=
=?us-ascii?Q?n0xr8UIXHBDzgp2MPwyhw1TGxLhrP6Wke8/sB42l4zsBVJ0eJdsXgHWhfQZp?=
=?us-ascii?Q?LAq7pM+ZbApYdbaHDy/hITNZzh6PmJ1vONTqejdKAL9W7fKeXeXomqFRtGSH?=
=?us-ascii?Q?sNDvgQHk0RPCCrR6fyZPYq77qnVcNue/fJ58QS15mWsYyF2QSY1pIy5V2c8q?=
=?us-ascii?Q?J0m9p3rJe2ZOCTszxU0O00GtbjNxPDpF3sq05Der5GUr/YmQtHXX+I17A9B8?=
=?us-ascii?Q?0Aw1avtZqgzA7tyaenDzZWTL3ic6ILYdDyZqqqvU1uNbS2GrZSxnBC9iy5Mv?=
=?us-ascii?Q?KegV9xQywGnvV99S4NPu8ExVVDdmOMtbltu1Qsx8Thxk+dBfItcQHKFoNr+V?=
=?us-ascii?Q?aNitWOycV2NkWBhUqELkULEMr2rFnGM6dMBwXIdZj9vvNykv2RdiVXBFJg4l?=
=?us-ascii?Q?TRZbZh763I35IMo4ox1ImmMVcu5k11MwF8KUkoOgMffe8ceLPRNZ9ekRRd6B?=
=?us-ascii?Q?Ij+3lXZSK1WgCMVUyX4Fh5MbtGZC5z9IkK9b0hrDRw77upokj7OFTCEKkIpp?=
=?us-ascii?Q?+al3Q85YYTmg60YROCQy54ayhLlOMcyr+rdvp/33hHTDP4mzScUJTLAtZQRN?=
=?us-ascii?Q?P7bugq4uIxC2Q6s9XdijfCr6TY8FKoi47zhVBK6Olr1S6Bx4c0ddNePGFJXu?=
=?us-ascii?Q?tI3AVAA=3D?=
X-Forefront-Antispam-Report-Untrusted:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR08MB10521.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6165
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
AMS0EPF000001A5.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
d73271a6-2619-4549-fba2-08dda3efaef8
X-Microsoft-Antispam:
BCL:0;ARA:13230040|36860700013|35042699022|82310400026|1800799024|376014|14060799003|13003099007;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?X+8kvSUSOqTWS3R/kZ58ExAqdJM/SrsXaDILEHxzzmMgvluIfhCHzPur+iZJ?=
=?us-ascii?Q?hZrHIZ8iK9IC0YGlbn1ALhHuXYJSZRreNVT3tWX/dN8R5JHyN8RZ8uU5Vgoy?=
=?us-ascii?Q?bCgxeEAH8X/Lw87J+7m57LaRUrYOhUsbLV5xMF3Q9aTcmV3jqVegwShAmBYG?=
=?us-ascii?Q?CTzJiGK2WcXXfp4DH/5ZAOdPTdlgp8wm4MrM49Tabv7oxFvDcIfpzJxhLPX2?=
=?us-ascii?Q?9XGoGB+cIvULd+jwBjyAhV7e++jn6AWMV3llhqJOPJPubo1Qm5xRKpDSfuUO?=
=?us-ascii?Q?9FIOkvoej+qD8Lvwyx4k+d62alEMzPRw8a+Uewd0o7Bm8fWEk5elRG4J7ZOh?=
=?us-ascii?Q?SnfmOeH9AuLRehw/O+hTIbWIFdYUy9QNO/KusHDTsu9E+R/Zb2k74t0GlGd7?=
=?us-ascii?Q?x2DtTYncef5PmuYIfmO+7VDG03/DR70uxUWUdD6nXdNe3AHSPB8cNiDyANLV?=
=?us-ascii?Q?b7AbH3J/aURoFIfjWkL+VfIR8odAZbAliKZqV6hE18kctwMFPit/glYuTWWG?=
=?us-ascii?Q?5WEuSJxmI+zityfgAww6pJZwtvefW5y2eMTziPpVK1hb3pKyYcbykIXCQwPw?=
=?us-ascii?Q?sw2BDIo2ji+wTzqTD/6Hmvp4PfFHlo4sRC2Id/27OwB+8TIGCEkkSWDE7LU/?=
=?us-ascii?Q?TGKaCF51pZOswi1gmH+IAAQ1jqH/qcvWU1k+yR7rQK59g4UA1nPA+NQX2I1W?=
=?us-ascii?Q?Git+ey47NHLdsbvwVdZI3poLA7Z5doH/QawYBdlZIH40ShryIv5pJVfkaSaQ?=
=?us-ascii?Q?f1B5Tbir6+xrHxR14O47kn7zU4csa4tC8mROIq+XnwcwtMekc3V69otV9kM2?=
=?us-ascii?Q?LSMQNxQ+BRFPupyOC9ICxt7C/00Z5M8gGsfRMmRYJ5hyhdmZUq5RR8cO4kdT?=
=?us-ascii?Q?mnD1FTLt1rl9Ohbm9EBFNCboI4oUTDE3yWO+L6XMYE6YEDqcRPN0sj7obn84?=
=?us-ascii?Q?XYTIVVniGWOGTcGndtntav2lRP6UhPaW6HVEssqwRvgQY02HZ8eQcQeCedgZ?=
=?us-ascii?Q?zR0vktG7LJdWb6fuamxOxseHCQQ0UmDn37p50zdi+cVkF7brnBHoazghGbZY?=
=?us-ascii?Q?NsOI8x3fGp0JyfG1VbTG0Lns6NgdVp1eCw2Qb6Tc4xnwW/oTWfApbaC0glC1?=
=?us-ascii?Q?TClSnarb6DPXDqqG9TU3AzHPJuL0N5T2QU376rZBTV3nH4CYxXyzx0rqeCx6?=
=?us-ascii?Q?BYDywetF4ou95NuUtBm5vXVRYE97f7e1nx6GwVLMN9rkayX5qfQ8rrEl/2nr?=
=?us-ascii?Q?qtUw1NgHODn/tBIC5B6CIJu7GXv6fNEX6k/jUDqFhjLTuQqhhwgVySYYuHmR?=
=?us-ascii?Q?1kr8zL5JehAgmF3VDG2Wr1QRHc/56ETcDOf9VGELvgH6g2CboSstJZE9Y1ud?=
=?us-ascii?Q?P1sv2xIqv+/wUysxwIVVSD6m4Aba6tSyHyLazmIHPVecDrvAugpes66innGG?=
=?us-ascii?Q?PtyNa+Ws2Dh46gJkYZ2Sy1lAk3oxACz3OkN7KVYRHUZs+qTgkgYP/w=3D=3D?=
X-Forefront-Antispam-Report:
CIP:4.158.2.129;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:outbound-uk1.az.dlp.m.darktrace.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(35042699022)(82310400026)(1800799024)(376014)(14060799003)(13003099007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 05:13:50.9361
(UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cb1d3240-06ee-47c3-ee40-08dda3efc262
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource:
AMS0EPF000001A5.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8273
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

> Hi Luka,
>
> >
> > I am writing to report a potential vulnerability identified in the
> > upstream Linux Kernel version v6.12, corresponding to the following
> > commit in the mainline repository:
> >
> > Git Commit: adc218676eef25575469234709c2d87185ca223a (tag: v6.12)
> >
> > This issue was discovered during the testing of the Android 16 AOSP
> > kernel, which is based on Linux kernel version 6.12, specifically from
> > the AOSP kernel branch:
> >
> > AOSP kernel branch: android16-6.12
> > Manifest path: kernel/common.git
> > Source URL: https://android.googlesource.com/kernel/common/+/refs/heads/android16-6.12
> >
> > Although this kernel branch is used in Android 16 development, its
> > base is aligned with the upstream Linux v6.12 release. I observed this
> > issue while conducting stability and fuzzing tests on the Android 16
> > platform and identified that the root cause lies in the upstream
> > codebase.
> >
> >
> > Bug Location: ___rmqueue_pcplist+0x3b0/0x236c mm/page_alloc.c:3276
> >
> > Bug Report: https://hastebin.com/share/tobupusuya.bash
> >
> > Entire Log: https://hastebin.com/share/imecipavet.yaml
> >
> >
> > Thank you very much for your time and attention. I sincerely apologize
> > that I am currently unable to provide a reproducer for this issue.
> > However, I am actively working on reproducing the problem, and I will
> > make sure to share any findings or reproducing steps with you as soon
> > as they are available.
> >
> > I greatly appreciate your efforts in maintaining the Linux kernel and
> > your attention to this matter.
> >
>
> Could you make a test with this patch please?
>
> -----8-----
>
> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> index 28066b4ced81..4c7007377525 100644
> --- a/include/linux/mmzone.h
> +++ b/include/linux/mmzone.h
> @@ -707,7 +707,7 @@ enum zone_watermarks {
> #define PCPF_FREE_HIGH_BATCH BIT(1)
>
> struct per_cpu_pages {
> - spinlock_t lock; /* Protects lists field */
> + raw_spinlock_t lock; /* Protects lists field */
> int count; /* number of pages in the list */
> int high; /* high watermark, emptying needed */
> int high_min; /* min high watermark */
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> :...skipping...
> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> index 28066b4ced81..4c7007377525 100644
> --- a/include/linux/mmzone.h
> +++ b/include/linux/mmzone.h
> @@ -707,7 +707,7 @@ enum zone_watermarks {
> #define PCPF_FREE_HIGH_BATCH BIT(1)
>
> struct per_cpu_pages {
> - spinlock_t lock; /* Protects lists field */
> + raw_spinlock_t lock; /* Protects lists field */
> int count; /* number of pages in the list */
> int high; /* high watermark, emptying needed */
> int high_min; /* min high watermark */
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 2ef3c07266b3..f00d58aba491 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -134,7 +134,7 @@ static DEFINE_MUTEX(pcp_batch_high_lock);
> type *_ret; \
> pcpu_task_pin(); \
> _ret = this_cpu_ptr(ptr); \
> - spin_lock(&_ret->member); \
> + raw_spin_lock(&_ret->member); \
> _ret; \
> })
>
> @@ -143,7 +143,7 @@ static DEFINE_MUTEX(pcp_batch_high_lock);
> type *_ret; \
> pcpu_task_pin(); \
> _ret = this_cpu_ptr(ptr); \
> - if (!spin_trylock(&_ret->member)) { \
> + if (!raw_spin_trylock(&_ret->member)) { \
> pcpu_task_unpin(); \
> _ret = NULL; \
> } \
> @@ -152,7 +152,7 @@ static DEFINE_MUTEX(pcp_batch_high_lock);
>
> #define pcpu_spin_unlock(member, ptr) \
> ({ \
> - spin_unlock(&ptr->member); \
> + raw_spin_unlock(&ptr->member); \
> pcpu_task_unpin(); \
> })
>
> @@ -2393,9 +2393,9 @@ int decay_pcp_high(struct zone *zone, struct per_cpu_pages *pcp)
>
> to_drain = pcp->count - pcp->high;
> if (to_drain > 0) {
> - spin_lock(&pcp->lock);
> + raw_spin_lock(&pcp->lock);
> free_pcppages_bulk(zone, to_drain, pcp, 0);
> - spin_unlock(&pcp->lock);
> + raw_spin_unlock(&pcp->lock);
> todo++;
> }
>
> @@ -2415,9 +2415,9 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp)
> batch = READ_ONCE(pcp->batch);
> to_drain = min(pcp->count, batch);
> if (to_drain > 0) {
> - spin_lock(&pcp->lock);
> + raw_spin_lock(&pcp->lock);
> free_pcppages_bulk(zone, to_drain, pcp, 0);
> - spin_unlock(&pcp->lock);
> + raw_spin_unlock(&pcp->lock);
> }
> }
> #endif
> @@ -2431,7 +2431,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone)
> int count;
>
> do {
> - spin_lock(&pcp->lock);
> + raw_spin_lock(&pcp->lock);
> count = pcp->count;
> if (count) {
> int to_drain = min(count,
> @@ -2440,7 +2440,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone)
> free_pcppages_bulk(zone, to_drain, pcp, 0);
> count -= to_drain;
> }
> - spin_unlock(&pcp->lock);
> + raw_spin_unlock(&pcp->lock);
> } while (count);
> }
>
> @@ -5744,7 +5744,7 @@ static void per_cpu_pages_init(struct per_cpu_pages *pcp, struct per_cpu_zonesta
> memset(pcp, 0, sizeof(*pcp));
> memset(pzstats, 0, sizeof(*pzstats));
>
> - spin_lock_init(&pcp->lock);
> + raw_spin_lock_init(&pcp->lock);
> for (pindex = 0; pindex < NR_PCP_LISTS; pindex++)
> INIT_LIST_HEAD(&pcp->lists[pindex]);
>
> @@ -5854,12 +5854,12 @@ static void zone_pcp_update_cacheinfo(struct zone *zone, unsigned int cpu)
> * This can reduce zone lock contention without hurting
> * cache-hot pages sharing.
> */
> - spin_lock(&pcp->lock);
> + raw_spin_lock(&pcp->lock);
> if ((cci->per_cpu_data_slice_size >> PAGE_SHIFT) > 3 * pcp->batch)
> pcp->flags |= PCPF_FREE_HIGH_BATCH;
> else
> pcp->flags &= ~PCPF_FREE_HIGH_BATCH;
> - spin_unlock(&pcp->lock);
> + raw_spin_unlock(&pcp->lock);
> }
>
> void setup_pcp_cacheinfo(unsigned int cpu)
> (END)
> @@ -2393,9 +2393,9 @@ int decay_pcp_high(struct zone *zone, struct per_cpu_pages *pcp)
>
> to_drain = pcp->count - pcp->high;
> if (to_drain > 0) {
> - spin_lock(&pcp->lock);
> + raw_spin_lock(&pcp->lock);
> free_pcppages_bulk(zone, to_drain, pcp, 0);
> - spin_unlock(&pcp->lock);
> + raw_spin_unlock(&pcp->lock);
> todo++;
> }
>
> @@ -2415,9 +2415,9 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp)
> batch = READ_ONCE(pcp->batch);
> :
> @@ -2393,9 +2393,9 @@ int decay_pcp_high(struct zone *zone, struct per_cpu_pages *pcp)
>
> to_drain = pcp->count - pcp->high;
> if (to_drain > 0) {
> - spin_lock(&pcp->lock);
> + raw_spin_lock(&pcp->lock);
> free_pcppages_bulk(zone, to_drain, pcp, 0);
> - spin_unlock(&pcp->lock);
> + raw_spin_unlock(&pcp->lock);
> todo++;
> }
>
> @@ -2415,9 +2415,9 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp)
> batch = READ_ONCE(pcp->batch);
> to_drain = min(pcp->count, batch);
> if (to_drain > 0) {
> - spin_lock(&pcp->lock);
> + raw_spin_lock(&pcp->lock);
> free_pcppages_bulk(zone, to_drain, pcp, 0);
> - spin_unlock(&pcp->lock);
> + raw_spin_unlock(&pcp->lock);
> }
> }
> #endif
> @@ -2431,7 +2431,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone)
> int count;
>
> do {
> - spin_lock(&pcp->lock);
> + raw_spin_lock(&pcp->lock);
> count = pcp->count;
> if (count) {
> int to_drain = min(count,
> @@ -2440,7 +2440,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone)
> free_pcppages_bulk(zone, to_drain, pcp, 0);
> count -= to_drain;
> }
> - spin_unlock(&pcp->lock);
> + raw_spin_unlock(&pcp->lock);
> } while (count);
> }
>
> @@ -5744,7 +5744,7 @@ static void per_cpu_pages_init(struct per_cpu_pages *pcp, struct per_cpu_zonesta
> memset(pcp, 0, sizeof(*pcp));
> memset(pzstats, 0, sizeof(*pzstats));
>
> - spin_lock_init(&pcp->lock);
> + raw_spin_lock_init(&pcp->lock);
> for (pindex = 0; pindex < NR_PCP_LISTS; pindex++)
> INIT_LIST_HEAD(&pcp->lists[pindex]);
>
> @@ -5854,12 +5854,12 @@ static void zone_pcp_update_cacheinfo(struct zone *zone, unsigned int cpu)
> * This can reduce zone lock contention without hurting
> * cache-hot pages sharing.
> */
> - spin_lock(&pcp->lock);
> + raw_spin_lock(&pcp->lock);
> if ((cci->per_cpu_data_slice_size >> PAGE_SHIFT) > 3 * pcp->batch)
> pcp->flags |= PCPF_FREE_HIGH_BATCH;
> else
> pcp->flags &= ~PCPF_FREE_HIGH_BATCH;
> - spin_unlock(&pcp->lock);
> + raw_spin_unlock(&pcp->lock);
> }
>
> void setup_pcp_cacheinfo(unsigned int cpu)

Sorry for my bad, I read code wrong...

This problem is gone since:
commit d40797d6720e8 ("kasan: make kasan_record_aux_stack_noalloc() the default behaviour")

Thanks
--
Sincerely,
Yeoreum Yun


Return-Path: <linux-kernel+bounces-674047-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C5CBF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:16:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0E38C3A51AD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:16:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 562DD1DB958;
Thu, 5 Jun 2025 05:16:34 +0000 (UTC)
Received: from mail-io1-f80.google.com (mail-io1-f80.google.com [209.85.166.80])
(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 3B138190692
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:16:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.80
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749100593; cv=none; b=Z4TJtevcQWmuBP3q8ylmmpDfrws90Bmg57Ipj55VtId8I8gBywHEhg94TecQ6xCilcqcJ8NJdjT+bLEUah1gcQy2Bwy5JelqhY2zLGZKxTNb7UzVcWfNQc8eIzNN8ubaV3a6aoOdeffvoK/qaCeerwlFuTLLLcZaqpLPr2kxFyE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749100593; c=relaxed/simple;
bh=CYL58g7kYDc1rH0y5+w0eOYo16sWWvSaOQfSGz/KHzo=;
h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type; b=Zcn9G2CFLWTeemhvFOseEqKh6N8vAIfcDo51bJZEJElaNcS97OkFED7KSJpfH8UFrNHsHrsaGxhhkINDesW3mzWdbQwW6rmHGLnY8CeT579w5UsDf+AgWqpTqCnCgkkCc9ZqENmEpbi7Dkx46PxsZ1jKgb6vuxlrb8RByzv9Zbc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.80
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-io1-f80.google.com with SMTP id ca18e2360f4ac-86cff1087deso112671039f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 22:16:31 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749100591; x=1749705391;
h=to:from:subject:message-id:date:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=fzfoMGaWZi7K+F5w93H5VmQc+4wXzeXQZAhXGH3uZrE=;
b=KaYjT2Y0x7KPHEcTuXx15Q2Gn7iDuiUEi7O/4noqR+7ajKh1JL5w9BOjkpwbeEO2IE
UXIkdPzdQdqjlBk5IzCAndtNmVA8rTkPm+4XbXGyDQ3bqk2PgX+MXtPcyT1dEpZB+GQj
28z//9gWcNZ9Hx6gJcWSKnqP+stdZO71CYyzMyPMupIEIwulmLIrXWEPH1DDXtC5MUH2
sbqBktftagh5WMeTBSsWCBkUbaVLzB1Q69nuNM48Uto66s+gB9RJNeRU79s6gY6yxEt/
mD+A2e7dXXFSAYy7z5MdIM5D8Wvbo0AodKLh6O466Om2tx1SX1d1PI3cXvysjOKvRgoS
/d+w==
X-Forwarded-Encrypted: i=1; AJvYcCUI5SslnArr3R+l5r7SxPEw7POdX6nUgcR2J83G/5bBwvWClx2UhbaeLBvRRQZfKDVTLX1eu2mJeu7C97s=@vger.kernel.org
X-Gm-Message-State: AOJu0YwD6Zmo9kPVpcJS0VaSVQS1WKX4q65xvIPc5UpgTEI4ngeKcOyy
uXXpM7jc9dzhky9BGRH2u9yH9b/LaYsHZpN0Q+N+Q+rk8I7GhqO+7wlaHswwK8qapbEwrqdInb0
M1tLav7FnxOatQq2Xn+0qk4GHhb3zAx8bRQ7FqQ5/Kb/EjfeIJzfUe3WapiU=
X-Google-Smtp-Source: AGHT+IGL9CPGtTJctwG9cugoEq4QaqsKV0ucSk5e5D2W64n5w+zRUS3hZWmiQpgCRrXXzvnR5oDsXcTZ9M0cnlaYHuCmaWpvXLCk
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6e02:3e8d:b0:3db:6fb2:4b95 with SMTP id
e9e14a558f8ab-3ddbedd422fmr77706325ab.18.1749100591318; Wed, 04 Jun 2025
22:16:31 -0700 (PDT)
Date: Wed, 04 Jun 2025 22:16:31 -0700
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6841282f.050a0220.2461cf.000d.GAE@xxxxxxxxxx>
Subject: [syzbot] [ocfs2?] kernel BUG in ocfs2_write_begin_nolock (2)
From: syzbot <syzbot+f34f8bb121f222fb1f38@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: jlbec@xxxxxxxxxxxx, joseph.qi@xxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, mark@xxxxxxxxxx, ocfs2-devel@xxxxxxxxxxxxxxx,
syzkaller-bugs@xxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.0 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello,

syzbot found the following issue on:

HEAD commit: 3a83b350b5be Add linux-next specific files for 20250530
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=125f200c580000
kernel config: https://syzkaller.appspot.com/x/.config?x=28859360c84ac63d
dashboard link: https://syzkaller.appspot.com/bug?extid=f34f8bb121f222fb1f38
compiler: Debian clang version 20.1.6 (++20250514063057+1e4d39e07757-1~exp1~20250514183223.118), Debian LLD 20.1.6

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/e18e458d13c9/disk-3a83b350.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/a1c40854811c/vmlinux-3a83b350.xz
kernel image: https://storage.googleapis.com/syzbot-assets/571f670b130a/bzImage-3a83b350.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+f34f8bb121f222fb1f38@xxxxxxxxxxxxxxxxxxxxxxxxx

------------[ cut here ]------------
kernel BUG at fs/ocfs2/aops.c:1389!
Oops: invalid opcode: 0000 [#1] SMP KASAN PTI
CPU: 0 UID: 0 PID: 6894 Comm: syz.4.220 Not tainted 6.15.0-next-20250530-syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:ocfs2_populate_write_desc fs/ocfs2/aops.c:1389 [inline]
RIP: 0010:ocfs2_write_begin_nolock+0x42e0/0x4340 fs/ocfs2/aops.c:1687
Code: 00 eb 05 e8 82 54 28 fe 49 bd 00 00 00 00 00 fc ff df e9 23 fe ff ff e8 fe dc cd 07 e8 69 54 28 fe 90 0f 0b e8 61 54 28 fe 90 <0f> 0b e8 59 54 28 fe 90 0f 0b e8 51 54 28 fe 90 0f 0b e8 49 54 28
RSP: 0018:ffffc90019b97240 EFLAGS: 00010293
RAX: ffffffff83980b4f RBX: 0000000000000002 RCX: ffff88802530da00
RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000000
RBP: ffffc90019b97800 R08: ffff88802530da00 R09: 0000000000000006
R10: 00000000fffffffc R11: 0000000000000000 R12: 0000000000000000
R13: dffffc0000000000 R14: 0000000000000001 R15: ffff88805b968010
FS: 00005555780fd500(0000) GS:ffff888125c53000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000110c2f56bd CR3: 00000000675d4000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
__ocfs2_page_mkwrite fs/ocfs2/mmap.c:93 [inline]
ocfs2_page_mkwrite+0x600/0xc40 fs/ocfs2/mmap.c:144
do_page_mkwrite+0x14a/0x310 mm/memory.c:3378
wp_page_shared mm/memory.c:3779 [inline]
do_wp_page+0x268d/0x5800 mm/memory.c:3998
handle_pte_fault mm/memory.c:6105 [inline]
__handle_mm_fault+0x1144/0x5620 mm/memory.c:6232
handle_mm_fault+0x40a/0x8e0 mm/memory.c:6401
do_user_addr_fault+0x764/0x1390 arch/x86/mm/fault.c:1387
handle_page_fault arch/x86/mm/fault.c:1476 [inline]
exc_page_fault+0x76/0xf0 arch/x86/mm/fault.c:1532
asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623
RIP: 0033:0x7f79671566ab
Code: fa 10 73 2d 83 fa 08 73 46 83 fa 04 73 16 83 fa 01 7c 10 8a 0e 74 0a 0f b7 74 16 fe 66 89 74 17 fe 88 0f c3 8b 4c 16 fc 8b 36 <89> 4c 17 fc 89 37 c3 c5 fa 6f 06 c5 fa 6f 4c 16 f0 c5 fa 7f 07 c5
RSP: 002b:00007fff1cbdc378 EFLAGS: 00010202
RAX: 00002000000005c0 RBX: 0000000000000004 RCX: 0000000000737562
RDX: 0000000000000006 RSI: 0000000075622f2e RDI: 00002000000005c0
RBP: 00007f79673b7ba0 R08: 00007f7967000000 R09: 0000000000000001
R10: 0000000000000001 R11: 0000000000000009 R12: 00007f79673b5fac
R13: 00007fff1cbdc470 R14: fffffffffffffffe R15: 00007fff1cbdc490
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:ocfs2_populate_write_desc fs/ocfs2/aops.c:1389 [inline]
RIP: 0010:ocfs2_write_begin_nolock+0x42e0/0x4340 fs/ocfs2/aops.c:1687
Code: 00 eb 05 e8 82 54 28 fe 49 bd 00 00 00 00 00 fc ff df e9 23 fe ff ff e8 fe dc cd 07 e8 69 54 28 fe 90 0f 0b e8 61 54 28 fe 90 <0f> 0b e8 59 54 28 fe 90 0f 0b e8 51 54 28 fe 90 0f 0b e8 49 54 28
RSP: 0018:ffffc90019b97240 EFLAGS: 00010293
RAX: ffffffff83980b4f RBX: 0000000000000002 RCX: ffff88802530da00
RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000000
RBP: ffffc90019b97800 R08: ffff88802530da00 R09: 0000000000000006
R10: 00000000fffffffc R11: 0000000000000000 R12: 0000000000000000
R13: dffffc0000000000 R14: 0000000000000001 R15: ffff88805b968010
FS: 00005555780fd500(0000) GS:ffff888125c53000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005561c2044660 CR3: 00000000675d4000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup


Return-Path: <linux-kernel+bounces-674048-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5FBBD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:19:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 819E118939EE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:19:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7AD291DC98C;
Thu, 5 Jun 2025 05:18:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="dFUSSWg0";
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="OQLhnjrn";
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="dFUSSWg0";
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="OQLhnjrn"
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
(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 D5873190692
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:18:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749100730; cv=none; b=SSO0D/Y2XIeHIAfiVAJKfFddG7KG7Vb2pI2cPSza7VLsDYjWa5H6hRE7seoXu/T/pQqtfjX2BwLlgp+OU0Z9zqspYylPKyv/rPgDmF4dF2TOUEWt/BomTiANNJIa7oIqU0oMXR226LvcTdEz28kYLn+La10L3wLptlwmU552RMs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749100730; c=relaxed/simple;
bh=o3zxqi9FWZgYJW+hUkbDNUhlZIYPVYW8O5vjroK0W/Q=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=qR1kcdvTNyVSvr8jQgPsSBP67GPj/zSoktMuYDOk1Brhtr55JlERnwriJrNZ9fc+UoVcIOgO9QBAgaa1BmX5KV1/zD37VOSbbmd9E8hyrRp/N7oETK2nIbsR8rAbAB5ZSDzYZ3KxLlMSmQtD9LclROlu9rFoRRBwFnqpT7dB5oI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de; spf=pass smtp.mailfrom=suse.de; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=dFUSSWg0; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=OQLhnjrn; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=dFUSSWg0; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=OQLhnjrn; arc=none smtp.client-ip=195.135.223.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.de
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out2.suse.de (Postfix) with ESMTPS id 7660720F07;
Thu, 5 Jun 2025 05:18:45 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
t=1749100725; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=M6YRlTArp4mKb+ynUhlVeCQIiNcQ2GjLBI82fuvz7Dg=;
b=dFUSSWg0RDbwBWjqUo9TH6r8OztgXCb17cqSLW8r4VbUN+ZfjQIpebtVUVXYedkhgbmtX9
4jWTfAbCK+4CSu7aiZdfYgULU7Op/ZW/OV/5Uz9agVgsQyfBUC0RRh40Tcig8VqbdqDwm7
Yd3tS58Sq/cRU+EMFF/8vnQOOejORFM=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
s=susede2_ed25519; t=1749100725;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=M6YRlTArp4mKb+ynUhlVeCQIiNcQ2GjLBI82fuvz7Dg=;
b=OQLhnjrnknf+r7qx5geJLQmlPSmBVTStq5ukqgvTYm6eQIcZlEVRA1mmDxAjWOyrbfXV32
FOBDdvVbKWEHyNBQ==
Authentication-Results: smtp-out2.suse.de;
dkim=pass header.d=suse.de header.s=susede2_rsa header.b=dFUSSWg0;
dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=OQLhnjrn
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
t=1749100725; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=M6YRlTArp4mKb+ynUhlVeCQIiNcQ2GjLBI82fuvz7Dg=;
b=dFUSSWg0RDbwBWjqUo9TH6r8OztgXCb17cqSLW8r4VbUN+ZfjQIpebtVUVXYedkhgbmtX9
4jWTfAbCK+4CSu7aiZdfYgULU7Op/ZW/OV/5Uz9agVgsQyfBUC0RRh40Tcig8VqbdqDwm7
Yd3tS58Sq/cRU+EMFF/8vnQOOejORFM=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
s=susede2_ed25519; t=1749100725;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=M6YRlTArp4mKb+ynUhlVeCQIiNcQ2GjLBI82fuvz7Dg=;
b=OQLhnjrnknf+r7qx5geJLQmlPSmBVTStq5ukqgvTYm6eQIcZlEVRA1mmDxAjWOyrbfXV32
FOBDdvVbKWEHyNBQ==
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D3B6713A1D;
Thu, 5 Jun 2025 05:18:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id EsXDMLQoQWjyBAAAD6G6ig
(envelope-from <osalvador@xxxxxxx>); Thu, 05 Jun 2025 05:18:44 +0000
Date: Thu, 5 Jun 2025 07:18:43 +0200
From: Oscar Salvador <osalvador@xxxxxxx>
To: David Hildenbrand <david@xxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Vlastimil Babka <vbabka@xxxxxxx>,
Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>,
Harry Yoo <harry.yoo@xxxxxxxxxx>, Rakie Kim <rakie.kim@xxxxxx>,
Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx>, linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v4 2/3] mm,memory_hotplug: Implement numa node notifier
Message-ID: <aEEos-bG7cq0C8gI@localhost.localdomain>
References: <20250603110850.192912-1-osalvador@xxxxxxx>
<20250603110850.192912-3-osalvador@xxxxxxx>
<ddcdd8b9-566c-4f6c-b1f7-861e93a80fbb@xxxxxxxxxx>
<aEA-K3hTvhtdUxuA@localhost.localdomain>
<9a845c21-5cfb-4535-97bd-0b02f5852457@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <9a845c21-5cfb-4535-97bd-0b02f5852457@xxxxxxxxxx>
X-Spamd-Result: default: False [-3.01 / 50.00];
BAYES_HAM(-3.00)[100.00%];
SUSPICIOUS_RECIPS(1.50)[];
NEURAL_HAM_LONG(-1.00)[-1.000];
R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
NEURAL_HAM_SHORT(-0.20)[-1.000];
MIME_GOOD(-0.10)[text/plain];
MX_GOOD(-0.01)[];
TO_MATCH_ENVRCPT_ALL(0.00)[];
FREEMAIL_ENVRCPT(0.00)[gmail.com];
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
ARC_NA(0.00)[];
FUZZY_BLOCKED(0.00)[rspamd.com];
TO_DN_SOME(0.00)[];
MIME_TRACE(0.00)[0:+];
FREEMAIL_CC(0.00)[linux-foundation.org,suse.cz,huawei.com,oracle.com,sk.com,gmail.com,kvack.org,vger.kernel.org];
DKIM_TRACE(0.00)[suse.de:+];
SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
RCVD_COUNT_TWO(0.00)[2];
DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received];
FROM_EQ_ENVFROM(0.00)[];
FROM_HAS_DN(0.00)[];
RCVD_TLS_ALL(0.00)[];
RCPT_COUNT_SEVEN(0.00)[9];
RCVD_VIA_SMTP_AUTH(0.00)[];
TAGGED_RCPT(0.00)[];
MISSING_XM_UA(0.00)[];
ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.de:dkim]
X-Spam-Level:
X-Rspamd-Queue-Id: 7660720F07
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Score: -3.01
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 02:47:28PM +0200, David Hildenbrand wrote:
> Just to clarify, these were the 3 notifiers each that belong together. I was
> not sure about NODE_CANCEL_ADDING_FIRST_MEMORY vs.
> NODE_NOT_ADDED_FIRST_MEMORY.

I started working on the new respin and the moment came to make a
decision about this.
I think I'd go with NODE_CANCEL_ADDING_FIRST_MEMORY, for two reasons.
One is that memory notifier also uses that therminology, so I'd use that
one for the node notifier to keep it consistent.
Someone could argue whether we are perpetuating a bad decision naming
though :-).

The other reason is that to me, it sounds more natural as the way I see
it, we are canceling an ongoing operation (memory-hotplug).
Now, I can also see the point in the NODE_NOT_ADDED because the memory
could "not be added in the end", but at the end of the way only one can be picked :-D.


--
Oscar Salvador
SUSE Labs


Return-Path: <linux-kernel+bounces-674049-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7F28041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:19:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 88C2C7A93D4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:18:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A4D101DDC1A;
Thu, 5 Jun 2025 05:19:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="biUxbbne"
Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41])
(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 A534F190692;
Thu, 5 Jun 2025 05:19:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.41
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749100768; cv=none; b=m9N09JughBsS/ZqYDZOJOGKqwx78n6sR9CqiHtQ4PQwi5ptbBEt8JvJo7ZwMQBfrdZbpwA6mS1MB3HDYcqASftBJFr+s5RihyQi1CKLCmMMsMYT6zsdq57uZhkgJs9Po1qpTLCHDWpnZYCOaHzzWq4EdwP2cYoTX3hLY7hezpeM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749100768; c=relaxed/simple;
bh=rWj0e4hXHsJSd0NvqjK3rfd8q6tQ/dA/E69CzmOYr9c=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=Mo3ET5cIFkldvE2cGeSES+ilsKBJwy6m+7krD6rl4B4v+rRoqMIsUsQTce5nuAptxdQj+gUiiblLYP8rBBxHpDnQII7NRMqV3iDDz1S8X33oJ32B0z48bqbDAQgAnV2tFVygOw7bNJAbc9e6AIFNbLUjrrFyvF858RlIgoHw2wI=
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=biUxbbne; arc=none smtp.client-ip=209.85.216.41
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
Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-312efc384fcso79544a91.3;
Wed, 04 Jun 2025 22:19:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749100766; x=1749705566; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=rWj0e4hXHsJSd0NvqjK3rfd8q6tQ/dA/E69CzmOYr9c=;
b=biUxbbnes6BFxA6ldkG3cN3h1efoa6p6arfBL/iebfzwyYpAnW0EV/yilM+/kU5re4
44z5CZoHd00oiDRQ94/JA6stgYggRmMSeCzBujjWUUForq0pRZxJGJtbH9yvn88IF6Rq
dWbN6krBVQpj8gCeuhDQuxUhKaPzo9TioVbog6DjTivmMIzawOxjj4V7XzWv0gmlgbU4
aHItVF367WMilRSFehqNEBemoRp+u+QZUvyM87Ae/KVMKfr5ifW5FTmobPdEEL+q0nJ5
YyOhMUqw61st29YZrCvBp8Kk+4hh1bJRWidMDVkBubv7U8wwsdaszWry0O66SpDOYYOv
zxWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749100766; x=1749705566;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=rWj0e4hXHsJSd0NvqjK3rfd8q6tQ/dA/E69CzmOYr9c=;
b=dExLdktH53GqI/DjufMxRLn7WdKqAyEMNPtxs24hREfvyy9J4qcpKLp4Z/VAuYKqJJ
/KKOt8zw2LrPRXYdraN6C4xDm6DzujjA93QAuyyVTy2CqXlTipRVm34QQDR5peH3KpbG
hGp4bcakVKj4c7mapa6jc8Dvz+olPbQMhM+OCmfed6zskev/J1+wkZmETuQLRHNaBl2J
4br52LHU4sz5VWCZVA+y7KX+Qsy/WWs0R0TfCx0y8R9c1lbSud7zp3q0aCE1uG6ImD+C
jCO61xlI3m1Y/TP0G3pDrUtVnxf4HfpenubyUDlVDY33pwLLrUAg/dkrfMS7BqglapOY
cwDA==
X-Forwarded-Encrypted: i=1; AJvYcCVg5Fcj+SLoccDt/drnd4XU+q3cEKTlTtAv2q9F0zdFxB0q6oxPk9BUtLHvi037rwsnjnCfp5tzhfLmJlw=@vger.kernel.org, AJvYcCWKaOH45t5lt+onQe/Z99ppHLmBUicdXc6/OpDzxAbPpzR8UBGfIFazsgSAYi0z8o/U7WfGrgUK4XN9BNftHqA=@vger.kernel.org
X-Gm-Message-State: AOJu0YzZ4wYCOSiD5jtIsuZHqbHxfKUtrR/FexeDyYiY5kqak+0AyQNg
+PPEHvWhHS+rsAJStk3GmgSf3rvvFOrLF8TWrpri0WE5ck2hSEgd0CRDp9VOmcZSROxCCuc1B6x
FGL9kmXBlBuql0QAShYaR4ZvBPC0HgoY=
X-Gm-Gg: ASbGncu2Gu920soVAcLXRTLfTlqnGVfCOalCVINUmMFp0gLjYjeLB6+sRu2wsPy0sT8
8HrPwgL+9zKy/RjTEaMa0PgVKO2a/cl2wJAr1sApqKA/xpHWtXJPwfurmI9mUh+0CdSfk7hAAuu
+OJDXcIsLbuiO8tjjLhoU3LduAEnsHYnMN
X-Google-Smtp-Source: AGHT+IEMYgNGyMEb0Cnvb4VFOz+JWQnYIqFqMgKdfavgqJP/8dhXF8qju2PLnB3UTSKA9P4ZoeM08h5gIP4UjkcKMXI=
X-Received: by 2002:a17:90b:4f8d:b0:311:488:f506 with SMTP id
98e67ed59e1d1-3130cd6d852mr3084850a91.6.1749100765642; Wed, 04 Jun 2025
22:19:25 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250605025400.244965-1-ojeda@xxxxxxxxxx> <CAHk-=wik7gvxt-CEak_4HsGziRwo6-7q9LGeW37Pj9182dJ=ow@xxxxxxxxxxxxxx>
In-Reply-To: <CAHk-=wik7gvxt-CEak_4HsGziRwo6-7q9LGeW37Pj9182dJ=ow@xxxxxxxxxxxxxx>
From: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>
Date: Thu, 5 Jun 2025 07:19:13 +0200
X-Gm-Features: AX0GCFsv2Eke0_r9RB3lVoa6WoLQfqZCh6ECqZeLRRd1MzFohqUpTdj3YhjkNtk
Message-ID: <CANiq72nNp3UNRybVt8yzUuBR+gBxk0ooe=-iBTdokP2LC8XzKw@xxxxxxxxxxxxxx>
Subject: Re: [GIT PULL] Rust for 6.16
To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Miguel Ojeda <ojeda@xxxxxxxxxx>, Alex Gaynor <alex.gaynor@xxxxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
=?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <benno.lossin@xxxxxxxxx>, Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, Jun 5, 2025 at 6:18=E2=80=AFAM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> But in the name of safety, and because I didn't understand that
> change, I modified my merge to do what you did.

Thanks -- yeah, it is most likely because you are doing an
`allmodconfig` but that code (for the time being) needs `DRM=3Dy`. Same
thing happened to Stephen (and when I did my pure `allmodconfig`
builds to check).

Cheers,
Miguel


Return-Path: <linux-kernel+bounces-674050-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C1D3D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:20:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0E1AC173D9E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:21:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 47EC81DE88A;
Thu, 5 Jun 2025 05:20:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fFZw4RtT"
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 4BD9C1A76D4;
Thu, 5 Jun 2025 05:20:49 +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=1749100850; cv=none; b=QfTyhk8lhAvggTiPyvR1ajFYU27pVCgfUGXT+7scZhPNBPYt2QOlSBG/Dm+hg3UFqi+tt2c4xrATeP43l/crx9eB3JuaMwhi7DqkgGV/CB0vaZCw6hKZLnSZm3dUPMlJSG0s4Bbf3YDb2fcFO3Y4QlAG0D2mVFciOPY1mRDsaMI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749100850; c=relaxed/simple;
bh=ULsChxBcc2XUy1SxCccxS6KMnlpMConuFdkgaahqBj4=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=bNWpKGI0cPpNJdrwraWrNVqCZdpbuYGH9Av04m2tvYLlgbU6MdFCN2f+iJVax8xGRLUfwSB1FEkHf3UWq8XFnGIvA+uet6VoGTF7k7xgoDDNXct3KMj9UVQhnLXkbI1UuvY5YK3eQaVJPNyxBkLfhVdDWWWXiWTNMoDueaZMJTA=
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=fFZw4RtT; 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
Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-313067339e9so48250a91.2;
Wed, 04 Jun 2025 22:20:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749100848; x=1749705648; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=pisDPyCNhVloACjdr/CP/aoyNXW5eGbehzF4WzQdg6I=;
b=fFZw4RtTQv9FF1Y4Vm6ZQcH+WNbJTmoQyq5j4fdLQSOSJdmOSNo8rBPcfYOHALeOXd
NT2e+g2iWmH3Z0TQdptKUmKsQt/ioT16Lj/1pru0j8jbF13u4/KRxF5/2QusQ9zFRtQb
wFVgxdc4Uqke3gTu5EfUqnLDG2eMpD/y+enulIkeI6Of5ODitfwBDVqtVS//ekoEjSHk
cDPmuZRC6aAdsZyjrlkguyw9Mf4qYt6XFgT0auL4g8ZyM4hJT0KML3YNnl6MWDlRVnQE
d0qw9Rk8rG8fpd9nQRJ3i29O4pZhrAk7vC54EWU2ZT/yjoWynU2MjxCMvM56zXa1aDsZ
feig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749100848; x=1749705648;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=pisDPyCNhVloACjdr/CP/aoyNXW5eGbehzF4WzQdg6I=;
b=kf3hueOElG2IwGTzlu0MMNVoKHoILXy8aSwHgz+RZRY6FyPnEt3KY/4w/DfvqgKpet
V8q7jCkRfk9nEATxOK1kjEzR03PPky6MoDVcZPmsh2chZo5+L0TCCZkhiBpXp90U/f3y
cNRgEVuewmHQVAtaY5OyIbfxtfuJVB/ZF0YuVj/C6iGEHVjQ9SAtzByLYQ3tHjJhVayG
SqQiy+TUKGhaDQD7wBwiOEpJfLdkOifu+KAHCRQfrjKg5V4kPP42pSfnaMt8pxm42+/X
FHxJJxEHhaqUu5eGE+JhmltSzcOUFuygipLJihx7dwlwHYJMQCLGB42MU2C8SGEuT1az
nnbg==
X-Forwarded-Encrypted: i=1; AJvYcCXcBI9EzttynOY/BN4+wMvM0J1uuQxFv0YGPBfyqjhtCESr7as1jIO4rHjIb0ses6avsqQ9mSpKRVmZ5b2SNik=@vger.kernel.org, AJvYcCXdCU9qOtQJIMZU5oWYcbq1XO5gxrK2eInx9pCdy2K75vrUQmfoyjWLIaKd8+NJpNYC88jpwuad0uA9s5w=@vger.kernel.org
X-Gm-Message-State: AOJu0YwVXBUr0H/pJrkR4icIHUqilztlXDu5wJDjHvUOp+46Y/GdTkhP
A5HZ8KhaYJf/4LEVRG0Y48A7vH9BDRAGmk8/ax6qSsqs+zSMBVlunb9V+/TBM96PwSWksY7CQ10
hp8960b4DhWKXQCZxJx8+ltz8Ebvei0g=
X-Gm-Gg: ASbGncuFIX2CP1QD2Lm35GLxV6AjujBaa2Y+juHXaJCnTZ0tTvvbVZOuLyNOKDviBRS
yNOYHy0NJH2EBbZlmAUnEJdJ/eCMYmRlz1dSKCQPa0LXdk7U04NOM11iOrXWxq/ElX2F3ZMM9Ug
/2ZUerVRix+COZEXaeV4OddabweauC1m2A
X-Google-Smtp-Source: AGHT+IEhxlOAlFFMrVuiT7puZFaVOBDL40scV6ced0++5NAhQaJ0OdfMZ/bWyG9q/HXKGiRTDeuOVWJWAvIbl5d0Xpo=
X-Received: by 2002:a17:90b:5587:b0:311:b0d3:851 with SMTP id
98e67ed59e1d1-3130cd2f168mr3035784a91.4.1749100848420; Wed, 04 Jun 2025
22:20:48 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250605025400.244965-1-ojeda@xxxxxxxxxx> <CAHk-=wik7gvxt-CEak_4HsGziRwo6-7q9LGeW37Pj9182dJ=ow@xxxxxxxxxxxxxx>
<aEEjzTMJm7YzS1Ks@xxxxxxxx>
In-Reply-To: <aEEjzTMJm7YzS1Ks@xxxxxxxx>
From: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>
Date: Thu, 5 Jun 2025 07:20:36 +0200
X-Gm-Features: AX0GCFsV6wLuSWV8CngJk8vkZzJHN_e3b_sEoLPriNaHvICgprIi_KmAJTlN7DM
Message-ID: <CANiq72kWgLKoswZL5h1U9oY8qo0-U03awS-3Sm1gvuX_9PcvBw@xxxxxxxxxxxxxx>
Subject: Re: [GIT PULL] Rust for 6.16
To: Boqun Feng <boqun.feng@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Miguel Ojeda <ojeda@xxxxxxxxxx>,
Alex Gaynor <alex.gaynor@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
=?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <benno.lossin@xxxxxxxxx>, Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, Jun 5, 2025 at 6:57=E2=80=AFAM Boqun Feng <boqun.feng@xxxxxxxxx> wr=
ote:
>
> FWIW, I think this thread has the explanation:
>
> https://lore.kernel.org/regressions/CANiq72mFL4dn+0JppLLfxyKnM+xY=
wKeduFw2j07hUfxWVVHdUw@xxxxxxxxxxxxxx/

Indeed, thanks Boqun.

Cheers,
Miguel


Return-Path: <linux-kernel+bounces-674051-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BB90841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:24:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 0348D1894B55
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:24:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C4D0E1DDA34;
Thu, 5 Jun 2025 05:24:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="lNJRtVHh"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A40A81A76D4
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:24:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101042; cv=none; b=Px4nnB5Pl3M5vHtjaRAdBK4YHCChr0PkbsXfZsVDec9yjOuXg7MXZfxHU56l3d2yOr9BMMu+983apNu6DvgSeL0ehy0QbWL+BIm4jOaazt7qzaHmvZvHCqR6YZW0xnO1p8AYqDF9qqAIiSqwZqPDmP+4NEe0LRRKzDexi4v/oM8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101042; c=relaxed/simple;
bh=CZDeq+zUBIlx9SSAEqsUxOQKyUy2jcu6QFtDsZAPNDg=;
h=Date:From:To:Cc:Subject:Message-Id:In-Reply-To:References:
Mime-Version:Content-Type; b=VTLrp806klq3mJS8tw+OWRBxuC+P6D6J3qvHa0RFa3QcC5z4/Yxl7Ht84JVdkSlHaOJuppWyzXebpEjX4bcr10pjrHj5RjHCRafy85cGGn6Y7n3J3zuYIgoP0cjB0KXhxlmyQfuf2f6mu4l+tWDjrrf7ait3SWcbzVxJQQSQ2Ys=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=lNJRtVHh; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B3374C4CEE7;
Thu, 5 Jun 2025 05:24:01 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org;
s=korg; t=1749101042;
bh=CZDeq+zUBIlx9SSAEqsUxOQKyUy2jcu6QFtDsZAPNDg=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=lNJRtVHh2E+FGF5dlIa1C06EUkGQzCI7y5pQGEx4k+SHydyKQdn5R3hDv2g6ombH7
THOggm4mXRx6WsvFWE4RwYkYgW6z699GKFyNo0Dx5fb2EQDxdDz/2PyM1sx/zcrrtw
tGwC3N0mLF8Di+4UvOJpY/2KgaAkGsCIE7cQhkv0=
Date: Wed, 4 Jun 2025 22:24:00 -0700
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
Cc: janghyuck.kim@xxxxxxxxxxx, zhaoyang.huang@xxxxxxxxxx,
jaewon31.kim@xxxxxxxxx, david@xxxxxxxxxx, Jason Gunthorpe <jgg@xxxxxxxx>,
John Hubbard <jhubbard@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 2/2] mm: gup: avoid CMA page pinning by retrying
migration if no migratable page
Message-Id: <20250604222400.63203f9b10ae5b4c25f6de0b@xxxxxxxxxxxxxxxxxxxx>
In-Reply-To: <20250605051131.GA3407065@tiffany>
References: <20250605033210.3184521-1-hyesoo.yu@xxxxxxxxxxx>
<CGME20250605033432epcas2p4c024a9d05246b18c217f3562b3f53551@xxxxxxxxxxxxxxxxxxxx>
<20250605033210.3184521-3-hyesoo.yu@xxxxxxxxxxx>
<20250604204323.95a646ae67f6800069a11e36@xxxxxxxxxxxxxxxxxxxx>
<20250605051131.GA3407065@tiffany>
X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-5.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, 5 Jun 2025 14:11:31 +0900 Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx> wrote:

> We have confirmed that this regression causes CMA pages to be pinned
> in our kernel 6.12-based environment.
>
> In addition to CMA allocation failures, we also observed GUP longterm
> failures in cases where the same VMA was accessed repeatedly.
>
> Specifically, the first GUP longterm call would pin a CMA page, and a second
> call on the same region would fail the migration due to the cma page already
> being pinned.
>
> After reverting commit 1aaf8c122918, the issue no longer reproduced.
>
> Therefore, this fix is important to ensure reliable behavior of GUP longterm
> and CMA-backed memory, and should be backported to stable.

Great, thanks. Please add this to the patch's changelog.


The problem is, this series combines a non-urgent cleanup with an
important, backportable regression fix. We shouldn't backport the
cleanup into earlier kernels - that just adds undesirable noise.

So can I ask you to prepare a single standalone fix for the regression
against current -linus and to later propose the cleanup patch for
6.17-rc1?

In other words, pleas reverse the patching order, send the patches
separately and test the regression fix without the presence of the
cleanup?

(I could do these manipulations locally but then what I have for the
regression fix wasn't standalone tested by yourself).

Thanks.


Return-Path: <linux-kernel+bounces-674052-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AB05D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:24:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 853F9173EA6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:24:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D80AC1F0E26;
Thu, 5 Jun 2025 05:24:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b="G8amYOV4"
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EEEA71A76D4;
Thu, 5 Jun 2025 05:24:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=67.231.156.173
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101050; cv=none; b=KvdLMmqJKTZPj0YCoMxmx+OTZuJXYFlf4M5yWdRdnWdu+vIsJGu0+uK5qYIhQ5PBP4ZOe+M8qCXcJJTL6cy/f2iwuCCOxky0LoQBzMiP/KaPMsHM6Xl5QPRUtBcTbgVDlwCKbIV8eayx8Xdo2obgS49avWeaiSNmS1h95F/IfYA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101050; c=relaxed/simple;
bh=ya/koOj6cO+ct9Hs3+IinxxRmA9fxrsQslP4v/NxUgI=;
h=Date:From:To:CC:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=O2KbsD08/La613a7p/QToWNv7nJ5EsswEruxszpYkJK6YuA9jdpGeAJe03GibSkK60cPZByiYyutTyJYT2e+MHzUUY1rrD1PPR0wOHgcpVIlnlth0084GqR+DkqAxi3BC8yO6pJDcyGcnYJ06CcPPGe3a9XpyXPSjuLU34yM488=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marvell.com; spf=pass smtp.mailfrom=marvell.com; dkim=pass (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b=G8amYOV4; arc=none smtp.client-ip=67.231.156.173
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marvell.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=marvell.com
Received: from pps.filterd (m0431383.ppops.net [127.0.0.1])
by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554NaLC9000416;
Wed, 4 Jun 2025 22:23:40 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=pfpt0220; bh=PNM3IaA5jL17ak3UbjRpIWW8f
0RDYWYEWHICKDUDx/0=; b=G8amYOV4+kkq2zFNNBmFV8AgTegLcIFSWQl0MbtwJ
YBPKwTrnzAVxy+YLe4sInPhh+fmCYGVIcfmGAqIM24hFdI0YkPNTQ5+7NcbmblNJ
jmNXD02z5+GiK/MtDE3V6L2nii2E0V96a7u6dGYGKi3jbkNUGQUfNbUgqMIdzDbl
+ZmTL/IXWrZDGWzkFL4ulN1IASfSdDBgCLbwR39zX5jXvXKgTxCB87bCyX6WLFWn
+tvYTieK6mWzZUiw+lrN86nwfkCj2/SpPL6gUqo4BLlL4rYKJ6IO/XF81kM8kRJ2
ka8kPyHRjrN3CiMV7u5Ru/VVdDb0BLAvxuU8Kj3Ax7Ijw==
Received: from dc5-exch05.marvell.com ([199.233.59.128])
by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 472yyb8gr6-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 04 Jun 2025 22:23:39 -0700 (PDT)
Received: from DC5-EXCH05.marvell.com (10.69.176.209) by
DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.4; Wed, 4 Jun 2025 22:23:38 -0700
Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH05.marvell.com
(10.69.176.209) with Microsoft SMTP Server id 15.2.1544.4 via Frontend
Transport; Wed, 4 Jun 2025 22:23:38 -0700
Received: from 4c2d361be676 (unknown [10.193.66.94])
by maili.marvell.com (Postfix) with SMTP id D01C33F7082;
Wed, 4 Jun 2025 22:23:34 -0700 (PDT)
Date: Thu, 5 Jun 2025 05:23:32 +0000
From: Subbaraya Sundeep <sbhatta@xxxxxxxxxxx>
To: <carlos.fernandez@xxxxxxxxxxxxxxxxxxxxxxx>
CC: <andreu.montiel@xxxxxxxxxxxxxxxxxxxxxxx>,
Andreu Montiel
<Andreu.Montiel@xxxxxxxxxxxxxxxxxxxxxxx>,
Sabrina Dubroca
<sd@xxxxxxxxxxxxxxx>,
Andrew Lunn <andrew+netdev@xxxxxxx>,
"David S. Miller"
<davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>, Jakub Kicinski
<kuba@xxxxxxxxxx>,
Paolo Abeni <pabeni@xxxxxxxxxx>,
Hannes Frederic Sowa
<hannes@xxxxxxxxxxxxxxxxxxx>,
<netdev@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH net v3] macsec: MACsec SCI assignment for ES = 0
Message-ID: <aEEp1IOlVY9BrXVY@4c2d361be676>
References: <20250604123407.2795263-1-carlos.fernandez@xxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20250604123407.2795263-1-carlos.fernandez@xxxxxxxxxxxxxxxxxxxxxxx>
X-Proofpoint-GUID: hmR4WaaxTRJmk8aY3fW7-g_nB353chm2
X-Authority-Analysis: v=2.4 cv=F9hXdrhN c=1 sm=1 tr=0 ts=684129dc cx=c_pps a=rEv8fa4AjpPjGxpoe8rlIQ==:117 a=rEv8fa4AjpPjGxpoe8rlIQ==:17 a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=VwQbUJbxAAAA:8 a=M5GUcnROAAAA:8 a=OUTCSzjuWNMhYzDvx4IA:9 a=CjuIK1q_8ugA:10
a=OBjm3rFKGHvpk9ecZwUJ:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDA0NSBTYWx0ZWRfXyHHawB9g+zds A54qWeMABPuZOs64Agcj2i6DBDHwFegP2KjNXaNRn8qy0hgeaNQ37Wz7fPleCIeatgX9L7IygWG akXOcDIPcj0aulOQ3mGoP/8y8GlqxCNI84obVXQIzr2vFIJisT1jERTRXYYCHxsz67WESaDchlV
6SMSjDXJiG4a4QHazXf3ol7Lf9ZEUmSIChMC5uYJTnJDIGN69JMmmdL5R4i2yXitVLxHBeRF4B6 TP8YHMuToqbGFobYr2VK8gYoBIgbFJ11LE8mprtQggzUjJGIQKueWUnGt5PN66vcx/DynJlNsaq ZhEMfimB1FIrJ85nQ/8Octrb5zsDuC2XRjPQZlsouMRmfiyXJzWaF8tHg0QSE7Imo56Kizf4moH
99KnFkBh0j9EZ+ELylK7vemjtld9ql8j2GHAb0w4fyzdIuJg3aWX6tbB7/yj5zRQiFmxLbJd
X-Proofpoint-ORIG-GUID: hmR4WaaxTRJmk8aY3fW7-g_nB353chm2
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 2025-06-04 at 12:33:55, carlos.fernandez@xxxxxxxxxxxxxxxxxxxxxxx (carlos.fernandez@xxxxxxxxxxxxxxxxxxxxxxx) wrote:
> From: Carlos Fernandez <carlos.fernandez@xxxxxxxxxxxxxxxxxxxxxxx>
>
> According to 802.1AE standard, when ES and SC flags in TCI are zero,
> used SCI should be the current active SC_RX. Current code uses the
> header MAC address. Without this patch, when ES flag is 0 (using a
> bridge or switch), header MAC will not fit the SCI and MACSec frames
> will be discarted.
>
> Fixes: c09440f7dcb3 ("macsec: introduce IEEE 802.1AE driver")
> Co-developed-by: Andreu Montiel <Andreu.Montiel@xxxxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Andreu Montiel <Andreu.Montiel@xxxxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Carlos Fernandez <carlos.fernandez@xxxxxxxxxxxxxxxxxxxxxxx>

Reviewed-by: Subbaraya Sundeep <sbhatta@xxxxxxxxxxx>

Also please let me know how to test this single secy and single
RXSC for my understanding.

Thanks,
Sundeep

> ---
> v3:
> * Wrong drop frame afer macsec_frame_sci
> * Wrong Fixes tag in message
>
> v2: https://patchwork.kernel.org/project/netdevbpf/patch/20250604113213.2595524-1-carlos.fernandez@xxxxxxxxxxxxxxxxxxxxxxx/
> * Active sci lookup logic in a separate helper.
> * Unnecessary loops avoided.
> * Check RXSC is exactly one for lower device.
> * Drops frame in case of error.
>
>
> v1: https://patchwork.kernel.org/project/netdevbpf/patch/20250529124455.2761783-1-carlos.fernandez@xxxxxxxxxxxxxxxxxxxxxxx/
>
> drivers/net/macsec.c | 40 ++++++++++++++++++++++++++++++++++------
> 1 file changed, 34 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c
> index 3d315e30ee47..7edbe76b5455 100644
> --- a/drivers/net/macsec.c
> +++ b/drivers/net/macsec.c
> @@ -247,15 +247,39 @@ static sci_t make_sci(const u8 *addr, __be16 port)
> return sci;
> }
>
> -static sci_t macsec_frame_sci(struct macsec_eth_header *hdr, bool sci_present)
> +static sci_t macsec_active_sci(struct macsec_secy *secy)
> {
> - sci_t sci;
> + struct macsec_rx_sc *rx_sc = rcu_dereference_bh(secy->rx_sc);
> +
> + /* Case single RX SC */
> + if (rx_sc && !rcu_dereference_bh(rx_sc->next))
> + return (rx_sc->active) ? rx_sc->sci : 0;
> + /* Case no RX SC or multiple */
> + else
> + return 0;
> +}
> +
> +static sci_t macsec_frame_sci(struct macsec_eth_header *hdr, bool sci_present,
> + struct macsec_rxh_data *rxd)
> +{
> + struct macsec_dev *macsec;
> + sci_t sci = 0;
>
> - if (sci_present)
> + /* SC = 1 */
> + if (sci_present) {
> memcpy(&sci, hdr->secure_channel_id,
> sizeof(hdr->secure_channel_id));
> - else
> + /* SC = 0; ES = 0 */
> + } else if ((!(hdr->tci_an & (MACSEC_TCI_ES | MACSEC_TCI_SC))) &&
> + (list_is_singular(&rxd->secys))) {
> + /* Only one SECY should exist on this scenario */
> + macsec = list_first_or_null_rcu(&rxd->secys, struct macsec_dev,
> + secys);
> + if (macsec)
> + return macsec_active_sci(&macsec->secy);
> + } else {
> sci = make_sci(hdr->eth.h_source, MACSEC_PORT_ES);
> + }
>
> return sci;
> }
> @@ -1109,7 +1133,7 @@ static rx_handler_result_t macsec_handle_frame(struct sk_buff **pskb)
> struct macsec_rxh_data *rxd;
> struct macsec_dev *macsec;
> unsigned int len;
> - sci_t sci;
> + sci_t sci = 0;
> u32 hdr_pn;
> bool cbit;
> struct pcpu_rx_sc_stats *rxsc_stats;
> @@ -1156,11 +1180,14 @@ static rx_handler_result_t macsec_handle_frame(struct sk_buff **pskb)
>
> macsec_skb_cb(skb)->has_sci = !!(hdr->tci_an & MACSEC_TCI_SC);
> macsec_skb_cb(skb)->assoc_num = hdr->tci_an & MACSEC_AN_MASK;
> - sci = macsec_frame_sci(hdr, macsec_skb_cb(skb)->has_sci);
>
> rcu_read_lock();
> rxd = macsec_data_rcu(skb->dev);
>
> + sci = macsec_frame_sci(hdr, macsec_skb_cb(skb)->has_sci, rxd);
> + if (!sci)
> + goto drop_nosc;
> +
> list_for_each_entry_rcu(macsec, &rxd->secys, secys) {
> struct macsec_rx_sc *sc = find_rx_sc(&macsec->secy, sci);
>
> @@ -1283,6 +1310,7 @@ static rx_handler_result_t macsec_handle_frame(struct sk_buff **pskb)
> macsec_rxsa_put(rx_sa);
> drop_nosa:
> macsec_rxsc_put(rx_sc);
> +drop_nosc:
> rcu_read_unlock();
> drop_direct:
> kfree_skb(skb);
> --
> 2.43.0
>


Return-Path: <linux-kernel+bounces-674054-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AFD2F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:25:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8F3B83AA5E4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:24:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3EEC41F099A;
Thu, 5 Jun 2025 05:25:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="RTox0Obq"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D36731DE88A
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:25:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101102; cv=none; b=lBzGlFnt5BNpwTKF7/ht2JAHxwFVOjPOEYE0QNv4Ai5CvQ6V0EyMKZ8gp5bVac7tvDYABS1rpe3yj4Sl/mGEUbDMS5DUXa/4s11pxt3z75reBY51T9BKe0v1Kv8eF/s/gZSxUA2ukVHeE2GFbUtQf0lFd5Tpx8MmriuyslZShTo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101102; c=relaxed/simple;
bh=M/t0pCLO2KZxMM+bBZlvb/oVz3LhELFVIIlfB6eoU1g=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=QlbfZfzMDD/hfSvY/m4JuKElx+1zSBCvmgnN6j5I1oHw6rrE0/U1++PcUoEl3YXX5C42KWRTVrjYtwCUJTMNUYgfNggp4OdzWNwUe6bFIqBU/l6NnHGQaBHYtNWFgUtAyBrjIatCstihXnEciecwQpgx292Tzu94layOH1E9Psw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=RTox0Obq; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279868.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554No1dl022637
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:24:53 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=qcppdkim1; bh=1a9JgcopP9bJ5yF1Me7vfccR
Le+8BXkEbBw51pVceW8=; b=RTox0ObqdSLNR5F8asiRpPLHATO4WAFotd9IbWWM
/Lcf2ZR2kFLHkaKRMdSv2q4ftBQC/CjKMEuuv0HoB4nudfoFyp1Kf+sPRaVvor4O
2lwZer5akc+gE7QGMyK2fsmh/IySUhT8GaU9GOfyx5/bUgM189yuu+pD/IT3FXl4
3R0/SQD1nCAptg5c2MgX+7ssKO5eZCgmASLqFVS0VyXpXiVRoHGSUlqZvB5w7Gp+
i7alpuLT9V0xPdSY5KS8vdAFMtpSJbzfPOkStceSW2aNv/Xz2/H94/Nb2AJSmRPz
n6Ju7powBABYrI/9whDi5XTkm9ndIeOc6lwlXR0pumhPzg==
Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 472mn02ep4-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 05 Jun 2025 05:24:53 +0000 (GMT)
Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-b1fa2cad5c9so349539a12.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 22:24:53 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749101092; x=1749705892;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=1a9JgcopP9bJ5yF1Me7vfccRLe+8BXkEbBw51pVceW8=;
b=EXkbuQFNUfeFmEPLXi8Tx2v9lzWBBAZmLC7lYoNV62ZhPk0nHgo4VPIk4WjBsacV5C
pZVCmdGROYDznKWeX4RPPVn5qw/8YHeh9wKBwO95v0fBkB9N/s7F4uN0ca7xBmRDN1Dq
fDT1ZwzOZHxPBlAPIb/0DKmf/ojkTMxi+fO4Ddg2gcxoeyAJehWqdfAtlZKbBq145pYx
FxAaA6I50txj33dDOKXTbQwuQsXiMWJfiQ16FMQc1xU87xemAM8YYm/sA9M6U9ODjLod
GNcWvDXbMcg5saExTZbN96MGXe8MzZEnStHiGg9QBmetvAbI54H9bLCekYFRFi+rsgx9
YXvQ==
X-Forwarded-Encrypted: i=1; AJvYcCXdeM5lAGkM0dNb7Wolor7cGFT/nZTD+XbkSEhy6vX8iAR4NgOs8GwTnmNlQUT4kgJwdOPShQeiXrPXIfE=@vger.kernel.org
X-Gm-Message-State: AOJu0YzdGxmZNsOkspVkK+UhjOxrVLLHQm1TZ7FOyhPJCodknpHdAFW2
+gDSQm3N5WEkF4ccTqsCC/KN5lHKT1zDBUjtRY6TZAvVbcBKYInRfVK43AfW2nkg2FTIrd0GAK7
8XvCyoi6uson5imke2Z4uZaK8WSNCOpy2zwKcrPwFpbz9dLt/ZrHYKEVTf2WBzjAfFOw=
X-Gm-Gg: ASbGncsoKVNYvRWS5VhjFTDdf9Mu/3QyxadPtMSQEtE90RV+DZNlu3kMLbZqflJco3R
ePA0jjPEhNYtGg6VNFtqC6yq7/xj/otSeYBiRDSWvNx8uO/dQrdF0Pauuc8jlUxy8JNYFfd5kRi
pKBYd1yBRfk9nnJ8qOQzsleNaL/TfzdDiBoQw5L2PGH2E45g+WWpLKMQyLQmIzyRoRJoNuetYV+
GUG22V1BkeH7aPWzIZ7sTzX5j5KdN/tuwEXSCQY+fD3MCaJY1PeGKBvuqhn/kancSJpVixjVFtZ
rnLocHeP9CyU4BF/biiYgzX9sNXn3fFazNx3vvfuvm16Qx1tLcNDR1I5x1g=
X-Received: by 2002:a05:6a21:3287:b0:1f5:9098:e42e with SMTP id adf61e73a8af0-21d22a6cab8mr8581870637.7.1749101092392;
Wed, 04 Jun 2025 22:24:52 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IELuWY/1bcdQXTlNAC0FeBkJQ7D653GZ5CNEp7sdXfBrnquNDS8cgkO69w0uf0qsyvNLiEZIg==
X-Received: by 2002:a05:6a21:3287:b0:1f5:9098:e42e with SMTP id adf61e73a8af0-21d22a6cab8mr8581844637.7.1749101091990;
Wed, 04 Jun 2025 22:24:51 -0700 (PDT)
Received: from hu-qianyu-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-747afe96781sm12040801b3a.29.2025.06.04.22.24.50
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 22:24:51 -0700 (PDT)
Date: Wed, 4 Jun 2025 22:24:49 -0700
From: Qiang Yu <qiang.yu@xxxxxxxxxxxxxxxx>
To: Bjorn Andersson <andersson@xxxxxxxxxx>
Cc: Wenbin Yao <quic_wenbyao@xxxxxxxxxxx>, catalin.marinas@xxxxxxx,
will@xxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
konradybcio@xxxxxxxxxx, robh@xxxxxxxxxx, krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
vkoul@xxxxxxxxxx, kishon@xxxxxxxxxx, sfr@xxxxxxxxxxxxxxxx,
linux-phy@xxxxxxxxxxxxxxxxxxx, krishna.chundru@xxxxxxxxxxxxxxxx,
quic_vbadigan@xxxxxxxxxxx, quic_mrana@xxxxxxxxxxx,
quic_cang@xxxxxxxxxxx
Subject: Re: [PATCH v4 1/5] arm64: Kconfig: enable PCI Power Control Slot
driver for QCOM
Message-ID: <aEEqIWSU5P9Xp9J/@hu-qianyu-lv.qualcomm.com>
References: <20250604080237.494014-1-quic_wenbyao@xxxxxxxxxxx>
<20250604080237.494014-2-quic_wenbyao@xxxxxxxxxxx>
<46r6cdcugwvyuvkjqbi3tq4f7ddkrgy4jut5fwqjsfwbsfoke4@upmtzhcmc7ni>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <46r6cdcugwvyuvkjqbi3tq4f7ddkrgy4jut5fwqjsfwbsfoke4@upmtzhcmc7ni>
X-Proofpoint-ORIG-GUID: WO_eDMh3QWm_AmqFlYwi4JICQeiOAN8x
X-Proofpoint-GUID: WO_eDMh3QWm_AmqFlYwi4JICQeiOAN8x
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDA0NSBTYWx0ZWRfX7K7xBq7/Dmgx
O4LoGnTiBxZrMbVNpT4CfyTwW3EmtWvbvo2/y39I61ZQlrSybO+SQsZZooKv9mQFyTZ2cJ9rbtv
1ePutFzX5tnqar64X7Zx6eqekuQsLfRdPNUzh4ZHEe5L9CmrIHw5JQbOj9lJ+rJ7D/lzfw4StKL
ms1F96Nk4XkbseDztG7Z5isMCCxNPbSYaz+qMwIj0ktCaqvgW8REx48HavKFZSjhubBdk5Qs82t
xrP81p/jo9lxLKKO1XIwGQGndaFcnj0GlguW5Yp6NEmMYpKzEUObfpY4bMk9CA/F2SX4otbGZfZ
DCC1C1gyFLVqTUn2LPglcVxLDf/vMHbw7rlOKcDVqcwg3LOGRI5I0j8elOluzORVJUlQrZ4khsD
gqFnpNhTbVOsrASp+7t9lIfTYNv1+668selzsuOgCiOeSEYG0DKQ5oM47F02BNGaSlE/MXSb
X-Authority-Analysis: v=2.4 cv=Y8/4sgeN c=1 sm=1 tr=0 ts=68412a25 cx=c_pps
a=Oh5Dbbf/trHjhBongsHeRQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17
a=kj9zAlcOel0A:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=COk6AnOGAAAA:8
a=yafonziSkLk5LdqN7hYA:9 a=CjuIK1q_8ugA:10 a=_Vgx9l1VpLgwpw_dHYaR:22
a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
mlxscore=0 lowpriorityscore=0 mlxlogscore=999 spamscore=0 phishscore=0
clxscore=1015 impostorscore=0 bulkscore=0 suspectscore=0 priorityscore=1501
malwarescore=0 adultscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000
definitions=main-2506050045
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 03:30:22PM -0500, Bjorn Andersson wrote:
> On Wed, Jun 04, 2025 at 04:02:33PM +0800, Wenbin Yao wrote:
> > From: Qiang Yu <qiang.yu@xxxxxxxxxxxxxxxx>
> >
> > Enable the pwrctrl driver, which is utilized to manage the power supplies
> > of the devices connected to the PCI slots. This ensures that the voltage
> > rails of the standard PCI slots on some platforms eg. X1E80100-QCP can be
> > correctly turned on/off if they are described under PCIe port device tree
> > node.
> >
> > Signed-off-by: Qiang Yu <qiang.yu@xxxxxxxxxxxxxxxx>
> > Signed-off-by: Wenbin Yao <quic_wenbyao@xxxxxxxxxxx>
> > ---
> > arch/arm64/Kconfig.platforms | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> > index a541bb029..0ffd65e36 100644
> > --- a/arch/arm64/Kconfig.platforms
> > +++ b/arch/arm64/Kconfig.platforms
> > @@ -270,6 +270,7 @@ config ARCH_QCOM
> > select GPIOLIB
> > select PINCTRL
> > select HAVE_PWRCTRL if PCI
> > + select PCI_PWRCTRL_SLOT if PCI
>
> PWRCTL isn't a fundamental feature of ARCH_QCOM, so why do we select it
> here?
>
We were asked to select it in the same way as PCI_PWRCTL_PWRSEQ, following
an approach like:

select PCI_PWRCTL_SLOT if ARCH_QCOM in Kconfig and nothing in defconfig.

But to be honest, we didn't figure out a more appropriate way. Unlike
PCI_PWRCTL_PWRSEQ, which is selected by ath11k/ath12k, PCI_PWRCTL_SLOT
doesn't have a specific endpoint device driver to select it. Would it be
appropriate to add "select PCI_PWRCTL_SLOT if HAVE_PWRCTL" in the Kconfig
for portdrv? Do you have any recommendations?

> Regards,
> Bjorn
>
> > help
> > This enables support for the ARMv8 based Qualcomm chipsets.
> >
> > --
> > 2.34.1
> >


Return-Path: <linux-kernel+bounces-674053-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6A91841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:25:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 379FB18950FE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:25:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4E39E1F0E26;
Thu, 5 Jun 2025 05:25:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="EwJhctS8"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C6FDA1DDA34
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:24:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101102; cv=none; b=Vswjp51khXvmHnJaXjkH7XK6GnXo7rofxUvS8hbRnRegYpe3laPgRlX70DmF1xzw0Z9mMvpbaxJvmcgB2nCGFPA+4EFHyXvAIWV/Tv/hhpulf5RO3HtucEg/bswr1zuBNOroEHPHXpADOtnFMlJADPYnnGDmu40vnyvYZHbflb8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101102; c=relaxed/simple;
bh=zxxTXJJZhh65kKXR6vEVPLJAxn7l7xAFnunmCh9UKg8=;
h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=mNH5Vl2+PckwhB0vA3FB7A+PPhmT03NvYGKC/hd7FbKSpJBqPXZW0FXhkmYZ64vs6OXdpiCXuk5C5pLYFouKQTDPXKqgFxOu0ajcHycAESuIB2eePbXIfwEOHfOgoxyx/71Mk2627jMgGe6esq046OU1Ot5wkDaeR+ZA2ozUW50=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=EwJhctS8; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279863.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554HOKBt027548
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:24:59 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:message-id
:mime-version:subject:to; s=qcppdkim1; bh=f1j4ZSPrzmBEocor+zp0yy
po0Ly70nYX+6BlcZmKgAI=; b=EwJhctS8gsAw2d6PuXWC1/APejCBRB5IVGxJLv
U7tK8jyyK6iFbMqgRfyetsfx2nOpluU13d6mtx8wcVoq/R0qrrhGINaRunE1It1+
+qJxE0p9KQcOOQhktQtP+I7qCWCJhASyo2HT5JOowG1agw1oAoh1+S21VfMxxfKT
o7Zg6IKdshPznRmTHg664KfzZdvadEiKHob7aY6wA2LZ+fPLdrE26873HlKcHTwn
1t8246P4++mINzRAvjXZuuX4yTHtqC9Pri7JYqJXzfnPbEbMMbW/75c2eg34ze5a
sX9T7q4ruH1NWEK5LWcLDAJcSr2fjuI00uzS2RyRogXw38ZA==
Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 471g8t85gy-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 05 Jun 2025 05:24:58 +0000 (GMT)
Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-31220ecc586so611569a91.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 22:24:58 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749101098; x=1749705898;
h=cc:to:content-transfer-encoding:mime-version:message-id:date
:subject:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=f1j4ZSPrzmBEocor+zp0yypo0Ly70nYX+6BlcZmKgAI=;
b=LwwZFJHc8YRWkWY6tb04zSE11+SB4wrCgq8mAPgwL8Do2pfRXf8ERVzJyTcE1ENufw
ZJ9kt8mQ8aaHT6dau0NG5QmDWb6+L6chlGwjRn8JJcBRIn67SsXQfPoiz3NuYcRRnAzz
/GRnri+Ao7+NNYRu4UTabhyDG/MkytOj1n818jTlvXx6fF4tBKzQwqCB8ktUEEm2Uqd2
Bfgdh7rMZfOCSYafjfmtYjssJ18SXLYKJwFO60fILaOR7tKVNWNe1FUc+7CO89rYcPNS
ynq8ioOtot7Y6ytjEG7rCDjUkdyDOoU2MD0Bs/VJhmiWJsCey7gRem8GdFMMiTEmU6Fj
rZRw==
X-Forwarded-Encrypted: i=1; AJvYcCUkKNByTC/JBHaRC7d/NLEbkX+daSb85/6bLf10fJo1G3KJ6LPqc0xfPMDPNanTfNquvhscqwg0+9zk77U=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy2ZrcEuTnrTgkgyQId0+oPaSJzQEpZy+MRACB6UKd3TaqoolJX
t2G8FMF4ukZ+usR4Z8F+FAQKvY+uM0IB2BTDWD2oOnMZoD8ABhwIssp3Q7WsW58LOcqKdRiXjci
N31M3otKEONASwJg3ZHXNeFh0V+LI1nTvlLPJgEUyZ8tcrJViQokQvYR7xq9IJ/7HvQo=
X-Gm-Gg: ASbGnctzNL9Y9JRHeHuVDsQ6lU5GIWl2tXMNCOMC3pL0b4iIPED+YYtclQhmirJ3JAQ
+AIFvFlbWp3nZL49Wp5jBZhwYMWJqk4Y6cBIs0IeXdid6DV3Bucm89Q73bZ4w6TEcR74j7xn8uc
brm5oeX6kLXp9QIUlFW028pNICEftmL/e9EmyuwJ3MJv9gA7hxi2zZZTkjvsvkqzT15lyZYk0Id
/vwrsBEU+8mkVb9KhpdyjtKsRj3bWEe5DjFR8T+edyJcqUhhvVPvbHGPvE9I5ICS/ZqbtdXRMH7
BH+p4fnhfiOVIPNDPRGGdBU/O76YQq0neZTwgzQUsljMT5w=
X-Received: by 2002:a17:90b:4fcb:b0:311:f99e:7f4e with SMTP id 98e67ed59e1d1-3130ce68a9bmr9236215a91.16.1749101097914;
Wed, 04 Jun 2025 22:24:57 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHHmGnhnQm1zpjI2lKVuzNvK9cPm639RcmIk44l1LsUIpI417hltM1yehmbAHOKHA1NS5iamQ==
X-Received: by 2002:a17:90b:4fcb:b0:311:f99e:7f4e with SMTP id 98e67ed59e1d1-3130ce68a9bmr9236172a91.16.1749101097451;
Wed, 04 Jun 2025 22:24:57 -0700 (PDT)
Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0ad55csm621815a91.40.2025.06.04.22.24.52
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 22:24:56 -0700 (PDT)
From: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
Subject: [PATCH v3 0/2] PCI: Add support for PCIe wake interrupt
Date: Thu, 05 Jun 2025 10:54:43 +0530
Message-Id: <20250605-wake_irq_support-v3-0-7ba56dc909a5@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIABsqQWgC/23QQW7DIBAF0KtYrEvEYBPAq96jqqIBxg1qE9tgu
60i373YWbRSsxnpj8T7Gm4sU4qUWVvdWKIl5thfS6ifKubPeH0jHkPJTAqpRC0t/8R3OsU0nvI
8DH2auLZay84bH5qGlWdDoi5+7eTL6z0nGuciT/flL9xWOwsC+EApT9w7Y5RTeARp2wU2zmEm7
vvLJU5tZUyoZUNHS2i7Ggk8WKEItQoatBfGBWcIFNuKzzFPffreTyvW1rzXNaXu3xULcMGDJCm
7BgV14bnP+TDO+LF1H8rYzUX+ceDBbyyyOOLokIJFoxEeOOu6/gBDuADUeAEAAA==
X-Change-ID: 20250329-wake_irq_support-79772fc8cd44
To: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
cros-qcom-dts-watchers@xxxxxxxxxxxx,
Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-pci@xxxxxxxxxxxxxxx,
quic_vbadigan@xxxxxxxxxxx, quic_mrana@xxxxxxxxxxx,
Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Sherry Sun <sherry.sun@xxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749101092; l=2878;
i=krishna.chundru@xxxxxxxxxxxxxxxx; s=20230907; h=from:subject:message-id;
bh=zxxTXJJZhh65kKXR6vEVPLJAxn7l7xAFnunmCh9UKg8=;
b=IZcOgC8nmitlfrmtcZL1Obj1+2m4EqvTV//JU0kriQbXDrs3VebrfZ1/r5+LL/r6/ctoUTIUB
rDuNJtRzzQ/AzcYH2mQ2Xpy7Lw0FI0ZYVDTRSsOKwOe+Q4nyw0z0GLk
X-Developer-Key: i=krishna.chundru@xxxxxxxxxxxxxxxx; a=ed25519;
pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg=
X-Authority-Analysis: v=2.4 cv=eJQTjGp1 c=1 sm=1 tr=0 ts=68412a2a cx=c_pps
a=0uOsjrqzRL749jD1oC5vDA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8
a=Ikd4Dj_1AAAA:8 a=s8YR1HE3AAAA:8 a=l8mvWsQ0dvX29tmygDoA:9 a=QEXdDO2ut3YA:10
a=mQ_c8vxmzFEMiUWkPHU9:22 a=jGH_LyMDp9YhSvY-UuyI:22
X-Proofpoint-ORIG-GUID: A1KQnXBnvAA0_r73Ovh6ZNAIb-xpzAgP
X-Proofpoint-GUID: A1KQnXBnvAA0_r73Ovh6ZNAIb-xpzAgP
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDA0NSBTYWx0ZWRfXw3to3kvs08/D
AVqX7/NjHX/GA4M4PNkzWvokSz9ZYkeVMfzGHysF9nYyROJ76i7gPooUk5suJ7FXWQt9Ghp+h58
idd9nS54WsZSv2q5gd/ZPpYA4cruV4aK90tIg5lSPHzzMel3Us0Qm/DnzR2wrnPJc96z75q2t45
o902LcVBQXwkXq4HYmTPG/kNf4YH/vQXYHEaagi3KTz4jlt769L3wwlFrbxAApGe/NJSV6IqLwb
Hbt2UmBI5rx53jvEXD3JLmrvEn0uiAL/JwZ4mcRVjrnSCAIvz+zL3zrxqBtkZ/M6ofrBQL7moyt
tHJH5QWUIUm7X28CwmK9GRjhJYC8zmnEMLsu9mInYbf6Ev/sHwZlEYTurvEOoxc/VHx1oh+f+zP
ivYzlZjCDgyJe7qCMMsJNl7oszYZrAYCGHvI6LqwpSaEoQwTFDWoKFzp6gsLE/ooq21CvDgt
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
malwarescore=0 adultscore=0 lowpriorityscore=0 clxscore=1015
priorityscore=1501 bulkscore=0 mlxlogscore=578 impostorscore=0 spamscore=0
phishscore=0 mlxscore=0 suspectscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505280000 definitions=main-2506050045
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

PCIe wake interrupt is needed for bringing back PCIe device state from
D3cold to D0.

This is pending from long time, there was two attempts done previously to
add wake support[1], [2]. Those series tried to add support for legacy
interrupts along with wake. Legacy interrupts are already available in
the latest kernel and we can ignore them. For the wake IRQ the series is
trying to use interrupts property define in the device tree.

This series is using gpio property instead of interrupts, from
gpio desc driver will allocate the dedicate IRQ and initiate the wake
IRQ from the port bus driver instead of pcie framework as adding in the
pcie framework will be applicable to the endpoint devices also. As the
port bus driver is for bridges, portbus driver is correct place to invoke
them.

Add two new functions, of_pci_slot_setup_wake_irq() and
of_pci_slot_teardown_wake_irq(), to manage wake interrupts for PCI devices
using the Device Tree.

The series depend on the following series:
https://lore.kernel.org/all/20250515090517.3506772-1-krishna.chundru@xxxxxxxxxxxxxxxx/

[1]: https://lore.kernel.org/all/b2b91240-95fe-145d-502c-d52225497a34@xxxxxxxxxx/T/
[2]: https://lore.kernel.org/all/20171226023646.17722-1-jeffy.chen@xxxxxxxxxxxxxx/

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
---
Changes in v3:
- Update the commit messages, function names etc as suggested by Mani.
- return wake_irq if returns error (Neil).
- Link to v2: https://lore.kernel.org/r/20250419-wake_irq_support-v2-0-06baed9a87a1@xxxxxxxxxxxxxxxx

Changes in v2:
- Move the wake irq teardown after pcie_port_device_remove
and move of_pci_setup_wake_irq before pcie_link_rcec (Lukas)
- teardown wake irq in shutdown also.
- Link to v1: https://lore.kernel.org/r/20250401-wake_irq_support-v1-0-d2e22f4a0efd@xxxxxxxxxxxxxxxx

---
Krishna Chaitanya Chundru (2):
arm64: dts: qcom: sc7280: Add wake GPIO
PCI/portdrv: Add support for PCIe wake interrupt

arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 1 +
arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 1 +
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 1 +
drivers/pci/of.c | 67 ++++++++++++++++++++++++++
drivers/pci/pci.h | 6 +++
drivers/pci/pcie/portdrv.c | 12 ++++-
6 files changed, 87 insertions(+), 1 deletion(-)
---
base-commit: 88d324e69ea9f3ae1c1905ea75d717c08bdb8e15
change-id: 20250329-wake_irq_support-79772fc8cd44
prerequisite-change-id: 20250101-perst-cb885b5a6129:v1
prerequisite-patch-id: 3cff2ef415ec12c8ddb7ce7193035ce546081243
prerequisite-patch-id: 820dbf5dc092c32c8394fbc33f9fe6b8da6e6eab
prerequisite-patch-id: 7f87f54386a87b39ca346b53d3c34ff0d0cb7911

Best regards,
--
krishnachaitanya-linux <krishna.chundru@xxxxxxxxxxxxxxxx>



Return-Path: <linux-kernel+bounces-674055-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6691741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:25:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 389733AA7CB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:25:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5AA571DE88A;
Thu, 5 Jun 2025 05:25:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="R8fsk6O6"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 109301F4187
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:25:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101105; cv=none; b=EFzAjTIMp2iYkSTH6C77vXGjt2IUNI+iUZ2gM8q98RGAyb70mDr7Oa9edRbTXGyZzogyYSkrFtvPoI7V98k238b9TrMOyBgz8vO/FS32n+xQy5ZH3akzIUQjKIMrYDejQg8F4PrRwBNJelfkiQFpbAxyr3ujQZuQ6DDa/vToUZI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101105; c=relaxed/simple;
bh=ELxi17BXt0gUz8Vso9W9F/JQZ64lsRJBRbCAqrjU9wM=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=Ak9GxNVz6kTsCQ//Xc//RUnWBZDijbfGWsN/gj9U0y2D3SVzt3G44ApfzxvvrvjqWnE9QBO/W8aQzKUFwI+sbH2RSJH84tUzUbNWtojZzg243XoTAB5DQ1LHR6znP+A32dN+5cqAg10RLdAR8lUyyuPIzO1LX00P9ixhUNZ+Z/w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=R8fsk6O6; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279864.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554H40Bb028364
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:25:03 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
PfHwB6dSzDJGAFnPurJMLNcpoaZQ2vaUHXaSKUEc1ss=; b=R8fsk6O65TjBEr/i
2MKATE6ooeKrziRItWHRxG0QoENTvOHuQWiUJlG2vKtQUCytSBv8I4xUL1fYxB5J
n9BApNZTjQI2BB/6wyt2x1t84RziyrFS3QJHowZ2BIKZtcBgUBbNIr1MkhEOarVv
ugQU7KVLaX85aVgHOeX24mT6s9lLu48MUgf7YOlLFOZ4igZ1Xlbzct1rbEWEbDry
Sa/XmrxigvRmkQKS/xpt+UVWzZk4fCQiZ5fq3iv8oMf081FqTxil0jQnqq8Wx39r
qRrWPX/NjchYNNRd17dfITkHntGfFaEeHPivT/FTO/hHY8Lb6eGGQzm00NtvfWJe
4TkoMA==
Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 471g8nr5jj-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 05 Jun 2025 05:25:03 +0000 (GMT)
Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-3113a29e1fdso869507a91.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 22:25:03 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749101102; x=1749705902;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=PfHwB6dSzDJGAFnPurJMLNcpoaZQ2vaUHXaSKUEc1ss=;
b=ESoyZIvZE0q43jA6XHTAdlZn1zG9wOcJNsOESOz1xv6Lr0qxxueAGUD6f9lOdNLqSK
ozvwShs50MofX4YJNcvIMsry14/XcZVLKFtsDLu8qo5UX8KHuxTHB178eYJAy6aciSzT
x4gRTX51Z28mamNnS5UyOZAFk+2zwsw0syGhUoG4+ScmdQd5aAuoMM+jC1bBBjhZWCV8
4wwShBpfPz0o2hbN9Z6os87dEb/llq/5+YJcZgHhj/Tnt6eSf5FA1wFSyCfl7LoDWk1d
7R73cw5PxM0YpwzRaqHWbHHs78AjjwlkV14ADjtV9SYxJsfE8elhA/F0Xx5aKSUgTqHr
9WLw==
X-Forwarded-Encrypted: i=1; AJvYcCW9AXs2SDRIMRMohreEwRPnKppUo2FahYksSVwnoipu0A1kV7wahtIMtjPXrvpsNfthZbyhz92+2EWNQ2A=@vger.kernel.org
X-Gm-Message-State: AOJu0YxxzizvHIqLKlZNm4HcH/KsF1UlQDfOavoEOpugm2MOir6VrSZg
EpoxmC9CE+wGXyE1Kb8m8sOPHFB1fCwnvIVLV4KCr6I/261mzGcaSMfRHqHu5IcKlGSMu21/0k8
LsSltjaNIOZbYt5faoMdcmk2/d00ZTUsi0x7T8yNjRDfanhb/7RMIHX3hL4qC4zxjZCw=
X-Gm-Gg: ASbGncuCatszww9QWPuHBZLeCRHrKkN0Q8i1G6N0PQA1jQDnqaiJV/hdrAOcXQhhUXv
MhqBoXtLi5jsTPKuc567HQ9N6kqunaAwpit+OB6pBL2+KoTkox6ma77qWuIdR2ZVgkasF7ywVZ1
uUaiBKqEKv1bNH7brAv7UWnBjp2DCef2hfT73jq0+GC2iR4x40QlmR7Nd3UlUQZt3BDkmwblG9o
RlMh3Gtj+fXOLNsPUE5U/FF+Xq2utFSiznhPfrwwkjE4FP3ncp4Jk2y+4ARTsyVqqcc0fQbDElT
NzLCg2shbWB4kMN8GbQhrTki/GccDX6eadI4303UYysG4T8=
X-Received: by 2002:a17:90b:2642:b0:311:df4b:4b91 with SMTP id 98e67ed59e1d1-3130ccf6f5cmr8254229a91.7.1749101102349;
Wed, 04 Jun 2025 22:25:02 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFu5kqQmjyC2wMV/C06XGW45WU9PeScNVXB0Pinc7rugWzf9Opy3tahbcubOFLJTWdr/j40hA==
X-Received: by 2002:a17:90b:2642:b0:311:df4b:4b91 with SMTP id 98e67ed59e1d1-3130ccf6f5cmr8254195a91.7.1749101101938;
Wed, 04 Jun 2025 22:25:01 -0700 (PDT)
Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0ad55csm621815a91.40.2025.06.04.22.24.57
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 22:25:01 -0700 (PDT)
From: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
Date: Thu, 05 Jun 2025 10:54:44 +0530
Subject: [PATCH v3 1/2] arm64: dts: qcom: sc7280: Add wake GPIO
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250605-wake_irq_support-v3-1-7ba56dc909a5@xxxxxxxxxxxxxxxx>
References: <20250605-wake_irq_support-v3-0-7ba56dc909a5@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250605-wake_irq_support-v3-0-7ba56dc909a5@xxxxxxxxxxxxxxxx>
To: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
cros-qcom-dts-watchers@xxxxxxxxxxxx,
Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-pci@xxxxxxxxxxxxxxx,
quic_vbadigan@xxxxxxxxxxx, quic_mrana@xxxxxxxxxxx,
Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749101092; l=1848;
i=krishna.chundru@xxxxxxxxxxxxxxxx; s=20230907; h=from:subject:message-id;
bh=ELxi17BXt0gUz8Vso9W9F/JQZ64lsRJBRbCAqrjU9wM=;
b=+IOEZE/OHhcub9WfhNW1bm4ZxWxZxWMXvvx9Y3YCqre6IhUr6o6/prm1iG/JCtWdjmmzbysjL
Jj9UJU0JLeGDeOkWPYyarWeKo5OLILo6f08Rod/0mJI1dUk260wCPgF
X-Developer-Key: i=krishna.chundru@xxxxxxxxxxxxxxxx; a=ed25519;
pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg=
X-Proofpoint-GUID: KNOQKRZb0rqpzJp7aOrdOH8ATaxgr34h
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDA0NSBTYWx0ZWRfX1e77FCpGYY59
EZK/uAcS0KMGIJEboTx0RbzQ9XqJaPNMhMfpoI2ZzEpvPEeCSuIaAA0PaYYivoJPUlv4nfpjb1V
I7W4PDJXi0aLsRU8poHT/m1JLOdk/fX9tg6gPsntz0SeayGBnTrmOVO3Vokf3haPeuGZrFlt9cy
OxdkALWcjClxQomWqV0Y23h38P6kfnt3Wl3rH4XhblvLOngaUKGyoajubh7SUNQ0i2vdsNaDS1y
Hxf+7lZzlrt+WMsOwxaA/LF1iY22eDWp0XRcBOE2j4kU+0iiJXCva5t12BBznDxuJunKDV0zRbx
EQFEbnZbGwJaUTTaBEOsnpigfk9p+ZAvtH81lBqljOL9DCvjlbL6rLocNvGR25ZZxDQuyDKkiHk
grf9H1fT9L+5qG+sAyDzubcWzkPjDoIS5MSAyasy1HuKUEDiFnR9vrjxwunAllf/A75JOEal
X-Proofpoint-ORIG-GUID: KNOQKRZb0rqpzJp7aOrdOH8ATaxgr34h
X-Authority-Analysis: v=2.4 cv=UphjN/wB c=1 sm=1 tr=0 ts=68412a2f cx=c_pps
a=vVfyC5vLCtgYJKYeQD43oA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8
a=3vADZrDGUz89oz24Pk8A:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22
a=cvBusfyB2V15izCimMoJ:22
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
priorityscore=1501 spamscore=0 impostorscore=0 lowpriorityscore=0
phishscore=0 mlxlogscore=943 clxscore=1015 malwarescore=0 adultscore=0
bulkscore=0 mlxscore=0 suspectscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505280000 definitions=main-2506050045
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Add WAKE# gpio which is needed to bring PCIe device state
from D3cold to D0.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 1 +
arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 1 +
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 1 +
3 files changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
index 10c152ac03c874df5f1dc386d9079d3db1c55362..27cd94cb48d91e57d07cb38e008859d0c354b8fc 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
@@ -810,6 +810,7 @@ &mdss_edp_phy {

&pcieport1 {
reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>;
};

&pcie1 {
diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi
index 60b3cf50ea1d61dd5e8b573b5f1c6faa1c291eee..d435db860625d52842bf8e92d6223f67343121db 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi
@@ -477,6 +477,7 @@ &pcie1 {

&pcieport1 {
reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>;
};

&pm8350c_pwm {
diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
index 0b0212b670797a364d7f0e7a458fc73245fff8db..762615a61e046c711b248579abcbc58b86e428c1 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
@@ -418,6 +418,7 @@ &lpass_va_macro {

&pcieport1 {
reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>;
};

&pcie1 {

--
2.34.1



Return-Path: <linux-kernel+bounces-674056-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 89EBD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:25:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 679DC3AA775
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:25:26 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3107F1DED70;
Thu, 5 Jun 2025 05:25:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="mEBsW1WD"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BFA0F1FDE31
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:25:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101110; cv=none; b=drOYRWp2beD9RPklHgSepaSQEAmEVa6DH/nP2CC7pIGLJXQGLNQlnypHf4ZSMZp43WjWZH0wMWVTI9rIUQDRuEoZhEvQsd7QbFNGgyUsnUZDLu5fY53ucqc/fa9jf/N7yNuUGHe0EXsE2Lea8W2hdsaJVusktgeD3gE7rkgbVEQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101110; c=relaxed/simple;
bh=vlJXvAa9X+ezoDZ5kkgtL0pzbm0tSOq3EooVS4mttsg=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=VXutKXNlqFNCXLN08+QZla9ltE3WGdA6BRSz91fRPj6/QO7u/w8Rl/dvpMI3b5xkV3peRo8QlcwQSyfdz7Ji7ky0vCfhy2bQ0E0HLeP22WzASnQDQDpiTvKV6T04QNZeu4boUGfH80uVJV3052uyldNjiH6zkhYfZFMGougWd6I=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=mEBsW1WD; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279866.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554HBuYw004238
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:25:08 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
XOXtSog1QDveCNyYwT9jqHDvpBgbfVSj3rU4ri3NmDo=; b=mEBsW1WDRqFshoHA
uTzUhVdfE64SiFtIzd6/gTGhfQWonSx9pDB5NasrBvxjTXTPaTZq8P6kV//UuVkT
qVrRpNngnSTFHA1raEa6gkgiQV3XrkwvKUqTY3CjXDgQw3GdmZ1t3johfnSP/ZgX
4a5c0lHCCQ5IBYMA0RQqlyGZ0sD+EsNzzKpnMiA9OM6w0+EH+l4MfT7xyY2pehdi
ozOW1KSGK5TVKSsYqOcYdsux6UfOataj+UAbIFWTYsc77DSBkgpcdnDDhHQ/jfAl
hYWLkdmnL6PjCUHYxKffyYpfWi2xSD6W1+4s9EGC3jKEW+yFKvJG3biv+SyajKh+
5rcwSw==
Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 471g8s07ph-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 05 Jun 2025 05:25:07 +0000 (GMT)
Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-312eaf676b3so851272a91.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 22:25:07 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749101107; x=1749705907;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=XOXtSog1QDveCNyYwT9jqHDvpBgbfVSj3rU4ri3NmDo=;
b=uzFCM7rw38HBeChRzO0kOMl9oBrd9sID3WJPOIDJZG8jCf+35EU+6hJbBXOQesLY5t
syqmxBdPArpHZMBmFSwtg8nmi7m/wU35gaVkJb+392+Q3cEF7JT4hokU7Ui+1JRVkeLB
DpBkuzGa1+Aec3nummuBebC7BzOmf8bFqFFCL8y4N5qMSj9PR5T4tkTJ03D1HZs1JVTf
GYG6QG1WmX3mwvQNVqJak85C1HlBPoVOS4swkN1o50lgNoBoTlUDTg9V4y5pS5DpOgya
UJeboMJCLY2jiVzzpbsFijcLdshGZpe9rtVo/H+oewb7FhdX0G4D0/u3LGTscLN91ZUn
yFEg==
X-Forwarded-Encrypted: i=1; AJvYcCV2YO6aZoe2hChsNLpQCnOSKSCTjn53xdj69ZoBXvCjj7N60SG6Q95ixnwR9eMGUn2BIChlsIMEfoTbfLU=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy2MOpkLgzRpRoFVZQoLY7ppphUZbuyI1OtSiDArwHsh43G2MnS
bfR5SuOmkNtBG9Tp97XELYVJmLtLDPKTOlqaljQP+Fqq1D6AxE3YeWbtUPwBQO4/OlTqe0ow4zo
MIjhigNrBy9aAQ1VIcgkwgr7muqZRVne3jOqkofTTC45xc4ljCaiSqImPBGjSo1YUWsk=
X-Gm-Gg: ASbGnctdR7BpEOxtJI5Lu7bA0o/Gy7uO1Bz3PDf6l0U8yoFLJo2RWBfMqm/6GzmZE/s
mVEcwvGa2C569mu2wbN6z2u2TmUqPcHZfyX7m+Wc4wKIDD9+SRJEVmxssSz4lxxJgj4OuHkkti5
0fMUStVIcInLr59KEhNUmOw0QJEtUTqz+8KqyWY4wxUnToRbgZD3wID5gd+u1jNYxb/ACxjxCav
0MjoKx9G+NKYzmK9vUsH44Q/LgXOnacK0KXTlPKN920VdQc60Wn3XxUhSg3hEQreXVSWKd468Ul
rNBdP+FCguCcCxXuWq3gazmFj9xunt6FUUQeMd108Sy5Cyk=
X-Received: by 2002:a17:90b:52c6:b0:312:1d2d:18df with SMTP id 98e67ed59e1d1-3130cd67f87mr7348328a91.23.1749101106955;
Wed, 04 Jun 2025 22:25:06 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGizPUuInvJsfPhGgAodQGX82jrYIhBDW3+fyLJE7myE9Z/9iGHSaKGIpVNnw9+dcwQ6gmrMw==
X-Received: by 2002:a17:90b:52c6:b0:312:1d2d:18df with SMTP id 98e67ed59e1d1-3130cd67f87mr7348282a91.23.1749101106412;
Wed, 04 Jun 2025 22:25:06 -0700 (PDT)
Received: from hu-krichai-hyd.qualcomm.com ([202.46.23.25])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0ad55csm621815a91.40.2025.06.04.22.25.02
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 22:25:06 -0700 (PDT)
From: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
Date: Thu, 05 Jun 2025 10:54:45 +0530
Subject: [PATCH v3 2/2] PCI/portdrv: Add support for PCIe wake interrupt
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250605-wake_irq_support-v3-2-7ba56dc909a5@xxxxxxxxxxxxxxxx>
References: <20250605-wake_irq_support-v3-0-7ba56dc909a5@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250605-wake_irq_support-v3-0-7ba56dc909a5@xxxxxxxxxxxxxxxx>
To: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
cros-qcom-dts-watchers@xxxxxxxxxxxx,
Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-pci@xxxxxxxxxxxxxxx,
quic_vbadigan@xxxxxxxxxxx, quic_mrana@xxxxxxxxxxx,
Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>,
Sherry Sun <sherry.sun@xxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749101092; l=5481;
i=krishna.chundru@xxxxxxxxxxxxxxxx; s=20230907; h=from:subject:message-id;
bh=vlJXvAa9X+ezoDZ5kkgtL0pzbm0tSOq3EooVS4mttsg=;
b=+u3TTrTXFx8RDNANNurLLF+fnnpi0DJrWjY6QqkCiRbl4RP7ve/2ANlZxpia7e9xsxF4S9N7P
ketU6RZ+8BoBbPrH5VNtMwAfMDhwgmizFzSGxHCPQe4R3h+LZ+A/cz9
X-Developer-Key: i=krishna.chundru@xxxxxxxxxxxxxxxx; a=ed25519;
pk=10CL2pdAKFyzyOHbfSWHCD0X0my7CXxj8gJScmn1FAg=
X-Proofpoint-ORIG-GUID: _jHZfaUtPOrAvXPPvhULh7zVIccqoNHj
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDA0NSBTYWx0ZWRfX3Jrfi6LDeZca
8BvlZ1l2zPKq2qbd4Z3tdx2XmX6oOHrc54YMDE8R+J4B7mFyb+5vY8dNYagq+PQ0OafUzKeGAky
Amt/y5Lo8K+Uk63JL90Ujke3dxdSuxRIP/6M9JKYcdLsDO/yAvbTbEwsl1fNrZGUKjh+ePZnthX
dEu6RJX+ZHIeOcdfXnHUP31F2lufF6an9jL17vW9Mwu3H1/mRconC+eHA6zKYWMpHPPvkbTyLG1
4m4jAuC8pxT7kIXxZdRAogCTUIMTBoGjADRLSN3mglN9uM4s6v/0/mYCPErxpz9BAkHhlhN8wpq
EGnKUDXXi5DUWRqjHL0ql4zbGgZzSyMjAjUVlfpCsdpYGrUOB1elk7I7m7uZdFAo8puuS9fr09a
af25sPLtdKUjLe7V262+9NtOiJ+zMuNLaOzlglxkNx4CzbM0/0ukdlanqz5Nqsoli0jsCrW/
X-Authority-Analysis: v=2.4 cv=RdWQC0tv c=1 sm=1 tr=0 ts=68412a33 cx=c_pps
a=vVfyC5vLCtgYJKYeQD43oA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=8AirrxEcAAAA:8
a=4qw4IQhyAdn_hH04eJkA:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22
a=ST-jHhOKWsTCqRlWije3:22
X-Proofpoint-GUID: _jHZfaUtPOrAvXPPvhULh7zVIccqoNHj
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
bulkscore=0 adultscore=0 mlxscore=0 priorityscore=1501 phishscore=0
clxscore=1015 lowpriorityscore=0 malwarescore=0 suspectscore=0
impostorscore=0 spamscore=0 mlxlogscore=999 classifier=spam authscore=0
authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505280000 definitions=main-2506050045
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

PCIe wake interrupt is needed for bringing back PCIe device state
from D3cold to D0.

Implement new functions, of_pci_setup_wake_irq() and
of_pci_teardown_wake_irq(), to manage wake interrupts for PCI devices
using the Device Tree.

>From the port bus driver call these functions to enable wake support
for bridges.

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
Tested-by: Sherry Sun <sherry.sun@xxxxxxx>
---
drivers/pci/of.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++
drivers/pci/pci.h | 6 +++++
drivers/pci/pcie/portdrv.c | 12 ++++++++-
3 files changed, 84 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/of.c b/drivers/pci/of.c
index ab7a8252bf4137a17971c3eb8ab70ce78ca70969..3487cd62d81f0a66e7408e286475e8d91c2e410a 100644
--- a/drivers/pci/of.c
+++ b/drivers/pci/of.c
@@ -7,6 +7,7 @@
#define pr_fmt(fmt) "PCI: OF: " fmt

#include <linux/cleanup.h>
+#include <linux/gpio/consumer.h>
#include <linux/irqdomain.h>
#include <linux/kernel.h>
#include <linux/pci.h>
@@ -15,6 +16,7 @@
#include <linux/of_address.h>
#include <linux/of_pci.h>
#include <linux/platform_device.h>
+#include <linux/pm_wakeirq.h>
#include "pci.h"

#ifdef CONFIG_PCI
@@ -966,3 +968,68 @@ u32 of_pci_get_slot_power_limit(struct device_node *node,
return slot_power_limit_mw;
}
EXPORT_SYMBOL_GPL(of_pci_get_slot_power_limit);
+
+/**
+ * of_pci_slot_setup_wake_irq - Set up wake interrupt for PCI device
+ * @pdev: The PCI device structure
+ *
+ * This function sets up the wake interrupt for a PCI device by getting the
+ * corresponding WAKE# gpio from the device tree, and configuring it as a
+ * dedicated wake interrupt.
+ *
+ * Return: 0 if the WAKE# gpio is not available or successfully parsed else
+ * errno otherwise.
+ */
+int of_pci_slot_setup_wake_irq(struct pci_dev *pdev)
+{
+ struct gpio_desc *wake;
+ struct device_node *dn;
+ int ret, wake_irq;
+
+ dn = pci_device_to_OF_node(pdev);
+ if (!dn)
+ return 0;
+
+ wake = devm_fwnode_gpiod_get(&pdev->dev, of_fwnode_handle(dn),
+ "wake", GPIOD_IN, NULL);
+ if (IS_ERR(wake) && PTR_ERR(wake) != -ENOENT) {
+ dev_err(&pdev->dev, "Failed to get wake GPIO: %ld\n", PTR_ERR(wake));
+ return PTR_ERR(wake);
+ }
+ if (IS_ERR(wake))
+ return 0;
+
+ wake_irq = gpiod_to_irq(wake);
+ if (wake_irq < 0) {
+ dev_err(&pdev->dev, "Dailed to get wake irq: %d\n", wake_irq);
+ return wake_irq;
+ }
+
+ device_init_wakeup(&pdev->dev, true);
+
+ ret = dev_pm_set_dedicated_wake_irq(&pdev->dev, wake_irq);
+ if (ret < 0) {
+ dev_err(&pdev->dev, "Failed to set wake IRQ: %d\n", ret);
+ device_init_wakeup(&pdev->dev, false);
+ return ret;
+ }
+ irq_set_irq_type(wake_irq, IRQ_TYPE_EDGE_FALLING);
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(of_pci_slot_setup_wake_irq);
+
+/**
+ * of_pci_slot_teardown_wake_irq - Teardown wake interrupt setup for PCI device
+ *
+ * @pdev: The PCI device structure
+ *
+ * This function tears down the wake interrupt setup for a PCI device,
+ * clearing the dedicated wake interrupt and disabling device wake-up.
+ */
+void of_pci_slot_teardown_wake_irq(struct pci_dev *pdev)
+{
+ dev_pm_clear_wake_irq(&pdev->dev);
+ device_init_wakeup(&pdev->dev, false);
+}
+EXPORT_SYMBOL_GPL(of_pci_slot_teardown_wake_irq);
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 39f368d2f26de872f6484c6cb4e12752abfff7bc..dd7a4da1225bbdb1dff82707b580e7e0a95a5abf 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -888,6 +888,9 @@ void pci_release_of_node(struct pci_dev *dev);
void pci_set_bus_of_node(struct pci_bus *bus);
void pci_release_bus_of_node(struct pci_bus *bus);

+int of_pci_slot_setup_wake_irq(struct pci_dev *pdev);
+void of_pci_slot_teardown_wake_irq(struct pci_dev *pdev);
+
int devm_of_pci_bridge_init(struct device *dev, struct pci_host_bridge *bridge);
bool of_pci_supply_present(struct device_node *np);

@@ -931,6 +934,9 @@ static inline int devm_of_pci_bridge_init(struct device *dev, struct pci_host_br
return 0;
}

+static int of_pci_slot_setup_wake_irq(struct pci_dev *pdev) { return 0; }
+static void of_pci_slot_teardown_wake_irq(struct pci_dev *pdev) { }
+
static inline bool of_pci_supply_present(struct device_node *np)
{
return false;
diff --git a/drivers/pci/pcie/portdrv.c b/drivers/pci/pcie/portdrv.c
index e8318fd5f6ed537a1b236a3a0f054161d5710abd..9a6beec87e4523a33ecace684109cd44e025c97b 100644
--- a/drivers/pci/pcie/portdrv.c
+++ b/drivers/pci/pcie/portdrv.c
@@ -694,12 +694,18 @@ static int pcie_portdrv_probe(struct pci_dev *dev,
(type != PCI_EXP_TYPE_RC_EC)))
return -ENODEV;

+ status = of_pci_slot_setup_wake_irq(dev);
+ if (status)
+ return status;
+
if (type == PCI_EXP_TYPE_RC_EC)
pcie_link_rcec(dev);

status = pcie_port_device_register(dev);
- if (status)
+ if (status) {
+ of_pci_slot_teardown_wake_irq(dev);
return status;
+ }

pci_save_state(dev);

@@ -732,6 +738,8 @@ static void pcie_portdrv_remove(struct pci_dev *dev)

pcie_port_device_remove(dev);

+ of_pci_slot_teardown_wake_irq(dev);
+
pci_disable_device(dev);
}

@@ -744,6 +752,8 @@ static void pcie_portdrv_shutdown(struct pci_dev *dev)
}

pcie_port_device_remove(dev);
+
+ of_pci_slot_teardown_wake_irq(dev);
}

static pci_ers_result_t pcie_portdrv_error_detected(struct pci_dev *dev,

--
2.34.1



Return-Path: <linux-kernel+bounces-674057-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AE6AF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:26:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 063561898069
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:26:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7FCC21F5827;
Thu, 5 Jun 2025 05:25:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Zk9VwQ1/"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 01A261DE8B3;
Thu, 5 Jun 2025 05:25:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.10
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101125; cv=none; b=H+RLWtXlW9+IBRBDFRIU8rDc7jtJHWF/TWvcnjwTivU+jn8Y6dC6bn/9tX6nn4FkSmyFsnwYV8eZ7vKqXtI1SCLHE9sBhFIkwc5xM4P3fv+iN+G8xTu0jF9+ail6PmygRD9ra/GdBu1sB/A4Evr03vtxzaze2DIE2+1vigkhcJA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101125; c=relaxed/simple;
bh=+cdbKhZjBoZDRwbRa0KV1PYNo7teLIa2Q8X716SvQ9M=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=D306UN0RcRMCuRXVlTXFheHRwITJY7KP5kTrej0wAGi/cbnnX3ErPgzHvaFm9+0SPDi5F9sAsRHpd7/Y6VTphlpnunv9ZQVHvv8H7IwB19tPob4RneyNLdC1tdOoknfaWKSZrL8cbFOEguZuWxEljvZMIA//OwGmsLHR5ltUEBU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Zk9VwQ1/; arc=none smtp.client-ip=192.198.163.10
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749101124; x=1780637124;
h=message-id:date:mime-version:subject:to:cc:references:
from:in-reply-to:content-transfer-encoding;
bh=+cdbKhZjBoZDRwbRa0KV1PYNo7teLIa2Q8X716SvQ9M=;
b=Zk9VwQ1/Jfs7pCflyWK8VdUgL5I4GK4y27mycU9DZ9j7sVBpc3zrUXsC
POSROZrgswPZ79AXeg4fQLj7aRA6XCSGoQjmIrDBsFpzvGLoc0ZzUc1K1
Og0XwdrmK/er74IrDJQjyIlFfVg5RCh6NJs1U4edosvRd3Mj49zNo/Ajo
pNQJyl5bOXm2mIyRkgM3D0GA2m4AfWhdoKqodtNT5F+bua+Wc19GQQ38G
Z7MdEyj+UJdqI0JvV0KqYUv+EJC/paY2PL9tG5JuOBCydY+yOQ14gFWof
+d5Iic789ZT+rAut9j7PVgew8OOQEjv+ug0sWlot1Wdpy7O/Rb+tq8dnn
A==;
X-CSE-ConnectionGUID: y58tkR3HShKZn0EMSi193Q==
X-CSE-MsgGUID: cqZv6qh/SsKKi/qcVqoYBA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="62560127"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="62560127"
Received: from orviesa001.jf.intel.com ([10.64.159.141])
by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 22:25:23 -0700
X-CSE-ConnectionGUID: xg/4fCFnQ4G6T1ilLlHNzw==
X-CSE-MsgGUID: mfb3AFnxSWG0gS83KmOkWQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="182602137"
Received: from unknown (HELO [10.238.0.239]) ([10.238.0.239])
by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 22:25:00 -0700
Message-ID: <558a649d-d419-46e2-adb8-4027e105c1ce@xxxxxxxxxxxxxxx>
Date: Thu, 5 Jun 2025 13:24:57 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2 38/51] KVM: guest_memfd: Split allocator pages for
guest_memfd use
To: Ackerley Tng <ackerleytng@xxxxxxxxxx>
Cc: kvm@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
x86@xxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, aik@xxxxxxx,
ajones@xxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, amoorthy@xxxxxxxxxx,
anthony.yznaga@xxxxxxxxxx, anup@xxxxxxxxxxxxxx, aou@xxxxxxxxxxxxxxxxx,
bfoster@xxxxxxxxxx, brauner@xxxxxxxxxx, catalin.marinas@xxxxxxx,
chao.p.peng@xxxxxxxxx, chenhuacai@xxxxxxxxxx, dave.hansen@xxxxxxxxx,
david@xxxxxxxxxx, dmatlack@xxxxxxxxxx, dwmw@xxxxxxxxxxxx,
erdemaktas@xxxxxxxxxx, fan.du@xxxxxxxxx, fvdl@xxxxxxxxxx, graf@xxxxxxxxxx,
haibo1.xu@xxxxxxxxx, hch@xxxxxxxxxxxxx, hughd@xxxxxxxxxx,
ira.weiny@xxxxxxxxx, isaku.yamahata@xxxxxxxxx, jack@xxxxxxx,
james.morse@xxxxxxx, jarkko@xxxxxxxxxx, jgg@xxxxxxxx, jgowans@xxxxxxxxxx,
jhubbard@xxxxxxxxxx, jroedel@xxxxxxx, jthoughton@xxxxxxxxxx,
jun.miao@xxxxxxxxx, kai.huang@xxxxxxxxx, keirf@xxxxxxxxxx,
kent.overstreet@xxxxxxxxx, kirill.shutemov@xxxxxxxxx,
liam.merwick@xxxxxxxxxx, maciej.wieczor-retman@xxxxxxxxx,
mail@xxxxxxxxxxxxxxxxxxxxx, maz@xxxxxxxxxx, mic@xxxxxxxxxxx,
michael.roth@xxxxxxx, mpe@xxxxxxxxxxxxxx, muchun.song@xxxxxxxxx,
nikunj@xxxxxxx, nsaenz@xxxxxxxxx, oliver.upton@xxxxxxxxx,
palmer@xxxxxxxxxxx, pankaj.gupta@xxxxxxx, paul.walmsley@xxxxxxxxxx,
pbonzini@xxxxxxxxxx, pdurrant@xxxxxxxxxxxx, peterx@xxxxxxxxxx,
pgonda@xxxxxxxxxx, pvorel@xxxxxxx, qperret@xxxxxxxxxx,
quic_cvanscha@xxxxxxxxxxx, quic_eberman@xxxxxxxxxxx,
quic_mnalajal@xxxxxxxxxxx, quic_pderrin@xxxxxxxxxxx,
quic_pheragu@xxxxxxxxxxx, quic_svaddagi@xxxxxxxxxxx, quic_tsoni@xxxxxxxxxxx,
richard.weiyang@xxxxxxxxx, rick.p.edgecombe@xxxxxxxxx, rientjes@xxxxxxxxxx,
roypat@xxxxxxxxxxxx, rppt@xxxxxxxxxx, seanjc@xxxxxxxxxx, shuah@xxxxxxxxxx,
steven.price@xxxxxxx, steven.sistare@xxxxxxxxxx, suzuki.poulose@xxxxxxx,
tabba@xxxxxxxxxx, thomas.lendacky@xxxxxxx, usama.arif@xxxxxxxxxxxxx,
vannapurve@xxxxxxxxxx, vbabka@xxxxxxx, viro@xxxxxxxxxxxxxxxxxx,
vkuznets@xxxxxxxxxx, wei.w.wang@xxxxxxxxx, will@xxxxxxxxxx,
willy@xxxxxxxxxxxxx, xiaoyao.li@xxxxxxxxx, yan.y.zhao@xxxxxxxxx,
yilun.xu@xxxxxxxxx, yuzenghui@xxxxxxxxxx, zhiquan1.li@xxxxxxxxx
References: <cover.1747264138.git.ackerleytng@xxxxxxxxxx>
<7753dc66229663fecea2498cf442a768cb7191ba.1747264138.git.ackerleytng@xxxxxxxxxx>
Content-Language: en-US
From: Binbin Wu <binbin.wu@xxxxxxxxxxxxxxx>
In-Reply-To: <7753dc66229663fecea2498cf442a768cb7191ba.1747264138.git.ackerleytng@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 5/15/2025 7:42 AM, Ackerley Tng wrote:
[...]
> +
> +static inline int kvm_gmem_try_split_folio_in_filemap(struct inode *inode,
> + struct folio *folio)
> +{
> + size_t to_nr_pages;
> + void *priv;
> +
> + if (!kvm_gmem_has_custom_allocator(inode))
> + return 0;
> +
> + priv = kvm_gmem_allocator_private(inode);
> + to_nr_pages = kvm_gmem_allocator_ops(inode)->nr_pages_in_page(priv);
> +
> + if (kvm_gmem_has_some_shared(inode, folio->index, to_nr_pages))

What if a huge page whose attribute is shared?

> + return kvm_gmem_split_folio_in_filemap(inode, folio);
> +
> + return 0;
> +}
> +
[...]
>
> static int kvm_gmem_shareability_setup(struct maple_tree *mt, loff_t size, u64 flags)
> @@ -563,11 +1005,16 @@ static struct folio *kvm_gmem_get_folio(struct inode *inode, pgoff_t index)
> return folio;
>
> if (kvm_gmem_has_custom_allocator(inode)) {
> - void *p = kvm_gmem_allocator_private(inode);
> + size_t nr_pages;
> + void *p;
>
> + p = kvm_gmem_allocator_private(inode);
> folio = kvm_gmem_allocator_ops(inode)->alloc_folio(p);
> if (IS_ERR(folio))
> return folio;
> +
> + nr_pages = kvm_gmem_allocator_ops(inode)->nr_pages_in_folio(p);
> + index_floor = round_down(index, nr_pages);
> } else {
> gfp_t gfp = mapping_gfp_mask(inode->i_mapping);
>
> @@ -580,10 +1027,11 @@ static struct folio *kvm_gmem_get_folio(struct inode *inode, pgoff_t index)
> folio_put(folio);
> return ERR_PTR(ret);
> }
> +
> + index_floor = index;
> }
> allocated_size = folio_size(folio);
>
> - index_floor = round_down(index, folio_nr_pages(folio));
> ret = kvm_gmem_filemap_add_folio(inode->i_mapping, folio, index_floor);
> if (ret) {
> folio_put(folio);
> @@ -600,6 +1048,13 @@ static struct folio *kvm_gmem_get_folio(struct inode *inode, pgoff_t index)
> return ERR_PTR(ret);
> }
>
> + /* Leave just filemap's refcounts on folio. */
> + folio_put(folio);
> +
> + ret = kvm_gmem_try_split_folio_in_filemap(inode, folio);

When !CONFIG_KVM_GMEM_SHARED_MEM, kvm_gmem_try_split_folio_in_filemap() is
undefined.

> + if (ret)
> + goto err;
> +
> spin_lock(&inode->i_lock);
> inode->i_blocks += allocated_size / 512;
> spin_unlock(&inode->i_lock);
>
[...]


Return-Path: <linux-kernel+bounces-674058-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C509A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:29:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id DBF2B174B3E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:29:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E77021E5B9F;
Thu, 5 Jun 2025 05:28:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="C6f4wtlm"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D54101DC98C;
Thu, 5 Jun 2025 05:28:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101336; cv=none; b=f8iZrDbEtW6gn85p3hpVHcR7QWE0d1HtSGHtounMad8hMJFjI8t3jyVu0hI3c5lYik984wh0n0v1oBsfk/qLokAqksL1oB1y6V9J0BM5Xl32D0uc+Khnq3x3CCH5StO/5xEhZt2Z78WdwuDJA1sch/pYj2eigVFSjt1KtjRdrFw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101336; c=relaxed/simple;
bh=8T+KiH+TRmyHZbNkGgihRrs6KzyojxmRHnHiGTLDKWU=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=F8+UnpfOmbSrzLhSi1gy6+EuUT24Q3FCozNnyEHviQ3ozn+ZsoRVkb7hBP4KvXB34e6g8Qf199lfwSkvj9gFDGRSV06wvTUMeSdS9Y/uEz5rqPsRNm2kjpjALs3CUebHMzQsNEmkqXBNgMtubsNFdF2QhtQOIMzabhimQmGuT0Y=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=C6f4wtlm; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com
Received: from pps.filterd (m0279863.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554HJJK1027554;
Thu, 5 Jun 2025 05:28:47 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
c2nhgPnAlNxy8+rgUUUdvD4NqC/lP6n/L4BAZPK/zdo=; b=C6f4wtlmDrYbgTEt
der0z0jFOw8tHXyZPIapDsbWmGPdhRUeRuMYJ1WPcHy7aKVeI2c2idNiEcUWleGn
deHBwSmNyFu/SdGG6oyDRTXjKS9EL5S39le5DJS0d02/RQEc7cwmWOWqxbJqzH6E
Zmv9AXOfV36TTYVh3Ki8nNkJW72WUyebr0lqOLioHBTSrNF3PvntlLXIRSc2aHyJ
Vo3M118phas4c4J8oo6Xc/08VbDSArzVfegHBsLh9R0zKDuGE48XO8HxQMgke0ab
NBtmXMVXbzLGN+pnkY0UEzGzGM8arTGOB3uSosIRk4MJwu28weNqDGcMDq+yblkO
D9RlCg==
Received: from nalasppmta03.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 471g8t85su-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 05 Jun 2025 05:28:46 +0000 (GMT)
Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196])
by NALASPPMTA03.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 5555SaxU024457
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Thu, 5 Jun 2025 05:28:36 GMT
Received: from [10.216.44.241] (10.80.80.8) by nalasex01a.na.qualcomm.com
(10.47.209.196) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Wed, 4 Jun 2025
22:28:32 -0700
Message-ID: <fb4763e4-0106-94da-548c-6c585ab8ff2f@xxxxxxxxxxx>
Date: Thu, 5 Jun 2025 10:58:29 +0530
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Subject: Re: [PATCH ath-next] wifi: ath12k: fix GCC_GCC_PCIE_HOT_RST
definition for WCN7850
Content-Language: en-US
To: Baochen Qiang <quic_bqiang@xxxxxxxxxxx>,
Jeff Johnson
<jjohnson@xxxxxxxxxx>,
Pradeep Kumar Chitrapu <quic_pradeepc@xxxxxxxxxxx>,
Wen Gong <quic_wgong@xxxxxxxxxxx>,
Bhagavathi Perumal S
<quic_bperumal@xxxxxxxxxxx>,
P Praneesh <quic_ppranees@xxxxxxxxxxx>
CC: Sriram R <quic_srirrama@xxxxxxxxxxx>, <linux-wireless@xxxxxxxxxxxxxxx>,
<ath12k@xxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
Parth Panchoil
<parth105105@xxxxxxxxx>
References: <20250523-ath12k-wrong-global-reset-addr-v1-1-3b06eb556196@xxxxxxxxxxx>
From: Vasanthakumar Thiagarajan <quic_vthiagar@xxxxxxxxxxx>
In-Reply-To: <20250523-ath12k-wrong-global-reset-addr-v1-1-3b06eb556196@xxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To
nalasex01a.na.qualcomm.com (10.47.209.196)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Authority-Analysis: v=2.4 cv=eJQTjGp1 c=1 sm=1 tr=0 ts=68412b0e cx=c_pps
a=ouPCqIW2jiPt+lZRy3xVPw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17
a=GEpy-HfZoHoA:10 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=VwQbUJbxAAAA:8
a=pGLkceISAAAA:8 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=17ir-Gtp1zVAAPY-F3MA:9
a=QEXdDO2ut3YA:10 a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-ORIG-GUID: jm_FZWIanXm3UkUXi9rD9HpK5lQoSJYT
X-Proofpoint-GUID: jm_FZWIanXm3UkUXi9rD9HpK5lQoSJYT
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDA0NiBTYWx0ZWRfX08ybtEULpqSU
TyKqO8j9oAB38jqmnSuBptOv9o+ILvYDefh1zgwESy+1dIUn5vQ8Lgylah24zorBgIwKs7E8fYr
FH7n86tJYuErw+xLn4wZFA2HGuJEzyvFVNPxk8d2l6T+DKRAwnFLZCV7EmKBVNQIqQ9GE2wrYsG
LAUJao5jmgIF0n0ULlk3PJtHQdx00mas96qS6WSwX15F3liGqgPVI45U+T1UKEHSZFy8NYyyAP/
nwnNOCUUowPioO7vPthn7cBMOJg3g8NzHK0opX/XPYD91COIuB6KrhUHJUFyIIsUpAFUWoq23/D
jazW+LgsHHJteIZwKtCsOBVUh1zoq+pkVdQCSpmaQn0L/WOQ9RPjZruDkMSKodz7Ug3s0ec86z9
Qo+PEKyVwwnUy4HYZEIoXgHFT5Gf34e9HhZZFu2zqzZJULu1y8nDliSmcjwrJDNtVbK6e6kZ
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
malwarescore=0 adultscore=0 lowpriorityscore=0 clxscore=1011
priorityscore=1501 bulkscore=0 mlxlogscore=503 impostorscore=0 spamscore=0
phishscore=0 mlxscore=0 suspectscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505280000 definitions=main-2506050046
X-Spam-Status: No, score=-5.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 5/23/2025 7:53 AM, Baochen Qiang wrote:
> GCC_GCC_PCIE_HOT_RST is wrongly defined for WCN7850, causing kernel crash
> on some specific platforms.
>
> Since this register is divergent for WCN7850 and QCN9274, move it to
> register table to allow different definitions. Then correct the register
> address for WCN7850 to fix this issue.
>
> Note IPQ5332 is not affected as it is not PCIe based device.
>
> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
>
> Reported-by: Parth Panchoil <parth105105@xxxxxxxxx>
> Closes: https://lore.kernel.org/all/86899b2235a59c9134603beebe08f2bb0b244ea0.camel@xxxxxxxxx
> Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
> Signed-off-by: Baochen Qiang <quic_bqiang@xxxxxxxxxxx>

Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@xxxxxxxxxxxxxxxx>


Return-Path: <linux-kernel+bounces-674059-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C39EF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:29:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 513B63AAC0B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:28:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 841AD1F0E26;
Thu, 5 Jun 2025 05:28:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b="IBl0Re54"
Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D2791A76D4
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:28:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.97.179.56
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101336; cv=none; b=NVI5cCnXfVR3LRVAHmI9DE1goTrzfL2BeqJcNb31OTmkgm3oKNcPwI1ZqaPHwZQIydan30ACA9EwntfGaU9XJ8YCoqAq9xvIwJsFA52B4szNQTWQcP8eAQ2aJBcuhZD3gxJ4/nROvTH093V/b+c+MqDU6dI1axlF3qrdIe3cEKQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101336; c=relaxed/simple;
bh=KFcGoLRLWg8X4zWzB4O40GYzNM4iFqXsVs9PzNXVnas=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=aFLsN9i5ZUCsTLjagkL5Yr63cRnfZVyvtTP2UF1wEFBxMUkIwYV9o9qH5fE+STZzUs7yrJ9IfT1Kf7MDfca0U447BsYvKO5mdXUl7PLI/DDo+76LOGQMw2kYr+24A1IsZ/T/8HrjqPMh5Kq8uGvHYOMTYEhZMARutGOAtnWchus=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com; spf=pass smtp.mailfrom=igalia.com; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b=IBl0Re54; arc=none smtp.client-ip=213.97.179.56
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=igalia.com
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com;
s=20170329; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:
Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
List-Subscribe:List-Post:List-Owner:List-Archive;
bh=gSyoNzyQ9XoEccUpbjxD2l1GqkZQQAGZqYL17arYIw4=; b=IBl0Re54obuqf9mSNuDqiOdJSg
ZbAClafroxSPdNCooQo7wmW3UuFNVVfSQ0g0133SSmzv7dmuSQjuB5YO+3AFn7HKLEj0xZa+EIhXL
ti2ut08nRCAuyvbI5CEFDg0K7TGPwtS+8sQm+volFpjwc25+EPWgRWbhWAOb0eevbUINuPmhuWzoe
mlaZMV4BPE8UlPC4SESrmf5+W0S6lI+AaS1zhByg4M9MWVFbD9wydk6gpjYlyqCPWCTWRGT7fL0fy
/9iljmJ1JPI564QznOrndjMoT331uTaMX6TqwSi3Ya1A5HxheGQlpTqPcExUpmIePmkwHDr5w4x0C
a5y2uQhg==;
Received: from [37.209.163.134] (helo=[172.16.18.203])
by fanzine2.igalia.com with esmtpsa
(Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128) (Exim)
id 1uN39Z-00HNjd-Dm; Thu, 05 Jun 2025 07:28:37 +0200
Message-ID: <5b18b631-c570-43fa-ac76-a09f0fb4363e@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 07:28:36 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] sched_ext: Make scx_locked_rq() shared
To: Andrea Righi <arighi@xxxxxxxxxx>, Tejun Heo <tj@xxxxxxxxxx>,
David Vernet <void@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
References: <20250604143547.708202-1-arighi@xxxxxxxxxx>
<20250604143547.708202-5-arighi@xxxxxxxxxx>
From: Changwoo Min <changwoo@xxxxxxxxxx>
Content-Language: en-US, ko-KR, en-US-large, ko
In-Reply-To: <20250604143547.708202-5-arighi@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Andrea,

On 6/4/25 23:33, Andrea Righi wrote:
> scx_locked_rq() is used both from ext.c and ext_idle.c, so make it
> public and declare its prototype in ext.h.

scx_rq_bypassing() is the same, but it is defined with "static inline".
Would it be better to define with "static inline" for consistency? And,
anyway scx_rq_bypassing() is used only within ext*.

Regards,
Changwoo Min

>
> No functional changes.
>
> Signed-off-by: Andrea Righi <arighi@xxxxxxxxxx>
> ---
> kernel/sched/ext.c | 2 +-
> kernel/sched/ext.h | 2 ++
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
> index 3e483138dff60..941603ec67e27 100644
> --- a/kernel/sched/ext.c
> +++ b/kernel/sched/ext.c
> @@ -1265,7 +1265,7 @@ static inline void update_locked_rq(struct rq *rq)
> * Return the rq currently locked from an scx callback, or NULL if no rq is
> * locked.
> */
> -static inline struct rq *scx_locked_rq(void)
> +struct rq *scx_locked_rq(void)
> {
> return __this_cpu_read(locked_rq);
> }
> diff --git a/kernel/sched/ext.h b/kernel/sched/ext.h
> index d30f2d1bc00d5..cda5dfa4dad09 100644
> --- a/kernel/sched/ext.h
> +++ b/kernel/sched/ext.h
> @@ -18,6 +18,8 @@ static inline bool scx_rq_bypassing(struct rq *rq)
> return unlikely(rq->scx.flags & SCX_RQ_BYPASSING);
> }
>
> +struct rq *scx_locked_rq(void);
> +
> DECLARE_STATIC_KEY_FALSE(scx_ops_allow_queued_wakeup);
>
> void scx_tick(struct rq *rq);



Return-Path: <linux-kernel+bounces-674060-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 306A941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:29:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A7DCB1896418
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:29:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CA8041E47A8;
Thu, 5 Jun 2025 05:29:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="bsf6NewJ"
Received: from esa6.fujitsucc.c3s2.iphmx.com (esa6.fujitsucc.c3s2.iphmx.com [68.232.159.83])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0C8C1DD0D4;
Thu, 5 Jun 2025 05:29:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=68.232.159.83
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101357; cv=fail; b=LfwClPm9wJGMwEzOWgSAjI5CDK5vYlA4yp6X3iD4oV3FMeSChmZITs5N2Zgz1o4m0ZhPKdyuBwd/IlHyMOHyNMrAeCILCKdKBqNmvzXocZDXcG0KwPjyeMJd933zkqyQT+P5IOX+4pAsn1pphYljDp5+VmJhYUIO11U37mL/6io=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101357; c=relaxed/simple;
bh=4WacdIv35+wOp98dew2rNUvaZoWPGatNnN/MLLZH6Mk=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=cfnmB18NmGIGSUtmTLym4iN+QHf5JSRyHRJIz1KIIWHD7sZx395wUX2/fiu5coKkr5X6M5XF6YJzj/BNMSARhNjnd1Uw0sd7lCb1mZDwMxcO1ro/gr0NWPW0J1yrT1MHHaWEXiNljvaK/FMNyqttYFU8h58kdwKP2QytAl1FgMY=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=bsf6NewJ; arc=fail smtp.client-ip=68.232.159.83
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fujitsu.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1;
t=1749101355; x=1780637355;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-transfer-encoding:mime-version;
bh=4WacdIv35+wOp98dew2rNUvaZoWPGatNnN/MLLZH6Mk=;
b=bsf6NewJKXhxQiThKYi2HKhj/5iW/O0WSP/DdOhJu8GeSDg3B+Cj1Xbh
Udk7RCQrjY6yUKokY8Md2I1nD9ODWUXdNONasedOyovaS8tYF1KUpM9ox
PEGihVllgCe7k/e2W7WgHh3HxVnFV2jBtSu5GD0ymLUKLQooajJrO8yIk
4aXu1Wixbf2BUs2blPFJkuFdhDwr8jst1EhHnZr2QViNX2Mrurcrx2VlW
ZsDqT0U/FqyAKfMNfIKLPbO0ZSnAK/DIgv5Y5lsYtH0i1XraLLqXpJ6Va
FN48YQUwy3S3GOzyf1rg1oS3p0o9vGzc5U2knMeRwjfwk3vRY8Uwkt78a
A==;
X-CSE-ConnectionGUID: wOqpEzyMQHOXeb0vh8TE9w==
X-CSE-MsgGUID: yUr2hx9mSpOerSS9v5jrHQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="157654801"
X-IronPort-AV: E=Sophos;i="6.16,211,1744038000";
d="scan'208";a="157654801"
Received: from mail-japaneastazon11010016.outbound.protection.outlook.com (HELO TY3P286CU002.outbound.protection.outlook.com) ([52.101.229.16])
by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2025 14:28:01 +0900
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=keaqVbbMxRtvgevSXaQdugwQKVFFX/TfmV5nUILGjsbBjD2AQmobAm9JNL0bANAGAtYQAm1XROgSGKK5W0lC3mtSQuopdh4x0AEzOhtvB4O+I+ELpyiMgtuyvxE5ppw92uI5LOWxgmrpj7FiSF/d4U4CXy4YDo/XYykAIScuxCwJTxOTRNYc1HgFoBlYPf29EqYXDQPFm3pQ6KCvAT3plSI6u4adGqqokPe6QDX62FN+RSlHTReob81UgSOHRNDdpLh2wj+kQR6Zi0hcQ6snFKhMzPhOrw9Zxy/Tl5vr9WSINhWfSPl4kcqFT9wfTzMGPgJDN+P1KI8sArvYaKm99Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=i+CS9X0uJhb8QJM2GuE1aLMDLzTdSPOhixu6ued5Dcg=;
b=yb5m9Ex6KlHx+ZEbWToJ581Noz4qgCbW2UE/w6X655rd/SYgaL9EbkuA6FFIhQ/Dl1JoQdHE43CAzglkkzbsE7Vrkdu5IG2fRRTG4jxRAho4s3werPRd4XRwAX55yTAv99/haGavCsz8920QQW57zjqbJHurmfn4cY8Pkqx1wFiHKgU1yLHcokN5yteaOFN/7cfUVRYQO5MDOM4LpiIOkbhvVDQtorviWHfubz24PpxJWqlXK7R28xltJSqnVCGkZrXFosZdwHCVoQNo7iXkHkBCklMVbk1xQrO8c14uoUjDIpKJfAfX5B+S+iMuwjHpQ0cGpSnreQLnYEVna2grww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com;
dkim=pass header.d=fujitsu.com; arc=none
Received: from TY4PR01MB13777.jpnprd01.prod.outlook.com (2603:1096:405:1f8::9)
by TYYPR01MB6761.jpnprd01.prod.outlook.com (2603:1096:400:cc::7) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Thu, 5 Jun
2025 05:27:56 +0000
Received: from TY4PR01MB13777.jpnprd01.prod.outlook.com
([fe80::60b7:270b:27c7:4fcc]) by TY4PR01MB13777.jpnprd01.prod.outlook.com
([fe80::60b7:270b:27c7:4fcc%7]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
05:27:56 +0000
From: "Toshiyuki Sato (Fujitsu)" <fj6611ie@xxxxxxxxxxx>
To: 'Petr Mladek' <pmladek@xxxxxxxx>, John Ogness <john.ogness@xxxxxxxxxxxxx>
CC: 'Michael Kelley' <mhklinux@xxxxxxxxxxx>, 'Ryo Takakura'
<ryotkkr98@xxxxxxxxx>, Russell King <linux@xxxxxxxxxxxxxxx>, Greg
Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, Jiri Slaby
<jirislaby@xxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "linux-serial@xxxxxxxxxxxxxxx"
<linux-serial@xxxxxxxxxxxxxxx>, "linux-arm-kernel@xxxxxxxxxxxxxxxxxxx"
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, "Toshiyuki Sato (Fujitsu)"
<fj6611ie@xxxxxxxxxxx>
Subject: RE: Problem with nbcon console and amba-pl011 serial port
Thread-Topic: Problem with nbcon console and amba-pl011 serial port
Thread-Index:
AdvULbS8DdGjT9TLS9OOSVhbv2AtDgAN1+gwAALFDgAAAfWTAAAeB8NgABQ6MwAAAXadAAAD5OQAABRXfIA=
Date: Thu, 5 Jun 2025 05:27:56 +0000
Message-ID:
<TY4PR01MB13777CC92C858572B9C19394FD76FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References:
<SN6PR02MB4157A4C5E8CB219A75263A17D46DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<OS7PR01MB13775FE1A20762D1EA4A38D0ED76DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<84y0u95e0j.fsf@xxxxxxxxxxxxxxxxxxxxx> <84plfl5bf1.fsf@xxxxxxxxxxxxxxxxxxxxx>
<TY4PR01MB13777674C22721FCD8ACF4FCCD76CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<aEApOPTqbVOR35F_@xxxxxxxxxxxxxxx> <84o6v3ohdh.fsf@xxxxxxxxxxxxxxxxxxxxx>
<aEBNLMYVUOGzusuR@xxxxxxxxxxxxxxx>
In-Reply-To: <aEBNLMYVUOGzusuR@xxxxxxxxxxxxxxx>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_ActionId=f68cbbd2-6115-4122-99d1-407f6af113b4;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_ContentBits=0;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_Enabled=true;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_Method=Privileged;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_Name=FUJITSU-PUBLIC?;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_SetDate=2025-06-04T23:30:40Z;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_SiteId=a19f121d-81e1-4858-a9d8-736e267fd4c7;
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=fujitsu.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: TY4PR01MB13777:EE_|TYYPR01MB6761:EE_
x-ms-office365-filtering-correlation-id: d5daddf9-9d8e-4e6e-f465-08dda3f1ba57
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
BCL:0;ARA:13230040|366016|7416014|376014|1800799024|38070700018|1580799027;
x-microsoft-antispam-message-info:
=?iso-2022-jp?B?eW01aW8ycUNnelNZUkdJTDlsWXlBekJscDJ0ZzE5MlNqWkFTdXYrdGlz?=
=?iso-2022-jp?B?ZElXRDloK0hWOE1qWEplV0RuY2VkVmhDZ0plSWxZS2hYcE84aEVVaHZT?=
=?iso-2022-jp?B?MGhXcHp1dlpQaWxXU0tJQlFVTXF5RUpSeW9KaFlic1RPRGs0WEw1d1F1?=
=?iso-2022-jp?B?Tk5sUCtMMldNdGtkN0k5aVg3T3Z5SURmRFJFek9UL3NreldDMDdjalRQ?=
=?iso-2022-jp?B?MlRQaW93SmM3K2ZFcnM1bXZwd2JiOER6RFI4ajZmQmRjbkFJZmtHL09m?=
=?iso-2022-jp?B?dlBwOEFlWmFSak8zck0vWGtmd0hGa1NOTThib09BekxRSmxYT00zVmRs?=
=?iso-2022-jp?B?VTRmR1NJcWhVMGtFTHo2bWdYbkNlbDQyQkFHYmJWVWE5eHhaOHhqTHh6?=
=?iso-2022-jp?B?Z0tkaFkxRk1lTmZsSHR2S3RBL3lKOXRpVXN0QklIYlU1dEZtcEZCRTg3?=
=?iso-2022-jp?B?ODVSK0tON3p5b3RVM2ZtcC90S3gvdU0zL0NVYkV0akp5cWRESzVEN0Jt?=
=?iso-2022-jp?B?cHkzS2xUYlNwTWRtYW1zcnV6N2ZjQkxOVFBIMUVzeEFaU1VRSTI4L2M4?=
=?iso-2022-jp?B?TjhJMnp1QjNNcTl6Z0pTR3QzY0R5b3Z2a3RBNlRweEQ5ZlJ0LzExeVVH?=
=?iso-2022-jp?B?WXJ2UjdXcWp2ekVpV1B5S0VCL3JBOHU5T1pWRnNrZjFPbExNUlpSYllV?=
=?iso-2022-jp?B?YktpSGVlc2wwM1ZYVUl0MDc5Y1FYMnhqTHZDVkNaWWp3RmtSRk9DM2ZM?=
=?iso-2022-jp?B?cWMxaFFXUyt4azJjaXBwVHRicGpHMkFnbWRaaSsyK0JwdGF0WWQ1Nk1L?=
=?iso-2022-jp?B?eFQ4Umc0SmJTRjJxTFB1NzFOd0lvS1B3ZjU0VTJTUFpheEJnaTIvQllk?=
=?iso-2022-jp?B?dmgyOU9Zb2p2MU1sN1RTbkR4TENLdXhxMnZJc2dQUlhzbnZQTGFVQkpy?=
=?iso-2022-jp?B?UXFSSTU1ZDBvcUxIMjRQTGZnaXc0K1RLMVJEL0dyc25hZkVkRThLbVM3?=
=?iso-2022-jp?B?WGhXN1c3eFlVcFVmNk5RRXJnWG5iQnVvRlVMQWs4V1dHeTVFais4L2Nx?=
=?iso-2022-jp?B?WFJhT0xhTisrL0RuRCs0RklhZUxDNy96MDVMUDMxcXRqT3N0eFpSNDR3?=
=?iso-2022-jp?B?MXF1L3VsY1RZeUpTMU9uQmFndDRKZzd5eVZBVGZnY0lsRWdVSXBxNHRK?=
=?iso-2022-jp?B?NXBYS3IzMDY0eGZaT0EyVVN2M2RkSVEwaDFISVFOT29FdHRmYm5mcmgx?=
=?iso-2022-jp?B?UjN0a3JIVkJVRFArbVU5MWNWSUtieWhQMHFSOFlGZGt1T3pjNUxJT3pj?=
=?iso-2022-jp?B?UTE4YWFrZ01kemNBSHRyN3JrbW5KUjA4T1loMUR5YkZRNFJhK0dXTEZm?=
=?iso-2022-jp?B?NHB3K054TVluYTZyaFNqaWNoaUI2cXNKd3o5NzkrUUtURUV4WHY0UGpp?=
=?iso-2022-jp?B?TGdFS3E2S1ZEdFlMRDRuWFp0bE1GUmRZRnBMVmZGczRHRzJuaEdsdDBj?=
=?iso-2022-jp?B?NnYvdVI5VEVRQ1lTWFpYb0pjSytLV045MkpMVWs3MDRwL0ZqT1pnNHc2?=
=?iso-2022-jp?B?UUF4dEc2OWU2MS9LL3YxWUdHa3dDa2Z0SWlNL2FlcGI5WnJHYWhDNEc3?=
=?iso-2022-jp?B?ZDExS3BWQ3p6T00zRGx6eVN5YTdrVzcwRXVjWnFILzFhVHlwY283RDI2?=
=?iso-2022-jp?B?Kzh2RHJ4M3Ard3ZSM25ScER4WWw5ZlVCT3cxUmJJbWNuZkk2V3NZYmtX?=
=?iso-2022-jp?B?Rk5WbzloS0EyWDZCMFd0aWEyN2FwbWpKRTExT3Nsajl6Tm1WTzdkeUJ0?=
=?iso-2022-jp?B?aWJsdVRZUTlZRHVBcG82eTVHcFRmNU1Ra2hSblpZWGV4TDF5d01TSzNM?=
=?iso-2022-jp?B?MENYWXpCeTAvNWdvVE90Mk9OaWxKdmxaVnd6MFgvUE5sTTlpcFNrVmVJ?=
=?iso-2022-jp?B?YmdoektmY2dzZjNKVW9UcXFTMVF3OGFqa1lrMWRTWmJ1ZXFEdzdtOWlU?=
=?iso-2022-jp?B?ZkVQUFRWOXZGSTFEY0tWckRvamRHVjN2Y3Z3VXZSVUNXSlg2aFhpM1RV?=
=?iso-2022-jp?B?eW9id2daM1RQZjBFRnhPWmFkaGdWWmFSK2pjVVFiRTVicFRoRUlBWmdV?=
=?iso-2022-jp?B?ZE9rY09LY2tFVG9pcUd3TzUyZWR0WFNqem9LcDFjelJmUllQSFhyUkJw?=
=?iso-2022-jp?B?V2VWVldlc3czNzZyVEI3UzVZclIzZk8r?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY4PR01MB13777.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(38070700018)(1580799027);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?iso-2022-jp?B?c1FldkdqNnJKVDlrMVdLRTFKaGxOVTJHZWM0VjUrbWIvai9nNExOK1NX?=
=?iso-2022-jp?B?K1BSMjB0VjJiUnRpQ0NGUjBxOEtFMjI5MkdiZ2pVUEtBRmIybG1IaWZO?=
=?iso-2022-jp?B?bkdnZFNId2t6ODFLaW8wdDd0VVNUbm91RWcxN2Z4allPRlA1V3YyYXky?=
=?iso-2022-jp?B?alZMS1Q4bzlIRjc0cGZzNjV3YVcvbWRwZ1J0OE9SVjVmZGVjcXFzdE1T?=
=?iso-2022-jp?B?L2VJcVpvSkM0WlFDcEZqaXpSRXhic0U0VWFQbGFuU1JLekFmNHB6dXM4?=
=?iso-2022-jp?B?ZXBTY3QydDY5eDJHR2pKTHE5VVFoTkFGTFl5YlNsTnVXL3NGZ0ptQXU2?=
=?iso-2022-jp?B?bXZWUDA0UE5lYmhlYkxyd0lUU3BYK0M4dTZHODU0OHF4YlZmVS9sOCtj?=
=?iso-2022-jp?B?RGc4VEZxT3NIRUlFdG54WllhNFAzOUUraHIzL0pGTFZOS0JaeTU2cHVY?=
=?iso-2022-jp?B?ZnRQdy9HNnVmV0p1UUF6dnp0REV5ekdUWUZEKzRQZ2Y4QzY4Y0duNHdq?=
=?iso-2022-jp?B?WGlvazVObWpoYzhib1grUG44V0hMQXVWNTdmT3NQRjRFUHpnTjZvSG40?=
=?iso-2022-jp?B?V0REY1hTL3NkLyswS1l2V3FjZWJEM1ZKMWQ3a3VLWG5ZS0hwQTA0bTRQ?=
=?iso-2022-jp?B?d2dyL3ZpeHVVOGJwbG9UTDVhTjdocDdWcVBxRjI4WGdKZkVHUm5qR2Na?=
=?iso-2022-jp?B?Ni9vZHNPdXJBYTY2TUI1dVd2YkR1bk8vMEltSGZRSjYwOFcvR21zUUtD?=
=?iso-2022-jp?B?T1NyQzF3b1AwcVU3eWVLeEN4K3krVzlCUDlrbFlMWEhOdXFqYkY4TC85?=
=?iso-2022-jp?B?QUY4REV2N3lHdlZBZndHMi9RMDlPQzRad2x4WThycmFJMmZsd2xuaTZl?=
=?iso-2022-jp?B?M0djYzdscUNDY0IwTmdwMGRsWXMvTGlvaHVBQnZ1dTE2Skx3ZmxBYUxV?=
=?iso-2022-jp?B?RlovNDNsTWNGRzRIZzFTZGlHOGY1VVNjbnBtcnlYOHN6YkZtcjdsZ3BV?=
=?iso-2022-jp?B?NGVXaDZCOHlzN3dQZ2JxcUYvT01od2x4NHhWSFVzenN1OS92dEl5cWFS?=
=?iso-2022-jp?B?eTNnTXBLdUhPWjJKcUFFQmYzL001eHkyQS9JWW1oRjJNUmoxUm5HUmhn?=
=?iso-2022-jp?B?ak41Z20yaFdtdE5MRHhuMFhxMVZkUGREZmpGRWNiR1kwL3U0b2M0eTBI?=
=?iso-2022-jp?B?V0JqQXBhU1pBQkdBOC81OWVHVUZmeWczczNKUWtqR3JqeVRtSmExY2dt?=
=?iso-2022-jp?B?WURRYWVFeE80WFEyWWZ4VG14RkwzSk82NEJqMzNWMWlLUEZUNW82UGJ6?=
=?iso-2022-jp?B?T0JQM0RWb3o3NTVBUGJpeGplaEpucUF3VTNuR1FjdTgrcnQwc0l4TzR5?=
=?iso-2022-jp?B?YlB5aEp1dUpPNmtOZ21URjB5b3ZCSFJIcTEzNTJWL3Y2WnlSc0ZhYkFG?=
=?iso-2022-jp?B?M0lkeUxlbUszNTEzckpLOCtmSE5lR0E3YUswaGtrVFZpUmo2aVZ1UTB2?=
=?iso-2022-jp?B?SU5jMXhncnRneXJNRjZhQWtkQ2VzTzJ4dExhNkhpazNzWEZhbDU2eHRh?=
=?iso-2022-jp?B?WUo5ejF6MkNJMlluOVBxK3ppcXFPNXR1Qis2M2xEUjVtbFJuUmE3SG1U?=
=?iso-2022-jp?B?T05pUGJmZFVraGErU3YvaFFPMEZ2QitaWGVGN3dDdlpMODUzc20rRzlv?=
=?iso-2022-jp?B?WGU0bDlMSDdyaUNqTllLSjhkV1VuUmh3WXQraHRvVXVJNm9nM2NtUGYx?=
=?iso-2022-jp?B?enVxdGlzT0RWbHV2QUJIK0x3WFU3ajFkRjJac2l5YnRHeTVaeFJCL2V1?=
=?iso-2022-jp?B?MEl1dXR5L1h0VlNWVDU5UW5OUHNtUUZjbjB4cHhhTWV6U0pkdUxxRm91?=
=?iso-2022-jp?B?cnhicDVxekVyZDJzc2dpa2dKcTJEeXJFYS9Rb0dDa2Q3UXBvRzN2MDhm?=
=?iso-2022-jp?B?S0N6ZTBCcjMwMjQ2UGdYand5M0xaSW1LbmpjSVpxdHFzbE4wMGpac1BD?=
=?iso-2022-jp?B?MmMreG5ZSGhUTGFyZ3EzdUpleGxUWnhEMDdLTWFwSTI4T3VMWVVNVUxD?=
=?iso-2022-jp?B?cHlteTFLNFVMVEVtYjNqa2NpM3Nhb21WWHJoVzZPc3pTem0rVzlJb01q?=
=?iso-2022-jp?B?OTVrZERENk14bDNYVm9iMHArR2hRZk1VVUVKUkMwL2xzeFYwbjRIOUM1?=
=?iso-2022-jp?B?TmJMR2M2YmVhdDZBOVdzSzJsbitOL0RDeVhWenYxdWtnamovaWZTdDFM?=
=?iso-2022-jp?B?eU9HWjJhR2hLby8yOTJ4TitOQzFxcGltbFlIRjJTZlBOekMzcW16RVcv?=
=?iso-2022-jp?B?SzZTbkFleDdsWXVmQzlPRUpCOUlVK2JPWHc9PQ==?=
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
EUiOUkhy/jENzmUhuZ008D4YlGGCJz5pBht/5tf9Ckd3JsqVeo3sd9tL8pr3T/L2thp5XOhtginHFHa1Gc/Ztm2bjmd2BfIysxkF4OVpQmIw7FH/NtfOI6RTfF3wte6n58BKF+Pu80OC4U3fEoslY5dErOtKKaC6nTWljl+pzGHhscwDBO85C1PDDmMMPKn3vzzuNZHiF3KIpw99HeN9IwEeMQ1Xkn6HQfQaJDYT17tv+A04n4ELDPtlDTQkONK1mZJd0N5Z0f+eRSPkfeOj82crH2O5OuHkutwHiwq8OzOyhttCv4rm/PKqtIrbzGPT0e4C72KuNZ2Fcdh5wtERbQ66CaJZDctvBUGsX41oC4gG6exSC9K/gykA8ZwaYpD+Y+xBxJtB9MEKYHjnZ+Pf/Mjmg22xLZs6TU/wX54Ze2rqFNSz8cBrxviPAzfsbHsUuJqraMgEm78bh4vpd9eom50dE5QwahgIXMx5BpNFIhzsOB513IN3dnY3hQFtBrjSV+2n3yVJqRQD8kVWme/fjVTmjNUnCcZ7aBvJBIUZk2EnvaNgQwc6sCzqKYncmemvCgvl17OazeVMfDeEkXh8AmO/xwRDU0s6EL+vhPOWgygNXbjlxd5+nBQibjZSdy6H
X-OriginatorOrg: fujitsu.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: TY4PR01MB13777.jpnprd01.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d5daddf9-9d8e-4e6e-f465-08dda3f1ba57
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 05:27:56.4979
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9GeVFuf7XPaosawI4kiqGUembLYm4bj0fNoGsFJQGhPzwTzXK8QlHYIOBv/kvoiLt3wyXIRr32vVPoRuy7CWUG5gCx1l5iBvkxK8W6uulXQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYPR01MB6761
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi John and Petr,

> On Wed 2025-06-04 13:56:34, John Ogness wrote:
> > On 2025-06-04, Petr Mladek <pmladek@xxxxxxxx> wrote:
> > > On Wed 2025-06-04 04:11:10, Toshiyuki Sato (Fujitsu) wrote:
> > >> > On 2025-06-03, John Ogness <john.ogness@xxxxxxxxxxxxx> wrote:
> > >> > > On 2025-06-03, "Toshiyuki Sato (Fujitsu)" <fj6611ie@xxxxxxxxxxx>=
wrote:
> > >> > >>> 4. pr_emerg() has a high logging level, and it effectively ste=
als the console
> > >> > >>> from the "pr/ttyAMA0" task, which I believe is intentional in =
the nbcon
> > >> > design.
> > >> > >>> Down in pl011_console_write_thread(), the "pr/ttyAMA0" task is=
doing
> > >> > >>> nbcon_enter_unsafe() and nbcon_exit_unsafe() around each chara=
cter
> > >> > >>> that it outputs. When pr_emerg() steals the console, nbcon_ex=
it_unsafe()
> > >> > >>> returns 0, so the "for" loop exits. pl011_console_write_thread=
() then
> > >> > >>> enters a busy "while" loop waiting to reclaim the console. It'=
s doing this
> > >> > >>> busy "while" loop with interrupts disabled, and because of the=
panic,
> > >> > >>> it never succeeds.
> > >
> > > I am a bit surprised that it never succeeds. The panic CPU takes over
> > > the ownership but it releases it when the messages are flushed. And
> > > the original owner should be able to reacquire it in this case.
> >
> > The problem is that other_cpu_in_panic() will return true forever, whic=
h
> > will cause _all_ acquires to fail forever. Originally we did allow
> > non-panic to take over again after panic releases ownership. But IIRC w=
e
> > removed that capability because it allowed us to reduce a lot of
> > complexity. And now nbcon_waiter_matches() relies on "Lower priorities
> > are ignored during panic() until reboot."
>=20
> Great catch! I forgot it. And it explains everything.
>=20
> It would be nice to mention this in the commit message or
> in the comment above nbcon_reacquire_nobuf().
>=20
> My updated prosal of the comment is:
>=20
> * Return: True when the context reacquired the owner ship. The caller
> * might try entering the unsafe state and restore the original
> * console device setting. It must not access the output buffer
> * anymore.
> *
> * False when another CPU is in panic(). nbcon_try_acquire()
> * would never succeed and the infinite loop would prevent
> * stopping this CPU on architectures without proper NMI.
> * The caller should bail out immediately without
> * touching the console device or the output buffer.
>=20
> Best Regards,
> Petr

Thank you for your comments and suggestions.

After consideration,=20
I believe that there is no problem with forcibly terminating the process wh=
en=20
nbcon_reacquire_nobuf returns false at the pl011 driver level,=20
as in the test patch.

It feels a bit harsh that a thread which started processing before the pani=
c
and then transferred ownership to an atomic operation isn't allowed to perf=
orm
cleanup during panic handling or the grace period before the CPU halts.

I would like to hear your opinion on this.
If nbcon_reacquire_nobuf() could acquire ownership even after the panic,=20
then driver-side modifications might not be necessary.=20
(The responsibility to complete the process without hindering the panic pro=
cess
would still remain.)

Would it be difficult to make an exception to the rule,
"Lower priorities are ignored during panic() until reboot,"
depending on the situation?

This is just my personal opinion.
I think it would be good to get feedback from other UART driver developers =
as well.

Regards,
Toshiyuki Sato



Return-Path: <linux-kernel+bounces-674061-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 727E441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:35:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 53D083AAB69
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:35:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 461241C862E;
Thu, 5 Jun 2025 05:35:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="opGC/FK+";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="mVStbnYJ";
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="kgXs7i7Z";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="fX6Ozx35"
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
(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 A52A82F5B
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:35:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101747; cv=none; b=AIgLPvemVxfOfZCYRbUtxGqd9gnUI5T/oZszB3WaCuUf+RYUv4NOwzCHA7BIdp//EqEI4f1WjKUJa+1R1890v1Y12qsU4E7in13c4/SJuuvrp0GqvpuH17fwION73doTFEcZ82SDS+xDZlfjLniGpDppC2OmURcu06599daQKfk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101747; c=relaxed/simple;
bh=dPXmYki4HgBNXKP/cxr+cuwHNklk+QBR3oBdoZeE380=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=qyNQAnCSQrMHpwPdEgqcl1M6pdmSeGUwYZ6skiMLIw55+vlQH3Q9cuMnX/m09MpyLWEk0YY1bBspFGcuXMxE6FG+7h59IkKN74cTA0Z2smRGxiyV5VpDgqRLRSCbTmIKEqfVGjKe2cId64gyju0TmLAzfN4i7so6/VLEI3rr1JU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz; spf=pass smtp.mailfrom=suse.cz; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=opGC/FK+; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=mVStbnYJ; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=kgXs7i7Z; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=fX6Ozx35; arc=none smtp.client-ip=195.135.223.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.cz
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out2.suse.de (Postfix) with ESMTPS id 8531820F36;
Thu, 5 Jun 2025 05:35:42 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1749101743; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=1zFAGQL67yIQc08V/ieb98UHjH10SiwbBG8bKHtslCM=;
b=opGC/FK+X/amAbI8TD8upYCIdj52TjB9v23NlEUGYUmwrxlFWiB+4o11qvKVCfSnIQ02M/
TMo44PohSX2FYkJnmp/UJLhm5LWOLSuLLAa5eUhoKPZ0vSPNh3UU38SGrO5bsSgnUhCcdu
o8XQ66BMUUrBBGhWUWFfKaesxbaYbEk=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1749101743;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=1zFAGQL67yIQc08V/ieb98UHjH10SiwbBG8bKHtslCM=;
b=mVStbnYJRxmOSzfgQZ4Z+SQcVHQbcE2XFKPHvqqEcwgnv/MqdDS1S2iPf5QmUPWBb0CFW6
rrHSlX6P5WKtUbDA==
Authentication-Results: smtp-out2.suse.de;
dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=kgXs7i7Z;
dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=fX6Ozx35
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1749101742; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=1zFAGQL67yIQc08V/ieb98UHjH10SiwbBG8bKHtslCM=;
b=kgXs7i7ZJpwhv7O5hSTAYxiyX1AoiwEPv8s3fTt04AIogTtDuZVsE74hWOhYs70KzuL9O5
89FTka3ziGQM2V+gZJUlII467p1innTJepmrkX7iUnMpe7tyDi74tdSX/FwIt4pTyX1x4R
LXir1RVqdOegjjud/zo08iBwAB7Or80=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1749101742;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=1zFAGQL67yIQc08V/ieb98UHjH10SiwbBG8bKHtslCM=;
b=fX6Ozx351SYd+2xEia0RYSEK82xgM844lCILj809drn9eEFHgB2K7X9mJunBKgIt/O4QCW
QioPojtA22WMTHAw==
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 64CE21398F;
Thu, 5 Jun 2025 05:35:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id C6czGK4sQWhlCgAAD6G6ig
(envelope-from <vbabka@xxxxxxx>); Thu, 05 Jun 2025 05:35:42 +0000
Message-ID: <fcab18fd-9752-4da1-83f4-243ad0b2b974@xxxxxxx>
Date: Thu, 5 Jun 2025 07:35:42 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] mm: rename CONFIG_PAGE_BLOCK_ORDER to
CONFIG_PAGE_BLOCK_MAX_ORDER.
To: Zi Yan <ziy@xxxxxxxxxx>, david@xxxxxxxxxx
Cc: Liam.Howlett@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,
isaacmanjarres@xxxxxxxxxx, jyescas@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx, masahiroy@xxxxxxxxxx, mhocko@xxxxxxxx,
minchan@xxxxxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx,
tjmercier@xxxxxxxxxx, Anshuman Khandual <anshuman.khandual@xxxxxxx>,
Oscar Salvador <osalvador@xxxxxxx>
References: <20250604211427.1590859-1-ziy@xxxxxxxxxx>
From: Vlastimil Babka <vbabka@xxxxxxx>
Content-Language: en-US
Autocrypt: addr=vbabka@xxxxxxx; keydata=
xsFNBFZdmxYBEADsw/SiUSjB0dM+vSh95UkgcHjzEVBlby/Fg+g42O7LAEkCYXi/vvq31JTB
KxRWDHX0R2tgpFDXHnzZcQywawu8eSq0LxzxFNYMvtB7sV1pxYwej2qx9B75qW2plBs+7+YB
87tMFA+u+L4Z5xAzIimfLD5EKC56kJ1CsXlM8S/LHcmdD9Ctkn3trYDNnat0eoAcfPIP2OZ+
9oe9IF/R28zmh0ifLXyJQQz5ofdj4bPf8ecEW0rhcqHfTD8k4yK0xxt3xW+6Exqp9n9bydiy
tcSAw/TahjW6yrA+6JhSBv1v2tIm+itQc073zjSX8OFL51qQVzRFr7H2UQG33lw2QrvHRXqD
Ot7ViKam7v0Ho9wEWiQOOZlHItOOXFphWb2yq3nzrKe45oWoSgkxKb97MVsQ+q2SYjJRBBH4
8qKhphADYxkIP6yut/eaj9ImvRUZZRi0DTc8xfnvHGTjKbJzC2xpFcY0DQbZzuwsIZ8OPJCc
LM4S7mT25NE5kUTG/TKQCk922vRdGVMoLA7dIQrgXnRXtyT61sg8PG4wcfOnuWf8577aXP1x
6mzw3/jh3F+oSBHb/GcLC7mvWreJifUL2gEdssGfXhGWBo6zLS3qhgtwjay0Jl+kza1lo+Cv
BB2T79D4WGdDuVa4eOrQ02TxqGN7G0Biz5ZLRSFzQSQwLn8fbwARAQABzSBWbGFzdGltaWwg
QmFia2EgPHZiYWJrYUBzdXNlLmN6PsLBlAQTAQoAPgIbAwULCQgHAwUVCgkICwUWAgMBAAIe
AQIXgBYhBKlA1DSZLC6OmRA9UCJPp+fMgqZkBQJnyBr8BQka0IFQAAoJECJPp+fMgqZkqmMQ
AIbGN95ptUMUvo6aAdhxaOCHXp1DfIBuIOK/zpx8ylY4pOwu3GRe4dQ8u4XS9gaZ96Gj4bC+
jwWcSmn+TjtKW3rH1dRKopvC07tSJIGGVyw7ieV/5cbFffA8NL0ILowzVg8w1ipnz1VTkWDr
2zcfslxJsJ6vhXw5/npcY0ldeC1E8f6UUoa4eyoskd70vO0wOAoGd02ZkJoox3F5ODM0kjHu
Y97VLOa3GG66lh+ZEelVZEujHfKceCw9G3PMvEzyLFbXvSOigZQMdKzQ8D/OChwqig8wFBmV
QCPS4yDdmZP3oeDHRjJ9jvMUKoYODiNKsl2F+xXwyRM2qoKRqFlhCn4usVd1+wmv9iLV8nPs
2Db1ZIa49fJet3Sk3PN4bV1rAPuWvtbuTBN39Q/6MgkLTYHb84HyFKw14Rqe5YorrBLbF3rl
M51Dpf6Egu1yTJDHCTEwePWug4XI11FT8lK0LNnHNpbhTCYRjX73iWOnFraJNcURld1jL1nV
r/LRD+/e2gNtSTPK0Qkon6HcOBZnxRoqtazTU6YQRmGlT0v+rukj/cn5sToYibWLn+RoV1CE
Qj6tApOiHBkpEsCzHGu+iDQ1WT0Idtdynst738f/uCeCMkdRu4WMZjteQaqvARFwCy3P/jpK
uvzMtves5HvZw33ZwOtMCgbpce00DaET4y/UzsBNBFsZNTUBCACfQfpSsWJZyi+SHoRdVyX5
J6rI7okc4+b571a7RXD5UhS9dlVRVVAtrU9ANSLqPTQKGVxHrqD39XSw8hxK61pw8p90pg4G
/N3iuWEvyt+t0SxDDkClnGsDyRhlUyEWYFEoBrrCizbmahOUwqkJbNMfzj5Y7n7OIJOxNRkB
IBOjPdF26dMP69BwePQao1M8Acrrex9sAHYjQGyVmReRjVEtv9iG4DoTsnIR3amKVk6si4Ea
X/mrapJqSCcBUVYUFH8M7bsm4CSxier5ofy8jTEa/CfvkqpKThTMCQPNZKY7hke5qEq1CBk2
wxhX48ZrJEFf1v3NuV3OimgsF2odzieNABEBAAHCwXwEGAEKACYCGwwWIQSpQNQ0mSwujpkQ
PVAiT6fnzIKmZAUCZ8gcVAUJFhTonwAKCRAiT6fnzIKmZLY8D/9uo3Ut9yi2YCuASWxr7QQZ
lJCViArjymbxYB5NdOeC50/0gnhK4pgdHlE2MdwF6o34x7TPFGpjNFvycZqccSQPJ/gibwNA
zx3q9vJT4Vw+YbiyS53iSBLXMweeVV1Jd9IjAoL+EqB0cbxoFXvnjkvP1foiiF5r73jCd4PR
rD+GoX5BZ7AZmFYmuJYBm28STM2NA6LhT0X+2su16f/HtummENKcMwom0hNu3MBNPUOrujtW
khQrWcJNAAsy4yMoJ2Lw51T/5X5Hc7jQ9da9fyqu+phqlVtn70qpPvgWy4HRhr25fCAEXZDp
xG4RNmTm+pqorHOqhBkI7wA7P/nyPo7ZEc3L+ZkQ37u0nlOyrjbNUniPGxPxv1imVq8IyycG
AN5FaFxtiELK22gvudghLJaDiRBhn8/AhXc642/Z/yIpizE2xG4KU4AXzb6C+o7LX/WmmsWP
Ly6jamSg6tvrdo4/e87lUedEqCtrp2o1xpn5zongf6cQkaLZKQcBQnPmgHO5OG8+50u88D9I
rywqgzTUhHFKKF6/9L/lYtrNcHU8Z6Y4Ju/MLUiNYkmtrGIMnkjKCiRqlRrZE/v5YFHbayRD
dJKXobXTtCBYpLJM4ZYRpGZXne/FAtWNe4KbNJJqxMvrTOrnIatPj8NhBVI0RSJRsbilh6TE
m6M14QORSWTLRg==
In-Reply-To: <20250604211427.1590859-1-ziy@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spamd-Result: default: False [-4.51 / 50.00];
BAYES_HAM(-3.00)[99.99%];
NEURAL_HAM_LONG(-1.00)[-1.000];
R_DKIM_ALLOW(-0.20)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
NEURAL_HAM_SHORT(-0.20)[-1.000];
MIME_GOOD(-0.10)[text/plain];
MX_GOOD(-0.01)[];
FUZZY_BLOCKED(0.00)[rspamd.com];
RCVD_VIA_SMTP_AUTH(0.00)[];
ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
ARC_NA(0.00)[];
RCPT_COUNT_TWELVE(0.00)[18];
MIME_TRACE(0.00)[0:+];
MID_RHS_MATCH_FROM(0.00)[];
RCVD_TLS_ALL(0.00)[];
DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
FROM_EQ_ENVFROM(0.00)[];
FROM_HAS_DN(0.00)[];
TO_DN_SOME(0.00)[];
RCVD_COUNT_TWO(0.00)[2];
TO_MATCH_ENVRCPT_ALL(0.00)[];
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.cz:dkim,suse.cz:mid,suse.cz:email,suse.de:email,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,nvidia.com:email];
DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received];
DKIM_TRACE(0.00)[suse.cz:+]
X-Spam-Level:
X-Rspamd-Queue-Id: 8531820F36
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Score: -4.51
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/4/25 23:14, Zi Yan wrote:
> The config is in fact an additional upper limit of pageblock_order, so
> rename it to avoid confusion.
>
> Signed-off-by: Zi Yan <ziy@xxxxxxxxxx>
> Acked-by: David Hildenbrand <david@xxxxxxxxxx>
> Reviewed-by: Oscar Salvador <osalvador@xxxxxxx>
> Acked-by: Juan Yescas <jyescas@xxxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>



Return-Path: <linux-kernel+bounces-674062-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5204F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:38:11 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 501CB3AABBA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:37:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D51A11C862E;
Thu, 5 Jun 2025 05:38:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="Ij7+9azR";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="5RkvKdmz";
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="Ij7+9azR";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="5RkvKdmz"
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
(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 94569143748
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:38:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101882; cv=none; b=CKDn0XJ2HWR6pYfxrTGLJIslhKXvmdSU3mHKAetaWAKesdRQ/CbTRZGvKJbOTRkBOA6mtikN5B/paz5qf93yjBn/B8kAT9qFGupONh8RYFtvZWQ0cmakmNJVHPFAXiHAL5Ziawxugp3VTUfqRlylApfBtOCFSnd2OAZbyKgHHQM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101882; c=relaxed/simple;
bh=UWMiDXTwi+K0vUuRHbSxTC7Rdz/fRhT1hhjrX2ZVBF8=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=tv/dudhgXWyHMKeXVHzKF9FWn7fZg+BL5t/FCIK4grU5pNUfGala+gDPfk8AZXBSAuwqYZvmHnbCgHKZInJtpg4oXOVuVnS/gsuC7Mcnec/GP22F9b2kufexa9iO+KOLJqVYfTxZ22KEflp5mLB2mfs0AIGvPaG4EYNzkKFLhPI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz; spf=pass smtp.mailfrom=suse.cz; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=Ij7+9azR; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=5RkvKdmz; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=Ij7+9azR; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=5RkvKdmz; arc=none smtp.client-ip=195.135.223.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.cz
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out2.suse.de (Postfix) with ESMTPS id 6ED0820F59;
Thu, 5 Jun 2025 05:37:58 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1749101878; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=vuGLCQpn5AslmnobyJ9njxeoOM6y1bQAbwZuRmCBw64=;
b=Ij7+9azRYdTL2kUxIkW7OAKPuvespTmvgE394/hh2adHRhqpA05ciugydQN6y+Tuz5WT5b
hdlpJjcQewzDDxXfl1CFg/nPsCarVphb4AMGcjv4E0xSbw0YSa1gK9LbDlpern2KxDLasu
6FsQgWe/xhJokK22b24x6l+DoyyES74=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1749101878;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=vuGLCQpn5AslmnobyJ9njxeoOM6y1bQAbwZuRmCBw64=;
b=5RkvKdmzWVXz3FaTxNX8ALYrqU08+a/y1+l1LZS+YJmCE5yofn8cFLVqxLlZ0SEOf6dQjV
malTIq0JNqXpcwCA==
Authentication-Results: smtp-out2.suse.de;
dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=Ij7+9azR;
dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=5RkvKdmz
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1749101878; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=vuGLCQpn5AslmnobyJ9njxeoOM6y1bQAbwZuRmCBw64=;
b=Ij7+9azRYdTL2kUxIkW7OAKPuvespTmvgE394/hh2adHRhqpA05ciugydQN6y+Tuz5WT5b
hdlpJjcQewzDDxXfl1CFg/nPsCarVphb4AMGcjv4E0xSbw0YSa1gK9LbDlpern2KxDLasu
6FsQgWe/xhJokK22b24x6l+DoyyES74=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1749101878;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=vuGLCQpn5AslmnobyJ9njxeoOM6y1bQAbwZuRmCBw64=;
b=5RkvKdmzWVXz3FaTxNX8ALYrqU08+a/y1+l1LZS+YJmCE5yofn8cFLVqxLlZ0SEOf6dQjV
malTIq0JNqXpcwCA==
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 5465B1398F;
Thu, 5 Jun 2025 05:37:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id XnHzEzYtQWjmCgAAD6G6ig
(envelope-from <vbabka@xxxxxxx>); Thu, 05 Jun 2025 05:37:58 +0000
Message-ID: <f1a3e3c1-103f-46d4-aa0e-ea057e78954d@xxxxxxx>
Date: Thu, 5 Jun 2025 07:37:58 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] mm/gup: remove (VM_)BUG_ONs
Content-Language: en-US
To: John Hubbard <jhubbard@xxxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
"Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>, Mike Rapoport
<rppt@xxxxxxxxxx>, Suren Baghdasaryan <surenb@xxxxxxxxxx>,
Michal Hocko <mhocko@xxxxxxxx>, Jason Gunthorpe <jgg@xxxxxxxx>,
Peter Xu <peterx@xxxxxxxxxx>
References: <20250604140544.688711-1-david@xxxxxxxxxx>
<d08f2cb4-f76b-4ffb-b6fa-2a5a419fb86b@xxxxxxxxxx>
From: Vlastimil Babka <vbabka@xxxxxxx>
Autocrypt: addr=vbabka@xxxxxxx; keydata=
xsFNBFZdmxYBEADsw/SiUSjB0dM+vSh95UkgcHjzEVBlby/Fg+g42O7LAEkCYXi/vvq31JTB
KxRWDHX0R2tgpFDXHnzZcQywawu8eSq0LxzxFNYMvtB7sV1pxYwej2qx9B75qW2plBs+7+YB
87tMFA+u+L4Z5xAzIimfLD5EKC56kJ1CsXlM8S/LHcmdD9Ctkn3trYDNnat0eoAcfPIP2OZ+
9oe9IF/R28zmh0ifLXyJQQz5ofdj4bPf8ecEW0rhcqHfTD8k4yK0xxt3xW+6Exqp9n9bydiy
tcSAw/TahjW6yrA+6JhSBv1v2tIm+itQc073zjSX8OFL51qQVzRFr7H2UQG33lw2QrvHRXqD
Ot7ViKam7v0Ho9wEWiQOOZlHItOOXFphWb2yq3nzrKe45oWoSgkxKb97MVsQ+q2SYjJRBBH4
8qKhphADYxkIP6yut/eaj9ImvRUZZRi0DTc8xfnvHGTjKbJzC2xpFcY0DQbZzuwsIZ8OPJCc
LM4S7mT25NE5kUTG/TKQCk922vRdGVMoLA7dIQrgXnRXtyT61sg8PG4wcfOnuWf8577aXP1x
6mzw3/jh3F+oSBHb/GcLC7mvWreJifUL2gEdssGfXhGWBo6zLS3qhgtwjay0Jl+kza1lo+Cv
BB2T79D4WGdDuVa4eOrQ02TxqGN7G0Biz5ZLRSFzQSQwLn8fbwARAQABzSBWbGFzdGltaWwg
QmFia2EgPHZiYWJrYUBzdXNlLmN6PsLBlAQTAQoAPgIbAwULCQgHAwUVCgkICwUWAgMBAAIe
AQIXgBYhBKlA1DSZLC6OmRA9UCJPp+fMgqZkBQJnyBr8BQka0IFQAAoJECJPp+fMgqZkqmMQ
AIbGN95ptUMUvo6aAdhxaOCHXp1DfIBuIOK/zpx8ylY4pOwu3GRe4dQ8u4XS9gaZ96Gj4bC+
jwWcSmn+TjtKW3rH1dRKopvC07tSJIGGVyw7ieV/5cbFffA8NL0ILowzVg8w1ipnz1VTkWDr
2zcfslxJsJ6vhXw5/npcY0ldeC1E8f6UUoa4eyoskd70vO0wOAoGd02ZkJoox3F5ODM0kjHu
Y97VLOa3GG66lh+ZEelVZEujHfKceCw9G3PMvEzyLFbXvSOigZQMdKzQ8D/OChwqig8wFBmV
QCPS4yDdmZP3oeDHRjJ9jvMUKoYODiNKsl2F+xXwyRM2qoKRqFlhCn4usVd1+wmv9iLV8nPs
2Db1ZIa49fJet3Sk3PN4bV1rAPuWvtbuTBN39Q/6MgkLTYHb84HyFKw14Rqe5YorrBLbF3rl
M51Dpf6Egu1yTJDHCTEwePWug4XI11FT8lK0LNnHNpbhTCYRjX73iWOnFraJNcURld1jL1nV
r/LRD+/e2gNtSTPK0Qkon6HcOBZnxRoqtazTU6YQRmGlT0v+rukj/cn5sToYibWLn+RoV1CE
Qj6tApOiHBkpEsCzHGu+iDQ1WT0Idtdynst738f/uCeCMkdRu4WMZjteQaqvARFwCy3P/jpK
uvzMtves5HvZw33ZwOtMCgbpce00DaET4y/UzsBNBFsZNTUBCACfQfpSsWJZyi+SHoRdVyX5
J6rI7okc4+b571a7RXD5UhS9dlVRVVAtrU9ANSLqPTQKGVxHrqD39XSw8hxK61pw8p90pg4G
/N3iuWEvyt+t0SxDDkClnGsDyRhlUyEWYFEoBrrCizbmahOUwqkJbNMfzj5Y7n7OIJOxNRkB
IBOjPdF26dMP69BwePQao1M8Acrrex9sAHYjQGyVmReRjVEtv9iG4DoTsnIR3amKVk6si4Ea
X/mrapJqSCcBUVYUFH8M7bsm4CSxier5ofy8jTEa/CfvkqpKThTMCQPNZKY7hke5qEq1CBk2
wxhX48ZrJEFf1v3NuV3OimgsF2odzieNABEBAAHCwXwEGAEKACYCGwwWIQSpQNQ0mSwujpkQ
PVAiT6fnzIKmZAUCZ8gcVAUJFhTonwAKCRAiT6fnzIKmZLY8D/9uo3Ut9yi2YCuASWxr7QQZ
lJCViArjymbxYB5NdOeC50/0gnhK4pgdHlE2MdwF6o34x7TPFGpjNFvycZqccSQPJ/gibwNA
zx3q9vJT4Vw+YbiyS53iSBLXMweeVV1Jd9IjAoL+EqB0cbxoFXvnjkvP1foiiF5r73jCd4PR
rD+GoX5BZ7AZmFYmuJYBm28STM2NA6LhT0X+2su16f/HtummENKcMwom0hNu3MBNPUOrujtW
khQrWcJNAAsy4yMoJ2Lw51T/5X5Hc7jQ9da9fyqu+phqlVtn70qpPvgWy4HRhr25fCAEXZDp
xG4RNmTm+pqorHOqhBkI7wA7P/nyPo7ZEc3L+ZkQ37u0nlOyrjbNUniPGxPxv1imVq8IyycG
AN5FaFxtiELK22gvudghLJaDiRBhn8/AhXc642/Z/yIpizE2xG4KU4AXzb6C+o7LX/WmmsWP
Ly6jamSg6tvrdo4/e87lUedEqCtrp2o1xpn5zongf6cQkaLZKQcBQnPmgHO5OG8+50u88D9I
rywqgzTUhHFKKF6/9L/lYtrNcHU8Z6Y4Ju/MLUiNYkmtrGIMnkjKCiRqlRrZE/v5YFHbayRD
dJKXobXTtCBYpLJM4ZYRpGZXne/FAtWNe4KbNJJqxMvrTOrnIatPj8NhBVI0RSJRsbilh6TE
m6M14QORSWTLRg==
In-Reply-To: <d08f2cb4-f76b-4ffb-b6fa-2a5a419fb86b@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spamd-Result: default: False [-4.51 / 50.00];
BAYES_HAM(-3.00)[100.00%];
NEURAL_HAM_LONG(-1.00)[-1.000];
R_DKIM_ALLOW(-0.20)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
NEURAL_HAM_SHORT(-0.20)[-1.000];
MIME_GOOD(-0.10)[text/plain];
MX_GOOD(-0.01)[];
RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
RCVD_VIA_SMTP_AUTH(0.00)[];
ARC_NA(0.00)[];
RCPT_COUNT_TWELVE(0.00)[12];
FUZZY_BLOCKED(0.00)[rspamd.com];
MIME_TRACE(0.00)[0:+];
ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
RCVD_TLS_ALL(0.00)[];
MID_RHS_MATCH_FROM(0.00)[];
DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
FROM_EQ_ENVFROM(0.00)[];
FROM_HAS_DN(0.00)[];
TO_DN_SOME(0.00)[];
RCVD_COUNT_TWO(0.00)[2];
TO_MATCH_ENVRCPT_ALL(0.00)[];
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.cz:dkim,suse.cz:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,nvidia.com:email];
DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received];
DKIM_TRACE(0.00)[suse.cz:+]
X-Spam-Level:
X-Rspamd-Queue-Id: 6ED0820F59
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Score: -4.51
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/5/25 03:07, John Hubbard wrote:
> On 6/4/25 7:05 AM, David Hildenbrand wrote:
>> Especially once we hit one of the assertions in
>> sanity_check_pinned_pages(), observing follow-up assertions failing
>> in other code can give good clues about what went wrong, so use
>> VM_WARN_ON_ONCE instead.
>>
>> While at it, let's just convert all VM_BUG_ON to VM_WARN_ON_ONCE as
>> well. Add one comment for the pfn_valid() check.
>
> It would be a nice touch to add Linus' notes here, with the BUG() history
> and all. It answers a FAQ about BUG vs. WARN* that is really nice
> to have in the commit log.

Perhaps then rather put it somewhere appropriate in Documentation/process/
than a random commit log?

> This looks great.
>
> Looking ahead, should we also *delete* VM_BUG_ON*() items? (Not as part
> of this patch, of course.)
>
> In any case,
>
> Reviewed-by: John Hubbard <jhubbard@xxxxxxxxxx>
>
> thanks,



Return-Path: <linux-kernel+bounces-674063-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AE25641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:38:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id CB2F93AABEB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:38:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 867F71D63C6;
Thu, 5 Jun 2025 05:38:34 +0000 (UTC)
Received: from mail-io1-f78.google.com (mail-io1-f78.google.com [209.85.166.78])
(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 701BA1C4A20
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:38:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.78
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749101914; cv=none; b=sXT7c8uC75RNidZYft4u8a1n/Aww9qgQQREnBiF5vpVK3FARQ+IWHiuZPWjyJFokrev3mx9hyAzYPbA/pd9TBGLWsdK+Kahp1uuSlzyDquWmX/h5kJcRepfb079p335Hsj+HNr+isy9zhbNADFrxiSJv6i6zf7QR8dVfyfMZd3s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749101914; c=relaxed/simple;
bh=tMqMAA3iVFoF1SuMHImtQIU8xCmSQzbCRJ6EArjILYQ=;
h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type; b=RHXHSKZiWLvE2qT1lT7HaXLTzHEpudX2m/m++RhvdemkPr2NUTbKu3iUpK1pNhbKD8MXSZEGa+7ZPByAWm0gwPS6+KpHXWOlw5Gjd5vpugVkyZa6fUvpiUV4cAHKf5oVgbIIGbFtsVrGsJa8Y98zoTxPydzZQch3sPS/mo/Yd4I=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.78
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-io1-f78.google.com with SMTP id ca18e2360f4ac-86cf8ce80e4so50879739f.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 22:38:32 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749101911; x=1749706711;
h=to:from:subject:message-id:date:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=/z+LQtVXLG6xTh29GCPAc32w5jdO5ogRdmbiKbJuFqk=;
b=xJjuv98cZDZL+0aNsNdauDzFMUWe4TEEbyTEoRGcxKInfvgNGNUMFBK9wtS84X40Np
ci/fojc3pn6y+0COcP2o1ZwBaP5LYv5SqMKoamxVrcPiModtgUPFPxTlEGFtLG5JGBXu
lLZYkMxr3zayqRJsli+OxPftX9vAxy+kT1KbIHY2COhVdE6JJ97mjGvcgN8aOud6ebvE
fiUh99+u9a/D0ExkUEhquDXemyYHw8va9GfpLEMqD75b9XWsM5Q20P6/f1XD9IcxL+fe
n3E/RK1Z+B2Dhtn2fXIOvHVbjIGXdDEohQXAF3keIV4xauDGQ0S1lJnCDnL6/LY7PMQs
pp3g==
X-Forwarded-Encrypted: i=1; AJvYcCXZVeZqhqFeiVRRYrzylHLQ97aMwSrEIyOpaPVIgagqMchBaNAAGjLzfAUReYbwNB92JZ1HiT6Kh61xJfU=@vger.kernel.org
X-Gm-Message-State: AOJu0Yxb/yGSTFb7hg7wM2g/8GLcrfVw0pLjQs1v2afjtle/tIWb0+Bo
zlBk1+b2omcP4EI6RKn7noW0bm6DWIWX5XJ7GzCFqDdlg+YSkZTNbQrnFCqU0Ay23VDw2T+0Gpg
+w29pmBEsqDBE1xTMb0xYQ1jrLhRApOOTYVfW1yCr48iRSOJgQX9pF++LO+A=
X-Google-Smtp-Source: AGHT+IEbDqBJiTkeootdL8HXdYfl9FLp8xb9KNkcNyZgJE4vrkPq9BZXR3dVRbdpopg2vuAL1bDO+z30QRvKUj8RKaVb8Km1+g0z
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6e02:19c9:b0:3d8:2023:d048 with SMTP id
e9e14a558f8ab-3ddbedc9af7mr67269165ab.22.1749101911438; Wed, 04 Jun 2025
22:38:31 -0700 (PDT)
Date: Wed, 04 Jun 2025 22:38:31 -0700
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <68412d57.050a0220.2461cf.000e.GAE@xxxxxxxxxx>
Subject: [syzbot] [mm?] kernel BUG in try_to_unmap_one (2)
From: syzbot <syzbot+3b220254df55d8ca8a61@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: Liam.Howlett@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, david@xxxxxxxxxx,
harry.yoo@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx, riel@xxxxxxxxxxx, syzkaller-bugs@xxxxxxxxxxxxxxxx,
vbabka@xxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-0.5 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SORTED_RECIPS,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no
version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello,

syzbot found the following issue on:

HEAD commit: d7fa1af5b33e Merge branch 'for-next/core' into for-kernelci
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci
console output: https://syzkaller.appspot.com/x/log.txt?x=1757300c580000
kernel config: https://syzkaller.appspot.com/x/.config?x=89c13de706fbf07a
dashboard link: https://syzkaller.appspot.com/bug?extid=3b220254df55d8ca8a61
compiler: Debian clang version 20.1.6 (++20250514063057+1e4d39e07757-1~exp1~20250514183223.118), Debian LLD 20.1.6
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=150f7ed4580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=13745970580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/da97ad659b2c/disk-d7fa1af5.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/659e123552a8/vmlinux-d7fa1af5.xz
kernel image: https://storage.googleapis.com/syzbot-assets/6ec5dbf4643e/Image-d7fa1af5.gz.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+3b220254df55d8ca8a61@xxxxxxxxxxxxxxxxxxxxxxxxx

head: 05ffc00000000309 fffffdffc6628001 0080000000000000 0000000100000000
head: ffffffff00000000 0000000000000024 00000000ffffffff 0000000000000200
page dumped because: VM_BUG_ON_FOLIO(!pvmw.pte)
------------[ cut here ]------------
kernel BUG at mm/rmap.c:1955!
Internal error: Oops - BUG: 00000000f2000800 [#1] SMP
Modules linked in:
CPU: 1 UID: 0 PID: 9503 Comm: syz-executor315 Not tainted 6.15.0-rc7-syzkaller-gd7fa1af5b33e #0 PREEMPT
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : try_to_unmap_one+0x2c54/0x2d40 mm/rmap.c:1955
lr : try_to_unmap_one+0x2c54/0x2d40 mm/rmap.c:1955
sp : ffff80009e906380
x29: ffff80009e9065e0 x28: 0000000000000038
x27: ffff0000c9dbee80
x26: fffffdffc6628018 x25: fffffdffc6628030 x24: dfff800000000000
x23: ffff0000d84efdc0 x22: ffff0000d84efde0 x21: 0000000000000001
x20: fffffdffc6628000 x19: 05ffc00000020849 x18: 00000000ffffffff
x17: 0000000000000000 x16: ffff80008adbe9e4 x15: 0000000000000001
x14: 1fffe0003386f2e2 x13: 0000000000000000 x12: 0000000000000000
x11: ffff60003386f2e3 x10: 0000000000ff0100 x9 : 664e624a89365e00
x8 : 664e624a89365e00 x7 : 0000000000000001 x6 : 0000000000000001
x5 : ffff80009e905a98 x4 : ffff80008f415ba0 x3 : ffff8000807b4b68
x2 : 0000000000000001 x1 : 0000000100000001 x0 : 000000000000002f
Call trace:
try_to_unmap_one+0x2c54/0x2d40 mm/rmap.c:1955 (P)
rmap_walk_anon+0x47c/0x640 mm/rmap.c:2834
rmap_walk+0x128/0x1e8 mm/rmap.c:2939
try_to_unmap+0xc4/0x120 mm/rmap.c:2263
unmap_poisoned_folio+0x278/0x4a4 mm/memory-failure.c:1610
shrink_folio_list+0x608/0x4410 mm/vmscan.c:1131
reclaim_folio_list+0xdc/0x5d0 mm/vmscan.c:2217
reclaim_pages+0x420/0x544 mm/vmscan.c:2254
madvise_cold_or_pageout_pte_range+0x1d38/0x20d4 mm/madvise.c:434
walk_pmd_range mm/pagewalk.c:130 [inline]
walk_pud_range mm/pagewalk.c:226 [inline]
walk_p4d_range mm/pagewalk.c:264 [inline]
walk_pgd_range+0xb4c/0x16bc mm/pagewalk.c:305
__walk_page_range+0x13c/0x654 mm/pagewalk.c:412
walk_page_range_mm+0x4fc/0x7dc mm/pagewalk.c:505
walk_page_range+0x80/0x98 mm/pagewalk.c:584
madvise_pageout_page_range mm/madvise.c:617 [inline]
madvise_pageout mm/madvise.c:644 [inline]
madvise_vma_behavior mm/madvise.c:1269 [inline]
madvise_walk_vmas mm/madvise.c:1530 [inline]
madvise_do_behavior+0x1940/0x2908 mm/madvise.c:1695
do_madvise mm/madvise.c:1782 [inline]
__do_sys_madvise mm/madvise.c:1790 [inline]
__se_sys_madvise mm/madvise.c:1788 [inline]
__arm64_sys_madvise+0x10c/0x154 mm/madvise.c:1788
__invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
el0_svc+0x58/0x17c arch/arm64/kernel/entry-common.c:767
el0t_64_sync_handler+0x78/0x108 arch/arm64/kernel/entry-common.c:786
el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600
Code: f9404be0 b0051fc1 910c8021 97fdefe4 (d4210000)
---[ end trace 0000000000000000 ]---


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup


Return-Path: <linux-kernel+bounces-674064-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1DC9241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:42:43 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id D5A343AABD9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:42:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CEA891E500C;
Thu, 5 Jun 2025 05:42:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="b6qRKP0q"
Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169])
(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 46D99143748;
Thu, 5 Jun 2025 05:42:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102150; cv=none; b=MHcGF5mLXWWQLIGBoDPxacOjh2gqrVWK1O/fj3RWlHQ/Yh7x30kWPgsAf29GUIRC/489wuqd+vKYSiUnef5Pg0IHzDXYIBadIsrSu3jM0eOx61IsOYDCCLjjQwmobkug9UwDugXypJ0pzKdbdfYQZ+iu0T2CupKRuVZaY8Xun1A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102150; c=relaxed/simple;
bh=X0y//244IcVVvTsWhfk0S4rqcPTMLP52+OwILkbFL8Y=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=ea/VaNH56/8RVfO12Kfd8XAtFNMF0jIWYUrM6mY4h5ma4QlsOL9sMJgwiiFqESnufPAPmkdwe2egvtFF03ZEiKfK73ct9145uic4/5T1RS8wkYGCESgLEL+FMkG8ecIe7zOW8ISbewrP0Wsm1pZmIHPKct9h/rjmayOpL0NpqpY=
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=b6qRKP0q; arc=none smtp.client-ip=209.85.214.169
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
Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2350fc2591dso5076145ad.1;
Wed, 04 Jun 2025 22:42:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749102147; x=1749706947; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=anP5W6fw320yDkAAyVm5897/IbGfmYVQQj7SpOyp4mo=;
b=b6qRKP0qYjkIz7CBusQF5P1fUkApuPibCbk2norDITz2XfOpK+hmI4oEigNaINFFp1
aZyjcgIBgvt+l5mZYpOX3zf/e166vYJ369U24W9ob0BwJ50wMK9FwDF96YKbHQJqEyMO
gpbi8vR8q0VhJIdCxycZ6jCYH8pbNP5sNmatGBrJ61H4hAO4LUzP+lCnNxBrTGuPdKb/
BfbNxOU77gn3twxW4J6lNGWsgiQd689IB6ta4xnNa6Jcbcp8wyqlbyJV4ENP99xeVP4r
PFNV9eleKJHd9ai3dsLayFbBJ6k9cVVvFYOAZH+6RJ2tPPaGk5AWYL3Tkr5C91h1+Kao
cheA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749102147; x=1749706947;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=anP5W6fw320yDkAAyVm5897/IbGfmYVQQj7SpOyp4mo=;
b=JuNikvqrhymNLIjtraNYcX6vQHRyE1XYhISKQrTQ8JHgORZCdtrzUBJL3qX0DNKrJP
qVklZLfDVGQJyWKVAYTsQO6scd8PjMxxqxrUfaAdMMiESAFEpvoD26ZZbkSWiRaF1BEH
6CpBZCWE0oUzRzQ5RrNp6282sgAHlTb1enoVJWZHmRQCz5tkSOHJHNamBfApYzTL0jnK
X+2Y1yD/NORum4mE10YmtW70B/JQ3/f5mYNzl37ICiREG2vmpAj8Tv8Fb+CZDtobgQUn
QOIY4ySl3UTcah9BeKmuF6ukcr/GShO+ULKoqvWEAqZ4PCGdgtapijdcqXHCV3d7DJdB
j8aQ==
X-Forwarded-Encrypted: i=1; AJvYcCVd1wr3CjX8JD/8ze/8ty6bVRPFcZVg0GtvDxGxjRvln8Btqk8A+zYkGIWJh6h8OnTKJbWOiCC4Q5lv2M6b+w==@vger.kernel.org, AJvYcCVgO7ETQG6PpOHYjbI+yWEr9jQaqogHk+x8Jcx/+U+RZWkxriVRolHbcfj3jqoxyxIOpL4Aw3Ju2u0xpiJj@xxxxxxxxxxxxxxx, AJvYcCX2P7Aig5TKa4m93MiGMIe3HURgwRd+Auocf3tWbcRxWZCfo5bubKh5pMi3Jmj+cfNrIuGXeApd+c+P@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YxSYw4+dOFdFQCKILD3F7Vnl1sx14OENL7tCOrPAWtyxLC8SkOs
pZoZ9EJzGWAH5bDuBRQvNMkr48z8d5kywmVMxXe0wrwP0fln8VK02OF3
X-Gm-Gg: ASbGncvhaby2Ekl1HKzAHbDRe3u8VYCyKx8NyEvf4zyAwGgBoihdJBZbkuWdLJ/L77/
1iYMH6nh3Y50ibspB5CS1uos/bohqNCSwRmwSBEvlc1LhxvFib3Nb4kGGroV9gP/kq+pJ+gEA61
CRx5UuOEMWXDs4fx/rshyG5fBz9sCqrAtFWgqFDNE2kGp0oXyGNfPw2afbnDuUpqCwmZSVMT1BU
TqPPprQoZ4EDyc99VrppuJGHGAmBNOASv7MwDiYBPszRz0XdxgZcE8IjuxCBM+0sXzjmsTabX65
BCAdiEgSeixfCF08cw3reEJZ7P92IhupAuvIOD9pbqVj7CF/lVyZPbiKKQNm
X-Google-Smtp-Source: AGHT+IFCRmkaMSnG2reBq/Mk6gUiWv+HC+u8ZSYfXBxUTCY1h97OzxQazuFRIY4xJjJP6MiBUBuGqA==
X-Received: by 2002:a17:902:f54a:b0:231:c9bb:6106 with SMTP id d9443c01a7336-235f153ac77mr29654275ad.9.1749102147146;
Wed, 04 Jun 2025 22:42:27 -0700 (PDT)
Received: from nuvole.. ([144.202.86.13])
by smtp.gmail.com with ESMTPSA id d9443c01a7336-23506cd8cf0sm112609215ad.155.2025.06.04.22.42.23
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 22:42:26 -0700 (PDT)
From: Pengyu Luo <mitltlatltl@xxxxxxxxx>
To: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: Pengyu Luo <mitltlatltl@xxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH] arm64: dts: qcom: sc8280xp: Add GPI DMA configuration
Date: Thu, 5 Jun 2025 13:42:07 +0800
Message-ID: <20250605054208.402581-1-mitltlatltl@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

SPI on SC8280XP requires DMA (GSI) mode to function properly. Without it,
SPI controllers fall back to FIFO mode, which causes:

[ 0.901296] geni_spi 898000.spi: error -ENODEV: Failed to get tx DMA ch
[ 0.901305] geni_spi 898000.spi: FIFO mode disabled, but couldn't get DMA, fall back to FIFO mode
...
[ 45.605974] goodix-spi-hid spi0.0: SPI transfer timed out
[ 45.605988] geni_spi 898000.spi: Can't set CS when prev xfer running
[ 46.621555] spi_master spi0: failed to transfer one message from queue
[ 46.621568] spi_master spi0: noqueue transfer failed
[ 46.621577] goodix-spi-hid spi0.0: spi transfer error: -110
[ 46.621585] goodix-spi-hid spi0.0: probe with driver goodix-spi-hid failed with error -110

Therefore, add GPI DMA controller nodes for qup{0,1,2}, and add DMA
channels for SPI and I2C, UART is excluded for now, as it does not
yet support this mode.

Note that, since there is no public schematic, this configuration
is derived from Windows drivers. The drivers do not expose any DMA
channel mask information, so all available channels are enabled.

Signed-off-by: Pengyu Luo <mitltlatltl@xxxxxxxxx>
---
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 368 +++++++++++++++++++++++++
1 file changed, 368 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index 87555a119..ff93ef837 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -10,6 +10,7 @@
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/clock/qcom,sc8280xp-camcc.h>
#include <dt-bindings/clock/qcom,sc8280xp-lpasscc.h>
+#include <dt-bindings/dma/qcom-gpi.h>
#include <dt-bindings/interconnect/qcom,osm-l3.h>
#include <dt-bindings/interconnect/qcom,sc8280xp.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
@@ -912,6 +913,32 @@ gpu_speed_bin: gpu-speed-bin@18b {
};
};

+ gpi_dma2: dma-controller@800000 {
+ compatible = "qcom,sc8280xp-gpi-dma", "qcom,sm6350-gpi-dma";
+ reg = <0 0x00800000 0 0x60000>;
+
+ interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH>;
+
+ dma-channels = <12>;
+ dma-channel-mask = <0xfff>;
+ #dma-cells = <3>;
+
+ iommus = <&apps_smmu 0xb6 0x0>;
+
+ status = "disabled";
+ };
+
qup2: geniqup@8c0000 {
compatible = "qcom,geni-se-qup";
reg = <0 0x008c0000 0 0x2000>;
@@ -939,6 +966,12 @@ i2c16: i2c@880000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 6 QCOM_GPI_SPI>,
+ <&gpi_dma2 1 6 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -955,6 +988,12 @@ spi16: spi@880000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 0 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 0 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -971,6 +1010,12 @@ i2c17: i2c@884000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 0 QCOM_GPI_SPI>,
+ <&gpi_dma2 1 0 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -987,6 +1032,12 @@ spi17: spi@884000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 1 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 1 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1017,6 +1068,12 @@ i2c18: i2c@888000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 1 QCOM_GPI_SPI>,
+ <&gpi_dma2 1 1 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1033,6 +1090,12 @@ spi18: spi@888000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 2 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 2 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1067,6 +1130,12 @@ i2c19: i2c@88c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 2 QCOM_GPI_SPI>,
+ <&gpi_dma2 1 2 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1083,6 +1152,12 @@ spi19: spi@88c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 3 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1099,6 +1174,12 @@ i2c20: i2c@890000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 3 QCOM_GPI_SPI>,
+ <&gpi_dma2 1 3 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1115,6 +1196,12 @@ spi20: spi@890000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 4 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1131,6 +1218,12 @@ i2c21: i2c@894000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 5 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1147,6 +1240,12 @@ spi21: spi@894000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 4 QCOM_GPI_SPI>,
+ <&gpi_dma2 1 4 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1163,6 +1262,12 @@ i2c22: i2c@898000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 6 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 6 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1179,6 +1284,12 @@ spi22: spi@898000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>,
+ <&gpi_dma2 1 5 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1195,6 +1306,12 @@ i2c23: i2c@89c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 7 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 7 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1211,10 +1328,43 @@ spi23: spi@89c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_2 0>,
<&aggre1_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma2 0 7 QCOM_GPI_SPI>,
+ <&gpi_dma2 1 7 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};
};

+ gpi_dma0: dma-controller@900000 {
+ compatible = "qcom,sc8280xp-gpi-dma", "qcom,sm6350-gpi-dma";
+ reg = <0 0x00900000 0 0x60000>;
+
+ interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
+
+ dma-channels = <13>;
+ dma-channel-mask = <0x1fff>;
+ #dma-cells = <3>;
+
+ iommus = <&apps_smmu 0x576 0x0>;
+
+ status = "disabled";
+ };
+
qup0: geniqup@9c0000 {
compatible = "qcom,geni-se-qup";
reg = <0 0x009c0000 0 0x6000>;
@@ -1242,6 +1392,12 @@ i2c0: i2c@980000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 7 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1258,6 +1414,12 @@ spi0: spi@980000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 0 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1274,6 +1436,12 @@ i2c1: i2c@984000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 0 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1290,6 +1458,12 @@ spi1: spi@984000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 1 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1306,6 +1480,12 @@ i2c2: i2c@988000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 1 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1322,6 +1502,12 @@ spi2: spi@988000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 2 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1352,6 +1538,12 @@ i2c3: i2c@98c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 2 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1368,6 +1560,12 @@ spi3: spi@98c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 3 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1384,6 +1582,12 @@ i2c4: i2c@990000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 3 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1400,6 +1604,12 @@ spi4: spi@990000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 4 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1416,6 +1626,12 @@ i2c5: i2c@994000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 4 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1432,6 +1648,12 @@ spi5: spi@994000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 5 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1448,6 +1670,12 @@ i2c6: i2c@998000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 5 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1464,6 +1692,12 @@ spi6: spi@998000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 6 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1480,6 +1714,12 @@ i2c7: i2c@99c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 6 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1496,10 +1736,42 @@ spi7: spi@99c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>,
<&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma0 0 7 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 7 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};
};

+ gpi_dma1: dma-controller@a00000 {
+ compatible = "qcom,sc8280xp-gpi-dma", "qcom,sm6350-gpi-dma";
+ reg = <0 0x00a00000 0 0x60000>;
+
+ interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
+
+ dma-channels = <12>;
+ dma-channel-mask = <0xfff>;
+ #dma-cells = <3>;
+
+ iommus = <&apps_smmu 0x96 0x0>;
+
+ status = "disabled";
+ };
+
qup1: geniqup@ac0000 {
compatible = "qcom,geni-se-qup";
reg = <0 0x00ac0000 0 0x6000>;
@@ -1527,6 +1799,12 @@ i2c8: i2c@a80000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 7 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 7 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1543,6 +1821,12 @@ spi8: spi@a80000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 0 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1559,6 +1843,12 @@ i2c9: i2c@a84000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 0 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1575,6 +1865,12 @@ spi9: spi@a84000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 1 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1591,6 +1887,12 @@ i2c10: i2c@a88000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 1 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1607,6 +1909,12 @@ spi10: spi@a88000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 2 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1623,6 +1931,12 @@ i2c11: i2c@a8c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 2 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1639,6 +1953,12 @@ spi11: spi@a8c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 3 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1655,6 +1975,12 @@ i2c12: i2c@a90000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 3 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1671,6 +1997,12 @@ spi12: spi@a90000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 4 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1687,6 +2019,12 @@ i2c13: i2c@a94000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 4 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1703,6 +2041,12 @@ spi13: spi@a94000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 5 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1719,6 +2063,12 @@ i2c14: i2c@a98000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 5 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1735,6 +2085,12 @@ spi14: spi@a98000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 6 QCOM_GPI_I2C>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1751,6 +2107,12 @@ i2c15: i2c@a9c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 6 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 6 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};

@@ -1767,6 +2129,12 @@ spi15: spi@a9c000 {
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>,
<&aggre1_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "qup-core", "qup-config", "qup-memory";
+
+ dmas = <&gpi_dma1 0 7 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 7 QCOM_GPI_SPI>;
+ dma-names = "tx",
+ "rx";
+
status = "disabled";
};
};
--
2.49.0



Return-Path: <linux-kernel+bounces-674065-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 900E741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:48:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 57E963AAC0A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:47:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 54B841DE8AF;
Thu, 5 Jun 2025 05:48:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="R4L+vMRr"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 858D12AE74;
Thu, 5 Jun 2025 05:48:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102486; cv=none; b=Ye5o/qHazV1XOeAn7vTnLB8NSXf1xTCbdkPyag705Q7QKMvDHZ6s7gjJ58Ohpp0OANJHuCEHnpDHRaDe8NUvJkF0yAz/vgUWurO+cmTnISNXarw3IakO1EP4KTJdLAP18GXuERTSK+1toR8HMThuf19ld3IbDhMCq1E4cVM5bwk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102486; c=relaxed/simple;
bh=9t5rT9ry6WPHa53KUFn8dkbO9OaKcc8ExoqUN9Ekk5U=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=OUOSqKjQ3ZeQgoa+5Pz6MC+iVmWB52I0xVOFntSqVQLDaOzQNuhSMqqU1kwGSM6G+2WW73JZB3ztTCtvzxA3oDfrwdOQJe0Cr9NAjsqYN1OeyEDr0j3knMvZJh5A1c1hvhj8R5li9dAmIRwJl25Ssoon78tLKApWvVp5/kcErZc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=R4L+vMRr; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6D1CEC4CEE7;
Thu, 5 Jun 2025 05:48:03 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749102486;
bh=9t5rT9ry6WPHa53KUFn8dkbO9OaKcc8ExoqUN9Ekk5U=;
h=Date:Subject:To:References:From:In-Reply-To:From;
b=R4L+vMRr6jtUNaccghDB5FifpMtUuRHZ1mq3p5RzbIDFNeRtZ9P4QeEHATFzOzMw9
o9lOGuqSIALSiNnveV+r+BiHeQrnEI6vJSDAkWg0w6+3E7CWm4/QomlmA2ySlt7pR0
03b4qxFYCWywntenPlTzhVqMsl8H70OmvM9DholIxjxbFwKieqmLndYZsG4eDK/QUK
mzjhpsnz7Qv8ZXzrptNkDjBuhCtcKlDc1k/Ba3NVisRoJXZ1Sw6gENzthiRjt/xEkW
SZ5yJfJiTlpBpAbBVtOcgZ/dI4CsoBJMGeUDIm6O6JsXHOZ28hvNPvdQZ6nq8nrzPh
KyGBG10wlv8bg==
Message-ID: <e9a1d863-a08c-4f6a-97b3-4a752606544a@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 07:48:01 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] dt-bindings: mailbox: Add ASPEED AST2700 series
SoC
To: Jammy Huang <jammy_huang@xxxxxxxxxxxxxx>,
"jassisinghbrar@xxxxxxxxx" <jassisinghbrar@xxxxxxxxx>,
"robh@xxxxxxxxxx" <robh@xxxxxxxxxx>, "krzk+dt@xxxxxxxxxx"
<krzk+dt@xxxxxxxxxx>, "conor+dt@xxxxxxxxxx" <conor+dt@xxxxxxxxxx>,
"joel@xxxxxxxxx" <joel@xxxxxxxxx>,
"andrew@xxxxxxxxxxxxxxxxxxxx" <andrew@xxxxxxxxxxxxxxxxxxxx>,
"devicetree@xxxxxxxxxxxxxxx" <devicetree@xxxxxxxxxxxxxxx>,
"linux-arm-kernel@xxxxxxxxxxxxxxxxxxx"
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
"linux-aspeed@xxxxxxxxxxxxxxxx" <linux-aspeed@xxxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
References: <20250604125558.1614523-1-jammy_huang@xxxxxxxxxxxxxx>
<20250604125558.1614523-2-jammy_huang@xxxxxxxxxxxxxx>
<e27f3ea6-943d-4d78-b4d6-85d0dd521fe7@xxxxxxxxxx>
<TYZPR06MB656866677C78C34A5AFDC985F16FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <TYZPR06MB656866677C78C34A5AFDC985F16FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 05/06/2025 03:44, Jammy Huang wrote:
>> On 04/06/2025 14:55, Jammy Huang wrote:
>>> +
>>> +examples:
>>> + - |
>>> + #include <dt-bindings/interrupt-controller/arm-gic.h>
>>> +
>>> + mailbox@12c1c200 {
>>> + compatible = "aspeed,ast2700-mailbox";
>>> + reg = <0x0 0x12c1c200 0x0 0x200>;
>>
>> Last time I asked to test, you responded you will test. What happened?
>> You did not test. This is just disappointing.
> I did test for my last patch. In the end, the errors shown as below did not include ast2700-mailbox.
> So I think it is ok. I will check what's wrong on my environment.

No, it is not ok and with simple dt_binding_check I immediately
reproduced the issue (wrong addresses in example), thus you did not test it.

Best regards,
Krzysztof


Return-Path: <linux-kernel+bounces-674066-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B6B1141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:48:58 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 068A93AAC42
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:48:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C4DA11E4928;
Thu, 5 Jun 2025 05:48:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b="O9DIo/F4"
Received: from layka.disroot.org (layka.disroot.org [178.21.23.139])
(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 3BBCC1C862E
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:48:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=178.21.23.139
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102534; cv=none; b=CeyLgSM3bcjkVXqbGqZ8xKi7qTwYMKN33w8wzv6+hd6fpMB8xvBJ0gkXS2WgR78tCN+Gqa8rR01Dm3HVp0NUJhHt9s2uqH80EY43ifDkGXmu9obNE8FVPzS624iH9DHKG4KfFkh1p5JVLo/kJ4B+MSBoAKujXqRrIXM/QsE1r7Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102534; c=relaxed/simple;
bh=ioeIikdVNsjZwbe54sIZrips7vq25Iqvahj3ht89His=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=tKjzNMU6SDvggemk3NSuAM6R7UPoNE6mFwbBXNZIjFufSybkQ6HAJi5VLfqmQgDncGiPlxY08OMEeOJ8oIwt07CeeRCS7YmQIoOYGBwHvvjcx8/LQgy04EC9FphCifX9Reqy1cFpcJcpDEIDVV3EBuWlQHhJUfDxhaJr9AC0gxg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=disroot.org; spf=pass smtp.mailfrom=disroot.org; dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b=O9DIo/F4; arc=none smtp.client-ip=178.21.23.139
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=disroot.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=disroot.org
Received: from mail01.disroot.lan (localhost [127.0.0.1])
by disroot.org (Postfix) with ESMTP id 6B96426012;
Thu, 5 Jun 2025 07:48:48 +0200 (CEST)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
id ghSKkJ2gbIWl; Thu, 5 Jun 2025 07:48:47 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
t=1749102527; bh=ioeIikdVNsjZwbe54sIZrips7vq25Iqvahj3ht89His=;
h=From:To:Cc:Subject:Date;
b=O9DIo/F4cwKDNXUl/A7auardTOia3VtgJUzXGM9mQ6Wn0tIxCcdX2ukrwrSV7h6O/
ZyX7nSfsK1/9eZX3QH4lO0hOhStJ+SAeWqyIWa6pFJnotYZBZgSRZtC1T933pb4+kk
mb6wekyO7yMPpibJ0nHcZFlIVNbixIMssPg0Ar4CAR8VcGMH87u7Ihh4F096oNTuvv
DZkrfcwLtIyfbnajZR2HZZdyYNVPzJN3QQiJ9rTiswQQg3Poj2wndDsOI8G4r3tv2n
W4cAg39n6/qOgKdi2ljbA5jU46sw6oPZvswbspw8IIavT9id9c+TOIDe95FQjaNhPn
amde2fiDzyoug==
From: Yao Zi <ziyao@xxxxxxxxxxx>
To: Huacai Chen <chenhuacai@xxxxxxxxxx>,
Jianmin Lv <lvjianmin@xxxxxxxxxxx>,
WANG Xuerui <kernel@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx,
loongarch@xxxxxxxxxxxxxxx,
Mingcong Bai <jeffbai@xxxxxxx>,
Kexy Biscuit <kexybiscuit@xxxxxxx>,
Yao Zi <ziyao@xxxxxxxxxxx>
Subject: [PATCH v2 0/2] Backlight control improvements for loongson_laptop
Date: Thu, 5 Jun 2025 05:48:26 +0000
Message-ID: <20250605054828.15093-1-ziyao@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

I've observed strange screen brightness changes on TongFang L860-T2
3A5000 laptop after resumption. It's found that a brightness value that
doesn't match the hardware state before suspension is "restored" for the
EC, causing the strange behavior.

This series fixes the behavior by obtaining EC's brightness setting
instead of using a constant as current brightness on probe.

While digging through the code, I've found some unused,
power-control-related functions in the driver. They're cleaned up and
used to support power control of backlight in the second patch as well.

Changed from v1:
- Reword commit message of PATCH 1
- PATCH 2
- Always issue a power-on command on probe to ensure the backlight has
been powered, matching our expectation
- Cache backlight state in the driver to reduce interaction with EC
- Link to v1: https://lore.kernel.org/loongarch/20250531113851.21426-1-ziyao@xxxxxxxxxxx/

Yao Zi (2):
platform/loongarch: laptop: Get brightness setting from EC on probe
platform/loongarch: laptop: Support backlight power control

drivers/platform/loongarch/loongson-laptop.c | 78 ++++++++++----------
1 file changed, 39 insertions(+), 39 deletions(-)

--
2.49.0



Return-Path: <linux-kernel+bounces-674067-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A767F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:49:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 3497B1753DB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:49:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DC7BD1F181F;
Thu, 5 Jun 2025 05:48:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b="BDMRmr5e"
Received: from layka.disroot.org (layka.disroot.org [178.21.23.139])
(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 E254C1DDC22;
Thu, 5 Jun 2025 05:48:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=178.21.23.139
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102535; cv=none; b=T6Cy/NQ7+52top0Za5E8wTmFbmxe8YAu0IC/AbBInpCFqyziFTqiDpHrpQFDodJEh/ali9o3zrtRWXl/Xlu2jBsTSzBTTuDtCiqHawUeuVekmmW/jg798ka7kzNjf2QGT75M4m7cuPDzyNr/cnzPaJr4YJWRcqOTfaCtQaVp+hM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102535; c=relaxed/simple;
bh=i7Lj9tfu5NAQfMbyaPdpkBbDZUvI5+SMvlElgB75CI0=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=Pmu19KBegPPT7FdAq7rqhlr9KKyJeQch0WKZorJNl/MMpJd0xqRKpqcOMHgYQXkPwBNaeY8FDEVBuURGc7zSPlExaiDKYcpOLONN3aH+Wr914XvOafVM++IJGbtmWdgq/YOExjG6ALqMirtSU3TzIgisKp5EJaHihMH1ThS8R8k=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=disroot.org; spf=pass smtp.mailfrom=disroot.org; dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b=BDMRmr5e; arc=none smtp.client-ip=178.21.23.139
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=disroot.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=disroot.org
Received: from mail01.disroot.lan (localhost [127.0.0.1])
by disroot.org (Postfix) with ESMTP id 71CED260B0;
Thu, 5 Jun 2025 07:48:51 +0200 (CEST)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
id 6IFpYv2bA_xj; Thu, 5 Jun 2025 07:48:50 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
t=1749102530; bh=i7Lj9tfu5NAQfMbyaPdpkBbDZUvI5+SMvlElgB75CI0=;
h=From:To:Cc:Subject:Date:In-Reply-To:References;
b=BDMRmr5eXNBGMSorzdB5BFXakNR12aprNezRo8j7hFAeFrKI9c5LNNA0m8aUGiT9l
dTMf3OKHkccJiuUPWnie7wNEZGvMJuqnN1uEEOUNReuNR60M2dDP7RdxDoSY1qUioF
X4oL6lwllNVHjN9h7zDfqlc5o5pp4wOMTn2nM3ACMrC2Le2R6Cyf9lG3YwMykj9qHL
/v4GIWEMuMei0Z1+BeJnp5EWCELLZtMmNbnONHpKEsxnoG8DYtn0/53oKHCat38vD8
G1R2xC58bl29LcHugHeuWAtV6qHhichRvcHttrWYroWqm+ZzMk/FBNntem1sLYSB6s
636z8lfl0HFGA==
From: Yao Zi <ziyao@xxxxxxxxxxx>
To: Huacai Chen <chenhuacai@xxxxxxxxxx>,
Jianmin Lv <lvjianmin@xxxxxxxxxxx>,
WANG Xuerui <kernel@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx,
loongarch@xxxxxxxxxxxxxxx,
Mingcong Bai <jeffbai@xxxxxxx>,
Kexy Biscuit <kexybiscuit@xxxxxxx>,
Yao Zi <ziyao@xxxxxxxxxxx>,
stable@xxxxxxxxxxxxxxx
Subject: [PATCH v2 1/2] platform/loongarch: laptop: Get brightness setting from EC on probe
Date: Thu, 5 Jun 2025 05:48:27 +0000
Message-ID: <20250605054828.15093-2-ziyao@xxxxxxxxxxx>
In-Reply-To: <20250605054828.15093-1-ziyao@xxxxxxxxxxx>
References: <20250605054828.15093-1-ziyao@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Previously during probe, 1 is unconditionally taken as current
brightness value and set to props.brightness, which will be considered
as the brightness before suspend and restored to EC on resume. Since a
brightness value of 1 almost never matches EC's state on coldboot (my
laptop's EC defaults to 80), this causes surprising changes of screen
brightness on the first time of resume after coldboot.

Let's get brightness from EC and take it as the current brightness on
probe of the laptop driver to avoid the surprising behavior. Tested on
TongFang L860-T2 3A5000 laptop.

Cc: stable@xxxxxxxxxxxxxxx
Fixes: 6246ed09111f ("LoongArch: Add ACPI-based generic laptop driver")
Signed-off-by: Yao Zi <ziyao@xxxxxxxxxxx>
---
drivers/platform/loongarch/loongson-laptop.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/loongarch/loongson-laptop.c b/drivers/platform/loongarch/loongson-laptop.c
index 99203584949d..828bd62e3596 100644
--- a/drivers/platform/loongarch/loongson-laptop.c
+++ b/drivers/platform/loongarch/loongson-laptop.c
@@ -392,7 +392,7 @@ static int laptop_backlight_register(void)
if (!acpi_evalf(hotkey_handle, &status, "ECLL", "d"))
return -EIO;

- props.brightness = 1;
+ props.brightness = ec_get_brightness();
props.max_brightness = status;
props.type = BACKLIGHT_PLATFORM;

--
2.49.0



Return-Path: <linux-kernel+bounces-674068-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2FBB341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:49:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E1DFB18977F0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:49:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 450021DDC22;
Thu, 5 Jun 2025 05:48:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b="YFtsD8HI"
Received: from layka.disroot.org (layka.disroot.org [178.21.23.139])
(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 F37331F1927
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:48:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=178.21.23.139
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102537; cv=none; b=Fm3n/5VcnYIPvH61ll+AJJTC2NIeDy3yjKIITJJ6pGQ8eiJVhDfC0/G+501ib9OOE0nECzcHuPEqGYOdYB+YQy6A9ygKxHjmV5sIEqt2XboWe/KJK5CJGt1Um9pane+8uVa09qK+EDjP/RtbxghloJTGhsATXqTvilRl6WLtY2g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102537; c=relaxed/simple;
bh=ocKWQyWFvfo4i8RsaVUWnShGFXwK4VG6l8AjbjrEiVI=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=BC0ItMQKTzxGOT/Pt/M4bGTpIl5b99LgPBj+P0W2/33yzxm5Jl2SguD+YZmBMqfGwRNozyj7mNzwcPCRygDMRN+C1wOSTZR3TXMNpO3MhiF0NYH+h5N/y3sV8DkuURy4xnCAqtiZyNX0olucUwTApCl/S0cKSMMfL7waMwADo60=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=disroot.org; spf=pass smtp.mailfrom=disroot.org; dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b=YFtsD8HI; arc=none smtp.client-ip=178.21.23.139
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=disroot.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=disroot.org
Received: from mail01.disroot.lan (localhost [127.0.0.1])
by disroot.org (Postfix) with ESMTP id 84E6F25DBC;
Thu, 5 Jun 2025 07:48:54 +0200 (CEST)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
id R5fxoGRey88U; Thu, 5 Jun 2025 07:48:53 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
t=1749102533; bh=ocKWQyWFvfo4i8RsaVUWnShGFXwK4VG6l8AjbjrEiVI=;
h=From:To:Cc:Subject:Date:In-Reply-To:References;
b=YFtsD8HIFsuqZnxPkJox2WRWLBedTnUKsSD6oUrm5qEZE6UjdkRcRkc5qKfOnUYYW
luMv6Nbh27pLc+joYChsrRybQhR0W24y604Qk8o+vFLq0JmB4g0jT86lDwEJIKGnB1
RQvvd8bKXtQYSYMA8/C+ps2CfQooN/8bY4K8t9vF/o0l/M3O/9ig1DXjJWX0X+6kUX
e759oJBynZNngaZYL+kbLOETbmAr1xSHe6AblAHUS1lP43DGrB5Na0bjaOeMmOW/Ko
/5LBDvFYZ9wQ3Zn8ZmPzgvyoKnnladuqmo2+IuYoys6fwdpSm6h01nwCExEbyoV8pD
mVfEHQjxXSyXg==
From: Yao Zi <ziyao@xxxxxxxxxxx>
To: Huacai Chen <chenhuacai@xxxxxxxxxx>,
Jianmin Lv <lvjianmin@xxxxxxxxxxx>,
WANG Xuerui <kernel@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx,
loongarch@xxxxxxxxxxxxxxx,
Mingcong Bai <jeffbai@xxxxxxx>,
Kexy Biscuit <kexybiscuit@xxxxxxx>,
Yao Zi <ziyao@xxxxxxxxxxx>
Subject: [PATCH v2 2/2] platform/loongarch: laptop: Support backlight power control
Date: Thu, 5 Jun 2025 05:48:28 +0000
Message-ID: <20250605054828.15093-3-ziyao@xxxxxxxxxxx>
In-Reply-To: <20250605054828.15093-1-ziyao@xxxxxxxxxxx>
References: <20250605054828.15093-1-ziyao@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

loongson_laptop_turn_{on,off}_backlight() are designed for controlling
power of the backlight, but they aren't really used in the driver
previously.

Unify these two functions since they only differ in arguments passed to
ACPI method, and wire up loongson_laptop_backlight_update() to update
power state of the backlight as well. Tested on TongFang L860-T2 3A5000
laptop.

Signed-off-by: Yao Zi <ziyao@xxxxxxxxxxx>
---
drivers/platform/loongarch/loongson-laptop.c | 76 ++++++++++----------
1 file changed, 38 insertions(+), 38 deletions(-)

diff --git a/drivers/platform/loongarch/loongson-laptop.c b/drivers/platform/loongarch/loongson-laptop.c
index 828bd62e3596..fe3f5b24c0a1 100644
--- a/drivers/platform/loongarch/loongson-laptop.c
+++ b/drivers/platform/loongarch/loongson-laptop.c
@@ -56,9 +56,8 @@ static struct input_dev *generic_inputdev;
static acpi_handle hotkey_handle;
static struct key_entry hotkey_keycode_map[GENERIC_HOTKEY_MAP_MAX];

-int loongson_laptop_turn_on_backlight(void);
-int loongson_laptop_turn_off_backlight(void);
static int loongson_laptop_backlight_update(struct backlight_device *bd);
+static bool bl_powered;

/* 2. ACPI Helpers and device model */

@@ -354,16 +353,41 @@ static int ec_backlight_level(u8 level)
return level;
}

+static int ec_backlight_set_power(bool state)
+{
+ int status;
+ union acpi_object arg0 = { ACPI_TYPE_INTEGER };
+ struct acpi_object_list args = { 1, &arg0 };
+
+ arg0.integer.value = state;
+ status = acpi_evaluate_object(NULL, "\\BLSW", &args, NULL);
+ if (ACPI_FAILURE(status)) {
+ pr_info("Loongson lvds error: 0x%x\n", status);
+ return -EIO;
+ }
+
+ return 0;
+}
+
static int loongson_laptop_backlight_update(struct backlight_device *bd)
{
- int lvl = ec_backlight_level(bd->props.brightness);
+ int ret = 0, lvl = ec_backlight_level(bd->props.brightness);
+ bool target_powered = !backlight_is_blank(bd);

if (lvl < 0)
return -EIO;
- if (ec_set_brightness(lvl))
- return -EIO;

- return 0;
+ if (target_powered != bl_powered) {
+ ret = ec_backlight_set_power(target_powered);
+ if (ret)
+ return ret;
+
+ bl_powered = target_powered;
+ } else {
+ ret = ec_set_brightness(lvl);
+ }
+
+ return ret;
}

static int loongson_laptop_get_brightness(struct backlight_device *bd)
@@ -384,7 +408,7 @@ static const struct backlight_ops backlight_laptop_ops = {

static int laptop_backlight_register(void)
{
- int status = 0;
+ int status = 0, ret;
struct backlight_properties props;

memset(&props, 0, sizeof(props));
@@ -392,44 +416,20 @@ static int laptop_backlight_register(void)
if (!acpi_evalf(hotkey_handle, &status, "ECLL", "d"))
return -EIO;

+ ret = ec_backlight_set_power(true);
+ if (ret)
+ return ret;
+
+ bl_powered = true;
+
props.brightness = ec_get_brightness();
props.max_brightness = status;
+ props.power = BACKLIGHT_POWER_ON;
props.type = BACKLIGHT_PLATFORM;

backlight_device_register("loongson_laptop",
NULL, NULL, &backlight_laptop_ops, &props);

- return 0;
-}
-
-int loongson_laptop_turn_on_backlight(void)
-{
- int status;
- union acpi_object arg0 = { ACPI_TYPE_INTEGER };
- struct acpi_object_list args = { 1, &arg0 };
-
- arg0.integer.value = 1;
- status = acpi_evaluate_object(NULL, "\\BLSW", &args, NULL);
- if (ACPI_FAILURE(status)) {
- pr_info("Loongson lvds error: 0x%x\n", status);
- return -ENODEV;
- }
-
- return 0;
-}
-
-int loongson_laptop_turn_off_backlight(void)
-{
- int status;
- union acpi_object arg0 = { ACPI_TYPE_INTEGER };
- struct acpi_object_list args = { 1, &arg0 };
-
- arg0.integer.value = 0;
- status = acpi_evaluate_object(NULL, "\\BLSW", &args, NULL);
- if (ACPI_FAILURE(status)) {
- pr_info("Loongson lvds error: 0x%x\n", status);
- return -ENODEV;
- }

return 0;
}
--
2.49.0



Return-Path: <linux-kernel+bounces-674069-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E307841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:49:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 215911772F0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:49:33 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 565CF1F1927;
Thu, 5 Jun 2025 05:49:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DwfXkHLq"
Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54])
(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 1E3DC1EF0B9;
Thu, 5 Jun 2025 05:49:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.54
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102557; cv=none; b=ceNbWxSwwwlhY9gdr1Ki2XtQ/7xrh/pB66/fp7Q70T0jNFBloL55jG5vgAE0SP/QTHtXOlv/d6bZr+O173BANbRJHhzklWrsM3xurv0VC+sJ8WTWiKSIFATpEu6tfY5BM7U41vBsDnqZFqzLChRNFr8RDV8iqeNCH+y4jKEJyL0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102557; c=relaxed/simple;
bh=OIKPu2mbiRea8toxJB8h77wHD+vkqmaMLDdTwqVMVxU=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Xfe46hRoEXPEgxlu4zd8S1yxbNZAzfkfwpqhKVNmVsxQBY2r/osz13X0WD0aEjWHiKTNxEDW0KT4Jjt//9gbSHjWq/Tie+0GOQl59N1j2QGeuQFNrBdBPtBfWUVcFULxX20hE8v3zgwDzuzSIvlFmhNVGibjYDkQ6u96W02s4xM=
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=DwfXkHLq; arc=none smtp.client-ip=209.85.216.54
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
Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-312e747d2d8so1251280a91.0;
Wed, 04 Jun 2025 22:49:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749102555; x=1749707355; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=FudjR0hExklji3S366f8VbcX6MleULSZEQFCVDOIEiE=;
b=DwfXkHLqJU1irRY6VsgG5Ii9e+W89P14uQSJ6QChUOXh6HFh9EbUnsXRGDD9sTjiv2
wDwI33XDAYN6L1aDGiwi597tSwLuMik3eoL8go7QdS/FY1RPhLE01P2rrkm1plLmDdMU
TmxUmt0fC9uejMZvfele8Y5COAgeDFViNte0MnJhc4d47A1iUfa2l9144UtyKRGIuFnh
C9ufUCj2ACsLHhSzXkUVEZWN6xt/3krRN15mM4HhLsPLHpETVcppp+t50644pt+rnqDn
935DPC2vHIdB7fGICTs4UxB+eLe8QkYeeEtF1a1my243Kq0BvjLF/WHxLWvEf76rXFKn
7joA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749102555; x=1749707355;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=FudjR0hExklji3S366f8VbcX6MleULSZEQFCVDOIEiE=;
b=TnfcZbdAT1ii4eAU0jRZGxN3KalEIb5bnpuEHiBMuIwva+cU5oh1tzKTLLKcsa00z8
l06HU0EXDUp3W9WP0ncQJv3tpnVybtHx4xpSTU3cPgV/LMMqsdBOjFwwQwEEqmyyVuo1
leSKCdSrc0Yr9X+aa4tVqgK6y0LOcxdHqcuSTHvcw3FB1Z2hpdVQQYdsedKghH0c74km
QjxKnfXHEFXl3Cyzg9ioVV2yURVffFMPzKOowuxJkEVZgAvk1+gr6ulInpttwSrKu1PV
RdlR/tvnWcu5ULIMT6T9uQxQOhUxlxD3ZT1tlrAl8e2lpdE7JARvYgutHU/QhxPM665v
dObA==
X-Forwarded-Encrypted: i=1; AJvYcCUBUpt4HaJbHdrJj4oJA0VyMHOScd7XYBJsA5iBhLjM5hbMsQ/PzdzG2A/x/zxRsRRZ6o7ZPEpvMLFJ38s=@vger.kernel.org, AJvYcCUn0imIF1L3AQ/bRh176Tesn6TJOWwl4HzZScPq5WHT+Pq5Up8DLdMsLA+tvka4svBgU9pG5X9cDC+c@xxxxxxxxxxxxxxx, AJvYcCVFbOVkdjiiGJgQIPXpovHjmtEbhvV2E6tXigvUPPHXfCY+ZEPd+LgA23qjDnQ/PGpgFoMURkfXrIaYkra0@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YwrBQQwqp4yiNhcCyaGOEw+qL/ZqNAQny2DuyFJkMGUBKFw6ply
iEs2hrhVQ+nN0fz8UybHAU14/LjUmk050WuqrzKdcewDuPtH2M+CjAZF
X-Gm-Gg: ASbGnctox7IlIAadLuc600O1z4sjDAoTznteK43rbMME+kfIUY8cKotMNLjal51gxSu
zQRV874uGdbLAIbcirlgR7yQBnFiaHdJuPg2bv/KqxdJcIFUOC0o7ZS3yGmAMN0Xi1FWCrFMPmG
NsBAWHmH8i4phhs3osVZ0PGDnJUQ8mghfCGnj2ZhLBNHhcqADUBa37Rn69S5GV6LzotKWMK6pmP
XGvabWD77kmIY+DCVEgDgQYdmO7gczSCOzoW9KIqX3/Nlbzk7y9ryYuTCzUMKKq4cipDqsaiS8W
H5zH4KED7Ajow6MYgzv419RJdSC1i6Ry/cfH+0l0ls/SsEEDag==
X-Google-Smtp-Source: AGHT+IG+cLvM6EBM5hqY+xjSwFwgaKlstjrH+n4gxq3uygoWvW5JHICd5wEp+jsd3ecLswc0sEv3EA==
X-Received: by 2002:a17:90b:28c8:b0:310:c8ec:4192 with SMTP id 98e67ed59e1d1-31328fa1c76mr3016940a91.10.1749102555130;
Wed, 04 Jun 2025 22:49:15 -0700 (PDT)
Received: from nuvole.. ([144.202.86.13])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-313318e6a53sm425550a91.3.2025.06.04.22.49.09
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 22:49:14 -0700 (PDT)
From: Pengyu Luo <mitltlatltl@xxxxxxxxx>
To: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Hans de Goede <hdegoede@xxxxxxxxxx>,
Kees Cook <kees@xxxxxxxxxx>,
Dan Williams <dan.j.williams@xxxxxxxxx>,
=?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas.weissschuh@xxxxxxxxxxxxx>,
Dionna Amalie Glaze <dionnaglaze@xxxxxxxxxx>,
Yury Norov <yury.norov@xxxxxxxxx>,
Filipe Manana <fdmanana@xxxxxxxx>,
Len Brown <len.brown@xxxxxxxxx>,
Eric Biggers <ebiggers@xxxxxxxxxx>,
pengdonglin <pengdonglin@xxxxxxxxxx>,
Luo Jie <quic_luoj@xxxxxxxxxxx>,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>
Cc: Charles Wang <charles.goodix@xxxxxxxxx>,
linux-input@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Pengyu Luo <mitltlatltl@xxxxxxxxx>
Subject: [PATCH 1/2] dt-bindings: input: goodix,gt9916: Document stylus support
Date: Thu, 5 Jun 2025 13:48:54 +0800
Message-ID: <20250605054855.403487-1-mitltlatltl@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Document stylus support. Optional support for DT properties:
- `goodix,stylus-enable`
- `goodix,stylus-pressure-level`
- `goodix,physical-x`
- `goodix,physical-y`

Signed-off-by: Pengyu Luo <mitltlatltl@xxxxxxxxx>
---
.../input/touchscreen/goodix,gt9916.yaml | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)

diff --git a/Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml b/Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml
index c40d92b7f..e5476ea36 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml
+++ b/Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml
@@ -44,6 +44,27 @@ properties:
touchscreen-size-y: true
touchscreen-swapped-x-y: true

+ goodix,stylus-enable:
+ type: boolean
+ description:
+ Indicates that stylus (pen) functionality is enabled. If present,
+ the driver will initialize stylus-specific input reporting.
+
+ goodix,physical-x:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Physical width of the touchscreen in millimeters.
+
+ goodix,physical-y:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Physical height of the touchscreen in millimeters.
+
+ goodix,stylus-pressure-level:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Number of discrete pressure levels supported by the stylus.
+ The reported ABS_PRESSURE range will be 0 to
+ (goodix,stylus-pressure-level - 1).
+
additionalProperties: false

required:
--
2.49.0



Return-Path: <linux-kernel+bounces-674070-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 19DC041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:49:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 4431F7A6BFB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:48:27 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1E0041DED5D;
Thu, 5 Jun 2025 05:49:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="k1EqaB4k"
Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177])
(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 E29EB1F3BB5;
Thu, 5 Jun 2025 05:49:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102563; cv=none; b=ic6BzMf9GsQRQb3VTk/1gn6lCmbxP71JAGjg6PEcnsUMSzYryhnS0y+Em9M/sAe1THF1RuZbJLr1YJZW/BniLHWHFTE4fI3ortAPpIN8DJ9Lk/EaH8u10KGXQlZyb3D3RfoUtgvVuhgZcAgXbPj0pMGaXDP2aXdqtgYHMgsZBro=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102563; c=relaxed/simple;
bh=m4sa9bpZeA3ds/CtKaGscIrzehuzKVvelhDKImsmP7g=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=kbbTKL2cl/YP+k8cXf7InhsFhNtyiL7fgdxIaxNxY/hQBjNXp0eGOZJdMBwjVWjRXlE4V+Eaj4HvuxzpKW4Ra4F17lahE5bNl/StZD+IdEe8R5HAd7tM3hbkZUd5VSQDX2EsIWM7Q7Yo2J2wz0vBU/08EzSzFOIGhINLwK6FgsE=
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=k1EqaB4k; arc=none smtp.client-ip=209.85.214.177
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
Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-23539a1a421so5454335ad.0;
Wed, 04 Jun 2025 22:49:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749102561; x=1749707361; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=laac/GWoKvUwDoyUkvZTbZqLusR59noavj+WhN9y2a0=;
b=k1EqaB4kCCo94lLimign5KrU3YSYajLy8Wx32eKvD6Y4dc0BZ6bLVypyMXFr+/t8hr
U+Ewkp/Tt++zoIS+qRL1xFM8IgbfC3mKRnUR1GOg8+diQxWiIKA+LT2jUap7hDWQkFLA
xLhuYHCVeZy75o7YJM12t5ysXVR4M/F/Kqi/R1O8OTwtfZCLqcvcbNGeIkBINerMAV4V
0bUz1lUUsXP64NNQMf8ZOclGkZfbw8ZtZrhpyB8VaDG7y2XwNKHzxApgdowLtsRlzj/N
nRDjFg1pRDnk6nXgGE4t8AbSQ2knvIrjEd5dmC17Le3KHOnhD2389cWskX4Gbb80wxfX
nmLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749102561; x=1749707361;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=laac/GWoKvUwDoyUkvZTbZqLusR59noavj+WhN9y2a0=;
b=CQdXBzXVZLK4e1HewIPU3+j7/FsH2bBQEtbvy0jsYRlJtgw3IxHVmlty15YeVnH7hq
XrQbI1EpznAZDqu+dB/PDS2QMhDZKoUb3BSws0vcNhtOKmzB5El/n7guA4Dd04Yfekxp
PGCxsdHbELK/xUnOhCJOPXwZcjtiq7WIzzTMLCqEZZSHuWcOHipEL+vJIjH3Uz2uM22G
2awU6esAmcRgwQtxJ/7+5WPF6DRt/o6bYsPhqeuO3Db+oXvfe5RPEEfxkff3s9ZkdXxI
z7l8NY5GKO5JNXc25rtJzjoZReBUhRg5lb0sP+ZcYMhaSj0IyI4KYGldVU1/yesOjx+1
MTaA==
X-Forwarded-Encrypted: i=1; AJvYcCVC7sw4BN4rIx6lencrJQ7ty9NUOY32/YHadz+dzhcVazhFNtMDDO9Z0aUjmGCIRPYdG70PcCJDMyH4pIXb@xxxxxxxxxxxxxxx, AJvYcCVMiTn1B6J8r5opgSG3j4beaKGro+HRUEREJYXcn9oos/wqTs+Tt0YgMj6jNGlaqi68P7/yLnp2s3/P@xxxxxxxxxxxxxxx, AJvYcCXC8+n5+yjVZcf88upj9bS218apd5yJU3bb0ZQmDCXPa1+1F3aZ6lQhFwnjAE9+8MOffMyn3oI2qOMQGKM=@vger.kernel.org
X-Gm-Message-State: AOJu0YyAwiiPbsO0mkInpfsOLg8AAY9EOgDywJjhbNkcPzVETW0SjRy+
XDn4xMAoCUbRt0wy7r0MQsTrlGKvVCnMgf7b+2z3hrA8x8f/aEK4DvtX
X-Gm-Gg: ASbGncsCgnS+GOzxfmBEOl6fuskUdOZruNkMczSyxc6wsl0le9kk+lS7FcI0kcdaIBK
nzZ7IBcR/cN0RfRcSvDm4s8mg7hCkNTyHv7OpUUKw0RUzk603lLGuh4hIRvuzHy6g8zjemH19PM
wjfVSRK6lxx4svsq81YpeNWgS9sS/01KZV0aLWLzMnKSJvP7gN5DH7pm3B6384Z/adPO9l8vFGG
33Y089iY6rmVFNtbsl/fF+OhR1OXL8hnNty5XwEEp+UtnXJ/KCtmNU4XF+3RjbftyUYpsA3g1uf
1UmvWKMWbB8an+M10cHIw4zlhGJOcVQnHq4crSnN4VdsE5eE5A==
X-Google-Smtp-Source: AGHT+IF5isU5NIhwA4Aj0ZXD4nEhfrGMdbMlSa8wlvQ5q5fh5MhMD7r/wYOfWqLrZY6N3Ubzs55xFg==
X-Received: by 2002:a17:903:8cc:b0:234:c549:d9f1 with SMTP id d9443c01a7336-235e11ff06bmr76674105ad.47.1749102560966;
Wed, 04 Jun 2025 22:49:20 -0700 (PDT)
Received: from nuvole.. ([144.202.86.13])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-313318e6a53sm425550a91.3.2025.06.04.22.49.15
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 22:49:20 -0700 (PDT)
From: Pengyu Luo <mitltlatltl@xxxxxxxxx>
To: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Hans de Goede <hdegoede@xxxxxxxxxx>,
Kees Cook <kees@xxxxxxxxxx>,
Dan Williams <dan.j.williams@xxxxxxxxx>,
=?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas.weissschuh@xxxxxxxxxxxxx>,
Dionna Amalie Glaze <dionnaglaze@xxxxxxxxxx>,
Yury Norov <yury.norov@xxxxxxxxx>,
Filipe Manana <fdmanana@xxxxxxxx>,
Len Brown <len.brown@xxxxxxxxx>,
Eric Biggers <ebiggers@xxxxxxxxxx>,
pengdonglin <pengdonglin@xxxxxxxxxx>,
Luo Jie <quic_luoj@xxxxxxxxxxx>,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>
Cc: Charles Wang <charles.goodix@xxxxxxxxx>,
linux-input@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Pengyu Luo <mitltlatltl@xxxxxxxxx>
Subject: [PATCH 2/2] input: touchscreen: goodix_berlin: Add stylus support
Date: Thu, 5 Jun 2025 13:48:55 +0800
Message-ID: <20250605054855.403487-2-mitltlatltl@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250605054855.403487-1-mitltlatltl@xxxxxxxxx>
References: <20250605054855.403487-1-mitltlatltl@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Add support for stylus events in the Goodix Berlin touchscreen driver.

This patch introduces a new input device dedicated to stylus reporting,
allowing precise handling of stylus-specific data such as pressure,
tilt, and side buttons. The implementation distinguishes between touch
and stylus events and ensures that the appropriate input device reports
each event.

Key changes include:
- New event type tracking to differentiate between finger and stylus input.
- A new `struct goodix_berlin_stylus` to represent stylus data layout.
- Support for stylus pressure, tilt (X/Y), and button states (BTN_STYLUS, BTN_STYLUS2).
- Switching between input devices when changing from touch to stylus events.
- Internal handling to suppress the downstream's dropped first packet behavior.

**Known issue:**
Stylus key reporting follows the downstream implementation([1-2]).
However, on the GXTS7986 device, when BTN_STYLUS2 is continuously
held, the event stream occasionally includes 4 unexpected BTN_STYLUS
presses. This leads to intermittent and incorrect toggling of the
BTN_STYLUS, despite it not being physically pressed.

[1]: https://github.com/goodix/goodix_ts_berlin/blob/master/goodix_berlin_driver/goodix_brl_hw.c#L1165
[2]: https://github.com/goodix/goodix_ts_berlin/blob/master/goodix_berlin_driver/goodix_ts_core.c#L1157

Signed-off-by: Pengyu Luo <mitltlatltl@xxxxxxxxx>
---
.../input/touchscreen/goodix_berlin_core.c | 248 ++++++++++++++++--
1 file changed, 230 insertions(+), 18 deletions(-)

diff --git a/drivers/input/touchscreen/goodix_berlin_core.c b/drivers/input/touchscreen/goodix_berlin_core.c
index 02a1d9a46..9118071e3 100644
--- a/drivers/input/touchscreen/goodix_berlin_core.c
+++ b/drivers/input/touchscreen/goodix_berlin_core.c
@@ -18,7 +18,6 @@
* - ESD Management
* - Firmware update/flashing
* - "Config" update/flashing
- * - Stylus Events
* - Gesture Events
* - Support for revision B
*/
@@ -28,6 +27,7 @@
#include <linux/input.h>
#include <linux/input/mt.h>
#include <linux/input/touchscreen.h>
+#include <linux/of.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
@@ -50,6 +50,8 @@
#define GOODIX_BERLIN_POINT_TYPE_STYLUS_HOVER 1
#define GOODIX_BERLIN_POINT_TYPE_STYLUS 3

+#define GOODIX_BERLIN_STYLUS_MAX_TILT 90
+
#define GOODIX_BERLIN_TOUCH_ID_MASK GENMASK(7, 4)

#define GOODIX_BERLIN_DEV_CONFIRM_VAL 0xAA
@@ -59,6 +61,11 @@

#define GOODIX_BERLIN_CHECKSUM_SIZE sizeof(u16)

+/* BIT(3) is unused */
+#define GOODIX_BERLIN_STYLUS_BTN_MASK GENMASK(3, 1)
+static unsigned int stylus_btn[] = {BTN_STYLUS, BTN_STYLUS2};
+#define GOODIX_BERLIN_MAX_STYLUS_BTN ARRAY_SIZE(stylus_btn)
+
struct goodix_berlin_fw_version {
u8 rom_pid[6];
u8 rom_vid[3];
@@ -144,11 +151,24 @@ struct goodix_berlin_touch {
};
#define GOODIX_BERLIN_TOUCH_SIZE sizeof(struct goodix_berlin_touch)

+struct goodix_berlin_stylus {
+ u8 status;
+ u8 reserved;
+ __le16 x;
+ __le16 y;
+ __le16 p;
+ __le16 x_angle;
+ __le16 y_angle;
+ u8 reserved2[4];
+};
+#define GOODIX_BERLIN_STYLUS_SIZE sizeof(struct goodix_berlin_stylus)
+
struct goodix_berlin_header {
u8 status;
u8 reserved1;
u8 request_type;
- u8 reserved2[3];
+ u8 stylus_btn;
+ u8 reserved2[2];
__le16 checksum;
};
#define GOODIX_BERLIN_HEADER_SIZE sizeof(struct goodix_berlin_header)
@@ -160,6 +180,12 @@ struct goodix_berlin_event {
GOODIX_BERLIN_CHECKSUM_SIZE];
};

+enum goodix_berlin_event_type {
+ EVENT_NONE,
+ EVENT_STYLUS,
+ EVENT_TOUCH
+};
+
struct goodix_berlin_core {
struct device *dev;
struct regmap *regmap;
@@ -169,6 +195,7 @@ struct goodix_berlin_core {
struct touchscreen_properties props;
struct goodix_berlin_fw_version fw_version;
struct input_dev *input_dev;
+ struct input_dev *stylus_dev;
int irq;

/* Runtime parameters extracted from IC_INFO buffer */
@@ -177,6 +204,9 @@ struct goodix_berlin_core {
const struct goodix_berlin_ic_data *ic_data;

struct goodix_berlin_event event;
+
+ enum goodix_berlin_event_type last_event;
+ enum goodix_berlin_event_type cur_event;
};

static bool goodix_berlin_checksum_valid(const u8 *data, int size)
@@ -432,24 +462,53 @@ static int goodix_berlin_get_remaining_contacts(struct goodix_berlin_core *cd,
return 0;
}

-static void goodix_berlin_report_state(struct goodix_berlin_core *cd, int n)
+static void goodix_berlin_stylus_report(struct goodix_berlin_core *cd,
+ u8 btn_pressed)
+{
+ struct goodix_berlin_stylus *s =
+ (struct goodix_berlin_stylus *)cd->event.data;
+
+ struct input_dev *dev = cd->stylus_dev;
+ s8 tilt_x, tilt_y;
+ int i;
+
+ if (!dev)
+ return;
+
+ tilt_x = (s8)(le16_to_cpu(s->x_angle) / 100);
+ tilt_y = (s8)(le16_to_cpu(s->y_angle) / 100);
+
+ input_report_key(dev, BTN_TOUCH, 1);
+ input_report_key(dev, BTN_TOOL_PEN, 1);
+ input_report_abs(dev, ABS_X, le16_to_cpu(s->x));
+ input_report_abs(dev, ABS_Y, le16_to_cpu(s->y));
+ input_report_abs(dev, ABS_PRESSURE, le16_to_cpu(s->p));
+ input_report_abs(dev, ABS_DISTANCE, !le16_to_cpu(s->p));
+ input_report_abs(dev, ABS_TILT_X, tilt_x);
+ input_report_abs(dev, ABS_TILT_Y, tilt_y);
+
+ dev_dbg(&dev->dev, "stylus: x: %d, y: %d, pressure: %d, tilt_x: %d tilt_y: %d, btn: %d",
+ le16_to_cpu(s->x), le16_to_cpu(s->y), le16_to_cpu(s->p), tilt_x,
+ tilt_y, btn_pressed);
+
+ for (i = 0; i < GOODIX_BERLIN_MAX_STYLUS_BTN; i++)
+ input_report_key(dev, stylus_btn[i],
+ !!(btn_pressed & (1 << i)));
+
+ input_sync(dev);
+}
+
+static void goodix_berlin_mt_report(struct goodix_berlin_core *cd, int n)
{
struct goodix_berlin_touch *touch_data =
(struct goodix_berlin_touch *)cd->event.data;
struct goodix_berlin_touch *t;
int i;
- u8 type, id;
+ u8 id;

for (i = 0; i < n; i++) {
t = &touch_data[i];

- type = FIELD_GET(GOODIX_BERLIN_POINT_TYPE_MASK, t->status);
- if (type == GOODIX_BERLIN_POINT_TYPE_STYLUS ||
- type == GOODIX_BERLIN_POINT_TYPE_STYLUS_HOVER) {
- dev_warn_once(cd->dev, "Stylus event type not handled\n");
- continue;
- }
-
id = FIELD_GET(GOODIX_BERLIN_TOUCH_ID_MASK, t->status);
if (id >= GOODIX_BERLIN_MAX_TOUCH) {
dev_warn_ratelimited(cd->dev, "invalid finger id %d\n", id);
@@ -470,10 +529,95 @@ static void goodix_berlin_report_state(struct goodix_berlin_core *cd, int n)
input_sync(cd->input_dev);
}

+static void goodix_berlin_device_switch(struct goodix_berlin_core *cd)
+{
+ int i;
+
+ switch (cd->last_event) {
+ case EVENT_STYLUS:
+ input_report_key(cd->stylus_dev, BTN_TOUCH, 0);
+ input_report_key(cd->stylus_dev, BTN_TOOL_PEN, 0);
+ input_sync(cd->stylus_dev);
+ break;
+ case EVENT_TOUCH:
+ for (i = 0; i < GOODIX_BERLIN_MAX_TOUCH; i++) {
+ input_mt_slot(cd->input_dev, i);
+ input_mt_report_slot_state(cd->input_dev,
+ MT_TOOL_FINGER, false);
+ }
+ input_report_key(cd->input_dev, BTN_TOUCH, 0);
+ input_sync(cd->input_dev);
+ break;
+ default:
+ dev_warn(cd->dev, "%s: unsupported event code %d\n",
+ __func__, cd->cur_event);
+ }
+}
+
+static void goodix_berlin_report_state(struct goodix_berlin_core *cd,
+ u8 btn_pressed, int n)
+{
+ /*
+ * When switching devices, the downstream code drops the first event
+ * from the new device and instead reports a touch-up event. Retaining
+ * and handling that initial event appears to be harmless.
+ */
+ if (cd->last_event != EVENT_NONE && cd->last_event != cd->cur_event)
+ goodix_berlin_device_switch(cd);
+
+ switch (cd->cur_event) {
+ case EVENT_STYLUS:
+ goodix_berlin_stylus_report(cd, btn_pressed);
+ break;
+ case EVENT_TOUCH:
+ goodix_berlin_mt_report(cd, n);
+ break;
+ default:
+ dev_warn(cd->dev, "%s: unsupported event code %d\n",
+ __func__, cd->cur_event);
+ }
+}
+
+static inline void goodix_berlin_event_update(struct goodix_berlin_core *cd)
+{
+ struct goodix_berlin_touch *touch_data =
+ (struct goodix_berlin_touch *)cd->event.data;
+
+ u8 type;
+
+ /*
+ * According to the downstream code, the type of the first contact
+ * point determines the type for the entire event sequence. In the
+ * stylus case, there is typically only one contact point.
+ */
+ cd->last_event = cd->cur_event;
+ type = FIELD_GET(GOODIX_BERLIN_POINT_TYPE_MASK, touch_data->status);
+ if (type == GOODIX_BERLIN_POINT_TYPE_STYLUS ||
+ type == GOODIX_BERLIN_POINT_TYPE_STYLUS_HOVER)
+ cd->cur_event = EVENT_STYLUS;
+ else
+ cd->cur_event = EVENT_TOUCH;
+}
+
+static inline int goodix_berlin_event_len(struct goodix_berlin_core *cd, int n)
+{
+ switch (cd->cur_event) {
+ case EVENT_STYLUS:
+ return GOODIX_BERLIN_STYLUS_SIZE + GOODIX_BERLIN_CHECKSUM_SIZE;
+ case EVENT_TOUCH:
+ return n * GOODIX_BERLIN_TOUCH_SIZE +
+ GOODIX_BERLIN_CHECKSUM_SIZE;
+ default:
+ dev_warn(cd->dev, "%s: unsupported event code %d\n",
+ __func__, cd->cur_event);
+ return 0;
+ }
+}
+
static void goodix_berlin_touch_handler(struct goodix_berlin_core *cd)
{
- u8 touch_num;
- int error;
+ u8 touch_num, btn_pressed;
+ int error, len;

touch_num = FIELD_GET(GOODIX_BERLIN_TOUCH_COUNT_MASK,
cd->event.hdr.request_type);
@@ -490,8 +634,9 @@ static void goodix_berlin_touch_handler(struct goodix_berlin_core *cd)
}

if (touch_num) {
- int len = touch_num * GOODIX_BERLIN_TOUCH_SIZE +
- GOODIX_BERLIN_CHECKSUM_SIZE;
+ goodix_berlin_event_update(cd);
+ len = goodix_berlin_event_len(cd, touch_num);
+
if (!goodix_berlin_checksum_valid(cd->event.data, len)) {
dev_err(cd->dev, "touch data checksum error: %*ph\n",
len, cd->event.data);
@@ -499,7 +644,10 @@ static void goodix_berlin_touch_handler(struct goodix_berlin_core *cd)
}
}

- goodix_berlin_report_state(cd, touch_num);
+ btn_pressed = FIELD_GET(GOODIX_BERLIN_STYLUS_BTN_MASK,
+ cd->event.hdr.stylus_btn);
+
+ goodix_berlin_report_state(cd, btn_pressed, touch_num);
}

static int goodix_berlin_request_handle_reset(struct goodix_berlin_core *cd)
@@ -519,9 +667,9 @@ static irqreturn_t goodix_berlin_irq(int irq, void *data)
int error;

/*
- * First, read buffer with space for 2 touch events:
+ * First, read buffer with space for 2 touch events / 1 stylus event:
* - GOODIX_BERLIN_HEADER_SIZE = 8 bytes
- * - GOODIX_BERLIN_TOUCH_SIZE * 2 = 16 bytes
+ * - GOODIX_BERLIN_TOUCH_SIZE * 2 = GOODIX_BERLIN_STYLUS_SIZE = 16 bytes
* - GOODIX_BERLIN_CHECKLSUM_SIZE = 2 bytes
* For a total of 26 bytes.
*
@@ -532,6 +680,12 @@ static irqreturn_t goodix_berlin_irq(int irq, void *data)
* - bytes 24-25: Checksum
* - bytes 18-25: Unused 8 bytes
*
+ * If only a stylus is reported
+ * - bytes 0-7: Header (GOODIX_BERLIN_HEADER_SIZE)
+ * - bytes 8-19: Stylus Data
+ * - bytes 20-23: Unused 4 bytes
+ * - bytes 24-25: Checksum
+ *
* If 2 fingers are reported, we would have read the exact needed
* amount of data and checksum would be at the end of the buffer:
* - bytes 0-7: Header (GOODIX_BERLIN_HEADER_SIZE)
@@ -601,6 +755,58 @@ static irqreturn_t goodix_berlin_irq(int irq, void *data)
return IRQ_HANDLED;
}

+static int goodix_berlin_stylus_dev_config(struct goodix_berlin_core *cd,
+ const struct input_id *id)
+{
+ struct device_node *np = cd->dev->of_node;
+ struct input_dev *stylus_dev;
+ int i, width, height, pressure;
+
+ if (!of_property_read_bool(np, "goodix,stylus-enable"))
+ return 0;
+
+ if (of_property_read_u32(np, "goodix,physical-x", &width))
+ width = cd->props.max_x / 10;
+
+ if (of_property_read_u32(np, "goodix,physical-y", &height))
+ height = cd->props.max_y / 10;
+
+ if (of_property_read_u32(np, "goodix,stylus-pressure-level", &pressure))
+ pressure = 4096;
+
+ stylus_dev = devm_input_allocate_device(cd->dev);
+ if (!stylus_dev)
+ return -ENOMEM;
+
+ cd->stylus_dev = stylus_dev;
+ input_set_drvdata(stylus_dev, cd);
+
+ stylus_dev->name = "Goodix Berlin Stylus";
+ stylus_dev->phys = "input/stylus";
+ stylus_dev->id = *id;
+
+ input_set_capability(stylus_dev, EV_KEY, BTN_TOUCH);
+ input_set_capability(stylus_dev, EV_KEY, BTN_TOOL_PEN);
+ for (i = 0; i < GOODIX_BERLIN_MAX_STYLUS_BTN; i++)
+ input_set_capability(stylus_dev, EV_KEY, stylus_btn[i]);
+ __set_bit(INPUT_PROP_DIRECT, stylus_dev->propbit);
+
+ input_set_abs_params(stylus_dev, ABS_X, 0, cd->props.max_x, 0, 0);
+ input_set_abs_params(stylus_dev, ABS_Y, 0, cd->props.max_y, 0, 0);
+ input_abs_set_res(stylus_dev, ABS_X, cd->props.max_x / width);
+ input_abs_set_res(stylus_dev, ABS_Y, cd->props.max_y / height);
+ input_set_abs_params(stylus_dev, ABS_PRESSURE, 0, pressure - 1, 0, 0);
+ input_set_abs_params(stylus_dev, ABS_DISTANCE, 0, 255, 0, 0);
+ input_set_abs_params(stylus_dev, ABS_TILT_X,
+ -GOODIX_BERLIN_STYLUS_MAX_TILT,
+ GOODIX_BERLIN_STYLUS_MAX_TILT, 0, 0);
+ input_set_abs_params(stylus_dev, ABS_TILT_Y,
+ -GOODIX_BERLIN_STYLUS_MAX_TILT,
+ GOODIX_BERLIN_STYLUS_MAX_TILT, 0, 0);
+
+ return input_register_device(stylus_dev);
+}
+
static int goodix_berlin_input_dev_config(struct goodix_berlin_core *cd,
const struct input_id *id)
{
@@ -780,6 +986,12 @@ int goodix_berlin_probe(struct device *dev, int irq, const struct input_id *id,
return error;
}

+ error = goodix_berlin_stylus_dev_config(cd, id);
+ if (error) {
+ dev_err(dev, "failed set stylus device");
+ return error;
+ }
+
error = devm_request_threaded_irq(dev, cd->irq, NULL, goodix_berlin_irq,
IRQF_ONESHOT, "goodix-berlin", cd);
if (error) {
--
2.49.0



Return-Path: <linux-kernel+bounces-674071-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 69B9E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:50:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7C9C43AACA3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:50:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 73C541F2BAE;
Thu, 5 Jun 2025 05:50:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PjGhekro"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 76E111DE3DC;
Thu, 5 Jun 2025 05:50:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102614; cv=none; b=iOTHemXFTBOaaCzKXLRZmdw3/0794Fvk0LKFPQI0c8T1P1psZGY9R+2gNVzrtKkQfYt8lgLxxHm4UgtpdCcnaR7NuAtVKtIvGWNjQtZnzl2vPG+zVnCsg3AcL8ZB0mpPuYAddKpAR/DwoXzbUO3/QZ1H3Gt3XPuZ/5qrW6MgaY4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102614; c=relaxed/simple;
bh=qs0L8RWOQrfH+BuAGm8VA2+QF4D9DsqgbCCykmbS7hM=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=rki0E11GooIXvc8dJpHGIz4QVBppwVrcVf71vtdnNHrdFpbjmrlm6OU7tIaCDmbKW788X34A8KizFDoSulxrEgop9JEt8w6EnwCminGDpzDyvAkmVQOYKTXfT4ECt9OVMjhC/5VrW2fvK6mq48PtLPZL8/fMhPl0toQpBg1n/9w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PjGhekro; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4845C4CEE7;
Thu, 5 Jun 2025 05:49:47 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749102613;
bh=qs0L8RWOQrfH+BuAGm8VA2+QF4D9DsqgbCCykmbS7hM=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=PjGhekro9i0u1SPcGCom4gAb48wNARMXn6A6gaDblDsaK7HYDJf/JD6QaWG46YBs6
TCAPUsLofAma+mUXCkwb73LupFQtXJzt34OSmd8fIufYmJCjDqolgHV3SH+yI3jfR/
rfPzn9UpcUjNklg9SPRqagfw4CpXPB+HkhG9+/MutkpU+GDNoNDUD8/THQScpcRrzc
Q2kLuCyIGvZGf7ihWVGZYPtxALsBLwknrrnVz7RjvqGlsVanzWbK7euwEhqJQV0BR7
fp+Tw4rT0h6FMLbUayWl5q2On0P85sraYAKGvGLSjoc6iiV68atTmA+L5Vnv4Htlnr
TCKTY7u+facQw==
Date: Thu, 5 Jun 2025 08:49:44 +0300
From: Mike Rapoport <rppt@xxxxxxxxxx>
To: Paul Moore <paul@xxxxxxxxxxxxxx>
Cc: Ackerley Tng <ackerleytng@xxxxxxxxxx>,
linux-security-module@xxxxxxxxxxxxxxx, selinux@xxxxxxxxxxxxxxx,
kvm@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, aik@xxxxxxx, ajones@xxxxxxxxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, amoorthy@xxxxxxxxxx,
anthony.yznaga@xxxxxxxxxx, anup@xxxxxxxxxxxxxx,
aou@xxxxxxxxxxxxxxxxx, bfoster@xxxxxxxxxx,
binbin.wu@xxxxxxxxxxxxxxx, brauner@xxxxxxxxxx,
catalin.marinas@xxxxxxx, chao.p.peng@xxxxxxxxx,
chenhuacai@xxxxxxxxxx, dave.hansen@xxxxxxxxx, david@xxxxxxxxxx,
dmatlack@xxxxxxxxxx, dwmw@xxxxxxxxxxxx, erdemaktas@xxxxxxxxxx,
fan.du@xxxxxxxxx, fvdl@xxxxxxxxxx, graf@xxxxxxxxxx,
haibo1.xu@xxxxxxxxx, hch@xxxxxxxxxxxxx, hughd@xxxxxxxxxx,
ira.weiny@xxxxxxxxx, isaku.yamahata@xxxxxxxxx, jack@xxxxxxx,
james.morse@xxxxxxx, jarkko@xxxxxxxxxx, jgg@xxxxxxxx,
jgowans@xxxxxxxxxx, jhubbard@xxxxxxxxxx, jroedel@xxxxxxx,
jthoughton@xxxxxxxxxx, jun.miao@xxxxxxxxx, kai.huang@xxxxxxxxx,
keirf@xxxxxxxxxx, kent.overstreet@xxxxxxxxx,
kirill.shutemov@xxxxxxxxx, liam.merwick@xxxxxxxxxx,
maciej.wieczor-retman@xxxxxxxxx, mail@xxxxxxxxxxxxxxxxxxxxx,
maz@xxxxxxxxxx, mic@xxxxxxxxxxx, michael.roth@xxxxxxx,
mpe@xxxxxxxxxxxxxx, muchun.song@xxxxxxxxx, nikunj@xxxxxxx,
nsaenz@xxxxxxxxx, oliver.upton@xxxxxxxxx, palmer@xxxxxxxxxxx,
pankaj.gupta@xxxxxxx, paul.walmsley@xxxxxxxxxx, pbonzini@xxxxxxxxxx,
pdurrant@xxxxxxxxxxxx, peterx@xxxxxxxxxx, pgonda@xxxxxxxxxx,
pvorel@xxxxxxx, qperret@xxxxxxxxxx, quic_cvanscha@xxxxxxxxxxx,
quic_eberman@xxxxxxxxxxx, quic_mnalajal@xxxxxxxxxxx,
quic_pderrin@xxxxxxxxxxx, quic_pheragu@xxxxxxxxxxx,
quic_svaddagi@xxxxxxxxxxx, quic_tsoni@xxxxxxxxxxx,
richard.weiyang@xxxxxxxxx, rick.p.edgecombe@xxxxxxxxx,
rientjes@xxxxxxxxxx, roypat@xxxxxxxxxxxx, seanjc@xxxxxxxxxx,
shuah@xxxxxxxxxx, steven.price@xxxxxxx, steven.sistare@xxxxxxxxxx,
suzuki.poulose@xxxxxxx, tabba@xxxxxxxxxx, thomas.lendacky@xxxxxxx,
vannapurve@xxxxxxxxxx, vbabka@xxxxxxx, viro@xxxxxxxxxxxxxxxxxx,
vkuznets@xxxxxxxxxx, wei.w.wang@xxxxxxxxx, will@xxxxxxxxxx,
willy@xxxxxxxxxxxxx, xiaoyao.li@xxxxxxxxx, yan.y.zhao@xxxxxxxxx,
yilun.xu@xxxxxxxxx, yuzenghui@xxxxxxxxxx, zhiquan1.li@xxxxxxxxx
Subject: Re: [PATCH 1/2] fs: Provide function that allocates a secure
anonymous inode
Message-ID: <aEEv-A1ot_t8ePgv@xxxxxxxxxx>
References: <cover.1748890962.git.ackerleytng@xxxxxxxxxx>
<c03fbe18c3ae90fb3fa7c71dc0ee164e6cc12103.1748890962.git.ackerleytng@xxxxxxxxxx>
<aD_8z4pd7JcFkAwX@xxxxxxxxxx>
<CAHC9VhQczhrVx4YEGbXbAS8FLi0jaV1RB0kb8e4rPsUOXYLqtA@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAHC9VhQczhrVx4YEGbXbAS8FLi0jaV1RB0kb8e4rPsUOXYLqtA@xxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 05:13:35PM -0400, Paul Moore wrote:
> On Wed, Jun 4, 2025 at 3:59 AM Mike Rapoport <rppt@xxxxxxxxxx> wrote:
> >
> > (added Paul Moore for selinux bits)
>
> Thanks Mike.
>
> I'm adding the LSM and SELinux lists too since there are others that
> will be interested as well.
>
> > On Mon, Jun 02, 2025 at 12:17:54PM -0700, Ackerley Tng wrote:
> > > The new function, alloc_anon_secure_inode(), returns an inode after
> > > running checks in security_inode_init_security_anon().
> > >
> > > Also refactor secretmem's file creation process to use the new
> > > function.
> > >
> > > Suggested-by: David Hildenbrand <david@xxxxxxxxxx>
> > > Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>
> > > ---
> > > fs/anon_inodes.c | 22 ++++++++++++++++------
> > > include/linux/fs.h | 1 +
> > > mm/secretmem.c | 9 +--------
> > > 3 files changed, 18 insertions(+), 14 deletions(-)
> > >
> > > diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c
> > > index 583ac81669c2..4c3110378647 100644
> > > --- a/fs/anon_inodes.c
> > > +++ b/fs/anon_inodes.c
> > > @@ -55,17 +55,20 @@ static struct file_system_type anon_inode_fs_type = {
> > > .kill_sb = kill_anon_super,
> > > };
> > >
> > > -static struct inode *anon_inode_make_secure_inode(
> > > - const char *name,
> > > - const struct inode *context_inode)
> > > +static struct inode *anon_inode_make_secure_inode(struct super_block *s,
> > > + const char *name, const struct inode *context_inode,
> > > + bool fs_internal)
> > > {
> > > struct inode *inode;
> > > int error;
> > >
> > > - inode = alloc_anon_inode(anon_inode_mnt->mnt_sb);
> > > + inode = alloc_anon_inode(s);
> > > if (IS_ERR(inode))
> > > return inode;
> > > - inode->i_flags &= ~S_PRIVATE;
> > > +
> > > + if (!fs_internal)
> > > + inode->i_flags &= ~S_PRIVATE;
> > > +
> > > error = security_inode_init_security_anon(inode, &QSTR(name),
> > > context_inode);
> > > if (error) {
> > > @@ -75,6 +78,12 @@ static struct inode *anon_inode_make_secure_inode(
> > > return inode;
> > > }
> > >
> > > +struct inode *alloc_anon_secure_inode(struct super_block *s, const char *name)
> > > +{
> > > + return anon_inode_make_secure_inode(s, name, NULL, true);
> > > +}
> > > +EXPORT_SYMBOL_GPL(alloc_anon_secure_inode);
> > > +
> > > static struct file *__anon_inode_getfile(const char *name,
> > > const struct file_operations *fops,
> > > void *priv, int flags,
> > > @@ -88,7 +97,8 @@ static struct file *__anon_inode_getfile(const char *name,
> > > return ERR_PTR(-ENOENT);
> > >
> > > if (make_inode) {
> > > - inode = anon_inode_make_secure_inode(name, context_inode);
> > > + inode = anon_inode_make_secure_inode(anon_inode_mnt->mnt_sb,
> > > + name, context_inode, false);
> > > if (IS_ERR(inode)) {
> > > file = ERR_CAST(inode);
> > > goto err;
> > > diff --git a/include/linux/fs.h b/include/linux/fs.h
> > > index 016b0fe1536e..0fded2e3c661 100644
> > > --- a/include/linux/fs.h
> > > +++ b/include/linux/fs.h
> > > @@ -3550,6 +3550,7 @@ extern int simple_write_begin(struct file *file, struct address_space *mapping,
> > > extern const struct address_space_operations ram_aops;
> > > extern int always_delete_dentry(const struct dentry *);
> > > extern struct inode *alloc_anon_inode(struct super_block *);
> > > +extern struct inode *alloc_anon_secure_inode(struct super_block *, const char *);
> > > extern int simple_nosetlease(struct file *, int, struct file_lease **, void **);
> > > extern const struct dentry_operations simple_dentry_operations;
> > >
> > > diff --git a/mm/secretmem.c b/mm/secretmem.c
> > > index 1b0a214ee558..c0e459e58cb6 100644
> > > --- a/mm/secretmem.c
> > > +++ b/mm/secretmem.c
> > > @@ -195,18 +195,11 @@ static struct file *secretmem_file_create(unsigned long flags)
> > > struct file *file;
> > > struct inode *inode;
> > > const char *anon_name = "[secretmem]";
> > > - int err;
> > >
> > > - inode = alloc_anon_inode(secretmem_mnt->mnt_sb);
> > > + inode = alloc_anon_secure_inode(secretmem_mnt->mnt_sb, anon_name);
> > > if (IS_ERR(inode))
> > > return ERR_CAST(inode);
> >
> > I don't think we should not hide secretmem and guest_memfd inodes from
> > selinux, so clearing S_PRIVATE for them is not needed and you can just drop
> > fs_internal parameter in anon_inode_make_secure_inode()
>
> It's especially odd since I don't see any comments or descriptions
> about why this is being done. The secretmem change is concerning as
> this is user accessible and marking the inode with S_PRIVATE will
> bypass a number of LSM/SELinux access controls, possibly resulting in
> a security regression (one would need to dig a bit deeper to see what
> is possible with secretmem and which LSM/SELinux code paths would be
> affected).

secretmem always had S_PRIVATE set because alloc_anon_inode() clears it
anyway and this patch does not change it.
I'm just thinking that it makes sense to actually allow LSM/SELinux
controls that S_PRIVATE bypasses for both secretmem and guest_memfd.

--
Sincerely yours,
Mike.


Return-Path: <linux-kernel+bounces-674072-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 64EFC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:51:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 6A74B3AAD37
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:50:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BC1281EF0B0;
Thu, 5 Jun 2025 05:51:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="odUf7l0g"
Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.5])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 627792AE74;
Thu, 5 Jun 2025 05:51:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.5
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102673; cv=none; b=FRi9cRgfWGBlIzyrvvZDiDQZ5xH2OrSATftPdIkQjlW2MQLHfYLoC9m420ZW0h5R8/pe0BABjrN1d3mWskpe44lwGF6RtJpFFgSTjNDm4UWYX2pKTTpRsPlz6LnWINNs50gDPXrVtlBiXQ9PDUJmCZ67i+MdcBjuWqKAb2EbPxg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102673; c=relaxed/simple;
bh=D4uZKuwwomr4WfuglBBZU+aqi9GkF6AI+jbE7UVDZ+s=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=jGBi4Uw0kYlb8I5cSoMFCsfu5PkzkxVBAi8TEey4nrnWmjanZC8tBN3cv8L6jrspycg/rLo0qcENmpJCkFORmGECSIWcfuc3OkrtfNIwc1poZvlTF/wq6xBO3SJnHIacQ7AbRfgw5H1GVzUJDDloB1ydrZIUGIcBNs/0xdsDcTM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=odUf7l0g; arc=none smtp.client-ip=220.197.31.5
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
s=s110527; h=From:To:Subject:Date:Message-ID:MIME-Version; bh=+c
+mkab3kXPQMWH8vwkjAB2WGK4xCiCRJaS9X7+OGvk=; b=odUf7l0gvvsK0+2ZLb
XqdZdVumbFfPvNwAolsB2ujT2Vd4RLZWy/518ELIMjCwztJgDbhYQY+2wTAQkro4
EceChtPcn7HCau8jopzICHcqHiE5n3V6wrAn43p6xFCnkJs6uFrHKmgPoiCnx6M4
fOfYk7/0ZGr92BITx7ormjdq4=
Received: from chi-Redmi-Book.. (unknown [])
by gzga-smtp-mtada-g0-4 (Coremail) with SMTP id _____wAnbr8VMEFoKTpFGQ--.7585S2;
Thu, 05 Jun 2025 13:50:13 +0800 (CST)
From: Chi Zhiling <chizhiling@xxxxxxx>
To: willy@xxxxxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx,
josef@xxxxxxxxxxxxxx,
jack@xxxxxxx
Cc: linux-fsdevel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Chi Zhiling <chizhiling@xxxxxxxxxx>
Subject: [PATCH] readahead: fix return value of page_cache_next_miss() when no hole is found
Date: Thu, 5 Jun 2025 13:49:35 +0800
Message-ID: <20250605054935.2323451-1-chizhiling@xxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:_____wAnbr8VMEFoKTpFGQ--.7585S2
X-Coremail-Antispam: 1Uf129KBjvdXoWruw1rCw43Cr1fWr4fury8Zrb_yoWfZFc_Xr
ykKw45WFsY9rZ2kr1ayFs8KrWI93Wq9rZxWF10qwsxt345Aas3WF1qvr1rtr17WrsakFZ8
JrsFvr1Ykr1qqjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU8hSdDUUUUU==
X-CM-SenderInfo: hfkl6xxlol0wi6rwjhhfrp/xtbBgAFjnWhBKYubXAABsy
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Chi Zhiling <chizhiling@xxxxxxxxxx>

max_scan in page_cache_next_miss always decreases to zero when no hole
is found, causing the return value to be index + 0.

Fix this by preserving the max_scan value throughout the loop.

Fixes: 901a269ff3d5 ("filemap: fix page_cache_next_miss() when no hole found")
Signed-off-by: Chi Zhiling <chizhiling@xxxxxxxxxx>
---
mm/filemap.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/filemap.c b/mm/filemap.c
index b5e784f34d98..148be65be1cd 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1767,8 +1767,9 @@ pgoff_t page_cache_next_miss(struct address_space *mapping,
pgoff_t index, unsigned long max_scan)
{
XA_STATE(xas, &mapping->i_pages, index);
+ unsigned long nr = max_scan;

- while (max_scan--) {
+ while (nr--) {
void *entry = xas_next(&xas);
if (!entry || xa_is_value(entry))
return xas.xa_index;
--
2.43.0



Return-Path: <linux-kernel+bounces-674073-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 00EEA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:51:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B460D3AAD04
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:51:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9367B1F3B87;
Thu, 5 Jun 2025 05:51:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="UDNPkpIe"
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2084.outbound.protection.outlook.com [40.107.96.84])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9A01F1F1531;
Thu, 5 Jun 2025 05:51:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.96.84
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102676; cv=fail; b=gdRO8v4IZL3wjvu30pIVOWTWHXuVAyR7t2m13XjR+Tqc3Yp8rLR+Cc+Ps/wxhmOqTHRlfGjPjfVR8w/Ud7Axi9TqJ30uivu86mvE9yE84IIHzNtOX8Wf7W7sGOK794fKg7PD0hfDgD/XLD7VldIhxg7oSx9nJ8k2vpn27TswdN0=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102676; c=relaxed/simple;
bh=EXp1zOW/hb2UiHD73hB8WLmA4AG5q0Ijq+ZHGgJM2Ww=;
h=Content-Type:Date:Message-Id:Subject:From:To:Cc:References:
In-Reply-To:MIME-Version; b=I2P2wKTlssWsyDCh6JEF7sutUOy3blHbFCx3xcL434mHgYEbd0lrJXe+vxtzCZMqJP6Qs90/Y9jimB9EKfujG8DJWzoD5Xq7LRW2Fih4PmxjPh6BjTBJMu2kK6eJ4a4KPWGCApbx9sG6QNOx/t2kd9giII82bINAHQ449TTOOAo=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=UDNPkpIe; arc=fail smtp.client-ip=40.107.96.84
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=MzmU9RdnFHy9kYFfzCT5Q4llzcPc977SPxcCJEKQk3Duzm9ilhQy1FvUTo1pWP5OKdc3zCrzaRkY1TWraQIEfkfz4BLpl+GGM7cWJIhdXxPL92C4/7Cnmq7GVhYFe1CPIZ2Lmqbh8Wz8V9YF40IKkfppoet3GJykA24YSvN770DOMOe8d1yrhT8xCPcCNcqZEftN3Qsua8obPNC7hsGiNUh9DQWrtsgyr9iNxbQRfF03HdUfrhDbAeLmd4OQtmsgnXt4J6+TGq7PkRp2/oEPQXfPJyVIHGG+JI2dH0xHv3phE0JEjvNm5gcOCLakIT9wXP5h7UOX6jr1Pagq0SzGMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=qrlR1rwPM4ug+EFWTRveV06HWA3jb2Jonv5rydn9gQw=;
b=JyMpXF++WHhBWIks8Q4Twcc9fFLbCXbGnf4YlSJQ8VvwiW6JEOr7Mnw18Bb1+BnLVMVqZ+K0NEs8wHVeLFRjgiTLznQQ7yAIGeYv1u1oIwWnG7vtQhGAXczarR4XU000ZUPGx0m53C80GBdHWsaFwSXNti2ouukx/eaiZHHBuWpxZpi2/nQdsCvHkkjWivLRx/3MzUsAJnp2S1HMislmjlNAoFMSUXFVROmhgFzTHDUB/EaRtmHhU+qHrRBY9v5C9daJSu8zQuv3VPNOhawN+KHMNRgzLXZ3vZyzBJRAziTnAMIZS8i6GRlLqnK7392ftlxkYRROfiFd/APbTRkghA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=qrlR1rwPM4ug+EFWTRveV06HWA3jb2Jonv5rydn9gQw=;
b=UDNPkpIevKxnb6Rle6jMWmWfZjlJ++jWAwf1Zr5lXnznrxmyst6omA/RrdEhAbCKF4qKSKKCYSEo7Wf1OdunlhRs/KY7mY+pInw9SXbeALo7v+PF11zq1pQcgPeHHesyLbgf9WdYzAa849ajeviuSqFF2R4yQzEVV8bSCJgyg6N5FSHlwl9wtYQS0HQmjyhXiU5bS4Ug+Jttg5wL8hnjAxH7KhrHnTJqf/xHhNaFBLMGl6vbf1hwpqFgXuxSwNky/wllzGi9IvOri0PV4p5O47PmP6ohWdsJOTHBC9Bo1Wyphze4aP0o77pTU9xcgaJnU+KdAySxdWAYVpS20nrrWQ==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nvidia.com;
Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18)
by PH8PR12MB7136.namprd12.prod.outlook.com (2603:10b6:510:22b::5) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 05:51:09 +0000
Received: from CH2PR12MB3990.namprd12.prod.outlook.com
([fe80::6e37:569f:82ee:3f99]) by CH2PR12MB3990.namprd12.prod.outlook.com
([fe80::6e37:569f:82ee:3f99%4]) with mapi id 15.20.8792.034; Thu, 5 Jun 2025
05:51:09 +0000
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 05 Jun 2025 14:51:05 +0900
Message-Id: <DAED5BUK7TUQ.4JRHFMWZ99W3@xxxxxxxxxx>
Subject: Re: [PATCH 1/2] rust: add initial scatterlist bindings
From: "Alexandre Courbot" <acourbot@xxxxxxxxxx>
To: "Lyude Paul" <lyude@xxxxxxxxxx>, "Jason Gunthorpe" <jgg@xxxxxxxx>,
"Abdiel Janulgue" <abdiel.janulgue@xxxxxxxxx>
Cc: <dakr@xxxxxxxxxx>, "Miguel Ojeda" <ojeda@xxxxxxxxxx>, "Alex Gaynor"
<alex.gaynor@xxxxxxxxx>, "Boqun Feng" <boqun.feng@xxxxxxxxx>, "Gary Guo"
<gary@xxxxxxxxxxx>, =?utf-8?q?Bj=C3=B6rn_Roy_Baron?=
<bjorn3_gh@xxxxxxxxxxxxxx>, "Benno Lossin" <benno.lossin@xxxxxxxxx>,
"Andreas Hindborg" <a.hindborg@xxxxxxxxxx>, "Alice Ryhl"
<aliceryhl@xxxxxxxxxx>, "Trevor Gross" <tmgross@xxxxxxxxx>, "Valentin Obst"
<kernel@xxxxxxxxxxxxxxx>, "open list" <linux-kernel@xxxxxxxxxxxxxxx>,
"Marek Szyprowski" <m.szyprowski@xxxxxxxxxxx>, "Robin Murphy"
<robin.murphy@xxxxxxx>, <airlied@xxxxxxxxxx>,
<rust-for-linux@xxxxxxxxxxxxxxx>, "open list:DMA MAPPING HELPERS"
<iommu@xxxxxxxxxxxxxxx>, "Petr Tesarik" <petr@xxxxxxxxxxx>, "Andrew Morton"
<akpm@xxxxxxxxxxxxxxxxxxxx>, "Herbert Xu" <herbert@xxxxxxxxxxxxxxxxxxx>,
"Sui Jingfeng" <sui.jingfeng@xxxxxxxxx>, "Randy Dunlap"
<rdunlap@xxxxxxxxxxxxx>, "Michael Kelley" <mhklinux@xxxxxxxxxxx>
X-Mailer: aerc 0.20.1-0-g2ecb8770224a
References: <20250528221525.1705117-1-abdiel.janulgue@xxxxxxxxx>
<20250528221525.1705117-2-abdiel.janulgue@xxxxxxxxx>
<20250529004550.GB192517@xxxxxxxx> <DA9JTYA0EQU8.26M0ZX80FOBWY@xxxxxxxxxx>
<95ff963ddabf7c3cd2cfd07d0231a0073ff6847e.camel@xxxxxxxxxx>
In-Reply-To: <95ff963ddabf7c3cd2cfd07d0231a0073ff6847e.camel@xxxxxxxxxx>
X-ClientProxiedBy: TYCPR01CA0124.jpnprd01.prod.outlook.com
(2603:1096:400:26d::10) To CH2PR12MB3990.namprd12.prod.outlook.com
(2603:10b6:610:28::18)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|PH8PR12MB7136:EE_
X-MS-Office365-Filtering-Correlation-Id: cf21436b-73ee-4502-49de-08dda3f4f836
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|366016|1800799024|10070799003|376014|7416014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?Y2RQUzZWYjNYLzlzTS9qc2RvSE9yS1Z6cG1DS2hGSlFSUmVHNFE1bUJSSnRI?=
=?utf-8?B?Q0JvYkRzVXRvY2JLTE5rL0RGYnA2a0gyMjhadTE0TmJsb2x0bVFGMmk0M2pQ?=
=?utf-8?B?ang4MVR1QXpGQkJ5Rzl2T1EwUWc4Rnk3c0Z5R29xWDRHeTcwWmY2dy9BQnFI?=
=?utf-8?B?cFdyVlNxVUJvSXlKbW8ySVp6eXBVSlZUNjNMckk0M0lTVm5rdG9HNlU2ZHNn?=
=?utf-8?B?WWtwdTEvaWNZNkR0MHhXTHV5SkoyOHZlL0xtOVpPL3BaM1p5UjlUbUdoRGg0?=
=?utf-8?B?azlnTkRoaFVVZWdsNVpHbFQ3N1N1M1IvbWV4RmpBcFQvVERMMDlRaEJsMElj?=
=?utf-8?B?dXpycFhhbkRpMFJoK1phV2NoWDRMY1prMUk3Z21UcytzQ2s0WW9rYUVGM2l3?=
=?utf-8?B?RWI1a2hYeE1mT3lCQTljWklhb3k4dGtsNzc5TmhXT0VqZElVNG9NaTB5TmhV?=
=?utf-8?B?OWtFYjQ2VTVlazg2T1dXTFhCK2V5V2ZuN0lFb3JRdTR3aU5LWEJQL2I4eUlO?=
=?utf-8?B?WDhYSWNENXh6MFhGK2lqdUkvMnVTVW5kejFYdGF2ZmxxeGp3VnJoSnV2Slh1?=
=?utf-8?B?M2VMSm40YmdoOXlodjNJRkZnZytIRTNjeU1EWlZZK0lBZm9wNU94NzNEYldS?=
=?utf-8?B?TlNCTm5scW9xaVhpNkZoR3JjaUNFWU1pNnUwR2RzdVI4UldzaVZWTy9yckdT?=
=?utf-8?B?bE1FSDh1NzhudVhYTktrZGZ1d1NtK2QxazduYlNDV05wT2locUVnUFNLSHdC?=
=?utf-8?B?dW5yLzNrN2krM2tZNkk0T0pZWVhTb0QvdEN4OGx4eWZIRUVvSlIwcE0vWUUw?=
=?utf-8?B?WmNPRVRNOVN4SjU3ZXBRMVNSUVhUSUtYakRnY1dXbTZ3RGMwVDdCbWdwcWYy?=
=?utf-8?B?LytUQzl3VTNiTExDTXBvZDZxbTlhV2xReDY2bnk3Y2lLaks2ZjlFNDR3bkh2?=
=?utf-8?B?T055U1A0am5DWHYzb0E0RW1oZlY4L1BSQ0hOT3FDbVZCVDlUeFdZNWJ3cTFa?=
=?utf-8?B?TGQraDd5N2tVcEMxalRYcnZZWkhsK2dLeXFreVBveGtQUmZTbVlXWDNnR090?=
=?utf-8?B?RzkvRG8vQkY1aGUrNEx0NGwxOEV0S1hZaTNPQ01ybUV1bis2SHBXMUVnWnFL?=
=?utf-8?B?WUozVU0xUnA1MENaYWhyek1Bd0dGbjRXUHY4dkRrYkxiKytSc3UzaUg0czIw?=
=?utf-8?B?YmNSR3VJVTl0RmcyQzVlUUU0UXpvVmVaS1NKdVVsa0ZFVUxOZjdNZWxXZWxC?=
=?utf-8?B?d1M2SnFJTkk2WkttVGZZRjh1V0tySUJuS0lFekFybVFPQ1B6VE1Ocko4QktE?=
=?utf-8?B?QStidng1dHZLYzAycWFMQ2JsQ1ZCT1NIUjkvYmdFb1NWUTcwcjBXTUYybWww?=
=?utf-8?B?Z1BBMWtuMEJnaE0xUkwxTEhzVUZXTGFWUzBEY1E2SjNHTHl4eTRsMUdvajR6?=
=?utf-8?B?UjlMMnJRRUFYVGY0Mnp6bHpOcXhhOXZFU2tUQlVKUXZiSmcwb0Z2a3hYME1k?=
=?utf-8?B?WXVuY1J2Qzc5N2ovN2EyZ08vZmpOQVhoSjIrREMrRkhtdXhEK0Z5VUJvYjQ2?=
=?utf-8?B?ajhaUWRhVTRqUHZTSjd6OHZpZkgxRE1SRzg2Sml1Y0dXQzBPaGc3MHNmYWNN?=
=?utf-8?B?c0lITjR5Tm11TW11L0xOYWtyRnJVSXdkak0yaXZTd3FDcXdNVGJRRTFTek11?=
=?utf-8?B?TXRCWGcwb3h2Y2laUVBHT0U2b2VxYkh0cmJTUjYzb0MzYjlHUm8xdFNtTzUw?=
=?utf-8?B?UFBKSmt5T0I5am45Q0x4V3FzdzlLQ3V2Tm5OYWVqQVJ5M3JVL09SNEpxcEh0?=
=?utf-8?B?Smxud1YxVHorS0ltNStSRFB2VTA0TmZ1d1I4S013WDh0dlZoZjVqVXN4SEln?=
=?utf-8?B?ck9rcUpJREx5S3IyN0dCVnd3U2NRMkVFM1VwOVdkWkFpRFBqQ1BQOWFhMk5W?=
=?utf-8?Q?LqjX7u/SRvM=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(10070799003)(376014)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?R0phejhXQ0Y2NDRrd3U4Y1BzcWNOZXZmdUN1R0krM1A0d0hScWt3SmhnVUFi?=
=?utf-8?B?eHZmOUdGMU5xSk5KRThaZ1R2YzlQY0RIZHFySU02V2pveFFmVnhTN2ROZHpp?=
=?utf-8?B?NnlLTnR1OEtWSHNrY2h6MWdhanMwTGhvRXJ2NEYxYTBHMVRSeFd2RC9KaEp1?=
=?utf-8?B?TnJweG1Eb1VZNVBCWUoyM0NDTVFYQ3hJUDZ4SUJBd3JpZ29iK3ZRSlZxZ2wz?=
=?utf-8?B?QmxkakdqUkl6dzNjbElHaVY5YU0zcWtFWmxoQkx0bXVsTWRWWVpzYmNyQWlW?=
=?utf-8?B?TXg0NEFHWVVua09DWUVIdXBtKzJnOS8zS0RCT2JFN1ptNm5qRTdhVmlvaDM2?=
=?utf-8?B?czZUbnBnV2g0QkpkU2xOT0NCYUExWU0rMHZ6LzN4cVNqTDhrNVlSUm5hcWNu?=
=?utf-8?B?YzY2VUVGZzlDazQ0UEUxU3FZaXhSZDRHVVZqWjBDeHU3WHRMaW5nR1BzMjZZ?=
=?utf-8?B?SUx4RDNNaDNJbVlXL1dDZUpuTEJFRkhCQ2w1ait0V3Bzd0hyVkk4d3NLdFp0?=
=?utf-8?B?MzhCc0pndmRzbHV3VTcxNmpJUnYxSlVILzZxMkVKNUN0Z1Y4cURwM3VLYTR6?=
=?utf-8?B?NWdzV3AvNWV3d1RqTUVjWUpNc0JoOVhpWHU3NWlaUGpyVDB1TVhwOWg1QkFK?=
=?utf-8?B?Wjc4b3piMmoyaTVjMFkwQ2NWYitNelRZRjRHNDUxMFFZYkYvM2JzVzI5dzZ1?=
=?utf-8?B?VG9sMzZTd25peTk2NlpnYTNmRjdWb2dMTSsrVkhJNTRXZ0F6T2RLbmZBZ0Vr?=
=?utf-8?B?Q1JDR0xOZFNSMTJTTzRHWEJuTS9FRVV3TGVSNzBSZWJJbmxWWjZkMzFwcXR0?=
=?utf-8?B?N21vUkNzMW5hMm5HSWtjUTB4RmMxelJvRFNDSlozZTFDazV1enc3MHk3NGdW?=
=?utf-8?B?cVBDNUZweEFkNDBhak9Rc1lkVGtXc0p2WWQxNmpEQ2N1ZHRUem9qOVJXdTVq?=
=?utf-8?B?L0pRRlptQWhtUWZPT3k1V280WjZIcldLMUlESTR6UTI2bmozUitoSzR1V1RK?=
=?utf-8?B?V1dsd2c4enBlOGpYSEFnZWR6NDQwM1FFZDNnVXpVZXNDZ2tkUlV4Sy81d1dR?=
=?utf-8?B?cXk0U2E2azJMVWdhSmc3dFNDQ2pKRUhiTkdrUmZVTk5xcnFSckxLbGhTbERI?=
=?utf-8?B?d1ZpWHFsR1FwU0RodStLb0hXY004cFhQMTZXb3RuQ0FOQm45MFVnamNZdHRq?=
=?utf-8?B?T0NjY2VEemRXTDJ1Z3BHMlhJM3lmTXEzTndTRFB0VmxmNklKZ3VVektQaTdq?=
=?utf-8?B?SXFXWGZUVlR0eEdaNXU1Nk0yNVFMMFprQ1R4MEFqYWxVTmJKQkJFbzE5Q1pF?=
=?utf-8?B?bS85c2pFVDJNVmJGVDUyekhyUFZ6YmExQ0NMaytxeUJ0ajJiZzAwaGZyME9m?=
=?utf-8?B?dHdFZ2VzQ3NMQ1dxYjE2a3hvaUIrNEs5ZFVhWGhGQjFGYjhQRWFUMkxJN09F?=
=?utf-8?B?WXNFeWxEUlUxZzlMWkc4UWtuMG9JZXdoL3VaNjZzQ09wZ0ZNazZidVc2Si94?=
=?utf-8?B?eGlTbEs3b3ZtcHRSNWkyMERlUHFEVVJzWkF2WlVMSStveTJrSzZ0WVFrZ0Ni?=
=?utf-8?B?ZE1FMWxwb3JOY1VENGlpRlRwMzNjRmJnT2tjb3dBUUVsV2ZUN0dxRThCOFhj?=
=?utf-8?B?ZHRVUHFQbkRmZnhGQlNoeWdXUitKcm9OOU52RWVvY08zNU5tZWhYMDk3RnNM?=
=?utf-8?B?VUNNdThXb2JoM2crOFRRNEdnUWNFb0tKaWxIMTIwNUFFUEtnKzkvMWxEc3pP?=
=?utf-8?B?YzZRZnhlb05PWkYrSDdLV3ppMENReHlJcEIzYjl6QnU4OENheXZMbGhVeC9G?=
=?utf-8?B?STZvRnJONG9tdHBOMGJkY1hTeUlLM0lzbTJSNXBTSFU3TS82b3RWeDZJR2d3?=
=?utf-8?B?c2podHZKVzVrbzdwY1UvVG5vVlR4QnhZU0RrUlo1RGloNlFDZGxzRXhPOXVP?=
=?utf-8?B?QTMxbWdnNlNvckNqeHdUOVdNS0RaY3hNNHFCZENsb3hLcXI3ZlRML1VCODBF?=
=?utf-8?B?N2ZWbk9TdVhKemo3MmJ0cG5tNWxRSnZXK2JZWTBMTGJ4aHhxSzE1UHFacHFo?=
=?utf-8?B?VmRkMXlsMjQ4aFE1bEVJZ0ZPTWs4MDBlNmdleFV0MXdCTnpZRkhSWEdKQy9M?=
=?utf-8?B?WThFR0RSaXlrRVFpaE4ySW5YVjM0S2oycllGdGN3ZGVFVFpvVzJJOFIzT1VL?=
=?utf-8?Q?ueD9K7tIYPaJeYBUb41KvuC9wM6HG9t7IvrYRmbysFqS?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf21436b-73ee-4502-49de-08dda3f4f836
X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 05:51:09.0577
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SrOsCYEL/MwFVdS6348zR3yM/GbgyjusUT0aAi0McjExKkZa3ABAEzsUxhxW1WJBUMhZHl9Z9tn6owk3tqQzFQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7136
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu Jun 5, 2025 at 3:21 AM JST, Lyude Paul wrote:
> On Fri, 2025-05-30 at 23:02 +0900, Alexandre Courbot wrote:
>> On Thu May 29, 2025 at 9:45 AM JST, Jason Gunthorpe wrote:
>> > On Thu, May 29, 2025 at 01:14:05AM +0300, Abdiel Janulgue wrote:
>> > > +impl SGEntry<Unmapped> {
>> > > + /// Set this entry to point at a given page.
>> > > + pub fn set_page(&mut self, page: &Page, length: u32, offset: u3=
2) {
>> > > + let c: *mut bindings::scatterlist =3D self.0.get();
>> > > + // SAFETY: according to the `SGEntry` invariant, the scatte=
rlist pointer is valid.
>> > > + // `Page` invariant also ensures the pointer is valid.
>> > > + unsafe { bindings::sg_set_page(c, page.as_ptr(), length, of=
fset) };
>> > > + }
>> > > +}
>> >=20
>> > Wrong safety statement. sg_set_page captures the page.as_ptr() inside
>> > the C datastructure so the caller must ensure it holds a reference on
>> > the page while it is contained within the scatterlist.
>> >=20
>> > Which this API doesn't force to happen.
>> >=20
>> > Most likely for this to work for rust you have to take a page
>> > reference here and ensure the page reference is put back during sg
>> > destruction. A typical normal pattern would 'move' the reference from
>> > the caller into the scatterlist.
>>=20
>> As Jason mentioned, we need to make sure that the backing pages don't ge=
t
>> dropped while the `SGTable` is alive. The example provided unfortunately=
fails
>> to do that:
>>=20
>> let sgt =3D SGTable::alloc_table(4, GFP_KERNEL)?;
>> let sgt =3D sgt.init(|iter| {
>> for sg in iter {
>> sg.set_page(&Page::alloc_page(GFP_KERNEL)?, PAGE_SIZE as u32=
, 0);
>> }
>> Ok(())
>> })?;
>>=20
>> Here the allocated `Page`s are dropped immediately after their address i=
s
>> written by `set_page`, giving the device access to memory that may now b=
e used
>> for completely different purposes. As long as the `SGTable` exists, the =
memory
>> it points to must not be released or reallocated in any way.
>>=20
>> To that effect, we could simply store the `Page`s into the `SGTable`, bu=
t that
>> would cover only one of the many ways they can be constructed. For insta=
nce we
>> may want to share a `VVec` with a device and this just won't allow doing=
it.
>>=20
>> So we need a way to keep the provider of the pages alive into the `SGTab=
le`,
>> while also having a convenient way to get its list of pages. Here is rou=
gh idea
>> for doing this, it is very crude and probably not bulletproof but hopefu=
lly it
>> can constitute a start.
>>=20
>> You would have a trait for providing the pages and their range:
>>=20
>> /// Provides a list of pages that can be used to build a `SGTable`.
>> trait SGTablePages {
>> /// Returns an iterator to the pages providing the backing memor=
y of `self`.
>> fn pages_iter<'a>(&'a self) -> impl Iterator<Item =3D &'a bindin=
gs::page>;
>> /// Returns the effective range of the mapping.
>> fn range(&self) -> Range<usize>;
>> }
>>=20
>> The `SGTable` becomes something like:
>>=20
>> struct SGTable<P: SGTablePages, T: MapState>
>> {
>> table: Opaque<bindings::sg_table>,
>> pages: P,
>> _s: PhantomData<T>,
>> }
>
> Hopefully I'm not missing anything here but - I'm not sure how I feel abo=
ut
> this making assumptions about the memory layout of an sg_table beyond jus=
t
> being a struct sg_table. For instance, in the gem shmem helpers I had thi=
s for
> exposing the SGTable that is setup for gem shmem objects:
>
> struct OwnedSGTable<T: drm::gem::shmem::DriverObject> {
> sg_table: NonNull<SGTable>
> _owner: ARef<Object<T>>
> }
>
> So, I'm not really sure we have any reasonable representation for P here =
as we
> don't handle the memory allocation for the SGTable.

Maybe I need more context to understand your problem, but the point of
this design is precisely that it doesn't make any assumption about the
memory layout - all `P` needs to do is provide the pages describing the
memory backing.

Assuming that `_owner` here is the owner of the memory, couldn't you
flip your data layout and pass `_owner` (or rather a newtype wrapping
it) to `SGTable`, thus removing the need for a custom type?


Return-Path: <linux-kernel+bounces-674074-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 41E0C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:51:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 77B24175664
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:51:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0D0F81F4174;
Thu, 5 Jun 2025 05:51:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="U+3IIXWK"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3CD621EF0B0;
Thu, 5 Jun 2025 05:51:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102693; cv=none; b=LA3u17b4/MBPWi5rD3DmC3r4UGmQRlITXFGzxBSATQ/VKYGEwFf5v35GVKGktcb9Ew+lTBbG3AQClCMd4v0K34oOLLVoMubA+EIcDaswurLEbt0rhKj96kieag6hVX8SkMxjzX3zEMTmtnekN1RbKNXvtKU1GvbcD9mTlqspVA8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102693; c=relaxed/simple;
bh=R9ZU7C4rQ0t5XOOUUDx00muG4HBw07Usm+yiH+RoIL4=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=uM6RJ8MGow3xag1OzwIkuCEB509B/tXJOxlNLgqbz+XWLOODNspbxxxNnEca+Ai2nhtR4cWXNtCI/GemgQZYoJdk4pGD1226n03l4MWinSJB2ILgKagqwKmvf5PVaICIhR3Do2GwLtcxeMNm3EnbtZ4OaM0y30MUqqaP2eChwbM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=U+3IIXWK; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8E36C4CEE7;
Thu, 5 Jun 2025 05:51:29 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749102692;
bh=R9ZU7C4rQ0t5XOOUUDx00muG4HBw07Usm+yiH+RoIL4=;
h=Date:Subject:To:References:From:In-Reply-To:From;
b=U+3IIXWK1xtFRSMz3ntK5nUyElIy8FlDEa5GlUkne7JgAdhEsIN1vqa6yi13m7bW4
Azu4mcoDkxkZPQ1moxmPwTW78OtPDLj+Gahg3rXYRpPcNDg/zkD5Jf6PgEchap77Rk
ywUFef3tQul8VK8qWwgfkJVCvn/UPjUvLxtGdqMkio/JdlWSchAEMmrqIGbvyfSH9o
o7VPDrvNMaQxZJ1MntH1zsRzBWlKcI/c1Vzq5yzCBgP8of4yT6+LhFdPP1psFKz8ZC
q2Rp2WW9wOjXQCV6Ca8ArIUbgXC/4Wjl/H0Vc9R8eBoZnamdeCUFFgw5dZmT1Sv74f
wgPg3NGK+RCOw==
Message-ID: <7d4ec7c9-c95a-4e7e-9750-f6310ecb59fc@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 07:51:28 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] arm64: dts: imx95-19x19-evk: add adc0 flexcan[1,2]
i2c[2,3] uart5 spi3 and tpm3
To: Frank Li <Frank.Li@xxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@xxxxxxxxxxxxxxx>,
"open list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" <imx@xxxxxxxxxxxxxxx>,
"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE"
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
open list <linux-kernel@xxxxxxxxxxxxxxx>
References: <20250604200301.1192096-1-Frank.Li@xxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250604200301.1192096-1-Frank.Li@xxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 04/06/2025 22:02, Frank Li wrote:
> + num-cs = <1>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_lpspi7>;
> + cs-gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
> + status = "okay";
> +
> + spidev0: spi@0 {
> + reg = <0>;
> + compatible = "lwn,bk4-spi";

NAK

You do not have big excavator attached to your eval kit. Don't add fake,
non-existing or incorrect nodes.


Best regards,
Krzysztof


Return-Path: <linux-kernel+bounces-674075-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0A4FC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:54:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 27A193A5DE3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:54:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3E46D1EF397;
Thu, 5 Jun 2025 05:54:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KaAca/Cy"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 69BCF1DB34B;
Thu, 5 Jun 2025 05:54:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102854; cv=none; b=NmJT+xQV2BPPIgXcuuDJojlzHnwgGX3AQj3v2UhqV8qud9une/qw5DWQkFwt+5yV4hPDYVb+fi7PhKxwzzjpIyQTJUkeoM6Kgaa8vNld+ZV4BTY/aXlwwuiHtzxrY62njZGFDWJmfNlda5VjjBMxFuj1jLqRTz7r+O0v7MoTS6M=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102854; c=relaxed/simple;
bh=T2Vo4BftPct0a6tijnrOurIzk7beQuRJvZ4WHfuhvsQ=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=YF2XDx6ck8kKpFfzlLKyKyAqD9gkDYKGD/MMk7AQj2TiwYJMXOiY1365AGg8ueAAwF3OrebQvFZtpiqtgvzJZ0VB11nvlsG9yHfKjP/AL/nW70TVrZLa/x8RLwf1VTBnW7TcA9Y4w1EdHqeaSnHP+WsdnQSuLKWs4nsebRQdc/Y=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KaAca/Cy; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6ACDFC4CEE7;
Thu, 5 Jun 2025 05:54:09 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749102853;
bh=T2Vo4BftPct0a6tijnrOurIzk7beQuRJvZ4WHfuhvsQ=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=KaAca/CyXjndXSYXA8seSpmLKZAxGnniRmGiKLeLI4t0Q7wmKDwfex1+v+/r5Fkie
PGixN6s0hbvVkpqu7dgtRKjV03vDZKz95GYDsPEwP3Un3y405cr9fwRzowLHxGo0uY
unjPSobgfjwymSbm6/L8OvgTwOX8DmuEwMkrubics4ZleQIVAoJkGNnjiuh4pc45d/
o0NDr8pqc07LJi51wKZgX7vheBHMvq4/EukLnCXlriVinSTfLtWOLqyv1qxR0GR9ro
MsdvO4SbDMBCFfkMZlbRD952JBClIl8fcYy7iasv6RQ8As/krCIcW1L1Qr80nArGnX
AqITY1vtY3P3g==
Message-ID: <0365ffe2-82c6-41d1-ab39-17fe4642bebc@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 07:54:07 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] dt-bindings: input: goodix,gt9916: Document stylus
support
To: Pengyu Luo <mitltlatltl@xxxxxxxxx>,
Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Hans de Goede <hdegoede@xxxxxxxxxx>,
Kees Cook <kees@xxxxxxxxxx>, Dan Williams <dan.j.williams@xxxxxxxxx>,
=?UTF-8?Q?Thomas_Wei=C3=9Fschuh?= <thomas.weissschuh@xxxxxxxxxxxxx>,
Dionna Amalie Glaze <dionnaglaze@xxxxxxxxxx>,
Yury Norov <yury.norov@xxxxxxxxx>, Filipe Manana <fdmanana@xxxxxxxx>,
Len Brown <len.brown@xxxxxxxxx>, Eric Biggers <ebiggers@xxxxxxxxxx>,
pengdonglin <pengdonglin@xxxxxxxxxx>, Luo Jie <quic_luoj@xxxxxxxxxxx>,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>
Cc: Charles Wang <charles.goodix@xxxxxxxxx>, linux-input@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250605054855.403487-1-mitltlatltl@xxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250605054855.403487-1-mitltlatltl@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 05/06/2025 07:48, Pengyu Luo wrote:
> Document stylus support. Optional support for DT properties:
> - `goodix,stylus-enable`
> - `goodix,stylus-pressure-level`
> - `goodix,physical-x`
> - `goodix,physical-y`
>
> Signed-off-by: Pengyu Luo <mitltlatltl@xxxxxxxxx>
> ---
> .../input/touchscreen/goodix,gt9916.yaml | 23 +++++++++++++++++++
> 1 file changed, 23 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml b/Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml
> index c40d92b7f..e5476ea36 100644
> --- a/Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml
> +++ b/Documentation/devicetree/bindings/input/touchscreen/goodix,gt9916.yaml
> @@ -44,6 +44,27 @@ properties:
> touchscreen-size-y: true
> touchscreen-swapped-x-y: true
>
> + goodix,stylus-enable:
> + type: boolean
> + description:
> + Indicates that stylus (pen) functionality is enabled. If present,

Looks like deducible from the compatible.

> + the driver will initialize stylus-specific input reporting.

What if my driver does something else? Shall we change the binding? No.

> +
> + goodix,physical-x:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: Physical width of the touchscreen in millimeters.

No, use existing input properties.

> +
> + goodix,physical-y:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: Physical height of the touchscreen in millimeters.
> +
> + goodix,stylus-pressure-level:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + Number of discrete pressure levels supported by the stylus.
> + The reported ABS_PRESSURE range will be 0 to
> + (goodix,stylus-pressure-level - 1).

Use existing input properties.



Best regards,
Krzysztof


Return-Path: <linux-kernel+bounces-674076-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 946E541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:54:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id D209E3A57C7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:54:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 666951DF99C;
Thu, 5 Jun 2025 05:54:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hhvgiPJO"
Received: from mail-vk1-f169.google.com (mail-vk1-f169.google.com [209.85.221.169])
(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 71CB619CC11
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:54:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.169
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102893; cv=none; b=GDzLSXlbX1SC2fUFRIUF6kbhhMSq5X1F5qEydjKHQ9emqRuwwkssPAoSoPe5VqtrFXYjHyrsnxseATuS7QhF/JZcd40KHEHoBcPGV3aXJt5o6K9y/9L8AOXvV18L7bpC26V49dAhLsRofWlOIlqwrocmYdpvlEPmXc6DKkfJCKY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102893; c=relaxed/simple;
bh=Qa6J9H0UkupTLAC5URfShUV2cDgRjGS537rXOE23X5U=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=pMDhaWfl3NBTCq/NJeuq4t8NPchZqsQw1OCazpEav1kgcnOkOqHwZDT8S9Z1vRVzccBBhcInSLebXbSxCloRoZwlcqjYUzuuA8C/Fm0KAfTBbhj4Vvcuv4u5AJ5mhR25179RThjVhEDLl8EfDe6O0w10jHHRTLGvA38K3yFOv1I=
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=hhvgiPJO; arc=none smtp.client-ip=209.85.221.169
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
Received: by mail-vk1-f169.google.com with SMTP id 71dfb90a1353d-52f05bb975bso227362e0c.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 22:54:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749102890; x=1749707690; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=FjoW9fqYDbdAgIJcygrRxaRvrAzlodyZzlebWAHe+B0=;
b=hhvgiPJOy3O6eDEtabXrbv0yNtLUh3eEUQDReGlIlKEL/waYaRnT+dE87dRYJlEX8D
jFPHMZOkL6L63fEIuaZTTTKIjPUDbjQDbPHEJ+N+zcq2mT0ccydzNy8jeYlEs2tLQdG3
0XHUb+9WjGsrUlfDNQO1+esy6iezu8JxK5d7+OGCXsvkRtockbxXmwtf5vb+RN93qwm8
uRLVjAt9A4aothkTD0kPjiKxbx56l+41BubATBewIakTJSN1NLevH/6rOPMTIVyATofC
C0ZZnStSrq3F+EKf0QltX1h2ryoRh4ziKQMJZxpdt0n70Rk9xuM5N6m51mTMKgDj2Erk
aXCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749102890; x=1749707690;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=FjoW9fqYDbdAgIJcygrRxaRvrAzlodyZzlebWAHe+B0=;
b=PyTtU5Rjf3QD7nAfmgMLQSu+qOMiWUZLmzYmlguqQonHgTj0csCih4c3zyFbrQ7iTv
2POwrrYHOy5DUxBLhCiE2xO5f3RA2QutS6PzNSC0FdflVtT2S+lYGmYYrpDIJCVxdHfD
pIjfZ0U8GLlR/1jKyVONlMvXxCftyc9ZWhJJ2t7Rb+LKQlca6Hen08djXI06jTGN1AaM
BRnbj6hh7utm040i9F4j3l3OeJEKtGaGS6O/l2RsAxZxqEtIn3kklDqbIIBvv0g1u8Z4
QyAK3+VaRZYrwxs7Fjcszc+oz2sAXvVufnvAbPQW35wIiFy5x7JpSegBlue4vttTq98K
lCFQ==
X-Forwarded-Encrypted: i=1; AJvYcCWfFGkmGnAmS2I4J1Gs4QF4qgWJAP1jsG+YmTWFssBoOr36OMqQOzAR7IBMVKWxW5s4OsiwGxSNfK88D6s=@vger.kernel.org
X-Gm-Message-State: AOJu0YwI5lWvlL2EWOl21hOTosxmE8w1kJa5j3hWalNUrrEElUWM1bly
sM4VETGnuig+L7tYv7KueeQwEP5iRrQD88vv7Yf9j5QiuZwUvzRasiJC1AYnynmdJlajCig5OQn
kQ6sxuS7lXbtUYVI/aL0YondoCtlIS/E=
X-Gm-Gg: ASbGnctSn1HybYQSHqMjG3UDujwIaZ0tAz/mu4oKnWMRtLUFL9Hyboini4Fngp85ZR/
L1DVL6wSAxbkqvqUntA9M0VAVMM0sxryXedtlgmDWRDeq+URLlLwEnzSgIPXTVNkeMfZyaF/toO
R1yBbxCbZ+IipA9XyHF1sVScNZXeEXfRu2g7RkOvBdFrU=
X-Google-Smtp-Source: AGHT+IGHkmhnOe/ChO5I7mBfEFWzYWFhL+wlRB45syXvKYQqTeZmaKk/TDtDJwJhE0PPYIFdmsygYwuPVWhJMdFnqeU=
X-Received: by 2002:a05:6122:32d0:b0:530:72da:d13d with SMTP id
71dfb90a1353d-530c73159d2mr4234227e0c.1.1749102890022; Wed, 04 Jun 2025
22:54:50 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250510125948.2383778-1-xavier_qy@xxxxxxx> <99a0a2c8-d98e-4c81-9207-c55c72c00872@xxxxxxx>
In-Reply-To: <99a0a2c8-d98e-4c81-9207-c55c72c00872@xxxxxxx>
From: Xavier Xia <xavier.qyxia@xxxxxxxxx>
Date: Thu, 5 Jun 2025 13:54:38 +0800
X-Gm-Features: AX0GCFtPY6x3OM3e1kDkzDNs9hUNTSh7pijFHunjo15MxF1T0wx51pniOzvmFXw
Message-ID: <CAEmg6AUBf1wVjXSoqBseWffLbixUV7U-nY52ScKCeNXwrkBcqg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v6] arm64/mm: Optimize loop to reduce redundant operations
of contpte_ptep_get
To: Ryan Roberts <ryan.roberts@xxxxxxx>
Cc: Xavier Xia <xavier_qy@xxxxxxx>, 21cnbao@xxxxxxxxx, dev.jain@xxxxxxx,
ioworker0@xxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, catalin.marinas@xxxxxxx,
david@xxxxxxxxxx, gshan@xxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, will@xxxxxxxxxx, willy@xxxxxxxxxxxxx,
ziy@xxxxxxxxxx, Barry Song <baohua@xxxxxxxxxx>, linux-mm@xxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Ryan,

Thank you for your review, and for reproducing and verifying the test cases=
.
I am using a Gmail email to reply to your message, hoping you can receive i=
t.
Please check the details below.



On Thu, Jun 5, 2025 at 11:20=E2=80=AFAM Ryan Roberts <ryan.roberts@xxxxxxx>=
wrote:
>
> On 10/05/2025 13:59, Xavier Xia wrote:
> > This commit optimizes the contpte_ptep_get and contpte_ptep_get_lockles=
s
> > function by adding early termination logic. It checks if the dirty and
> > young bits of orig_pte are already set and skips redundant bit-setting
> > operations during the loop. This reduces unnecessary iterations and
> > improves performance.
> >
> > In order to verify the optimization performance, a test function has be=
en
> > designed. The function's execution time and instruction statistics have
> > been traced using perf, and the following are the operation results on =
a
> > certain Qualcomm mobile phone chip:
> >
> > Test Code:
>
> nit: It would have been good to include the source for the whole program,
> including #includes and the main() function to make it quicker for others=
to get
> up and running.

OK, I will pay attention to it in the future. This test case is quite
simple, so I didn't add it.

>
> >
> > #define PAGE_SIZE 4096
> > #define CONT_PTES 16
> > #define TEST_SIZE (4096* CONT_PTES * PAGE_SIZE)
> > #define YOUNG_BIT 8
> > void rwdata(char *buf)
> > {
> > for (size_t i =3D 0; i < TEST_SIZE; i +=3D PAGE_SIZE) {
> > buf[i] =3D 'a';
> > volatile char c =3D buf[i];
> > }
> > }
> > void clear_young_dirty(char *buf)
> > {
> > if (madvise(buf, TEST_SIZE, MADV_FREE) =3D=3D -1) {
> > perror("madvise free failed");
> > free(buf);
> > exit(EXIT_FAILURE);
> > }
> > if (madvise(buf, TEST_SIZE, MADV_COLD) =3D=3D -1) {
> > perror("madvise free failed");
> > free(buf);
> > exit(EXIT_FAILURE);
> > }
>
> nit: MADV_FREE clears both young and dirty so I don't think MADV_COLD is
> required? (MADV_COLD only clears young I think?)

You're right, MADV_COLD here can probably be removed.

>
> > }
> > void set_one_young(char *buf)
> > {
> > for (size_t i =3D 0; i < TEST_SIZE; i +=3D CONT_PTES * PA=
GE_SIZE) {
> > volatile char c =3D buf[i + YOUNG_BIT * PAGE_SIZE=
];
> > }
> > }
> >
> > void test_contpte_perf() {
> > char *buf;
> > int ret =3D posix_memalign((void **)&buf, CONT_PTES * PAG=
E_SIZE,
> > TEST_SIZE);
> > if ((ret !=3D 0) || ((unsigned long)buf % CONT_PTES * PAG=
E_SIZE)) {
> > perror("posix_memalign failed");
> > exit(EXIT_FAILURE);
> > }
> >
> > rwdata(buf);
> > #if TEST_CASE2 || TEST_CASE3
> > clear_young_dirty(buf);
> > #endif
> > #if TEST_CASE2
> > set_one_young(buf);
> > #endif
> >
> > for (int j =3D 0; j < 500; j++) {
> > mlock(buf, TEST_SIZE);
> >
> > munlock(buf, TEST_SIZE);
> > }
> > free(buf);
> > }
> >
> > Descriptions of three test scenarios
> >
> > Scenario 1
> > The data of all 16 PTEs are both dirty and young.
> > #define TEST_CASE2 0
> > #define TEST_CASE3 0
> >
> > Scenario 2
> > Among the 16 PTEs, only the 8th one is young, and there are no di=
rty ones.
> > #define TEST_CASE2 1
> > #define TEST_CASE3 0
> >
> > Scenario 3
> > Among the 16 PTEs, there are neither young nor dirty ones.
> > #define TEST_CASE2 0
> > #define TEST_CASE3 1
> >
> > Test results
> >
> > |Scenario 1 | Original| Optimized|
> > |-------------------|---------------|----------------|
> > |instructions | 37912436160| 18731580031|
> > |test time | 4.2797| 2.2949|
> > |overhead of | | |
> > |contpte_ptep_get() | 21.31%| 4.80%|
> >
> > |Scenario 2 | Original| Optimized|
> > |-------------------|---------------|----------------|
> > |instructions | 36701270862| 36115790086|
> > |test time | 3.2335| 3.0874|
> > |Overhead of | | |
> > |contpte_ptep_get() | 32.26%| 33.57%|
> >
> > |Scenario 3 | Original| Optimized|
> > |-------------------|---------------|----------------|
> > |instructions | 36706279735| 36750881878|
> > |test time | 3.2008| 3.1249|
> > |Overhead of | | |
> > |contpte_ptep_get() | 31.94%| 34.59%|
> >
> > For Scenario 1, optimized code can achieve an instruction benefit of 50=
.59%
> > and a time benefit of 46.38%.
> > For Scenario 2, optimized code can achieve an instruction count benefit=
of
> > 1.6% and a time benefit of 4.5%.
> > For Scenario 3, since all the PTEs have neither the young nor the dirty
> > flag, the branches taken by optimized code should be the same as those =
of
> > the original code. In fact, the test results of optimized code seem to =
be
> > closer to those of the original code.
>
> I re-ran these tests on Apple M2 with 4K base pages + 64K mTHP.
>
> Scenario 1: reduced to 56% of baseline execution time
> Scenario 2: reduced to 89% of baseline execution time
> Scenario 3: reduced to 91% of baseline execution time
>
> I'm pretty amazed that scenario 3 got faster given it is doing the same n=
umber
> of loops.

It seems that the data you obtained is similar to my test data. For
scenario 3, it's
faster even when running the same code, which I can't quite figure out eith=
er.

> >
> > It can be proven through test function that the optimization for
> > contpte_ptep_get is effective. Since the logic of contpte_ptep_get_lock=
less
> > is similar to that of contpte_ptep_get, the same optimization scheme is
> > also adopted for it.
> >
> > Reviewed-by: Barry Song <baohua@xxxxxxxxxx>
> > Signed-off-by: Xavier Xia <xavier_qy@xxxxxxx>
>
> I don't love the extra complexity, but this version is much tidier. While=
the
> micro-benchmark is clearly contrived, it shows that there will be cases w=
here it
> will be faster and there are no cases where it is slower. This will proba=
bly be
> more valuable for 16K kernels because the number of PTEs in a contpte blo=
ck is
> 128 there:

Okay, this version has been revised multiple times based on your
previous feedback
and Barry's comments, and it seems much less complicated to understand now.=
:)

>
> Reviewed-by: Ryan Roberts <ryan.roberts@xxxxxxx>
> Tested-by: Ryan Roberts <ryan.roberts@xxxxxxx>
>
> > ---
> > Changes in v6:
> > - Move prot =3D pte_pgprot(pte_mkold(pte_mkclean(pte))) into the contpt=
e_is_consistent(),
> > as suggested by Barry.
> > - Link to v5: https://lore.kernel.org/all/20250509122728.2379466-1-xavi=
er_qy@xxxxxxx/
> >
> > Changes in v5:
> > - Replace macro CHECK_CONTPTE_CONSISTENCY with inline function contpte_=
is_consistent
> > for improved readability and clarity, as suggested by Barry.
> > - Link to v4: https://lore.kernel.org/all/20250508070353.2370826-1-xavi=
er_qy@xxxxxxx/
> >
> > Changes in v4:
> > - Convert macro CHECK_CONTPTE_FLAG to an internal loop for better reada=
bility.
> > - Refactor contpte_ptep_get_lockless using the same optimization logic,=
as suggested by Ryan.
> > - Link to v3: https://lore.kernel.org/all/3d338f91.8c71.1965cd8b1b8.Cor=
email.xavier_qy@xxxxxxx/
> > ---
> > arch/arm64/mm/contpte.c | 74 +++++++++++++++++++++++++++++++++++------
> > 1 file changed, 64 insertions(+), 10 deletions(-)
> >
> > diff --git a/arch/arm64/mm/contpte.c b/arch/arm64/mm/contpte.c
> > index bcac4f55f9c1..71efe7dff0ad 100644
> > --- a/arch/arm64/mm/contpte.c
> > +++ b/arch/arm64/mm/contpte.c
> > @@ -169,17 +169,46 @@ pte_t contpte_ptep_get(pte_t *ptep, pte_t orig_pt=
e)
> > for (i =3D 0; i < CONT_PTES; i++, ptep++) {
> > pte =3D __ptep_get(ptep);
> >
> > - if (pte_dirty(pte))
> > + if (pte_dirty(pte)) {
> > orig_pte =3D pte_mkdirty(orig_pte);
> > -
> > - if (pte_young(pte))
> > + for (; i < CONT_PTES; i++, ptep++) {
> > + pte =3D __ptep_get(ptep);
> > + if (pte_young(pte)) {
> > + orig_pte =3D pte_mkyoung(orig_pte=
);
> > + break;
> > + }
> > + }
> > + break;
> > + }
> > +
> > + if (pte_young(pte)) {
> > orig_pte =3D pte_mkyoung(orig_pte);
> > + i++;
> > + ptep++;
> > + for (; i < CONT_PTES; i++, ptep++) {
> > + pte =3D __ptep_get(ptep);
> > + if (pte_dirty(pte)) {
> > + orig_pte =3D pte_mkdirty(orig_pte=
);
> > + break;
> > + }
> > + }
> > + break;
> > + }
> > }
> >
> > return orig_pte;
> > }
> > EXPORT_SYMBOL_GPL(contpte_ptep_get);
> >
> > +static inline bool contpte_is_consistent(pte_t pte, unsigned long pfn,
> > + pgprot_t orig_prot)
> > +{
> > + pgprot_t prot =3D pte_pgprot(pte_mkold(pte_mkclean(pte)));
> > +
> > + return pte_valid_cont(pte) && pte_pfn(pte) =3D=3D pfn &&
> > + pgprot_val(prot) =3D=3D pgprot_val(orig_prot);
> > +}
> > +
> > pte_t contpte_ptep_get_lockless(pte_t *orig_ptep)
> > {
> > /*
> > @@ -202,7 +231,6 @@ pte_t contpte_ptep_get_lockless(pte_t *orig_ptep)
> > pgprot_t orig_prot;
> > unsigned long pfn;
> > pte_t orig_pte;
> > - pgprot_t prot;
> > pte_t *ptep;
> > pte_t pte;
> > int i;
> > @@ -219,18 +247,44 @@ pte_t contpte_ptep_get_lockless(pte_t *orig_ptep)
> >
> > for (i =3D 0; i < CONT_PTES; i++, ptep++, pfn++) {
> > pte =3D __ptep_get(ptep);
> > - prot =3D pte_pgprot(pte_mkold(pte_mkclean(pte)));
> >
> > - if (!pte_valid_cont(pte) ||
> > - pte_pfn(pte) !=3D pfn ||
> > - pgprot_val(prot) !=3D pgprot_val(orig_prot))
> > + if (!contpte_is_consistent(pte, pfn, orig_prot))
> > goto retry;
> >
> > - if (pte_dirty(pte))
> > + if (pte_dirty(pte)) {
> > orig_pte =3D pte_mkdirty(orig_pte);
> > + for (; i < CONT_PTES; i++, ptep++, pfn++) {
> > + pte =3D __ptep_get(ptep);
> > +
> > + if (!contpte_is_consistent(pte, pfn, orig=
_prot))
> > + goto retry;
> > +
> > + if (pte_young(pte)) {
> > + orig_pte =3D pte_mkyoung(orig_pte=
);
> > + break;
> > + }
> > + }
> > + break;
>
> I considered for a while whether it is safe for contpte_ptep_get_lockless=
() to
> exit early having not seen every PTE in the contpte block and confirmed t=
hat
> they are all consistent. I eventually concluded that it is, as long as al=
l the
> PTEs that it does check are consistent I believe this is fine.

So, it looks like my changes here will be okay.

>
> > + }
> >
> > - if (pte_young(pte))
> > + if (pte_young(pte)) {
> > orig_pte =3D pte_mkyoung(orig_pte);
> > + i++;
> > + ptep++;
> > + pfn++;
> > + for (; i < CONT_PTES; i++, ptep++, pfn++) {
> > + pte =3D __ptep_get(ptep);
> > +
> > + if (!contpte_is_consistent(pte, pfn, orig=
_prot))
> > + goto retry;
> > +
> > + if (pte_dirty(pte)) {
> > + orig_pte =3D pte_mkdirty(orig_pte=
);
> > + break;
> > + }
> > + }
> > + break;
> > + }
> > }
> >
> > return orig_pte;
>


Return-Path: <linux-kernel+bounces-674077-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1227441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:56:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 65C1F1892B4A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:56:27 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 15F961EF397;
Thu, 5 Jun 2025 05:56:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b="UQY28apT"
Received: from layka.disroot.org (layka.disroot.org [178.21.23.139])
(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 0116B1DB34B;
Thu, 5 Jun 2025 05:56:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=178.21.23.139
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749102965; cv=none; b=RyFw/4VkTFdX4gUA3SGT5AHfC9uvOdukMsbcJwqSlmL2ofKshD87sdF5qKjXCIz4GvRe9p2Jkwix/kpi0xf8ij8mmpw2qpdZnlUetfU/ZxITfkkUD5e4b5kfMfS7/4ogltjZ2Rb6ODPhpCsxZfjhuayXmmCo9CTRbf95VvQFg3Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749102965; c=relaxed/simple;
bh=TiFQYvsKtNb3eu7X/TfGW0Zpc0IrlwKjViFKEuHchrg=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=O0b641MkkTDgsxlZM3GP085ZPjp0QTXLc4zj7UXryuplPEqzDdbCbQrju8qbmMPmu3XTyst6IcLxLmeqf9HxF9dKPhGsVnK6/nfZaw0/DDnGxw2zHoflN6P3KVKIiLayZ8pqI5TXjAqiI65L0aW/56AK4k37IoOtkGz/3GeuIXM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=disroot.org; spf=pass smtp.mailfrom=disroot.org; dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b=UQY28apT; arc=none smtp.client-ip=178.21.23.139
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=disroot.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=disroot.org
Received: from mail01.disroot.lan (localhost [127.0.0.1])
by disroot.org (Postfix) with ESMTP id 821B6260BB;
Thu, 5 Jun 2025 07:56:02 +0200 (CEST)
X-Virus-Scanned: SPAM Filter at disroot.org
Received: from layka.disroot.org ([127.0.0.1])
by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP
id X7APAh8gTR1d; Thu, 5 Jun 2025 07:56:02 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail;
t=1749102961; bh=TiFQYvsKtNb3eu7X/TfGW0Zpc0IrlwKjViFKEuHchrg=;
h=From:To:Cc:Subject:Date;
b=UQY28apTlO7/DGuRKxZZyDp7Tdr46hqi3MsMLre1YSLCS2ijeXvmOyB4uVQCwFVLa
UzLBISG3a6vuhZJzyFD0jbUr0g+CKv8pLgWIw3wyPOloU+gufv/TorFZCgaDaxeGKn
SVXjH9FHCDIzNIS9FFNtJSBj5iCxQdHVdoqsr1l/711WttyCAZhLE2fFH27qL7o35z
sZNUCIuoBey/TlFV4Pwsv7LZgYFA9DV/bouR0jTK9MfzxU8dH6S/e7qEmP1/0Le23E
qNALJzoGv4gXGMpaeFKbeCmg1WSONCGmYQkTvM/NcIpPFR9Bazal/i96XTrcsOeQEC
v91JREsnE+FAA==
From: Yao Zi <ziyao@xxxxxxxxxxx>
To: Huacai Chen <chenhuacai@xxxxxxxxxx>,
Jianmin Lv <lvjianmin@xxxxxxxxxxx>,
WANG Xuerui <kernel@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx,
loongarch@xxxxxxxxxxxxxxx,
Mingcong Bai <jeffbai@xxxxxxx>,
Kexy Biscuit <kexybiscuit@xxxxxxx>,
Yao Zi <ziyao@xxxxxxxxxxx>,
stable@xxxxxxxxxxxxxxx
Subject: [PATCH] platform/loongarch: laptop: Unregister generic_sub_drivers on exit
Date: Thu, 5 Jun 2025 05:55:46 +0000
Message-ID: <20250605055546.15264-1-ziyao@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Without correct unregisteration, ACPI notify handlers and the platform
driver installed by generic_subdriver_init will become dangling
references after removing loongson_laptop module, triggering various
kernel faults when a hotkey is sent or at kernel shutdown.

Cc: stable@xxxxxxxxxxxxxxx
Fixes: 6246ed09111f ("LoongArch: Add ACPI-based generic laptop driver")
Signed-off-by: Yao Zi <ziyao@xxxxxxxxxxx>
---
drivers/platform/loongarch/loongson-laptop.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/loongarch/loongson-laptop.c b/drivers/platform/loongarch/loongson-laptop.c
index 99203584949d..cfe2cf79dbbe 100644
--- a/drivers/platform/loongarch/loongson-laptop.c
+++ b/drivers/platform/loongarch/loongson-laptop.c
@@ -611,11 +611,17 @@ static int __init generic_acpi_laptop_init(void)

static void __exit generic_acpi_laptop_exit(void)
{
+ int i;
+
if (generic_inputdev) {
- if (input_device_registered)
+ if (input_device_registered) {
input_unregister_device(generic_inputdev);
- else
+
+ for (i = 0; i < ARRAY_SIZE(generic_sub_drivers); i++)
+ generic_subdriver_exit(&generic_sub_drivers[i]);
+ } else {
input_free_device(generic_inputdev);
+ }
}
}

--
2.49.0



Return-Path: <linux-kernel+bounces-674078-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E45F641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:57:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E78BC3A9015
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:56:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7AE7F1F03D8;
Thu, 5 Jun 2025 05:57:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="D96Hid6K"
Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9B70819CC11;
Thu, 5 Jun 2025 05:56:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103019; cv=none; b=BeqpkuCDliDIhedoXmJ+28wP6KoH7yDADLELb8m3iMUZt03WjvnEtNJCeWFiwm2iioDrDrplijRKOvch5MpLMPL+Yt0MxaA6PpQN+AFF1f2d+hnRByaBIzIT/GVxuwhrNQQSpmf3graf3UPg/4C08H56z/P9CuxgMc5FGxFpBE0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103019; c=relaxed/simple;
bh=WkkGM08VMW5SFQ/+XIX9f/SVjIxnmSZqqyIBTfQ8hC4=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=a3l67iWc/u0iMGyVQ3OxZzKSedLr53TN/rEfqx3cxp2tl/2QPQpFd4t1VWh5RWrpH/rTFeQF0BHODJMM+Cs3IcCFpPJ0CerYgWQW9Hg+ouhENnFkNeSXcnwN0NAmr2anib7HaqwSUJZ1f6zb8HGm54IlUI3PKs1lp1rLpoxAwdI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=D96Hid6K; arc=none smtp.client-ip=148.251.105.195
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
s=mail; t=1749103015;
bh=WkkGM08VMW5SFQ/+XIX9f/SVjIxnmSZqqyIBTfQ8hC4=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=D96Hid6Kq7JQS22naS6+/J1Gkoyyed/yJCJAXYhRomHGd88EpOq8yAz7u5mfEQb7N
E6YbQBMT0iTOrL4EVumEKOOji6CTok4mZqPDP1Ng0VI5rUrFjAgJ1FdmRLew5Z5cYP
drDyKTf5/1/E6r5vN5DdOTy/6j6u9gvjN/Wz0kqi4JcYht0PmSodjHV+VHtL4zzrCU
y0m40domMY+T8E2H6i9A+vL/zZzBAHhbe7og8/uKCDp6xCEWqFChcU9AmZamASRHVJ
BpvccimnTvVV3IyLv69tOEsAQQ8zjG13PPnHoW3Pb4opcT16e9DoQo5m/qUE0/Y24S
NPbKP/DBp/fYQ==
Received: from [192.168.1.100] (2-237-20-237.ip236.fastwebnet.it [2.237.20.237])
(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
(Authenticated sender: kholk11)
by bali.collaboradmins.com (Postfix) with ESMTPSA id 0361C17E010B;
Thu, 5 Jun 2025 07:56:54 +0200 (CEST)
Message-ID: <f40e7b31-5bb2-4d1d-8687-6f728ea255be@xxxxxxxxxxxxx>
Date: Thu, 5 Jun 2025 07:56:54 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] mtk-sd: Fix a pagefault in dma_unmap_sg() for not
prepared data
To: "Masami Hiramatsu (Google)" <mhiramat@xxxxxxxxxx>,
Chaotian Jing <chaotian.jing@xxxxxxxxxxxx>,
Ulf Hansson <ulf.hansson@xxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>
Cc: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>, linux-mmc@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx
References: <174908565814.4056588.769599127120955383.stgit@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
Content-Language: en-US
In-Reply-To: <174908565814.4056588.769599127120955383.stgit@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Il 05/06/25 03:07, Masami Hiramatsu (Google) ha scritto:
> From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
>
> mtk-msdc driver causes a kernel crash after swiotlb buffer is full.
>
> ---
> mtk-msdc 11240000.mmc: swiotlb buffer is full (sz: 16384 bytes), total 32768 (slots), used 32732 (slots)
> mtk-msdc 11240000.mmc: msdc_track_cmd_data: cmd=18 arg=0397A6F8; host->error=0x00000004
> Unable to handle kernel paging request at virtual address ffffffffc0001fc0
> ---
>
> When swiotlb buffer is full, the dma_map_sg() returns 0 to
> msdc_prepare_data(), but it does not check it and sets the
> MSDC_PREPARE_FLAG.
>
> swiotlb_tbl_map_single() /* prints "swiotlb buffer is full" */
> <-swiotlb_map()
> <-dma_direct_map_page()
> <-dma_direct_map_sg()
> <-__dma_map_sg_attrs()
> <-dma_map_sg_attrs()
> <-dma_map_sg() /* returns 0 (pages mapped) */
> <-msdc_prepare_data()
>
> Then, the msdc_unprepare_data() checks MSDC_PREPARE_FLAG and calls
> dma_unmap_sg() with unmapped pages. It causes a page fault.
>
> To fix this problem, Do not set MSDC_PREPARE_FLAG if dma_map_sg()
> fails because this is not prepared.
>
> Fixes: 208489032bdd ("mmc: mediatek: Add Mediatek MMC driver")
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>



Return-Path: <linux-kernel+bounces-674079-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 52F1D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:58:58 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 67B3E17543B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:58:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6AD4D1F1531;
Thu, 5 Jun 2025 05:58:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="RZHI/1VD"
Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2078.outbound.protection.outlook.com [40.107.241.78])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5802C1D63C6;
Thu, 5 Jun 2025 05:58:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.241.78
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103131; cv=fail; b=HQhYHu7tN1mw9ZEpw9JLOTzwWFGZQQoGIipylxh4Fcrgap0sueqRJCz2a1AloTgeA0KkEK8UfNizQ0V+li2O+BKv1OSvhphqYvu4lC6t440vJj8QiLlYBqes13HkXBcOMldvgPXJU/osl8CTfhnPLpVBV2h7a075iukj4JOr030=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103131; c=relaxed/simple;
bh=B6Meh0vJmQe73mDj4qA30kj3Ycd4OcbeGpJFHS9gteE=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=TREqoHTlC5k9J021E2M6nxpDV4ErBxiEj3EIUCHZwVhAaEOSms6PSOPXt0LWSILKZlsFk1gehM+8iGuqXt9qB/1cSbUKlGnElbwjWtWvjJTJfjDGglByCE4JCIS3bi/eKrjm4990AhyqrqkMrC/+9fwdGeVd4cnRbCBVuqiTzBc=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=RZHI/1VD; arc=fail smtp.client-ip=40.107.241.78
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=u7gL7gYYxMY/1r34cSS/ZApd/5EWl2+LTdX4WjCxqauFHf3Y18H94/cJtzc1V0QfTM4+/WGfGTVUN312H3T0gOee9My+y43ocKAuu7xJrA5tJzcI3QZcbc4hsREsmK3hXGVEus3C+p3s4O8b4hbx1v6NrmJ8N/V98uFlMNuL6rky4Rq+fRjoZundB6Ay8ayvDYNMC07k/0OyT5BHTJmIOhXmuvD+el+XBvO91XT0Db14nRoLCTkzYdotqPpXxnUoSXpHDd4//pIl1HgKi6iYK++BNy63+ehhRd74G2G3N68aFGNRaJBWJNRdkjRsy2ZAtXa6pIqIMlqbHiIfB0uxew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=J1hOQmkpsflD/+CcZH3UNpeXbduMr+zQBBS3YBIfNS8=;
b=Wv20kZChY84UPZyF4/Udo+ZvfwCjQr3voLckdMfTRByozXef7BxrVOfqEmsT6s/IpfyQrmm5kzOKAVII9A2Q/eSiKSXBae0G8ZMD2zbtF8X05V5rWAclIHFm+AKrxH+cvZd0eSXuFEc9gbv1y4x6GuXLv2pDWOOnSHdMtKSsFlhJQ7pdBLeP17dQ7FmLR14ZPAj72YgT0yXRqt/rACOHUMunL395RP2xJV+edVzcYXhxcBDDKR95QsljbIaT2D7lzGaubbsSbiDc+ZG6/DPPAXUcPTWb3RIy76EXTMMVBpEUSH4esnS9mFgZguKweD/PR36zfIjgCLI13uHG+w6+ng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
s=selector1-NXP1-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=J1hOQmkpsflD/+CcZH3UNpeXbduMr+zQBBS3YBIfNS8=;
b=RZHI/1VDZuzMoJPwGxCuEu057vRwGakgSRvt4sXMPyHWqO8ZSN4fmNUDzER+X853qiZq8JDFLk06hDE5uYMfksURRXkI0JxIDPLpc/XVi68G2wM7BRsLHX8f/4I1FwUiL2svGJgLViQVfzav2+zgdRXlR82DqWQfWi7UuDkTXnsBxwHqWonrOoEbFAdagAvYRfW9rxB2v+EBv0JMkyeLRtDVRdDAHlfUqqy8QQwYqJ0SzjfF94daRsnqJZKQISdNzXzdgWHxULLVLR86razg5RdqqeW2rtyqg9EGE/eADNErKktYlzBsgg0LhSuvKTMK3kNRD15uj5YfZFTa8vsihw==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)
by DBAPR04MB7206.eurprd04.prod.outlook.com (2603:10a6:10:1a4::17) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.32; Thu, 5 Jun
2025 05:58:44 +0000
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com
([fe80::165a:30a2:5835:9630%3]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
05:58:44 +0000
Date: Thu, 5 Jun 2025 15:04:53 +0800
From: Peng Fan <peng.fan@xxxxxxxxxxx>
To: Fabian Pflug <f.pflug@xxxxxxxxxxxxxx>
Cc: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, imx@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 2/2] arm64: dts: freescale: add support for NXP i.MX93
FRDM
Message-ID: <20250605070453.GA20292@nxa18884-linux>
References: <20250526-fpg-nxp-imx93-frdm-v2-0-e5ad0efaec33@xxxxxxxxxxxxxx>
<20250526-fpg-nxp-imx93-frdm-v2-2-e5ad0efaec33@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250526-fpg-nxp-imx93-frdm-v2-2-e5ad0efaec33@xxxxxxxxxxxxxx>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-ClientProxiedBy: SI1PR02CA0047.apcprd02.prod.outlook.com
(2603:1096:4:1f5::15) To PAXPR04MB8459.eurprd04.prod.outlook.com
(2603:10a6:102:1da::15)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8459:EE_|DBAPR04MB7206:EE_
X-MS-Office365-Filtering-Correlation-Id: c6c669fe-5526-44b7-da0b-08dda3f60750
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|7053199007|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?BQX2PIcTwDYD47T9EJ7R3BHJVrENfNCdjXsJlVoI/g46cx0NFifX1xpLS7c+?=
=?us-ascii?Q?EMXXw+53Z257ICe6y1O3FzFDWyPorWuobJYTK1IWF2VtcsyOgCtr2la0KID+?=
=?us-ascii?Q?8zKHHaiG0tInVQzxrWad9kAzY1lknOaazNOxLKKm61SiRW5dIgorY81i4VoB?=
=?us-ascii?Q?e+kX4XrcZdSnPH+LnKHg+YR1JSTsAWjIJ8IEyiKArq20yo86vj4MfkK4j5KN?=
=?us-ascii?Q?5tqRJDyN3mfissVMa2g2koY/38Hq0M/IBLOsNTTqU35W8zS7OeTeDy26SvMx?=
=?us-ascii?Q?c7Fc+ZNF4kfIz1q1LXzldC6CmPnGihY0yuTIMzSqblgNMVM3lMhyDsIDWayL?=
=?us-ascii?Q?jBtnkqfIxxoSWDeperwpyorMggJPUV8jZ3jKfIa7RzirqWlG7PH1uRvyGkUK?=
=?us-ascii?Q?dWCaCpHfXuPRy3mYuHlM4Wu/t+jlhd1AP3LQN4p9Nu7IH6TroKwU0lb7leLH?=
=?us-ascii?Q?HjnY23WR5YvGBL8rHEYkG1FLr868ovC7op1BUzVe+FhwQPJHGVFDpikAfg6e?=
=?us-ascii?Q?yS67RFIPfn962t1TxDA0SfLaExQFx+XeO8klNkukUzUwWXIeYlRa5KnLTSdE?=
=?us-ascii?Q?L1MAHAzFnt2o6of0NeFwRucnaZvoj+dcjxjAI9TR+Ym1uX473XLiw0sTXc6m?=
=?us-ascii?Q?4muH1Tt+Vm8bVlEM8Izee7Wf5otoFaYkemNMDysekuSaAXaPrQeitqrmzbkR?=
=?us-ascii?Q?lUBAHXl3qkWi2UnG1GM+UmXGPxlSIL2oEtqYJfWy4r+5/jVHBEkJmN2vnGfu?=
=?us-ascii?Q?KoFT47rb4JDyZ1X/MhvMM0Qh7GSwNALU+w981Io0v4KlokOhIbKx4MaiRxjw?=
=?us-ascii?Q?FNOYqVew5goDgXZ52LSzpUPdNQ3l5lzoRYI915hLPWqwvymCbgGWEQhqPJ6+?=
=?us-ascii?Q?GAgmEQq2AMOiXDBfm81TbsEFJlRmD/+r2QFFCv5cW5THqB1cI6xSxQiS3PxO?=
=?us-ascii?Q?pZOfMW8YEHMV4bvd+2AbxZ3DeplJNRzy4OZV84zFnK0pY0GT6Cz0Xj5qfXsv?=
=?us-ascii?Q?5f0qgP8b74A0dYiDlmIkMpnRBgnXlBsnj/pbHk1AP4ZdIefKWtHpm7afRJJA?=
=?us-ascii?Q?cmTUUb0zbCKcuHazmSCjRAuxxuBaalGefTlGTcfNmwCEYzlZ77IfNTF6dVih?=
=?us-ascii?Q?FRMqDnpByP6aM/IT+I+nvthWlhvAJKmzqHHsHfzdkYsCpfpQC4OZ2UVXaOrr?=
=?us-ascii?Q?YhZnRoMHElkVqhwfFG6hlRV1XZwwv8tzDAdvTKS7iRbj8vEGNpAaGABEDvqG?=
=?us-ascii?Q?07Jh++uSpRDYELRi9JhyMeLuYDfeo09y0m4cXkc8u4dVZOLnwd+2l3SuJvOz?=
=?us-ascii?Q?yJfKZ8tFGvBVDkVqMS+E3bL87+AlNuOKtoIO0zP5lbWZCkaNX+7sho1mhr0Y?=
=?us-ascii?Q?rJzHjMs5NGaZU0hfE73Rbq46XTFSB6L2fN/aeyDNTFmb3PqhGcyt0NFT58/P?=
=?us-ascii?Q?9ZF9sNhmRIIwDrRVbvvVzHxjIQyVc07Tlm4OksiOsW8zPXzMHPtkHw=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(7053199007)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?Tet4SPVTE/BXEf/07Sx88VHeTx0+ZXzduEOTgp26C5TV71c9H5a+hhEPsztR?=
=?us-ascii?Q?0f+Z1lInxi0osNub/xTGIyhoen8/xV2VhKoKH/0izsI5BoPYAhPRE0y4tcdC?=
=?us-ascii?Q?RCIPZI4BrUzTjy1fhc/ZtRFBlVYvyrKaKrZTxnIqc43NevW/QnqY8+iftOzk?=
=?us-ascii?Q?Vbb6jTEE9/BJo2xYiB59l2oml+ygQ5sbKHaXwhKzB6zBquUq643mE/8EmD7B?=
=?us-ascii?Q?RY1EE3+8CZ75Hodx/83k0/cxIkX1xrJ3hPMTEoK7pIg86OgAWgbWFW4qv0QK?=
=?us-ascii?Q?tW0EeaEnwUd8U608cCXKjcoS310gLKI5O5ofuXoDExMby2ZxoDCKAV3MFZPw?=
=?us-ascii?Q?JldbDMfc46CQRL0H3nhzpoZSMUtlT6ND9bO0AtuWIcV5ShciYVkpE5EszNBo?=
=?us-ascii?Q?Ca48qK2R5jp5V3VkXuJX4AJlzXdRThx90NxJhX3IhaNmDWc3mAKPhtfWicoN?=
=?us-ascii?Q?GJ9WtbrHO6pvxD1LxiFGCEduI5WFrRvy/EBghWT0vBli0GVHzLGbbVuwALel?=
=?us-ascii?Q?ckDQJAbYCbdbYp8te4EOw4Jbi9y7l7TsO0sGqFsHnst17cCgZhsDArf4uRWD?=
=?us-ascii?Q?VsRY3sd1w2z60VboZlW5+40SZfGYXhJgPtVnTLcg52lB67ilvQ1LSJbjzT5n?=
=?us-ascii?Q?7XX+7uqnCUIAwZHms2zpFZUfjBt+AyvDwZUZh8rxGUI0/CqwafRYJAwfBA7A?=
=?us-ascii?Q?KT3SagXw3ReBWC91WVRD8xkig/kgvIZlBFVK7mhL+IgZqAfvQ0/ff3E5E6g0?=
=?us-ascii?Q?5t+xKm0xBUzMSbtBP12UP/6bYinUmu9Za0JVXGj0vLRJB7Jxep6wp5AJVU6r?=
=?us-ascii?Q?r3cKodDYXbi8EruDCUornyyPgfWTG7gZL8AD15w0zZYJk28tUGUqnr+DK3bq?=
=?us-ascii?Q?ai251NftCgS4c3uZLePv2qRYdj+4bEEng4qiya7I3TLtVp1dLwp0jxz5nDG5?=
=?us-ascii?Q?omQayWQCNa1u7chMNdubF0VW7+9nrcq5LkkZdhXNWL5rXNXiB3szMl9Rigzh?=
=?us-ascii?Q?6pespAJ5k0FntWnZfxbEdOyNuKz0TLBZD3d25Oy0fWKbn4pVc9OTDuKKdW0S?=
=?us-ascii?Q?FipM2XZwVheZYo32eoOodBH6+HOHt173l59WQ5kdz9c736dcTKMcC5afR39M?=
=?us-ascii?Q?4DYXLyb184OAr5VODcGo+KuuRSwFm9k5cKqHMC9vteiuxJ8U+sKCwxbgj5ke?=
=?us-ascii?Q?cGsHnln0hrK04Rd+kf/ztdntmjuEmvAl5F+NiWO+otZn1dEJusi8/ZJlxcVa?=
=?us-ascii?Q?woKwdgvEfIYeQW/duzymlKV4MdC3D5o/eXRpzi6MtHiF9rFbb4gVi2AoVwpD?=
=?us-ascii?Q?vuSieADhbx7iby8M1ht60uonEYmyEMFG8KdaN7w4YfoteoEU6dVhyejXi+EB?=
=?us-ascii?Q?ymoHgPfsmf/EBOW7cgdb4c402NInrQIM9fuUlBbe5vAqnShiYqfxJSKoX5W5?=
=?us-ascii?Q?TdwVO13zCaS+svppzV0p42KuBnpHTyJ4TqfDfIZSaFve2vVsguVSprDmV40Q?=
=?us-ascii?Q?8omB3Vb7iXs0dOO09wpDKANmlY/htCoH1xW8LECUOE6+r7ekXVEBl1jYCdX1?=
=?us-ascii?Q?YdH+SycVbeKkZFHjKWDgmOgsSzgSQm+6qPyS+uXK?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c6c669fe-5526-44b7-da0b-08dda3f60750
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 05:58:44.6589
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: twxJ2I+EpSOOq4ylvMWrgw4VGTcls1j39iJGUtxy0aFpn/+ayABsYcZCzKuT8bdRBjgeqwEfMhiVYB9BwWbaWA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7206
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Mon, May 26, 2025 at 01:02:36PM +0200, Fabian Pflug wrote:
>The FRDM i.MX 93 development board is a low-cost and compact development
>board featuring the i.MX93 applications processor.
>
>It features:
>- Dual Cortex-A55
>- 2 GB LPDDR4X / LPDDR4
>- 32 GB eMMC5.1
>- MicroSD slot
>- GbE RJ45 x 2
>- USB2.0 1x Type C, 1x Type A
>
>This file is based upon the one provided by nxp in their own kernel and
>yocto meta layer for the device, but adapted for mainline.
>
>Signed-off-by: Fabian Pflug <f.pflug@xxxxxxxxxxxxxx>
>---
> arch/arm64/boot/dts/freescale/Makefile | 1 +
> arch/arm64/boot/dts/freescale/imx93-11x11-frdm.dts | 613 +++++++++++++++++++++
> 2 files changed, 614 insertions(+)
>
>diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
>index b6d3fe26d621234ab84353165d20af9d2536f839..c703fce2ebfd8074bd0c6ee76f3c6f9bbd9cf179 100644
>--- a/arch/arm64/boot/dts/freescale/Makefile
>+++ b/arch/arm64/boot/dts/freescale/Makefile
>@@ -295,6 +295,7 @@ imx93-9x9-qsb-i3c-dtbs += imx93-9x9-qsb.dtb imx93-9x9-qsb-i3c.dtbo
> dtb-$(CONFIG_ARCH_MXC) += imx93-9x9-qsb-i3c.dtb
>
> dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-evk.dtb
>+dtb-$(CONFIG_ARCH_MXC) += imx93-11x11-frdm.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx93-14x14-evk.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx93-kontron-bl-osm-s.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx93-phyboard-segin.dtb
>diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-frdm.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-frdm.dts
>new file mode 100644
>index 0000000000000000000000000000000000000000..dc6348858024d833a450a6b5d2e54e4fefe9e9cd
>--- /dev/null
>+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-frdm.dts
>@@ -0,0 +1,613 @@
>+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>+/dts-v1/;
>+
>+#include <dt-bindings/usb/pd.h>
>+#include "imx93.dtsi"
>+
>+/ {
>+ compatible = "fsl,imx93-11x11-frdm", "fsl,imx93";
>+ model = "NXP i.MX93 11X11 FRDM board";
>+
>+ aliases {
>+ mmc0 = &usdhc1; /* EMMC */
>+ mmc1 = &usdhc2; /* uSD */
>+ rtc0 = &pcf2131;
>+ serial0 = &lpuart1;
>+ };
>+
>+ chosen {
>+ stdout-path = &lpuart1;
>+ };
>+
>+ reg_vref_1v8: regulator-adc-vref {
>+ compatible = "regulator-fixed";
>+ regulator-min-microvolt = <1800000>;
>+ regulator-max-microvolt = <1800000>;
>+ regulator-name = "vref_1v8";
>+ };
>+
>+ reg_usdhc2_vmmc: regulator-usdhc2 {
>+ compatible = "regulator-fixed";
>+ off-on-delay-us = <12000>;
>+ pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>;
>+ pinctrl-names = "default";
>+ regulator-min-microvolt = <3300000>;
>+ regulator-max-microvolt = <3300000>;
>+ regulator-name = "VSD_3V3";
>+ gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>;
>+ enable-active-high;
>+ };
>+
>+ reg_usdhc3_vmmc: regulator-usdhc3 {
>+ compatible = "regulator-fixed";
>+ regulator-min-microvolt = <3300000>;
>+ regulator-max-microvolt = <3300000>;
>+ regulator-name = "WLAN_EN";
>+ gpio = <&pcal6524 20 GPIO_ACTIVE_HIGH>;
>+ enable-active-high;
>+ /*
>+ * IW612 wifi chip needs more delay than other wifi chips to complete
>+ * the host interface initialization after power up, otherwise the
>+ * internal state of IW612 may be unstable, resulting in the failure of
>+ * the SDIO3.0 switch voltage.
>+ */
>+ startup-delay-us = <20000>;
>+ };
>+
>+ reserved-memory {
>+ ranges;
>+ #address-cells = <2>;
>+ #size-cells = <2>;
>+
>+ linux,cma {
>+ compatible = "shared-dma-pool";
>+ alloc-ranges = <0 0x80000000 0 0x30000000>;
>+ reusable;
>+ size = <0 0x10000000>;
>+ linux,cma-default;
>+ };
>+
>+ rsc_table: rsc-table@2021e000 {
>+ reg = <0 0x2021e000 0 0x1000>;
>+ no-map;
>+ };
>+
>+ vdev0vring0: vdev0vring0@a4000000 {
>+ reg = <0 0xa4000000 0 0x8000>;
>+ no-map;
>+ };
>+
>+ vdev0vring1: vdev0vring1@a4008000 {
>+ reg = <0 0xa4008000 0 0x8000>;
>+ no-map;
>+ };
>+
>+ vdev1vring0: vdev1vring0@a4010000 {
>+ reg = <0 0xa4010000 0 0x8000>;
>+ no-map;
>+ };
>+
>+ vdev1vring1: vdev1vring1@a4018000 {
>+ reg = <0 0xa4018000 0 0x8000>;
>+ no-map;
>+ };
>+
>+ vdevbuffer: vdevbuffer@a4020000 {
>+ compatible = "shared-dma-pool";
>+ reg = <0 0xa4020000 0 0x100000>;
>+ no-map;
>+ };
>+ };
>+
>+ usdhc3_pwrseq: usdhc3_pwrseq {
>+ compatible = "mmc-pwrseq-simple";
>+ reset-gpios = <&pcal6524 12 GPIO_ACTIVE_LOW>;
>+ };
>+};
>+
>+&adc1 {
>+ vref-supply = <&reg_vref_1v8>;
>+ status = "okay";
>+};
>+
>+&cm33 {
>+ mboxes = <&mu1 0 1>,
>+ <&mu1 1 1>,
>+ <&mu1 3 1>;
>+ mbox-names = "tx", "rx", "rxdb";
>+ memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
>+ <&vdev1vring0>, <&vdev1vring1>, <&rsc_table>;
>+ status = "okay";
>+};
>+
>+&eqos {
>+ phy-handle = <&ethphy1>;
>+ phy-mode = "rgmii-id";
>+ pinctrl-0 = <&pinctrl_eqos>;
>+ pinctrl-1 = <&pinctrl_eqos_sleep>;
>+ pinctrl-names = "default", "sleep";
>+ status = "okay";
>+
>+ mdio {
>+ compatible = "snps,dwmac-mdio";
>+ #address-cells = <1>;
>+ #size-cells = <0>;
>+ clock-frequency = <5000000>;
>+
>+ ethphy1: ethernet-phy@1 {
>+ reg = <1>;
>+ reset-assert-us = <10000>;
>+ reset-deassert-us = <80000>;
>+ reset-gpios = <&pcal6524 15 GPIO_ACTIVE_LOW>;
>+ };
>+ };
>+};
>+
>+&fec {
>+ phy-handle = <&ethphy2>;
>+ phy-mode = "rgmii-id";
>+ pinctrl-0 = <&pinctrl_fec>;
>+ pinctrl-1 = <&pinctrl_fec_sleep>;
>+ pinctrl-names = "default", "sleep";
>+ fsl,magic-packet;
>+ status = "okay";
>+
>+ mdio {
>+ #address-cells = <1>;
>+ #size-cells = <0>;
>+ clock-frequency = <5000000>;
>+
>+ ethphy2: ethernet-phy@2 {
>+ reg = <2>;
>+ eee-broken-1000t;
>+ reset-assert-us = <10000>;
>+ reset-deassert-us = <80000>;
>+ reset-gpios = <&pcal6524 16 GPIO_ACTIVE_LOW>;
>+ };
>+ };
>+};
>+
>+&lpi2c2 {
>+ clock-frequency = <400000>;
>+ pinctrl-0 = <&pinctrl_lpi2c2>;
>+ pinctrl-names = "default";
>+ status = "okay";
>+
>+ pcal6524: gpio@22 {
>+ compatible = "nxp,pcal6524";
>+ reg = <0x22>;
>+ #interrupt-cells = <2>;
>+ interrupt-controller;
>+ interrupt-parent = <&gpio3>;
>+ interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
>+ #gpio-cells = <2>;
>+ gpio-controller;
>+ pinctrl-0 = <&pinctrl_pcal6524>;
>+ pinctrl-names = "default";
>+ };
>+
>+ pmic@25 {
>+ compatible = "nxp,pca9451a";
>+ reg = <0x25>;
>+ interrupt-parent = <&pcal6524>;
>+ interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
>+
>+ regulators {
>+
>+ buck1: BUCK1 {
>+ regulator-name = "BUCK1";
>+ regulator-always-on;
>+ regulator-boot-on;
>+ regulator-min-microvolt = <650000>;
>+ regulator-max-microvolt = <2237500>;
>+ regulator-ramp-delay = <3125>;
>+ };
>+
>+ buck2: BUCK2 {
>+ regulator-name = "BUCK2";
>+ regulator-always-on;
>+ regulator-boot-on;
>+ regulator-min-microvolt = <600000>;
>+ regulator-max-microvolt = <2187500>;
>+ regulator-ramp-delay = <3125>;
>+ };
>+
>+ buck4: BUCK4 {
>+ regulator-name = "BUCK4";
>+ regulator-always-on;
>+ regulator-boot-on;
>+ regulator-min-microvolt = <600000>;
>+ regulator-max-microvolt = <3400000>;
>+ };
>+
>+ buck5: BUCK5 {
>+ regulator-name = "BUCK5";
>+ regulator-always-on;
>+ regulator-boot-on;
>+ regulator-min-microvolt = <600000>;
>+ regulator-max-microvolt = <3400000>;
>+ };
>+
>+ buck6: BUCK6 {
>+ regulator-name = "BUCK6";
>+ regulator-always-on;
>+ regulator-boot-on;
>+ regulator-min-microvolt = <600000>;
>+ regulator-max-microvolt = <3400000>;
>+ };
>+
>+ ldo1: LDO1 {
>+ regulator-name = "LDO1";
>+ regulator-always-on;
>+ regulator-boot-on;
>+ regulator-min-microvolt = <1600000>;
>+ regulator-max-microvolt = <3300000>;
>+ };
>+
>+ ldo4: LDO4 {
>+ regulator-name = "LDO4";
>+ regulator-always-on;
>+ regulator-boot-on;
>+ regulator-min-microvolt = <800000>;
>+ regulator-max-microvolt = <3300000>;
>+ };
>+
>+ ldo5: LDO5 {
>+ regulator-name = "LDO5";
>+ regulator-always-on;
>+ regulator-boot-on;
>+ regulator-min-microvolt = <1800000>;
>+ regulator-max-microvolt = <3300000>;
>+ };
>+ };
>+ };
>+
>+ eeprom: eeprom@50 {
>+ compatible = "atmel,24c256";
>+ reg = <0x50>;
>+ pagesize = <64>;
>+ };
>+};
>+
>+&lpi2c3 {
>+ #address-cells = <1>;
>+ #size-cells = <0>;
>+ clock-frequency = <400000>;
>+ pinctrl-0 = <&pinctrl_lpi2c3>;
>+ pinctrl-names = "default";
>+ status = "okay";
>+
>+ ptn5110: tcpc@50 {
>+ compatible = "nxp,ptn5110", "tcpci";
>+ reg = <0x50>;
>+ interrupt-parent = <&gpio3>;
>+ interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
>+
>+ typec1_con: connector {
>+ compatible = "usb-c-connector";
>+ data-role = "dual";
>+ label = "USB-C";
>+ op-sink-microwatt = <15000000>;
>+ power-role = "dual";
>+ self-powered;
>+ sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
>+ PDO_VAR(5000, 20000, 3000)>;
>+ source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
>+ try-power-role = "sink";
>+
>+ ports {
>+ #address-cells = <1>;
>+ #size-cells = <0>;
>+
>+ port@0 {
>+ reg = <0>;
>+
>+ typec1_dr_sw: endpoint {
>+ remote-endpoint = <&usb1_drd_sw>;
>+ };
>+ };
>+ };
>+ };
>+ };
>+
>+ pcf2131: rtc@53 {
>+ compatible = "nxp,pcf2131";
>+ reg = <0x53>;
>+ interrupt-parent = <&pcal6524>;
>+ interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
>+ };
>+};
>+
>+&lpuart1 { /* console */
>+ pinctrl-0 = <&pinctrl_uart1>;
>+ pinctrl-names = "default";
>+ status = "okay";
>+};
>+
>+&usbotg1 {
>+ adp-disable;
>+ disable-over-current;
>+ dr_mode = "otg";
>+ hnp-disable;
>+ srp-disable;
>+ usb-role-switch;
>+ samsung,picophy-dc-vol-level-adjust = <7>;
>+ samsung,picophy-pre-emp-curr-control = <3>;
>+ status = "okay";
>+
>+ port {
>+
>+ usb1_drd_sw: endpoint {
>+ remote-endpoint = <&typec1_dr_sw>;
>+ };
>+ };
>+};
>+
>+&usbotg2 {
>+ disable-over-current;
>+ dr_mode = "host";
>+ samsung,picophy-dc-vol-level-adjust = <7>;
>+ samsung,picophy-pre-emp-curr-control = <3>;
>+ status = "okay";
>+};
>+
>+&usdhc1 {
>+ bus-width = <8>;
>+ non-removable;
>+ pinctrl-0 = <&pinctrl_usdhc1>;
>+ pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
>+ pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
>+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
>+ status = "okay";
>+};
>+
>+&usdhc2 {
>+ bus-width = <4>;
>+ cd-gpios = <&gpio3 00 GPIO_ACTIVE_LOW>;
>+ no-mmc;
>+ no-sdio;
>+ pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
>+ pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
>+ pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
>+ pinctrl-3 = <&pinctrl_usdhc2_sleep>, <&pinctrl_usdhc2_gpio_sleep>;
>+ pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
>+ vmmc-supply = <&reg_usdhc2_vmmc>;
>+ status = "okay";
>+};
>+
>+&wdog3 {
>+ status = "okay";

Is there a need to set WDOG_ANY to trigger pmic reset?

Regards,
Peng


Return-Path: <linux-kernel+bounces-674080-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4C1EF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 01:59:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B6DAA3A9151
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 05:58:42 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5E3C41F4624;
Thu, 5 Jun 2025 05:58:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="WRVrpB+m"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9AE71F0E37;
Thu, 5 Jun 2025 05:58:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.15
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103133; cv=none; b=S3BNYItl20vAtv6xE9bY6qpwfflFNoqVoZQuJqF0bMdp8NuhbdN5yQ13QrzFlYzVm9xIHlhCsFjZZf1ENDCHmv4RiAJuedZnCI5/UWBwBVip74sL8s8wx8qeZ2iYmm2/I/T30rIXNFm1qc1WocN3w+ukYmc7OQdJWfLOzrSOaPk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103133; c=relaxed/simple;
bh=/ByTCSRKhoKS/nj0DFNvNzqPbdF7gDWTNXPA+3K7AJM=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=sW3yvWq0/oiux4ZItWdFdvBK0AFcFbycggj5XQ9NheVlT7FHLY9P4ovfG2is1AZKwRPbw7p/NFk6o10HcfSSkNEyhiRhk9cirNXErqFWsFe68XSu1iEJz+8vTXGZ9ldBHcdaNcPd2qOPA5U09sEXaqOrW9s1RVPoP8Dy/wcmWJc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=WRVrpB+m; arc=none smtp.client-ip=192.198.163.15
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749103132; x=1780639132;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=/ByTCSRKhoKS/nj0DFNvNzqPbdF7gDWTNXPA+3K7AJM=;
b=WRVrpB+mrpp0W7rb3QnmQx+s+9wMnrtfti4s4gHl6nwRNuxXYx1rpKMH
T6yyYETaSsgAPu5fIp/plcBXc6pDeXQzIkQ15d11Q2iQaC+b4N8wEbK4d
yyIZUYvSxn0ASe7HY1Zp1i260FHxCemgVE3wjB4o5x02zuFgwMlV9PM7L
FNdNKwxeQ0MygkxySeVukLT3BuGFfijfqWdIUBmsPu83u5vp3RT5rW2eK
PcN+afob2THizbSppO6Q8xCBliZliHrYAxFLVqvxamysen0U+yFbKuZD2
CYZf2zcPPvAG5uKJOEnPveuRkeNVOahNViGheoFHEjbGSFEMcQPIpC2KL
w==;
X-CSE-ConnectionGUID: 4s9UYh9CSxufvkLOvc3duw==
X-CSE-MsgGUID: +8cYOmsxT0m+Gl6pfeFz2w==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51350675"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="51350675"
Received: from orviesa008.jf.intel.com ([10.64.159.148])
by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 22:58:49 -0700
X-CSE-ConnectionGUID: Qr7ZhDsVSQa50KZK2V97/A==
X-CSE-MsgGUID: RWXMFbBFSLOCtiLFxCnQFA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="146391908"
Received: from smile.fi.intel.com ([10.237.72.52])
by orviesa008.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 22:58:46 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uN3cf-00000003m7A-1apF;
Thu, 05 Jun 2025 08:58:41 +0300
Date: Thu, 5 Jun 2025 08:58:41 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
Cc: ilpo.jarvinen@xxxxxxxxxxxxxxx, hdegoede@xxxxxxxxxx, corbet@xxxxxxx,
ikepanhc@xxxxxxxxx, hmh@xxxxxxxxxx, W_Armin@xxxxxx,
linux-doc@xxxxxxxxxxxxxxx, platform-driver-x86@xxxxxxxxxxxxxxx,
ibm-acpi-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2] platform/x86: Move Lenovo files into lenovo subdir
Message-ID: <aEEyEfYgpPQm8Tlx@xxxxxxxxxxxxxxxxxx>
References: <mpearson-lenovo@xxxxxxxxx>
<20250604173702.3025074-1-mpearson-lenovo@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604173702.3025074-1-mpearson-lenovo@xxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 01:36:53PM -0400, Mark Pearson wrote:
> Create lenovo subdirectory for holding Lenovo specific drivers.

...

> -F: drivers/platform/x86/lenovo-wmi-hotkey-utilities.c
> +F: drivers/platform/x86/lenovo/lenovo-wmi-hotkey-utilities.c

You may follow the trick in the Makefile (see intel folder) to avoid repetition
of the folder name in the file names. Note, the modules will be called the
same (assuming no ABI breakages due to renames).

...

> -# IBM Thinkpad and Lenovo
> +# IBM Thinkpad

This is a bit ambiguous now. It's IBM and Lenove for ThinkPad... Perhaps you
should put some kind of date or so? Like

# IBM Thinkpad (before 2007)

(note, I speculated on the year, you may know better what to put there).

...

> +++ b/drivers/platform/x86/lenovo/Makefile
> @@ -0,0 +1,15 @@
> +# SPDX-License-Identifier: GPL-2.0
> +#
> +# Makefile for linux/drivers/platform/x86/lenovo
> +# Lenovo x86 Platform-Specific Drivers
> +#
> +obj-$(CONFIG_IDEAPAD_LAPTOP) += ideapad-laptop.o
> +obj-$(CONFIG_LENOVO_WMI_HOTKEY_UTILITIES) += lenovo-wmi-hotkey-utilities.o
> +obj-$(CONFIG_LENOVO_YMC) += lenovo-ymc.o
> +obj-$(CONFIG_THINKPAD_ACPI) += thinkpad_acpi.o
> +obj-$(CONFIG_THINKPAD_LMI) += think-lmi.o
> +obj-$(CONFIG_YOGABOOK) += lenovo-yogabook.o
> +obj-$(CONFIG_YT2_1380) += lenovo-yoga-tab2-pro-1380-fastcharger.o
> +obj-$(CONFIG_LENOVO_WMI_CAMERA) += lenovo-wmi-camera.o

> +
> +

No need to have even a single blank line at the end of file. Usually editors
even complain about this.

--
With Best Regards,
Andy Shevchenko




Return-Path: <linux-kernel+bounces-674081-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 71A3641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:01:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D98AE1898B01
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:02:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2482C1FC8;
Thu, 5 Jun 2025 06:01:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="MjByNuoe";
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="WzwLABCF";
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="MjByNuoe";
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="WzwLABCF"
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
(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 9DE982AF19
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:01:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103304; cv=none; b=pFzv4aZq4fVVAJxnKw6g51ha5NN1Y9yzZZUyqp8u2heRv+i/CibObqBSc1v7WenOgQd4Gcvq+Z1eibfSGSExjU7HTijYMjx8NLpw2WtgfaI8c8kE1h4yvt/pdcCKeVb4CjXeFZs2Gh7CkWIwWE7B1Fui3UJND+HGgEYZr1CEbhk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103304; c=relaxed/simple;
bh=M8QZmBD0ZPJrqhiSCNNbeJu51o5CaN/7G3c+Xl8U2Z4=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=tArJGxl9ZkYTFUaAx6MhLgcP+P4WiCJWZ9JFAalGAhi87Al2R8XK7hObiK9SOx/KFGmZWynpboZKA58RvCW7Qql4AsFd8odCxIhg+f4A6Sf8WePiey5PvYmYa7IAH7KSpZ/NNIvF/uPdGZy+b1Cso2WNfdrz4rVXPWU+Ku3ZHaY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de; spf=pass smtp.mailfrom=suse.de; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=MjByNuoe; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=WzwLABCF; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=MjByNuoe; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=WzwLABCF; arc=none smtp.client-ip=195.135.223.130
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.de
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out1.suse.de (Postfix) with ESMTPS id D25B23439D;
Thu, 5 Jun 2025 06:01:40 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
t=1749103300; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=OT4buQt3ej32l9/4XvTTl1cX0WhBmPm7BItKSnIsM2o=;
b=MjByNuoeusKBGJlxCeEtrBgj3YYWOIGDwhCT0U7EE5Zv0rgls1YlAcT4dfb23+Sl7JtJEo
M2R77XXC1MwXC4HoKpelmVnHVig2a6CFPmCdj0LYCB8LZUuUUsxoJp8VKutPNuAnLOgsAn
R+abXclUv6zEzLag9iNg7YYQxywomPM=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
s=susede2_ed25519; t=1749103300;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=OT4buQt3ej32l9/4XvTTl1cX0WhBmPm7BItKSnIsM2o=;
b=WzwLABCFJ4h6cFprUossKHY+Gu8NppE9YkMzXfuHAFDnWMI/dX0B3OMSETUazIM88jPo/5
fdw56EACvlUzddBw==
Authentication-Results: smtp-out1.suse.de;
none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
t=1749103300; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=OT4buQt3ej32l9/4XvTTl1cX0WhBmPm7BItKSnIsM2o=;
b=MjByNuoeusKBGJlxCeEtrBgj3YYWOIGDwhCT0U7EE5Zv0rgls1YlAcT4dfb23+Sl7JtJEo
M2R77XXC1MwXC4HoKpelmVnHVig2a6CFPmCdj0LYCB8LZUuUUsxoJp8VKutPNuAnLOgsAn
R+abXclUv6zEzLag9iNg7YYQxywomPM=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
s=susede2_ed25519; t=1749103300;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=OT4buQt3ej32l9/4XvTTl1cX0WhBmPm7BItKSnIsM2o=;
b=WzwLABCFJ4h6cFprUossKHY+Gu8NppE9YkMzXfuHAFDnWMI/dX0B3OMSETUazIM88jPo/5
fdw56EACvlUzddBw==
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 812001373E;
Thu, 5 Jun 2025 06:01:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id u+uNHcQyQWjsEQAAD6G6ig
(envelope-from <hare@xxxxxxx>); Thu, 05 Jun 2025 06:01:40 +0000
Message-ID: <2455a292-5bba-4e6e-ab85-4fed0f917d7d@xxxxxxx>
Date: Thu, 5 Jun 2025 08:01:40 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] scsi/fcoe: simplify fcoe_select_cpu()
To: Yury Norov <yury.norov@xxxxxxxxx>, Bart Van Assche <bvanassche@xxxxxxx>
Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>,
"Martin K. Petersen" <martin.petersen@xxxxxxxxxx>,
linux-scsi@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Tejun Heo <tj@xxxxxxxxxx>, Lai Jiangshan <jiangshanlai@xxxxxxxxx>
References: <20250604234201.42509-1-yury.norov@xxxxxxxxx>
<0959d3c2-b849-4826-8edf-d72a89fbadff@xxxxxxx> <aEDmXvKAvJfjMrCk@yury>
Content-Language: en-US
From: Hannes Reinecke <hare@xxxxxxx>
In-Reply-To: <aEDmXvKAvJfjMrCk@yury>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
BAYES_HAM(-3.00)[100.00%];
SUSPICIOUS_RECIPS(1.50)[];
NEURAL_HAM_LONG(-1.00)[-1.000];
NEURAL_HAM_SHORT(-0.20)[-1.000];
MIME_GOOD(-0.10)[text/plain];
FREEMAIL_ENVRCPT(0.00)[gmail.com];
TAGGED_RCPT(0.00)[];
RCVD_TLS_ALL(0.00)[];
ARC_NA(0.00)[];
MIME_TRACE(0.00)[0:+];
RCVD_VIA_SMTP_AUTH(0.00)[];
TO_DN_SOME(0.00)[];
FREEMAIL_TO(0.00)[gmail.com,acm.org];
MID_RHS_MATCH_FROM(0.00)[];
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
FROM_HAS_DN(0.00)[];
FREEMAIL_CC(0.00)[hansenpartnership.com,oracle.com,vger.kernel.org,kernel.org,gmail.com];
RCPT_COUNT_SEVEN(0.00)[8];
FROM_EQ_ENVFROM(0.00)[];
RCVD_COUNT_TWO(0.00)[2];
TO_MATCH_ENVRCPT_ALL(0.00)[];
FUZZY_BLOCKED(0.00)[rspamd.com];
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:mid,suse.de:email,imap1.dmz-prg2.suse.org:helo]
X-Spam-Level:
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/5/25 02:35, Yury Norov wrote:
> + Tejun, Lai
>
> On Thu, Jun 05, 2025 at 08:13:53AM +0800, Bart Van Assche wrote:
>> On 6/5/25 7:42 AM, Yury Norov wrote:
>>> diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
>>> index b911fdb387f3..07eddafe52ff 100644
>>> --- a/drivers/scsi/fcoe/fcoe.c
>>> +++ b/drivers/scsi/fcoe/fcoe.c
>>> @@ -1312,10 +1312,7 @@ static inline unsigned int fcoe_select_cpu(void)
>>> {
>>> static unsigned int selected_cpu;
>>> - selected_cpu = cpumask_next(selected_cpu, cpu_online_mask);
>>> - if (selected_cpu >= nr_cpu_ids)
>>> - selected_cpu = cpumask_first(cpu_online_mask);
>>> -
>>> + selected_cpu = cpumask_next_wrap(selected_cpu, cpu_online_mask);
>>> return selected_cpu;
>>> }
>>
>> Why does this algorithm occur in the FCoE driver? Isn't
>> WORK_CPU_UNBOUND good enough for this driver? And if it isn't
>> good enough, shouldn't this kind of functionality be integrated in
>> kernel/workqueue.c rather than having the above algorithm in a
>> kernel driver?
>
> (I'm obviously not an expert in this driver, and just wanted to cleanup
> the cpumask API usage.)
>
> It looks like the intention is to distribute the workload among CPUs
> sequentially. If you move this function out of the driver, someone
> else may call the function, and sequential distribution may get
> broken.
>
> If sequential distribution doesn't matter here, and the real
> intention is just to distribute workload more or less evenly,
> we already have cpumask_any_distribute() for this.
>
This function is used to distribute incoming skbs onto a work
cpu. And it's actually quite pointless, as the skb already
has a field (skb->sk->sk_incoming_cpu) which tells you exactly
on which CPU this skb was received, so we should use that
here.

I'll send a patch.

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich


Return-Path: <linux-kernel+bounces-674082-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4936341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:04:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 45D541760E9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:04:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7A4E31E3772;
Thu, 5 Jun 2025 06:04:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="XoasEWsE"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 075D786337;
Thu, 5 Jun 2025 06:04:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.16
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103471; cv=none; b=eNbcH9L5b48+Hbi0cAydIJmfDXzJ+Di2Upk7344U7RSNsTMrX7QCGHJy2XwRNl/GGRmOzqPPFyY+RnN7adUVs6AuOhzaNyGBXDe6dzmm1m3ujRuqS0dVQ2mnMqSUwxJJVW+vS8i5l/SoY6Sk4GQ7jClLf+W7lJ7JtSHYTeGLC9k=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103471; c=relaxed/simple;
bh=RZxpLfhIRq9MDyCn7PC1IqQd3NaFFgnnFlYQvCjgl1g=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=AGiGeQAMhy7dZnEjwzXPrGkpOqSvqPxVMNP7fVU6vH7Q73Mi+FlMbsSkkXY8/Ym4iZHLwbxAAf4DnoOX8HOg7TodZluh1Ns37DElQYmSbkSNkJwzhKEMbeB8Zr08pcEFrHyGFnaIjqL5h+t1I/Eb3Z4+oWMe32lkazNcRfQnt5U=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=XoasEWsE; arc=none smtp.client-ip=192.198.163.16
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749103470; x=1780639470;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=RZxpLfhIRq9MDyCn7PC1IqQd3NaFFgnnFlYQvCjgl1g=;
b=XoasEWsEb0PwgqCZz+cHCMZkdZRemmNqIPlDJL1G8HUbd1u24JFht+WO
EzYTVRbNCmlO+o+RKrSiuvBnI7LQHMwzAGyqo/KF3yvbVPYUuC4Rnoj0d
lGx6OHFSQgP5fHUk19ayQMmsmtNJ+gxu+1IFzIlvAADj1DIx/hXtzMIcG
PpvdvFxoP3/nhdrV6clAz3mzie9QW/lX3zuqKpS2c3PTDRDIR9mjAqOxW
S4vwkuFF4Ik1d1pR41/M9aR6+tzbTtZJ3psrA2Rtxgsph+ESc390LmFeC
nuxG4JeACksJ3l81/7SNIzmbaer6t6BFIps8gCjttu0HHhn6jomuQTzVy
g==;
X-CSE-ConnectionGUID: VR2OW/oCQ+uk1ZOrb0d1Ow==
X-CSE-MsgGUID: UXWvV5SIQ4KkDq7TVDItKw==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="38837851"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="38837851"
Received: from fmviesa010.fm.intel.com ([10.60.135.150])
by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:04:29 -0700
X-CSE-ConnectionGUID: utlLf4pZQPODm/+M2F+6mA==
X-CSE-MsgGUID: aKLhIUSCTNmCCS/ak7G/Tw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="145905398"
Received: from smile.fi.intel.com ([10.237.72.52])
by fmviesa010.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:04:25 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uN3iA-00000003mBg-218f;
Thu, 05 Jun 2025 09:04:22 +0300
Date: Thu, 5 Jun 2025 09:04:22 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Jonathan Santos <Jonathan.Santos@xxxxxxxxxx>
Cc: linux-iio@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
Sergiu Cuciurean <sergiu.cuciurean@xxxxxxxxxx>, nuno.sa@xxxxxxxxxx,
Michael.Hennerich@xxxxxxxxxx, marcelo.schmitt@xxxxxxxxxx,
jic23@xxxxxxxxxx, robh@xxxxxxxxxx, krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx, marcelo.schmitt1@xxxxxxxxx,
linus.walleij@xxxxxxxxxx, brgl@xxxxxxxx, lgirdwood@xxxxxxxxx,
broonie@xxxxxxxxxx, jonath4nns@xxxxxxxxx, dlechner@xxxxxxxxxxxx,
Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
Subject: Re: [PATCH v10 07/12] iio: adc: ad7768-1: Add GPIO controller support
Message-ID: <aEEzZjfLVUW1kyC9@xxxxxxxxxxxxxxxxxx>
References: <cover.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
<eb48ea5f11503729b15a36ef00c89de3dd37bcc3.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <eb48ea5f11503729b15a36ef00c89de3dd37bcc3.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 04:36:43PM -0300, Jonathan Santos wrote:
> From: Sergiu Cuciurean <sergiu.cuciurean@xxxxxxxxxx>
>
> The AD7768-1 has the ability to control other local hardware (such as gain
> stages),to power down other blocks in the signal chain, or read local
> status signals over the SPI interface.
>
> Add direct mode conditional locks in the gpio callbacks to prevent register

GPIO

> access when the device is in buffered mode.
>
> This change exports the AD7768-1's four gpios and makes them accessible

GPIOs

> at an upper layer.

...

I haven't seen in the commit message nor in the comments why GPIO regmap can't
be used. (No need to resend, just reply here, but keep in mind in case of a new
version of the series.)

--
With Best Regards,
Andy Shevchenko




Return-Path: <linux-kernel+bounces-674083-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A596441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:05:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 8605F18990C5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:06:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B14031E3772;
Thu, 5 Jun 2025 06:05:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=canb.auug.org.au header.i=@canb.auug.org.au header.b="QGSUpdN0"
Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C4D7586337;
Thu, 5 Jun 2025 06:05:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=150.107.74.76
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103551; cv=none; b=RoR9eNRmTNlaS/+y2WqJS3I52N8IRy/CJOIRLk8Bgiovr3+tqcVxL8h2z8hWMtseysx4npm8h9ah49rQ7F+mOAFlulOJ6XvDeND7eRbVhcIee4bwjJz2WiOgIG/WWGtzCiNRG63I5qq/Jv+bARvhUbktl7wQdFu/iDMQ2stuLO4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103551; c=relaxed/simple;
bh=sqgDfnN4N0J3wueLo9uBRnQ3TdtwpgSzJhcKSr1k4kk=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type; b=i/Upk0ay4/OJlFhkvxuIxtY5Q8XZXIPdyJyjHxbZhytM8/hKmM6t3yXKTTZXLw/erseiQEVt4t6pVXIydOA7Bi3VnxXFQQaVpUlYNwVdxF+qw3oK3/xTGi7qEH34Bgsx4Bg+vSWhrd3mOmSOCAfcKZYyVZTWYRfG0SUL2FjTAbY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canb.auug.org.au; spf=pass smtp.mailfrom=canb.auug.org.au; dkim=pass (2048-bit key) header.d=canb.auug.org.au header.i=@canb.auug.org.au header.b=QGSUpdN0; arc=none smtp.client-ip=150.107.74.76
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canb.auug.org.au
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=canb.auug.org.au
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au;
s=202503; t=1749103541;
bh=FBf32aloc4DGnuQVM6vOKg22DnQbQHJTGpi+iyZQLjQ=;
h=Date:From:To:Cc:Subject:From;
b=QGSUpdN0x93Vhp/ouJLRw8PHZ91FHqR719A/sILSPKBnpGpGTeMKnANd9Vp17umBB
hcBBl0/aQ79HG8Z3O/Q73znw3WLkI/GvXwMU/guqgOkEKDC9aFO+ldGDwI4mvKQ42F
RQqdGkM9d7AN1PQpCZfiwdj1x5AK0JXHgi0+XxYvc67yQbjfAYvkLgF2BjtnwpbKBR
jIqCNAb+3hF7J7m+vwjAZ2r1v/8VChAbE9wdiczvtj/OkdjBYvxO39VSAI79BSlcXl
FfQ3qmLjc4ht2/YNcwxORZqtkQdtfLl3g+lR7XSDojQrc7ZEekid66sPaIR+NDGnOF
w6vxmlxwadb9Q==
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(Client did not present a certificate)
by mail.ozlabs.org (Postfix) with ESMTPSA id 4bCYpY492Sz4x7j;
Thu, 5 Jun 2025 16:05:41 +1000 (AEST)
Date: Thu, 5 Jun 2025 16:05:40 +1000
From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
To: Steve French <smfrench@xxxxxxxxx>
Cc: Meetakshi Setiya <msetiya@xxxxxxxxxxxxx>, Steve French
<stfrench@xxxxxxxxxxxxx>, CIFS <linux-cifs@xxxxxxxxxxxxxxx>, Linux Kernel
Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Linux Next Mailing List
<linux-next@xxxxxxxxxxxxxxx>
Subject: linux-next: build warning after merge of the cifs tree
Message-ID: <20250605160540.76a4c651@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/EX/gxNEihzoWEfJCUPI6oAa";
protocol="application/pgp-signature"; micalg=pgp-sha256
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

--Sig_/EX/gxNEihzoWEfJCUPI6oAa
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hi all,

After merging the cifs tree, today's linux-next build (htmldocs) produced
this warning:

Documentation/filesystems/smb/smbdirect.rst: WARNING: document isn't includ=
ed in any toctree

Introduced by commit

b94d1b9e07ba ("cifs: add documentation for smbdirect setup")

--=20
Cheers,
Stephen Rothwell

--Sig_/EX/gxNEihzoWEfJCUPI6oAa
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmhBM7QACgkQAVBC80lX
0GzgPQf/fzMUypV5BngavlSqlHxMFB6N7CcQVD7KhiPDMvA76ZH3tXxK81CWqkO/
T5QP4jrZspJO7HQx7DOFmMX/df/vG7T6Y+9NEDGq/7O9vj6Hzn1w2wkAnnAU6cdG
rJ/V5WKaJQeVh2KroYOz13WttRUz19NP0sHuGVXbmcwUZPNTfE+d8bN2ygssYtx3
9pH8LK/J9IgWlVdmIQl6Zcuzyc0luYd1GcTP2ZlNJur8/eT4VLYylocR0oL6AOsr
Y9f3eZyEVb1r+GC59FVlNvZmJkJMpVJ5XfiS2DDpOvCiRaClJ6ED3dpSJZqNu42I
zw70TaiPDlIfn5h7OP44XStwqZefDQ==
=N/+H
-----END PGP SIGNATURE-----

--Sig_/EX/gxNEihzoWEfJCUPI6oAa--


Return-Path: <linux-kernel+bounces-674084-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5218041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:06:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 16A661891396
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:06:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B92561EDA0F;
Thu, 5 Jun 2025 06:06:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="V68yeE4u"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9628E1C8601;
Thu, 5 Jun 2025 06:06:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.10
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103583; cv=none; b=j5d+UsQpJp3QdG6VrVhGeQQqozevDRRRVtWFWYrGjhfxuZ5KKO4M2I677n1yvb6GA6J6H/Cw6hXL7BhCrkBkPf6LvVLd7Aw3O512t/dlvCmIDjjYa4RcCwG+8M56awu9+Cu5U6QPJ8AmdMx4URYU3T/pRxU+TaqOn3ALwiUaHKM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103583; c=relaxed/simple;
bh=Ktzhq4fVsKEWiMOkF+2uTaOey3+lr5ajT6Ebq/4uTXo=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=YXlfCMKmWcUoVBMVeHsg5ORSU9Lkzgf4OCdw4Kc6dPMamIo2jzfc44VjvHw877bTYZrkM+4GvaKsxJwc3q6F4Ag2JEx6N8VLcPRR6RoilrmTEyTlL49dMQezU8fru72X01R1QJdnkYUGJkWoSKUlrl/b1actyKtlPO1glommmXM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=V68yeE4u; arc=none smtp.client-ip=198.175.65.10
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749103581; x=1780639581;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=Ktzhq4fVsKEWiMOkF+2uTaOey3+lr5ajT6Ebq/4uTXo=;
b=V68yeE4ugat7mogncat/GEpX+xZyAFxifnAyBxikt1kPPNchKW8vcVS/
u9YkVwGKYgZLd2sW7yXGkyC5KcXh7Kcpv7Z1tWUFOkvU1Yss38wc2NJl0
hlkYBpzZAxNMpaV1fAUTRHC0j+F/0tlH92sKkbBfEyP/0rpgFYvlGMATG
y2xd0qrjjcI3qOJMLubgJxAONpy//JTlNDgABJnR8E9upI5BtZD0ctZJz
oDSqoSyDxfcqgHRGhlusgBNUo73MmkmZYagbiSgUqulZOlBQ8eHNXPx21
fNsbzK5u93xqHA8iZenc48667Tc4hjrRE2uGkVh88ZP3zzJzfoIYpVR2T
g==;
X-CSE-ConnectionGUID: h9QS89yfS/m0Ggk8jIBNLQ==
X-CSE-MsgGUID: VjaRtC8eQ/KMbs5PNqQOCQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="68645220"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="68645220"
Received: from fmviesa008.fm.intel.com ([10.60.135.148])
by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:06:21 -0700
X-CSE-ConnectionGUID: gTM/7DNhT4+4yuad8s9pUQ==
X-CSE-MsgGUID: sS81EJFBR/SKefZQkVYCMw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="145749493"
Received: from smile.fi.intel.com ([10.237.72.52])
by fmviesa008.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:06:16 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uN3jx-00000003mCp-0RIo;
Thu, 05 Jun 2025 09:06:13 +0300
Date: Thu, 5 Jun 2025 09:06:12 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Jonathan Santos <Jonathan.Santos@xxxxxxxxxx>
Cc: linux-iio@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
nuno.sa@xxxxxxxxxx, Michael.Hennerich@xxxxxxxxxx,
marcelo.schmitt@xxxxxxxxxx, jic23@xxxxxxxxxx, robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx, conor+dt@xxxxxxxxxx, marcelo.schmitt1@xxxxxxxxx,
linus.walleij@xxxxxxxxxx, brgl@xxxxxxxx, lgirdwood@xxxxxxxxx,
broonie@xxxxxxxxxx, jonath4nns@xxxxxxxxx, dlechner@xxxxxxxxxxxx
Subject: Re: [PATCH v10 08/12] iio: adc: ad7768-1: add multiple scan types to
support 16-bits mode
Message-ID: <aEEz1ORQAUBDGHoF@xxxxxxxxxxxxxxxxxx>
References: <cover.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
<badd5aafc1be4a264dc5d7c46bfc9e502d6b37db.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <badd5aafc1be4a264dc5d7c46bfc9e502d6b37db.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 04:36:56PM -0300, Jonathan Santos wrote:
> When the device is configured to decimation x8, only possible in the
> sinc5 filter, output data is reduced to 16-bits in order to support

16-bit

...OR...

16 bits

> 1 MHz of sampling frequency due to clock limitation.
>
> Use multiple scan types feature to enable the driver to switch
> scan type at runtime, making it possible to support both 24-bit and
> 16-bit resolution.

--
With Best Regards,
Andy Shevchenko




Return-Path: <linux-kernel+bounces-674085-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1F4A641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:08:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 3AAE216FF4F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:07:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BB36E1F3B87;
Thu, 5 Jun 2025 06:07:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="yhNiMwGK";
dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="t+p8jzgb"
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7151E1FC8;
Thu, 5 Jun 2025 06:07:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103664; cv=none; b=HXzqH/Rz9J+Is0X02mcQmeCXxb5j5tK0+wh/+gSAzdWBjkUtoUL250TjNdmdBNdGxG/m3rovaPOiwqFbZvFwAs6r+9wGcFYnV/2xp8Mq/b/mnZoMZA8WH7MCFk2P+ei+qtai7NEXK6/aJEJw2pbLvYGZaLBkrVFdAxssZe/xdls=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103664; c=relaxed/simple;
bh=+uBO42iXZqtDYIQMA9gA6/zv4IsrwRUl3RAt4NSUZlo=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=pI/D2d8kU9yO5HTicS5xYTTMuMx6h2BlgDyAmrTZaWgd4QwbYqxFj3ac3lVOgxJMPeaxNUtzt8i9OzWbC0bL17w6lS6Y+VhetD2SjkO3va2q0uC8T+MHO2rU9TR+aUj3NLT8cg8JXY/EJHH/qM2opR78GDhOakT68+JNGHBNBhA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=yhNiMwGK; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=t+p8jzgb; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Date: Thu, 5 Jun 2025 08:07:38 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020; t=1749103660;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=8HZ71isqmSlxdQ2pUqhCUqFJFnnu4E61MVtczgwOP6Q=;
b=yhNiMwGKmUXfkBKAQLXO/d3mTwEE3QnYl4xV5r+GwmyOgacZhEdCH7UCbTWj+WIOfYhk7o
gMraDmikgcjndOHfvnKxjxPOaTbfnnyN2P8T2/SaoLlq8pKh8Hp5+BDOBXkPnVhAPxsxH0
sxK6rmYkHRbOPKejL8DCcCzBE8tHNjquvrFCIxCrVTdpX7lp/zVRECytzKf7oGfji/aeYW
e5lNKkifBjnHRKlop2T3odJ7zO5va2eIdPb5hny7XhhWUatVJi2kKA/Ix4305mWU9nODAw
kVD6s8qRcaMxsSAs387s0Xr3jdXVnt/Vb18P9nt/OtaIzh0FFxajK8AFrdfWPA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020e; t=1749103660;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=8HZ71isqmSlxdQ2pUqhCUqFJFnnu4E61MVtczgwOP6Q=;
b=t+p8jzgbDKKet5/oPbEz5/zhqjCZj2Q3KQu7QZtaWafXE22DK5hbl4cjUZPD8GgwU2y4rb
fgWZI2jQ5RTsTmBA==
From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
To: linux-modules@xxxxxxxxxxxxxxx
Cc: oe-lkp@xxxxxxxxxxxxxxx, lkp@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
kernel test robot <oliver.sang@xxxxxxxxx>,
Paolo Abeni <pabeni@xxxxxxxxxx>,
Allison Henderson <allison.henderson@xxxxxxxxxx>,
netdev@xxxxxxxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx,
rds-devel@xxxxxxxxxxxxxx, Luis Chamberlain <mcgrof@xxxxxxxxxx>,
Petr Pavlu <petr.pavlu@xxxxxxxx>,
Sami Tolvanen <samitolvanen@xxxxxxxxxx>,
Daniel Gomez <da.gomez@xxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Subject: [PATCH v2] module: Make sure relocations are applied to the per-CPU
section
Message-ID: <20250605060738.SzA3UESe@xxxxxxxxxxxxx>
References: <202506041623.e45e4f7d-lkp@xxxxxxxxx>
<20250604152707.CieD9tN0@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
In-Reply-To: <20250604152707.CieD9tN0@xxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The per-CPU data section is handled differently than the other sections.
The memory allocations requires a special __percpu pointer and then the
section is copied into the view of each CPU. Therefore the SHF_ALLOC
flag is removed to ensure move_module() skips it.

Later, relocations are applied and apply_relocations() skips sections
without SHF_ALLOC because they have not been copied. This also skips the
per-CPU data section.
The missing relocations result in a NULL pointer on x86-64 and very
small values on x86-32. This results in a crash because it is not
skipped like NULL pointer would and can't be dereferenced.

Such an assignment happens during static per-CPU lock initialisation
with lockdep enabled.

Add the SHF_ALLOC flag back for the per-CPU section (if found) after
move_module().

Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-lkp/202506041623.e45e4f7d-lkp@xxxxxxxxx
Fixes: 8d8022e8aba85 ("module: do percpu allocation after uniqueness check.=
No, really!")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
---
v1=E2=80=A6v2: https://lore.kernel.org/all/20250604152707.CieD9tN0@linutron=
ix.de/
- Add the flag back only on SMP if the per-CPU section was found.

kernel/module/main.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/kernel/module/main.c b/kernel/module/main.c
index 5c6ab20240a6d..4f6554dedf8ea 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -2816,6 +2816,10 @@ static struct module *layout_and_allocate(struct loa=
d_info *info, int flags)
if (err)
return ERR_PTR(err);
=20
+ /* Add SHF_ALLOC back so that relocations are applied. */
+ if (IS_ENABLED(CONFIG_SMP) && info->index.pcpu)
+ info->sechdrs[info->index.pcpu].sh_flags |=3D SHF_ALLOC;
+
/* Module has been copied to its final place now: return it. */
mod =3D (void *)info->sechdrs[info->index.mod].sh_addr;
kmemleak_load_module(mod, info);
--=20
2.49.0



Return-Path: <linux-kernel+bounces-674086-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3922E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:08:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id B0ECB7A83B4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:07:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id ACF1D1E51EA;
Thu, 5 Jun 2025 06:08:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="i+oYi2zU"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 904D61FC8
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:08:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103712; cv=none; b=rhccMSh881bRMGfKM0XlbYr8r8H4o0UVVl/HbzhGoRj1KEjgwyQL+G8AOkLvP1qZAF3AthmtHzC2xpIZnvmoVWQaZ+lijhZjaSxMFME/QHqp6uht7vjROCegb8TClKUV2Sv+jpygeu4vwTqzuNhxRnju1PZAwNojrS0t9myEL+s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103712; c=relaxed/simple;
bh=RM1itkxaRz7g3ICGMYXMtwipn2xfx5JM6HfrDY0nTVE=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=XVGpiU3q347txReRUfcWAr6Qfp5uQp0St94/p2V2U45L1WUwbKZx4JYmyCnmwFMIV9J1UPfrtAdTitK8D5p2FHVQYXurl5yAUQkESMYsV6mOwa74Okvw7grF3rEVNMqDVsSLetoLazq8aYE4X561WLB0keLLb7gMNKop5xGpxOI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=i+oYi2zU; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749103709;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=C2vSmJ6SVwQptQL8RpnG9tD7le9Q4uMxXrPnxOmuMhY=;
b=i+oYi2zU7ZDcBxVCGzscdgcrWmC/6ir/lxVVmu4Cmmd/vIcrenSqw8scD0Xlkjd7mjhBfM
wK78mpkb3WdAmZEWqBwJrso6f2o1KXtYtm4s94qqNg9zxalqbvFh79R5GP3MrOhMJ6MFeL
KDgPBWcjeuVybKSF800dR5+rI0C3rVk=
Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com
[209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-225-KxjyYRnzPDWuOsLrO-OL0A-1; Thu, 05 Jun 2025 02:08:28 -0400
X-MC-Unique: KxjyYRnzPDWuOsLrO-OL0A-1
X-Mimecast-MFC-AGG-ID: KxjyYRnzPDWuOsLrO-OL0A_1749103707
Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a52cb5684dso37104f8f.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:08:27 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749103707; x=1749708507;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:from:references:cc:to:subject:user-agent
:mime-version:date:message-id:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=C2vSmJ6SVwQptQL8RpnG9tD7le9Q4uMxXrPnxOmuMhY=;
b=nDFZtgpsgMTsXxGzHRH1Ihe0P/XP0q79f/feJaHqAMKNJe9mljh6/CmGZjo/uAeNAy
fonTH/DTD9mvnLx57l20h5iz0CuPyNHy+jVa7y5nz/334Bas74gS+wGUkwEyErR41uYJ
gjhI0B18FWMgPNSsNBeYaQ5k/cWc5UDEGutU7yrd7NFd4tgQxEqRIqCThYOid86/45/e
KLiL3GlIktkYH3Nk4iPZX6kCjEpYsxYIYpBzAyNo8TgUGaxLEt6bx3vhcR+W8z9tCNOL
uCnHmH1MQ/zSJIRUEshTB3F7U1ye9919WCVNQPJGNWVGC7ik1As8p1KJT6oF8JgaS9y4
BJbA==
X-Forwarded-Encrypted: i=1; AJvYcCVIYbKhCY0cabvuf2TnZwSvUhtm/8N5QCwo70wW5PFINAx/CYJgM25tpHC5eItIv+4daf3Bgljd4B7o1Cs=@vger.kernel.org
X-Gm-Message-State: AOJu0Ywm9btLtLO6RJUv3Fa0+uLfx8pQJ5/yF7vJqCGkcMq3Um9VJybr
eix8LiIFJiIcXtkVYMTylNKZR5XshPLiOtSGhnhKLWNCo4J+8oyIY4FM83h8CK69UrDbavr3rnf
DXVBnLN5Cf7/Q0rnLGOLxb4cp5nPq1MpxSvSzYJH+aT0LlHoC7FdITlcbmo8Vs8vrww==
X-Gm-Gg: ASbGncuwSLoq8Cg9zCpJyOciPe8SSjQqe3arAqzWx6IUgVLLP6JTSPN0/aoL7QrdD5l
y6BCeOox2lC2s/ZCZ73vSsWDMmkKlJVBF3Cw0nvFgzTnAux5tVuniO5P6l/Jx1XP4xyDWFG+5Za
D9v2paBPJZWKGz9eHWkHFAEOeIYNDjhV5Q3yfNyGSsQecFGiYuG86IW0Gl49d+cDnaNCrLrmO6o
PESI5rvUV1gwdfXwHFYl+BNG3b7/WaneH7m/aCqcSVSVEjzjPcvoW543G7Nj+klO7+Epz6rQ1I4
riXp5q2YkfmcR2RLae9zQp7MoEabES21mqYZrKnExBU=
X-Received: by 2002:adf:a199:0:b0:3a5:2923:8006 with SMTP id ffacd0b85a97d-3a529238091mr658707f8f.25.1749103706770;
Wed, 04 Jun 2025 23:08:26 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGaRqZBcrBEbzp9Fj3P1o2raF7MjsFUmUAj05+n6Rw0I/Fw2RYCKHcZTTLBoyG3oN0dCtYa/A==
X-Received: by 2002:adf:a199:0:b0:3a5:2923:8006 with SMTP id ffacd0b85a97d-3a529238091mr658688f8f.25.1749103706377;
Wed, 04 Jun 2025 23:08:26 -0700 (PDT)
Received: from [192.168.3.141] (p4fe0f5ef.dip0.t-ipconnect.de. [79.224.245.239])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4efe73eadsm23211131f8f.41.2025.06.04.23.08.24
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 23:08:25 -0700 (PDT)
Message-ID: <f33f6f73-58bd-4877-a2cc-5436943da292@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 08:08:24 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] mm/gup: remove (VM_)BUG_ONs
To: Vlastimil Babka <vbabka@xxxxxxx>, John Hubbard <jhubbard@xxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
"Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>, Mike Rapoport
<rppt@xxxxxxxxxx>, Suren Baghdasaryan <surenb@xxxxxxxxxx>,
Michal Hocko <mhocko@xxxxxxxx>, Jason Gunthorpe <jgg@xxxxxxxx>,
Peter Xu <peterx@xxxxxxxxxx>
References: <20250604140544.688711-1-david@xxxxxxxxxx>
<d08f2cb4-f76b-4ffb-b6fa-2a5a419fb86b@xxxxxxxxxx>
<f1a3e3c1-103f-46d4-aa0e-ea057e78954d@xxxxxxx>
From: David Hildenbrand <david@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <f1a3e3c1-103f-46d4-aa0e-ea057e78954d@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 05.06.25 07:37, Vlastimil Babka wrote:
> On 6/5/25 03:07, John Hubbard wrote:
>> On 6/4/25 7:05 AM, David Hildenbrand wrote:
>>> Especially once we hit one of the assertions in
>>> sanity_check_pinned_pages(), observing follow-up assertions failing
>>> in other code can give good clues about what went wrong, so use
>>> VM_WARN_ON_ONCE instead.
>>>
>>> While at it, let's just convert all VM_BUG_ON to VM_WARN_ON_ONCE as
>>> well. Add one comment for the pfn_valid() check.
>>
>> It would be a nice touch to add Linus' notes here, with the BUG() history
>> and all. It answers a FAQ about BUG vs. WARN* that is really nice
>> to have in the commit log.
>
> Perhaps then rather put it somewhere appropriate in Documentation/process/
> than a random commit log?

I mean, I documented most of that already in coding-style.rst. :)

The full BUG history is not in there, but not sure if that is really required if ...
we're not supposed to use it.

Is there anything important missing?


commit 1cfd9d7e43d5a1cf739d1420b10b1e65feb02f88
Author: David Hildenbrand <david@xxxxxxxxxx>
Date: Fri Sep 23 13:34:24 2022 +0200

coding-style.rst: document BUG() and WARN() rules ("do not crash the kernel")

Linus notes [1] that the introduction of new code that uses VM_BUG_ON()
is just as bad as BUG_ON(), because it will crash the kernel on
distributions that enable CONFIG_DEBUG_VM (like Fedora):

VM_BUG_ON() has the exact same semantics as BUG_ON. It is literally
no different, the only difference is "we can make the code smaller
because these are less important". [2]

This resulted in a more generic discussion about usage of BUG() and
friends. While there might be corner cases that still deserve a BUG_ON(),
most BUG_ON() cases should simply use WARN_ON_ONCE() and implement a
recovery path if reasonable:

The only possible case where BUG_ON can validly be used is "I have
some fundamental data corruption and cannot possibly return an
error". [2]

As a very good approximation is the general rule:

"absolutely no new BUG_ON() calls _ever_" [2]

... not even if something really shouldn't ever happen and is merely for
documenting that an invariant always has to hold. However, there are sill
exceptions where BUG_ON() may be used:

If you have a "this is major internal corruption, there's no way we can
continue", then BUG_ON() is appropriate. [3]

There is only one good BUG_ON():

Now, that said, there is one very valid sub-form of BUG_ON():
BUILD_BUG_ON() is absolutely 100% fine. [2]

While WARN will also crash the machine with panic_on_warn set, that's
exactly to be expected:

So we have two very different cases: the "virtual machine with good
logging where a dead machine is fine" - use 'panic_on_warn'. And
the actual real hardware with real drivers, running real loads by
users. [4]

The basic idea is that warnings will similarly get reported by users
and be found during testing. However, in contrast to a BUG(), there is a
way to actually influence the expected behavior (e.g., panic_on_warn)
and to eventually keep the machine alive to extract some debug info.

Ingo notes that not all WARN_ON_ONCE cases need recovery. If we don't ever
expect this code to trigger in any case, recovery code is not really
helpful.

I'd prefer to keep all these warnings 'simple' - i.e. no attempted
recovery & control flow, unless we ever expect these to trigger.
[5]

There have been different rules floating around that were never properly
documented. Let's try to clarify.

[1] https://lkml.kernel.org/r/CAHk-=wiEAH+ojSpAgx_Ep=NKPWHU8AdO3V56BXcCsU97oYJ1EA@xxxxxxxxxxxxxx
[2] https://lore.kernel.org/r/CAHk-=wg40EAZofO16Eviaj7mfqDhZ2gVEbvfsMf6gYzspRjYvw@xxxxxxxxxxxxxx
[3] https://lkml.kernel.org/r/CAHk-=wit-DmhMfQErY29JSPjFgebx_Ld+pnerc4J2Ag990WwAA@xxxxxxxxxxxxxx
[4] https://lore.kernel.org/r/CAHk-=wgF7K2gSSpy=m_=K3Nov4zaceUX9puQf1TjkTJLA2XC_g@xxxxxxxxxxxxxx
[5] https://lore.kernel.org/r/YwIW+mVeZoTOxn%2F4@xxxxxxxxx



--
Cheers,

David / dhildenb



Return-Path: <linux-kernel+bounces-674087-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C975E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:08:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 135AC16E526
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:08:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EB8A81F181F;
Thu, 5 Jun 2025 06:08:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="HdpBg1Eg"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9E9661E3772
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:08:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103731; cv=none; b=uhrMGNDomEnEVzcGm5o/vgWrd9zgjvpE/3ZjiEOe9wP7TzvBFeWZTZfwo4MDp86ClAI5KUlnr4ucb+pRh0fopvNqzxGbq5ixucudwL23VjrXM14u5X4EjOkLQ7tHMWIpJwMymrzGARxUNLudx98g4PbtBCjJ7M3mF8PcXZQinNQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103731; c=relaxed/simple;
bh=obxsLj+ybBp5DKxbHvEzq7j6OJDIdAWkKYrH0UW56Ek=;
h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References:
In-Reply-To:Content-Type; b=IZq5ER31xcHqU1xrCkRRbx1wj0B/NHxAecs7sfHd1fWfFY3v3XuylLkmyRS8Zc9FsGWzOWLo6HERfE7D45sfOPHPRwDD5EjSN2vKWY/igDUwsVLnfIvOCzPBdlPlSCvdw4fU6UaxXkQltq4ts9c5OxYRtiqZP3X+f/nzuEsE1Cw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=HdpBg1Eg; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279867.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 554GZWEB006669
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:08:49 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
yuUom1uLViLFA95wFkHWrXsNJPx+f0un14vZ3UUQFxc=; b=HdpBg1EgCCkGTopG
1I6U3YnyLIXjqCHAHCBALdMKIhi8SopUDmIeIrQRUDIlNqP9gNDdxrqobDV/RjWW
GXlFKNG5UzrcO53a99nd2WxgUG29iPXdcEyyvmSziUAWk5M4GEzWi9xR8GIvWNU7
8t0I85Jp6GxzSkFaOFBV9kmZM7YMhNAVArJQceNfI1mwv65iqGNgWKaGkkKJJSx8
9VbwXsa6txAajJXK5xxvdm7wZ1qckie+8Y8bNIEeMOpy936Aureydwovn0fA158j
7syJ8SvibACynGseQowcg3acKMUPn2mIU7jTMIdcz1Gb8EUIjN3viw4J5ONyTSeB
0uAFmA==
Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 471g8t09sp-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 05 Jun 2025 06:08:48 +0000 (GMT)
Received: by mail-pf1-f199.google.com with SMTP id d2e1a72fcca58-742a969a4d0so650819b3a.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:08:48 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749103715; x=1749708515;
h=content-transfer-encoding:in-reply-to:content-language:references
:cc:to:subject:from:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=yuUom1uLViLFA95wFkHWrXsNJPx+f0un14vZ3UUQFxc=;
b=D77UUdllA3C1BrW9FRf/Qis7D1DhiMCvuf2Bmbrh4cJXMw17Gvj5IXB1qdUifzfNL+
v+kU8UlFOQU6zxdFUv4vgpr6ITUN/4sCCUyJQkckIpbA2PdoBknI5hQiQ/wsYTp50pId
uNNcB7Gufhjz0da27x3afDlpA/gNmVDCuE0bOUSVQSD8d1Oc5h02BvTiQO63lprDNYkj
7CPHt4bGeuradsQ2japcIh0wWgEnLUvSvq3SwXwn6CA83zTa7BVhMKeyOGQoVejmYJNp
vy3xxThK0JVPNDASlEER7AJMgSxu+gldIRLmbeFHpOZBCZMtiotTUMRF5wC3Dchcqv1j
4cww==
X-Forwarded-Encrypted: i=1; AJvYcCXaf57Gc3bwMgOJ40LX4B80KETisbwLtvBYv46KiTNBT+Pm2BgX8ndxqP0baYB2F+MeXn0J6vcDIudzFYk=@vger.kernel.org
X-Gm-Message-State: AOJu0YyW9hjzzehTABnW3233wF0mg2YKP/LY4gV1M7YVR1LK8NDD1oRu
DrkzHdmoSZ+eJMT2YpS/iI6nsKEz4LwVd5qc83LWbIrqVuGDVv3UF0MqBzbGSEWwJVX1iIdVNCU
Zlpoe0zX8/+WmM//xJyk7UJGplItvEV3ZWNEdSA1BaDyo5khGu4wFc/E6wqfrNwzEgiA=
X-Gm-Gg: ASbGncsVu+K55uoQskaLvaorJ34YoH3XMYgdheoVTfMzGUVxV3CaIOuQIYxmc6mrRQI
lL8CrLbEgHyF7A8FBPXL1JepPkiOGEva8KPLXxNuq9QRQWLQYnnrKmcoYwWE7B5FykHeWNv+CTR
J731+VBfqgp+t1w+JqYb3tz98UKjTjzNONkqQvQa+lSgSK2XPTu0DO8GARLgMsRRZOAwKa2vg1s
veD9kT2G8qH8LncVKL96neDpwCChvmW5V4PGRbDSAWVQWUwQgRpiG3az8i+DQrxpYEKnVbpXBdK
4WmtoIh+sUfXp5/ig68VXXuoQ7U9eF8ToFyNMaAqfaEFukdA/wEV1/ng3x4/+Fpc3zk1r8JT3Pf
N
X-Received: by 2002:a05:6a21:3282:b0:204:4573:d853 with SMTP id adf61e73a8af0-21d22bcbc4cmr7791386637.4.1749103714906;
Wed, 04 Jun 2025 23:08:34 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEu82MVDHVKpp8Ta6NIo45ITXBkJKjQdLSDIXVXjZuHMYFztmtVjRfZs6jpP6ebX+etviRsgA==
X-Received: by 2002:a05:6a21:3282:b0:204:4573:d853 with SMTP id adf61e73a8af0-21d22bcbc4cmr7791349637.4.1749103714526;
Wed, 04 Jun 2025 23:08:34 -0700 (PDT)
Received: from [10.133.33.140] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-747affafa64sm12497732b3a.93.2025.06.04.23.08.30
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 23:08:33 -0700 (PDT)
Message-ID: <994cb636-50b3-40f8-baaf-0b1afa2e7f53@xxxxxxxxxxxxxxxx>
Date: Thu, 5 Jun 2025 14:08:30 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Subject: Re: [PATCH v2 2/8] power: supply: core: Add state_of_health power
supply property
To: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
Cc: Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson
<andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>,
David Collins <david.collins@xxxxxxxxxxxxxxxx>,
linux-pm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-msm@xxxxxxxxxxxxxxx, kernel@xxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-usb@xxxxxxxxxxxxxxx
References: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
<20250530-qcom_battmgr_update-v2-2-9e377193a656@xxxxxxxxxxxxxxxx>
<6oixvnhihgjucqaovkayzm6cpi35jfmtwmm67wa6h4nlmhr6w5@ggb7auvjzos2>
<cd2964b0-e28e-4ddb-b319-9b65fb78b73c@xxxxxxxxxxxxxxxx>
<p5nxjuexggzxttislcaum7vomawnq5fncos7itfib6ysvy6a4k@d5ywmfpqyk3s>
Content-Language: en-US
In-Reply-To: <p5nxjuexggzxttislcaum7vomawnq5fncos7itfib6ysvy6a4k@d5ywmfpqyk3s>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Proofpoint-ORIG-GUID: ZZRF_9D-C2kBxjlKo7Wu_zn9T1VFn1sI
X-Authority-Analysis: v=2.4 cv=EPcG00ZC c=1 sm=1 tr=0 ts=68413470 cx=c_pps
a=WW5sKcV1LcKqjgzy2JUPuA==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17
a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=VwQbUJbxAAAA:8 a=ocYFPldkPzyi_qN8VkkA:9
a=QEXdDO2ut3YA:10 a=OpyuDcXvxspvyRM73sMx:22
X-Proofpoint-GUID: ZZRF_9D-C2kBxjlKo7Wu_zn9T1VFn1sI
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjA1MDA1MyBTYWx0ZWRfX+tKqzILu6Y6M
UbTGOwGc4HsYfI3bo81cZg8cHWFknzYysph/fjMivgXYS0nQlR5xzOfH4waZpEIHwW50h9a5Ywv
kR6NxCqIGjPBMgrBsl3Kq2pv7ecClnJFqgFcNjiGFM+KrlHZ3lcWHAn2v18fQZ71Rs6JzTeTaE+
BA5cU11wYxSwqC+XwufkpnqZ16etlqjyqZNiynpR0hKiWDPyD76TNKLnSFOMbQ8mkf7GfOLF/RF
2zmUsaRD8zBAoxYoyyysPhp0Ztdi8OMF8Iz33Crtrnrji/s5pL80UYkbqfcjoNj+SNPDl1nOv4h
LniYi/0EU4voxI3zdXRfC9Qkv1fqc268YLguGCxrc0FTtIpklr96BeHFfkSUv7ld+N/ggrBk2IY
76qj+nbXCh43fPbW6HQf/TZKLHC4kf1VQEAbPgDPBVgmATTsUqaLGF2aOfKwlm1W7F5x7cq7
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-06-05_01,2025-06-03_02,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
spamscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 phishscore=0
impostorscore=0 lowpriorityscore=0 adultscore=0 malwarescore=0 mlxscore=0
clxscore=1015 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000
definitions=main-2506050053
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


On 6/3/2025 6:35 PM, Dmitry Baryshkov wrote:
>>>> +What: /sys/class/power_supply/<supply_name>/state_of_health
>>>> +Date: May 2025
>>>> +Contact: linux-arm-msm@xxxxxxxxxxxxxxx
>>>> +Description:
>>>> + Reports battery power supply state of health in percentage.
>>>> +
>>>> + Access: Read
>>>> +
>>>> + Valid values: 0 - 100 (percent)
>>> What does it mean that battery has 77% of health?
>> I will update this to explain it better:
>>
>> Reports battery power supply state of health in percentage, indicating that the maximum charge capacity has degraded to that percentage of its original designed capacity.
> Which basically means that we don't need it in the first place, as we
> can read capacity_full and capacity_full_design (or energy_full /
> energy_full_design) and divide one onto another.

Hmm, it is true in general to quantify how the battery performance has
degraded over time. However, estimating and calculating for battery
state of health is much more complicated I think. I am not an expert,
but as far as I know, different battery management systems might have
different algorithms to calculate the battery health and report it in as
percentage. For example, in Qcom battery management firmware, a "soh"
parameter is provided as the battery health percentage based on the
real-time calculations from learning capacity, resistance estimation, etc.


Return-Path: <linux-kernel+bounces-674088-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0BD7D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:09:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 7A1D0188EB65
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:09:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E472E1EE03D;
Thu, 5 Jun 2025 06:09:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="UPIYNxzi"
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9A9CD1FC8;
Thu, 5 Jun 2025 06:09:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103776; cv=none; b=gaGytrRfiqZM500YoyRMh/2alehV485YoPWLPXHhk7UEbtAuRbhnl33/Us6mP0b6OITCIs6/LSo1QE2vMruUOmtlsqCvzqswF9Zztyf2KEsHkswhaXJnxOeL0w16h48ZaJNAXv7Rb6wVnhTvuwieR2TnQnkc6zKmIW5tCtHQE6E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103776; c=relaxed/simple;
bh=O84wJObH89CUpgkwkPADWcvnXK7hHeg8rak4mox67q4=;
h=Message-ID:Date:MIME-Version:To:Cc:From:Subject:Content-Type; b=P2IYWTVeDs66PoamFX08Ue/TXB9PpkZHHqQ+PNJFhHR9y2mnx/McUuF29TBZ8t7NrpNF9nkNfVURB7MREYxp7cDNeTeaP4YEwURGD84mudst1ZVmXCKWucEOTdF9mhS6obvS8cRzX12cK97JBkmWD+NHOALaLZ/6t7JrDjYGrqI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=UPIYNxzi; arc=none smtp.client-ip=13.77.154.182
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com
Received: from [100.64.1.134] (unknown [40.65.108.177])
by linux.microsoft.com (Postfix) with ESMTPSA id A9BD0201FF4E;
Wed, 4 Jun 2025 23:09:32 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com A9BD0201FF4E
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
s=default; t=1749103773;
bh=arEF/2LdOdCfNP5R12P7zhBgPfTao/upFbApLg+9CFw=;
h=Date:To:Cc:From:Subject:From;
b=UPIYNxzitA7Tyg6oV7jSLomnxLkewK0LYNmWB5L1vLFiQns5uL7IDDNPKkpQ2Ncej
/1CMyeG6bIQ/cDEG+9HY9EAwmTKPPrGYt65FKwtvB2D3kwS6Euxy/usrJjKDqXOb97
1oEbEg3gcRr7DpfDv5mJN6+Idr/lN7MeB3Vene2I=
Message-ID: <6a92ca86-ad6b-4d49-af6e-1ed7651b8ab8@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 4 Jun 2025 23:09:31 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: kys@xxxxxxxxxxxxx, haiyangz@xxxxxxxxxxxxx, wei.liu@xxxxxxxxxx,
decui@xxxxxxxxxxxxx, ssengar@xxxxxxxxxxxxx
Cc: romank@xxxxxxxxxxxxxxxxxxx, linux-hyperv@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, stable@xxxxxxxxxx, apais@xxxxxxxxxxxxx
From: Hardik Garg <hargar@xxxxxxxxxxxxxxxxxxx>
Subject: [PATCH v3] vmbus: retrieve connection-id from DeviceTree
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The connection-id determines which hypervisor communication channel the
guest should use to talk to the VMBus host. This patch adds support to
read this value from the DeviceTree where it exists as a property under
the vmbus node with the compatible ID "microsoft,message-connection-id".
The property name follows the format <vendor>,<field> where
"vendor": "microsoft" and "field": "message-connection-id"

Reading from DeviceTree allows platforms to specify their preferred
communication channel, making it more flexible. If the property is
not found in the DeviceTree, use the default connection ID
(VMBUS_MESSAGE_CONNECTION_ID or VMBUS_MESSAGE_CONNECTION_ID_4
based on protocol version).

Signed-off-by: Hardik Garg <hargar@xxxxxxxxxxxxxxxxxxx>
---
v3:
- Added documentation for the new property in DeviceTree bindings

v2:
https://lore.kernel.org/all/096edaf7-cc90-42b6-aff4-c5f088574e1e@xxxxxxxxxxxxxxxxxxx/

v1:
https://lore.kernel.org/all/6acee4bf-cb04-43b9-9476-e8d811d26dfd@xxxxxxxxxxxxxxxxxxx/
---
 .../devicetree/bindings/bus/microsoft,vmbus.yaml    |  8 ++++++++
 drivers/hv/connection.c                             |  6 ++++--
 drivers/hv/vmbus_drv.c                              | 13 +++++++++++++
 3 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/bus/microsoft,vmbus.yaml
b/Documentation/devicetree/bindings/bus/microsoft,vmbus.yaml
index 0bea4f5287ce..729ca6defec6 100644
--- a/Documentation/devicetree/bindings/bus/microsoft,vmbus.yaml
+++ b/Documentation/devicetree/bindings/bus/microsoft,vmbus.yaml
@@ -17,6 +17,14 @@ properties:
   compatible:
     const: microsoft,vmbus

+  microsoft,message-connection-id:
+    description:
+      VMBus message connection ID to be used for communication between
host and
+      guest. If not specified, defaults to
VMBUS_MESSAGE_CONNECTION_ID_4 for
+      protocol version VERSION_WIN10_V5 and above, or
VMBUS_MESSAGE_CONNECTION_ID
+      for older versions.
+    $ref: /schemas/types.yaml#/definitions/uint32
+
   ranges: true

   '#address-cells':
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
index be490c598785..e0f38d799d06 100644
--- a/drivers/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -99,12 +99,14 @@ int vmbus_negotiate_version(struct
vmbus_channel_msginfo *msginfo, u32 version)
     if (version >= VERSION_WIN10_V5) {
         msg->msg_sint = VMBUS_MESSAGE_SINT;
         msg->msg_vtl = ms_hyperv.vtl;
-        vmbus_connection.msg_conn_id = VMBUS_MESSAGE_CONNECTION_ID_4;
     } else {
         msg->interrupt_page = virt_to_phys(vmbus_connection.int_page);
-        vmbus_connection.msg_conn_id = VMBUS_MESSAGE_CONNECTION_ID;
     }

+    /* Set default connection ID if not provided via DeviceTree */
+    if (!vmbus_connection.msg_conn_id)
+        vmbus_connection.msg_conn_id = (version >= VERSION_WIN10_V5) ?
+            VMBUS_MESSAGE_CONNECTION_ID_4 : VMBUS_MESSAGE_CONNECTION_ID;
     /*
      * shared_gpa_boundary is zero in non-SNP VMs, so it's safe to always
      * bitwise OR it
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index c236081d0a87..d14d286671cc 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -2541,10 +2541,23 @@ static int vmbus_device_add(struct
platform_device *pdev)
     struct of_range range;
     struct of_range_parser parser;
     struct device_node *np = pdev->dev.of_node;
+    unsigned int conn_id;
     int ret;

     vmbus_root_device = &pdev->dev;

+    /*
+     * Read connection ID from DeviceTree. The property name follows the
+     * format <vendor>,<field> where:
+     * - vendor: "microsoft"
+     * - field: "message-connection-id"
+     */
+    ret = of_property_read_u32(np, "microsoft,message-connection-id",
&conn_id);
+    if (!ret) {
+        pr_info("VMBus message connection ID: %u\n", conn_id);
+        vmbus_connection.msg_conn_id = conn_id;
+    }
+
     ret = of_range_parser_init(&parser, np);
     if (ret)
         return ret;
--
2.40.4




Return-Path: <linux-kernel+bounces-674089-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B837C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:10:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5EAAD3AB426
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:09:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A6DFA1C8639;
Thu, 5 Jun 2025 06:10:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=canb.auug.org.au header.i=@canb.auug.org.au header.b="DDAOp27J"
Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5872C1CB518;
Thu, 5 Jun 2025 06:09:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=150.107.74.76
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103801; cv=none; b=FUj3y938ai+UuBiZSrgapgToM1gmJ01RAYXL2qciTYJF7COlkrU7kr81ZdZmHMp4gTQDtBbhufTwBsrgsGgAY5mLzcYFG7BWvlEXGIYKdVGak9zZR2IgwsqITXJ5A/EKVT6TobwJIKTQM6yVDoxwU2szR7VcHt8Infieu557Avc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103801; c=relaxed/simple;
bh=bayO2uR6e917ikSyPYuhshc3nmJCFkGD4HtdlFxa3dM=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type; b=OyI3b7IKmZl3mHYkzCbKYXIHydIIcGjs45H9ehPKPyTFivtTN38XhnLiYo5cD1BYjsiTPqQ8+s2G/fL2o4B7yr1K7/cBtMGxseR9f9B0ODleu2UnbyNflXU4r7mUfb55dp18UQ1YPsrzfBMNcZnt66RcV/qoNiHhgSy8aLR2yok=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canb.auug.org.au; spf=pass smtp.mailfrom=canb.auug.org.au; dkim=pass (2048-bit key) header.d=canb.auug.org.au header.i=@canb.auug.org.au header.b=DDAOp27J; arc=none smtp.client-ip=150.107.74.76
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canb.auug.org.au
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=canb.auug.org.au
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au;
s=202503; t=1749103794;
bh=iCHBvK+ZbVLKlkCEZmiILDw9L8KszaGsmyziBYbB074=;
h=Date:From:To:Cc:Subject:From;
b=DDAOp27JUT8+uZuR7Im7IlMOw/iFYkY9puHGQno6sYfMnufHqE7O7zF4kUy57osf9
uv1OJ3LP7XWwrM9nnqw6z/g20ON3dWNydeJqr/pXx+vCQ1s3nylwic9hep1hk7GbIt
9JHieKwMRfirMY7s1Ye1mX7853u2paIoQhuqfL93lesjDQkBGLXtJ5aeexeWqMHnva
wTrT5zDJxMSkB+t8ThCfteAbAOJlzojpf3VqQaOHEnS2t85FHUenIfnb6gsHO2EKba
lH3hYQkzVC36o5DTgnmKbV1zD8qt9DvEOOEhDozpaUb1xokX1uZyABYZCrboPoGPUp
4yaRedRYVwR4g==
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(Client did not present a certificate)
by mail.ozlabs.org (Postfix) with ESMTPSA id 4bCYvQ0nXBz4x7j;
Thu, 5 Jun 2025 16:09:54 +1000 (AEST)
Date: Thu, 5 Jun 2025 16:09:53 +1000
From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
To: Linux Next Mailing List <linux-next@xxxxxxxxxxxxxxx>
Cc: Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>
Subject: linux-next: Tree for Jun 5
Message-ID: <20250605160953.37d2c8ff@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/61vWlncwWpp5t1IUbE/WnJK";
protocol="application/pgp-signature"; micalg=pgp-sha256
X-Spam-Status: No, score=-2.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,LOCALPART_IN_SUBJECT,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

--Sig_/61vWlncwWpp5t1IUbE/WnJK
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hi all,

Please do not add any material destined for v6.17 to you rlinux-next
included branches until after v6.16-rc1 has been released.

Changes since 20250604:

The kbuild tree still had its build failure for which I reverted a commit.

The drm-msm tree gained a conflict against Linus' tree.

Non-merge commits (relative to Linus' tree): 1960
2138 files changed, 67644 insertions(+), 37329 deletions(-)

----------------------------------------------------------------------------

I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" and checkout or reset to the new
master.

You can see which trees have been included by looking in the Next/Trees
file in the source. There is also the merge.log file in the Next
directory. Between each merge, the tree was built with a ppc64_defconfig
for powerpc, an allmodconfig for x86_64, a multi_v7_defconfig for arm
and a native build of tools/perf. After the final fixups (if any), I do
an x86_64 modules_install followed by builds for x86_64 allnoconfig,
powerpc allnoconfig (32 and 64 bit), ppc44x_defconfig, allyesconfig
and pseries_le_defconfig and i386, arm64, s390, sparc and sparc64
defconfig and htmldocs. And finally, a simple boot test of the powerpc
pseries_le_defconfig kernel in qemu (with and without kvm enabled).

Below is a summary of the state of the merge.

I am currently merging 400 trees (counting Linus' and 152 trees of bug
fix patches pending for the current release).

Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .

Thanks to Randy Dunlap for doing many randconfig builds. And to Paul
Gortmaker for triage and bug fixes.

--=20
Cheers,
Stephen Rothwell

$ git checkout master
$ git reset --hard stable
Merging origin/master (16b70698aa3a Merge tag 'sched_ext-for-6.16-rc1-fixes=
' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext)
Merging fixes/fixes (b3c623b9a94f Merge tag 'thermal-6.15-rc1' of git://git=
.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm)
Merging ext4-fixes/fixes (4bbf9020becb Linux 6.13-rc4)
Merging vfs-brauner-fixes/vfs.fixes (34ecde3c5606 iomap: don't lose folio d=
ropbehind state for overwrites)
Merging fscrypt-current/for-current (0af2f6be1b42 Linux 6.15-rc1)
Merging fsverity-current/for-current (0af2f6be1b42 Linux 6.15-rc1)
Merging btrfs-fixes/next-fixes (336f36773aec Merge branch 'misc-6.16' into =
next-fixes)
Merging vfs-fixes/fixes (89845ef25d7a fs: allow clone_private_mount() for a=
path on real rootfs)
Merging erofs-fixes/fixes (35076d2223c7 erofs: ensure the extra temporary c=
opy is valid for shortened bvecs)
Merging nfsd-fixes/nfsd-fixes (831e3f545b07 Revert "sunrpc: clean cache_det=
ail immediately when flush is written frequently")
Merging v9fs-fixes/fixes/next (2014c95afece Linux 6.14-rc1)
Merging overlayfs-fixes/ovl-fixes (924577e4f6ca ovl: Fix nested backing fil=
e paths)
Merging bcachefs/for-next (3d11125ff624 bcachefs: add cond_resched() to han=
dle_overwrites())
CONFLICT (content): Merge conflict in fs/bcachefs/clock.c
Merging fscrypt/for-next (c07d3aede2b2 fscrypt: add support for hardware-wr=
apped keys)
Merging btrfs/for-next (18e274f43253 Merge branch 'for-next-next-v6.15-2025=
0520' into for-next-20250520)
Merging ceph/master (72386d5245b2 ceph: set superblock s_magic for IMA fsma=
gic matching)
Merging cifs/for-next (93eafade0222 cifs: update internal version number)
Merging configfs/configfs-next (c6b190822459 MAINTAINERS: add configfs Rust=
abstractions)
Merging ecryptfs/next (fba133a34118 ecryptfs: Remove unused declartion ecry=
ptfs_fill_zeros())
Merging dlm/next (6f8b4788266c dlm: drop SCTP Kconfig dependency)
Merging erofs/dev (b4a29efc5146 erofs: support DEFLATE decompression by usi=
ng Intel QAT)
Merging exfat/dev (46a557694b46 exfat: do not clear volume dirty flag durin=
g sync)
Merging exportfs/exportfs-next (adc218676eef Linux 6.12)
Merging ext3/for_next (e56f3c6159f2 Merge unpriviledged fanotify watching.)
Merging ext4/dev (7acd1b315cdc ext4: Add a WARN_ON_ONCE for querying LAST_I=
N_LEAF instead)
Merging f2fs/dev (dd91b5e1d644 Merge tag 'for-linus' of git://git.kernel.or=
g/pub/scm/linux/kernel/git/rdma/rdma)
Merging fsverity/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging fuse/for-next (dabb90391028 fuse: increase readdir buffer size)
Merging gfs2/for-next (fe4281644c62 Merge tag 'gfs2-for-6.16-fix' of git://=
git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2)
Merging jfs/jfs-next (5dff41a86377 jfs: fix array-index-out-of-bounds read =
in add_missing_indices)
Merging ksmbd/ksmbd-for-next (dc3e0f17f745 ksmbd: allow a filename to conta=
in special characters on SMB3.1.1 posix extension)
Merging nfs/linux-next (0ff41df1cb26 Linux 6.15)
Merging nfs-anna/linux-next (e3e3775392f3 flexfiles/pNFS: update stats on N=
FS4ERR_DELAY for v4.1 DSes)
Merging nfsd/nfsd-next (425364dc49f0 xdrgen: Fix code generated for counted=
arrays)
Merging ntfs3/master (eeb0819318cc fs/ntfs3: remove ability to change compr=
ession on mounted volume)
Merging orangefs/for-next (4dc784e92d4f orangefs: Convert to use the new mo=
unt API)
Merging overlayfs/overlayfs-next (b87e2318cdaa vfs: change 'struct file *' =
argument to 'const struct file *' where possible)
Merging ubifs/next (2b6d96503255 jffs2: check jffs2_prealloc_raw_node_refs(=
) result in few other places)
Merging v9fs/9p-next (4210030d8bc4 docs: fs/9p: Add missing "not" in cache =
documentation)
Merging v9fs-ericvh/ericvh/for-next (2014c95afece Linux 6.14-rc1)
Merging xfs/for-next (6d444c8db0ac Merge branch 'xfs-6.15-fixes' into for-n=
ext)
CONFLICT (content): Merge conflict in fs/xfs/xfs_super.c
Merging zonefs/for-next (c4b3c1332f55 zonefs: add support for FS_IOC_GETFSS=
YSFSPATH)
Merging vfs-brauner/vfs.all (e22d08229c2f Merge branch 'vfs-6.16.netfs' int=
o vfs.all)
Merging vfs/for-next (1b9892d82b6f Merge branch 'work.automount' into for-n=
ext)
Merging mm-hotfixes/mm-hotfixes-unstable (ca3620037cb5 kmsan: test: add mod=
ule description)
Merging fs-current (22c74732f6e4 Merge branch 'ovl-fixes' of git://git.kern=
el.org/pub/scm/linux/kernel/git/overlayfs/vfs.git)
Merging kbuild-current/fixes (e0cd396d8998 kbuild: fix typos "module.builti=
n" to "modules.builtin")
Merging arc-current/for-curr (6ab657d8d2a4 ARC: unwind: Use built-in sort s=
wap to reduce code size and improve performance)
Merging arm-current/fixes (0c66c6f4e21c ARM: 9359/1: flush: check if the fo=
lio is reserved for no-mapping addresses)
Merging arm64-fixes/for-next/fixes (363cd2b81cfd arm64: cpufeature: Move ar=
m64_use_ng_mappings to the .data section to prevent wrong idmap generation)
Merging arm-soc-fixes/arm/fixes (070d04f002dd Merge tag 'mvebu-fixes-6.15-1=
' of https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into ar=
m/fixes)
Merging davinci-current/davinci/for-current (0af2f6be1b42 Linux 6.15-rc1)
Merging drivers-memory-fixes/fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging sophgo-fixes/fixes (3e6244429ba3 riscv: dts: sophgo: fix DMA data-w=
idth configuration for CV18xx)
Merging sophgo-soc-fixes/soc-fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging m68k-current/for-linus (f440518f379d m68k: defconfig: Update defcon=
figs for v6.15-rc1)
Merging powerpc-fixes/fixes (e3f506b78d92 powerpc/boot: Fix dash warning)
Merging s390-fixes/fixes (d8cb068359f6 Merge tag 's390-6.16-1' of git://git=
.kernel.org/pub/scm/linux/kernel/git/s390/linux)
Merging net/main (12c331b29c73 gve: add missing NULL check for gve_alloc_pe=
nding_packet() in TX DQO)
Merging bpf/master (df3bed9ea576 perf: Fix the throttle error of some clock=
events)
Merging ipsec/master (b56bbaf8c9ff Merge branch 'net-airoha-fix-ipv6-hw-acc=
eleration')
Merging netfilter/main (239af1970bcb llc: fix data loss when reading from a=
socket in llc_ui_recvmsg())
Merging ipvs/main (57a92d14659d net: phy: mscc: Stop clearing the the UDPv4=
checksum for L2 frames)
Merging wireless/for-next (1b98f357dadd Merge tag 'net-next-6.16' of git://=
git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next)
Merging ath/for-current (1b98f357dadd Merge tag 'net-next-6.16' of git://gi=
t.kernel.org/pub/scm/linux/kernel/git/netdev/net-next)
Merging iwlwifi/fixes (f81aa834bfa9 wifi: iwlwifi: mld: Move regulatory dom=
ain initialization)
Merging wpan/master (8ce4f287524c net: libwx: fix firmware mailbox abnormal=
return)
Merging rdma-fixes/for-rc (d0706bfd3ee4 RDMA/core: Fix "KASAN: slab-use-aft=
er-free Read in ib_register_device" problem)
Merging sound-current/for-linus (6a3439a417b9 ALSA: usb-audio: Add implicit=
feedback quirk for RODE AI-1)
Merging sound-asoc-fixes/for-linus (61e36be334b0 Merge remote-tracking bran=
ch 'asoc/for-6.15' into asoc-linus)
Merging regmap-fixes/for-linus (a5806cd506af Linux 6.15-rc7)
Merging regulator-fixes/for-linus (469a5dcac8ab Merge remote-tracking branc=
h 'regulator/for-6.15' into regulator-linus)
Merging spi-fixes/for-linus (e65938d2ac29 Merge remote-tracking branch 'spi=
/for-6.15' into spi-linus)
Merging pci-current/for-linus (3719a04a80ca Merge tag 'pci-v6.16-changes' o=
f git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci)
Merging driver-core.current/driver-core-linus (5abc7438f1e9 Merge tag 'nfs-=
for-6.16-1' of git://git.linux-nfs.org/projects/anna/linux-nfs)
Merging tty.current/tty-linus (b4432656b36e Linux 6.15-rc4)
Merging usb.current/usb-linus (82f2b0b97b36 Linux 6.15-rc6)
Merging usb-serial-fixes/usb-linus (b4432656b36e Linux 6.15-rc4)
Merging phy/fixes (b2ea5f49580c phy: Fix error handling in tegra_xusb_port_=
init)
Merging staging.current/staging-linus (82f2b0b97b36 Linux 6.15-rc6)
Merging iio-fixes/fixes-togreg (7cdfbc0113d0 iio: adc: ad7944: mask high bi=
ts on direct read)
Merging counter-current/counter-current (7351312632e8 counter: interrupt-cn=
t: Protect enable/disable OPs with mutex)
Merging char-misc.current/char-misc-linus (82f2b0b97b36 Linux 6.15-rc6)
Merging soundwire-fixes/fixes (fd15594ba7d5 soundwire: bus: Fix race on the=
creation of the IRQ domain)
Merging thunderbolt-fixes/fixes (0f73628e9da1 thunderbolt: Do not double de=
queue a configuration request)
Merging input-current/for-linus (805f5bbaa507 Input: psmouse - switch to us=
e scnprintf() to suppress truncation warning)
Merging crypto-current/master (b9802b54d41b asm-generic: Add sched.h inclus=
ion in simd.h)
Merging vfio-fixes/for-linus (c1d9dac0db16 vfio/pci: Align huge faults to o=
rder)
Merging kselftest-fixes/fixes (07be53cfa81a selftests/ftrace: Differentiate=
bash and dash in dynevent_limitations.tc)
Merging dmaengine-fixes/fixes (811d6a923b40 dmaengine: mediatek: drop unuse=
d variable)
Merging backlight-fixes/for-backlight-fixes (1613e604df0c Linux 6.10-rc1)
Merging mtd-fixes/mtd/fixes (1c1fd374a2fe mtd: spinand: Fix build with gcc =
< 7.5)
Merging mfd-fixes/for-mfd-fixes (68f860426d50 mfd: axp20x: AXP717: Fix miss=
ing IRQ status registers range)
Merging v4l-dvb-fixes/fixes (d51adf038ebe media: cec: tda9950: add back i2c=
dependency)
Merging reset-fixes/reset/fixes (38fec10eb60d Linux 6.14)
Merging mips-fixes/mips-fixes (c44572e0cc13 MIPS: Fix MAX_REG_OFFSET)
Merging at91-fixes/at91-fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging omap-fixes/fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging kvm-fixes/master (f66bc387efbe Merge tag 'scsi-misc' of git://git.k=
ernel.org/pub/scm/linux/kernel/git/jejb/scsi)
Merging kvms390-fixes/master (d8dfda5af0be KVM: s390: pv: fix race when mak=
ing a page secure)
Merging hwmon-fixes/hwmon (9c32cda43eb7 Linux 6.15-rc3)
Merging nvdimm-fixes/libnvdimm-fixes (265e98f72bac acpi: nfit: vmalloc-out-=
of-bounds Read in acpi_nfit_ctl)
Merging cxl-fixes/fixes (078d3ee7c162 cxl/core/regs.c: Skip Memory Space En=
able check for RCD and RCH Ports)
Merging dma-mapping-fixes/dma-mapping-fixes (89461db349cc dma-coherent: War=
n if OF reserved memory is beyond current coherent DMA mask)
Merging drivers-x86-fixes/fixes (f2eae58c4428 platform/x86/intel/pmc: Fix A=
rrow Lake U/H NPU PCI ID)
Merging samsung-krzk-fixes/fixes (dd303e021996 soc: samsung: usi: prevent w=
rong bits inversion during unconfiguring)
Merging pinctrl-samsung-fixes/fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging devicetree-fixes/dt/linus (d5f49921707c dt-bindings: soc: fsl: fsl,=
ls1028a-reset: Fix maintainer entry)
Merging dt-krzk-fixes/fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging scsi-fixes/fixes (e8007fad5457 scsi: sd_zbc: block: Respect bio vec=
tor limits for REPORT ZONES buffer)
Merging drm-fixes/drm-fixes (0ff41df1cb26 Linux 6.15)
Merging drm-intel-fixes/for-linux-next-fixes (0ff41df1cb26 Linux 6.15)
Merging mmc-fixes/fixes (71c9475b1e2c mmc: sdhci_am654: Add SDHCI_QUIRK2_SU=
PPRESS_V1P8_ENA quirk to am62 compatible)
Merging rtc-fixes/rtc-fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging gnss-fixes/gnss-linus (9c32cda43eb7 Linux 6.15-rc3)
Merging hyperv-fixes/hyperv-fixes (14ae3003e73e Drivers: hv: Fix bad ref to=
hv_synic_eventring_tail when CPU goes offline)
Merging risc-v-fixes/fixes (01534f3e0dd7 Merge tag 'riscv-fixes-6.15-rc6' o=
f ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/alexghiti/linux into f=
ixes)
Merging riscv-dt-fixes/riscv-dt-fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging riscv-soc-fixes/riscv-soc-fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging fpga-fixes/fixes (1613e604df0c Linux 6.10-rc1)
Merging spdx/spdx-linus (59c11a7a9a13 LICENSES: add CC0-1.0 license text)
Merging gpio-brgl-fixes/gpio/for-current (a5806cd506af Linux 6.15-rc7)
Merging gpio-intel-fixes/fixes (2014c95afece Linux 6.14-rc1)
Merging pinctrl-intel-fixes/fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging auxdisplay-fixes/fixes (2014c95afece Linux 6.14-rc1)
Merging kunit-fixes/kunit-fixes (b26c1a85f3fc kunit: qemu_configs: SH: Resp=
ect kunit cmdline)
Merging memblock-fixes/fixes (da8bf5daa5e5 memblock: Accept allocated memor=
y before use in memblock_double_array())
Merging renesas-fixes/fixes (379c590113ce ARM: shmobile: smp: Enforce shmob=
ile_smp_* alignment)
Merging perf-current/perf-tools (a913ef6fd883 perf callchain: Always popula=
te the addr_location map when adding IP)
Merging efi-fixes/urgent (11092db5b573 efivarfs: fix NULL dereference on re=
sume)
Merging battery-fixes/fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging iommufd-fixes/for-rc (0af2f6be1b42 Linux 6.15-rc1)
Merging rust-fixes/rust-fixes (0ff41df1cb26 Linux 6.15)
Merging w1-fixes/fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging pmdomain-fixes/fixes (0f5757667ec0 pmdomain: core: Fix error checki=
ng in genpd_dev_pm_attach_by_id())
Merging i2c-host-fixes/i2c/i2c-host-fixes (a5806cd506af Linux 6.15-rc7)
Merging sparc-fixes/for-linus (6613476e225e Linux 6.8-rc1)
Merging clk-fixes/clk-fixes (6a56880562d4 Merge tag 'sunxi-clk-fixes-for-6.=
15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into clk=
-fixes)
Merging thead-clk-fixes/thead-clk-fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging pwrseq-fixes/pwrseq/for-current (0af2f6be1b42 Linux 6.15-rc1)
Merging thead-dt-fixes/thead-dt-fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging ftrace-fixes/ftrace/fixes (2fa6a01345b5 tracing: Fix memory leak wh=
en reading set_event file)
Merging ring-buffer-fixes/ring-buffer/fixes (e4d4b8670c44 ring-buffer: Use =
flush_kernel_vmap_range() over flush_dcache_folio())
Merging trace-fixes/trace/fixes (a4a45a9a72f3 fsdax: Remove unused trace ev=
ents for dax insert mapping)
Merging tracefs-fixes/tracefs/fixes (8b55572e5180 tracing/selftests: Add tr=
acefs mount options test)
Merging spacemit-fixes/fixes (0af2f6be1b42 Linux 6.15-rc1)
Merging tip-fixes/tip/urgent (9362569b2178 Merge branch into tip/master: 'x=
86/urgent')
Merging slab-fixes/slab/for-next-fixes (be8250786ca9 mm, slab: clean up sla=
b->obj_exts always)
Merging drm-msm-fixes/msm-fixes (9d78f0250322 drm/msm/a6xx+: Don't let IB_S=
IZE overflow)
Merging uml-fixes/fixes (01f95500a162 Merge tag 'uml-for-linux-6.15-rc6' of=
git://git.kernel.org/pub/scm/linux/kernel/git/uml/linux)
Merging fwctl-fixes/for-rc (c92ae5d4f53e fwctl: Fix repeated device word in=
log message)
Merging devsec-tsm-fixes/fixes (fba4ceaa242d configfs-tsm-report: Fix NULL =
dereference of tsm_ops)
Merging drm-misc-fixes/for-linux-next-fixes (4557cc834712 accel/ivpu: Reord=
er Doorbell Unregister and Command Queue Destruction)
Merging linus/for-next (ffd294d346d1 Linux 6.13)
Merging mm-stable/mm-stable (546b1c9e93c2 Merge tag 'bootconfig-v6.16' of g=
it://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace)
Merging mm-nonmm-stable/mm-nonmm-stable (546b1c9e93c2 Merge tag 'bootconfig=
-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace)
Merging mm-unstable/mm-unstable (2d0c297637e7 selftests-mm-add-test-about-u=
probe-pte-be-orphan-during-vma-merge-fix)
Merging mm-nonmm-unstable/mm-nonmm-unstable (bcb52f617778 ocfs2: replace si=
mple_strtol with kstrtol)
Merging kbuild/for-next (fff45b921e12 kbuild: link lib-y objects to vmlinux=
forcibly even when CONFIG_MODULES=3Dn)
Applying: Revert "kbuild: replace deprecated T option with --thin for $(AR)"
Merging clang-format/clang-format (c147f663b6a5 clang-format: Update with v=
6.11-rc1's `for_each` macro list)
Merging perf/perf-tools-next (a913ef6fd883 perf callchain: Always populate =
the addr_location map when adding IP)
Merging compiler-attributes/compiler-attributes (98f7e32f20d2 Linux 6.11)
Merging dma-mapping/dma-mapping-for-next (3ee7d9496342 docs: core-api: docu=
ment the IOVA-based API)
Merging asm-generic/master (582847f97024 Makefile.kcov: apply needed compil=
er option unconditionally in CFLAGS_KCOV)
Merging alpha/alpha-next (1523226edda5 alpha: Use str_yes_no() helper in pc=
i_dac_dma_supported())
Merging arm/for-next (293bb049380e ARM: 9446/1: Disallow kernel mode NEON w=
hen IRQs are disabled)
Merging arm64/for-next/core (10f885d63a0e arm64: Add override for MPAM)
Merging arm-perf/for-next/perf (8c138a189f6d perf/arm-cmn: Add CMN S3 ACPI =
binding)
Merging arm-soc/for-next (ffa1d4e41f30 Merge branch 'soc/dt' into for-next)
Merging amlogic/for-next (9eefedf65051 Merge branch 'v6.17/arm64-dt' into f=
or-next)
Merging asahi-soc/asahi-soc/for-next (fb84b3df3515 Merge remote-tracking br=
anch 'origin/asahi-soc/dt' into asahi-soc/for-next)
Merging aspeed/for-next (34c87a24e268 Merge branches 'aspeed/dt', 'aspeed/f=
ixes', 'aspeed/drivers', 'nuvoton/arm/dt' and 'nuvoton/arm64/dt' into for-n=
ext)
Merging at91/at91-next (05aeace8757f Merge branch 'at91-dt' into at91-next)
Merging broadcom/next (45ff30895891 Merge branch 'maintainers/next' into ne=
xt)
CONFLICT (content): Merge conflict in arch/arm64/configs/defconfig
Merging davinci/davinci/for-next (55da73fa7a68 ARM: dts: davinci: da850-evm=
: Increase fifo threshold)
Merging drivers-memory/for-next (3c6f400411bb Merge branch 'mem-ctrl-next' =
into for-next)
Merging imx-mxs/for-next (68087d05675e Merge branch 'imx/defconfig' into fo=
r-next)
Merging mediatek/for-next (6df944d2cf58 Merge branch 'v6.15-next/dts64' int=
o for-next)
Merging mvebu/for-next (89373e7d4125 Merge branch 'mvebu/dt' into mvebu/for=
-next)
Merging omap/for-next (6d658392b3f0 Merge branch 'omap-for-v6.16/drivers' i=
nto tmp/omap-next-20250508.062442)
Merging qcom/for-next (44ef9ab4baaf Merge branches 'arm32-for-6.16', 'arm64=
-defconfig-for-6.16', 'arm64-for-6.16', 'clk-for-6.16' and 'drivers-for-6.1=
6' into for-next)
Merging renesas/next (df39f45c6165 Merge branch 'renesas-dts-for-v6.16' int=
o renesas-next)
Merging reset/reset/next (1c64de886b88 dt-bindings: reset: sophgo: Add SG20=
44 bindings.)
Merging rockchip/for-next (897af18e5d75 Merge branch 'v6.16-armsoc/dts64' i=
nto for-next)
Merging samsung-krzk/for-next (51e8e732a06c Merge branch 'for-v6.16/mux-var=
ious' into for-next)
Merging scmi/for-linux-next (696b7fc573ae Merge branch 'for-next/ffa/fixes'=
of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux i=
nto for-linux-next)
Merging sophgo/for-next (108a76779829 riscv: dts: sophgo: switch precise co=
mpatible for existed clock device for CV18XX)
Merging sophgo-soc/soc-for-next (c8754c7deab4 soc: sophgo: cv1800: rtcsys: =
New driver (handling RTC only))
Merging spacemit/for-next (3aa64cd126b4 riscv: dts: spacemit: add gpio LED =
for system heartbeat)
Merging stm32/stm32-next (dc392342b7bb ARM: dts: stm32: Add nvmem-cells to =
ethernet nodes for constant mac-addresses)
Merging sunxi/sunxi/for-next (a697a32cab70 Merge branches 'sunxi/clk-fixes-=
for-6.15', 'sunxi/fixes-for-6.15', 'sunxi/clk-for-6.16' and 'sunxi/dt-for-6=
.16' into sunxi/for-next)
Merging tee/next (40cfb51a6e93 Merge branch 'tee_for_v6_16' into next)
Merging tegra/for-next (5e98350146c3 Merge branch for-6.16/arm64/dt into fo=
r-next)
Merging thead-dt/thead-dt-for-next (a4c95b924d51 riscv: dts: thead: Add dev=
ice tree VO clock controller)
Merging ti/ti-next (2332d042e9b2 Merge branches 'ti-k3-dts-next' and 'ti-dr=
ivers-soc-next' into ti-next)
Merging xilinx/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging clk/clk-next (63bfd78aae9a Merge branches 'clk-amlogic', 'clk-allwi=
nner', 'clk-rockchip' and 'clk-qcom' into clk-next)
Merging clk-imx/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging clk-renesas/renesas-clk (28548f3f7994 clk: renesas: r9a09g047: Add =
XSPI clock/reset)
Merging thead-clk/thead-clk-for-next (50d4b157fa96 clk: thead: Add clock su=
pport for VO subsystem in T-HEAD TH1520 SoC)
Merging csky/linux-next (2b48804336be csky: fix csky_cmpxchg_fixup not work=
ing)
Merging loongarch/loongarch-next (b96492cbe4e4 LoongArch: dts: Add PWM supp=
ort to Loongson-2K2000)
Merging m68k/for-next (f440518f379d m68k: defconfig: Update defconfigs for =
v6.15-rc1)
Merging m68knommu/for-next (eb43efd062d1 m68k: Replace memcpy() + manual NU=
L-termination with strscpy())
Merging microblaze/next (52b70e5b605c microblaze: Use of_property_present()=
for non-boolean properties)
Merging mips/mips-next (5a0c749125c0 MIPS: loongson2ef: lemote-2f: add miss=
ing function prototypes)
Merging openrisc/for-next (f698ee1f4003 dt-bindings: interrupt-controller: =
Convert openrisc,ompic to DT schema)
Merging parisc-hd/for-next (8bb7eca972ad Linux 5.15)
Merging powerpc/next (8682a5749a3d MAINTAINERS: powerpc: Remove myself as a=
reviewer)
Merging risc-v/for-next (b982561e6775 Merge tag 'riscv-mw2-6.16-rc1' of ssh=
://gitolite.kernel.org/pub/scm/linux/kernel/git/alexghiti/linux into for-ne=
xt)
Merging riscv-dt/riscv-dt-for-next (d50108706a63 riscv: dts: starfive: jh71=
10-common: bootph-pre-ram hinting needed by boot loader)
Merging riscv-soc/riscv-soc-for-next (59986662d2f4 Merge branch 'riscv-cach=
e-for-next' into riscv-soc-for-next)
Merging s390/for-next (34a149a02b5f s390/crypto: Select crypto engine in Kc=
onfig when PAES is chosen)
Merging sh/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging sparc/for-next (2cec2c4dc90c sparc/irq: Remove unneeded if check in=
sun4v_cookie_only_virqs())
Merging uml/next (942349413a49 um: fix SECCOMP 32bit xstate register restor=
e)
Merging xtensa/xtensa-for-next (3d6d238851df arch: xtensa: defconfig: Drop =
obsolete CONFIG_NET_CLS_TCINDEX)
Merging fs-next (efa26a4a76aa Merge branch 'for-next' of git://git.kernel.o=
rg/pub/scm/linux/kernel/git/viro/vfs.git)
Merging printk/for-next (9827cd0d6498 Merge branch 'for-6.15-printf-attribu=
te' into for-next)
Merging pci/next (3719a04a80ca Merge tag 'pci-v6.16-changes' of git://git.k=
ernel.org/pub/scm/linux/kernel/git/pci/pci)
Merging pstore/for-next/pstore (d679c2e1e8d9 pstore/zone: rewrite some comm=
ents for better understanding)
Merging hid/for-next (5e9f050d085e Merge branch 'for-6.16/core' into for-ne=
xt)
Merging i2c/i2c/for-next (1ae2791f469b Merge branch 'i2c/for-mergewindow' i=
nto i2c/for-next)
Merging i2c-host/i2c/i2c-host (a088ce22c118 i2c: mlxbf: avoid 64-bit divisi=
on)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging i3c/i3c/next (00286d7d643d i3c: controllers do not need to depend o=
n I3C)
Merging dmi/dmi-for-next (4d1b28a8119c firmware: dmi: Add info message for =
number of populated and total memory slots)
Merging hwmon-staging/hwmon-next (46d40b2479ab doc: hwmon: acpi_power_meter=
: Add information about enabling the power capping feature.)
Merging jc_docs/docs-next (d6d886005d32 Docs: doc-guide: update sphinx.rst =
Sphinx version number)
Merging v4l-dvb/next (5e1ff2314797 media: rkvdec: h264: Support High 10 and=
4:2:2 profiles)
Merging v4l-dvb-next/master (b36c41c51e9d media: atomisp: set lock before c=
alling vb2_queue_init())
Merging pm/linux-next (1d03717abca5 Merge branch 'pm-sleep' into linux-next)
Merging cpufreq-arm/cpufreq/arm/linux-next (6c9bb8692272 cpufreq: scmi: Ski=
p SCMI devices that aren't used by the CPUs)
Merging cpupower/cpupower (57f899a343e4 cpupower: split unitdir from libdir=
in Makefile)
Merging devfreq/devfreq-next (3de6497b9b1b PM / devfreq: sun8i-a33-mbus: Si=
mplify by using more devm functions)
Merging pmdomain/next (36795548dcc8 pmdomain: ti: Fix STANDBY handling of P=
ER power domain)
Merging opp/opp/linux-next (03eadcbd981b OPP: switch to use kmemdup_array())
Merging thermal/thermal/linux-next (e23cba0ab49a thermal/drivers/airoha: Fi=
x spelling mistake)
Merging rdma/for-next (92a251c3df8e RDMA/cma: Fix hang when cma_netevent_ca=
llback fails to queue_work)
Merging net-next/main (90b83efa6701 Merge tag 'bpf-next-6.16' of git://git.=
kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next)
Merging bpf-next/for-next (bb1556ec9464 Merge tag 'linux-watchdog-6.16-rc1'=
of git://www.linux-watchdog.org/linux-watchdog)
Merging ipsec-next/master (e7a37c9e428a xfrm: use kfree_sensitive() for SA =
secret zeroization)
Merging mlx5-next/mlx5-next (f550694e88b7 net/mlx5: Add IFC bits for PPCNT =
recovery counters group)
Merging netfilter-next/main (3e52667a9c32 Merge branch 'lan78xx-phylink-pre=
p')
Merging ipvs-next/main (6da5f1b4b4a0 selftests: netfilter: Fix skip of wild=
card interface test)
Merging bluetooth/master (f60dca4b11df Bluetooth: MGMT: Protect mgmt_pendin=
g list with its own lock)
Merging wireless-next/for-next (1b98f357dadd Merge tag 'net-next-6.16' of g=
it://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next)
Merging ath-next/for-next (ed73728fd14e Merge tag 'mt76-next-2025-05-21' of=
https://github.com/nbd168/wireless)
Merging iwlwifi-next/next (379f7682d062 wifi: iwlwifi: mld: allow 2 ROCs on=
the same vif)
Merging wpan-next/master (1dd9291eb903 ieee802154: Remove WARN_ON() in cfg8=
02154_pernet_exit())
Merging wpan-staging/staging (1dd9291eb903 ieee802154: Remove WARN_ON() in =
cfg802154_pernet_exit())
Merging mtd/mtd/next (aa702923258f Merge tag 'nand/for-6.16' into mtd/next)
Merging nand/nand/next (3bfb22cecfe6 mtd: rawnand: brcmnand: legacy exec_op=
implementation)
Merging spi-nor/spi-nor/next (594c8df92b94 mtd: spi-nor: macronix: Add fixu=
ps for MX25L3255E)
Merging crypto/master (b9802b54d41b asm-generic: Add sched.h inclusion in s=
imd.h)
Merging drm/drm-next (1c1df79ccf56 Merge tag 'amd-drm-fixes-6.16-2025-05-29=
' of https://gitlab.freedesktop.org/agd5f/linux into drm-next)
Merging drm-exynos/for-linux-next (81a50378559b drm/exynos: Remove unnecess=
ary checking)
Merging drm-misc/for-linux-next (fd03f82a026c drm/bridge: analogix_dp: Fix =
clk-disable removal)
Merging amdgpu/drm-next (78d7032b0838 drm/amd/display: Promote DAL to 3.2.3=
36)
Merging drm-intel/for-linux-next (791d76005de0 drm/i915/display: Fix u32 ov=
erflow in SNPS PHY HDMI PLL setup)
Merging drm-msm/msm-next (ee11d953fd23 MAINTAINERS: .mailmap: update Rob Cl=
ark's email address)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging drm-msm-lumag/msm-next-lumag (fc5c669c902c dt-bindings: display: ms=
m: correct example in SM8350 MDSS schema)
Merging drm-nova/nova-next (276c53c66e03 gpu: drm: nova: select AUXILIARY_B=
US instead of depending on it)
Merging drm-xe/drm-xe-next (99e805089805 drm/xe: Make VMA tile_present, til=
e_invalidated access rules clear)
CONFLICT (content): Merge conflict in drivers/gpu/drm/xe/Kconfig
CONFLICT (content): Merge conflict in drivers/gpu/drm/xe/xe_lrc.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/xe/xe_pt.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/xe/xe_svm.c
Merging etnaviv/etnaviv/next (6bde14ba5f7e drm/etnaviv: add optional reset =
support)
Merging fbdev/for-next (0ff41df1cb26 Linux 6.15)
Merging regmap/for-next (b3614a5bf621 Merge remote-tracking branch 'regmap/=
for-6.16' into regmap-next)
Merging sound/for-next (6a3439a417b9 ALSA: usb-audio: Add implicit feedback=
quirk for RODE AI-1)
Merging ieee1394/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging sound-asoc/for-next (61e36be334b0 Merge remote-tracking branch 'aso=
c/for-6.15' into asoc-linus)
Merging modules/modules-next (a0b018a495a3 module: Remove outdated comment =
about text_size)
Merging input/next (a95ef0199e80 Input: ims-pcu - check record size in ims_=
pcu_flash_firmware())
Merging block/for-next (6784ad15069c Merge branch 'io_uring-6.16' into for-=
next)
Merging device-mapper/for-next (9f2f6316d753 dm-stripe: small code cleanup)
Merging libata/for-next (a374cfbf6090 ata: libata-eh: Keep DIPM disabled wh=
ile modifying the allowed LPM states)
Merging pcmcia/pcmcia-next (0630e3bc0e91 pcmcia: add missing MODULE_DESCRIP=
TION() macros)
Merging mmc/next (d2c6acff6386 dt-bindings: mmc: sdhci-of-dwcmhsc: Allow us=
e of a power-domain)
Merging mfd/for-mfd-next (ffb006aa433e mfd: maxim: Correct Samsung "Electro=
nics" spelling in copyright headers)
Merging backlight/for-backlight-next (e12d3e1624a0 backlight: pm8941: Add N=
ULL check in wled_configure())
Merging battery/for-next (b1d8766052eb power: supply: rt9471: Simplify defi=
nition of some struct linear_range)
Merging regulator/for-next (469a5dcac8ab Merge remote-tracking branch 'regu=
lator/for-6.15' into regulator-linus)
Merging security/next (74e5b13a1b0f lsm: Move security_netlink_send to unde=
r CONFIG_SECURITY_NETWORK)
Merging apparmor/apparmor-next (1fdb22c54a5f apparmor: mitigate parser gene=
rating large xtables)
Merging integrity/next-integrity (fe3aebf27dc1 ima: do not copy measurement=
list to kdump kernel)
Merging selinux/next (05f1a939225e selinux: fix the kdoc header for task_av=
dcache_update)
Merging smack/next (4b59f4fd0a36 security/smack/smackfs: small kernel-doc f=
ixes)
Merging tomoyo/master (e9ddb37834eb tomoyo: update mailing lists)
Merging tpmdd/next (ecc1ca9185c3 tpm_crb: ffa_tpm: fix/update comments desc=
ribing the CRB over FFA ABI)
Merging watchdog/master (158f9f2f7152 watchdog: iTCO_wdt: Update the heartb=
eat value after clamping timeout)
Merging iommu/next (879b141b7cfa Merge branches 'fixes', 'apple/dart', 'arm=
/smmu/updates', 'arm/smmu/bindings', 'fsl/pamu', 'mediatek', 'renesas/ipmmu=
', 's390', 'intel/vt-d', 'amd/amd-vi' and 'core' into next)
Merging audit/next (654d61b8e0e2 audit: record AUDIT_ANOM_* events regardle=
ss of presence of rules)
Merging devicetree/for-next (89ab97de44fe dt-bindings: timer: Add fsl,vf610=
-pit.yaml)
Merging dt-krzk/for-next (78c8129aa236 Merge branches 'next/dt', 'next/dt64=
' and 'next/soc-drivers' into for-next)
Merging mailbox/for-next (d0b497df02e9 mailbox: qcom-apcs-ipc: Assign OF no=
de to clock controller child device)
Merging spi/for-next (e65938d2ac29 Merge remote-tracking branch 'spi/for-6.=
15' into spi-linus)
Merging tip/master (166cdd887dd1 Merge branch into tip/master: 'x86/sgx')
Merging clockevents/timers/drivers/next (d204e391a0d8 clocksource/drivers/r=
enesas-ostm: Unconditionally enable reprobe support)
Merging edac/edac-for-next (855b5de2e562 Merge ras/edac-drivers into for-ne=
xt)
Merging ftrace/for-next (9cca84d73fae Merge tools/for-next)
Merging rcu/next (9c80e4433798 Merge branches 'rcu/misc-for-6.16', 'rcu/seq=
-counters-for-6.16' and 'rcu/torture-for-6.16' into rcu/for-next)
Merging paulmck/non-rcu/next (e55dc2e5b2e3 Merge branches 'lkmm.2025.04.22a=
' and 'ratelimit.2025.05.08a' into HEAD)
Merging kvm/next (61374cc145f4 Merge tag 'kvmarm-fixes-6.16-1' of https://g=
it.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD)
Merging kvm-arm/next (1b85d923ba8c Merge branch kvm-arm64/misc-6.16 into kv=
marm-master/next)
Merging kvms390/next (d6c8097803cb KVM: s390: Simplify and move pv code)
Merging kvm-ppc/topic/ppc-kvm (fac04efc5c79 Linux 6.13-rc2)
Merging kvm-riscv/riscv_kvm_next (7917be170928 RISC-V: KVM: lock the correc=
t mp_state during reset)
Merging kvm-x86/next (3f7b307757ec Merge branches 'fixes', 'misc', 'mmu', '=
pir', 'selftests', 'svm' and 'vmx')
Merging xen-tip/linux-next (7f9bbc1140ff xen/arm: call uaccess_ttbr0_enable=
for dm_op hypercall)
Merging percpu/for-next (87d6aab2389e Merge tag 'for_linus' of git://git.ke=
rnel.org/pub/scm/linux/kernel/git/mst/vhost)
Merging workqueues/for-next (23227e71b69a workqueue: fix typo in comment)
Merging sched-ext/for-next (9960be72a54c sched_ext: idle: Skip cross-node s=
earch with !CONFIG_NUMA)
Merging drivers-x86/for-next (9c96808f10d8 thermal/drivers/acerhdf: Constif=
y struct thermal_zone_device_ops)
Merging chrome-platform/for-next (3e552ccf405c platform/chrome: kunit: Avoi=
d -Wflex-array-member-not-at-end)
Merging chrome-platform-firmware/for-firmware-next (0af2f6be1b42 Linux 6.15=
-rc1)
Merging hsi/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging leds-lj/for-leds-next (b338a2ae9b31 leds: tps6131x: Add support for=
Texas Instruments TPS6131X flash LED driver)
Merging ipmi/for-next (cd2e103d57e5 Merge tag 'hardening-v6.16-rc1-fix1-tak=
e2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux)
Merging driver-core/driver-core-next (5abc7438f1e9 Merge tag 'nfs-for-6.16-=
1' of git://git.linux-nfs.org/projects/anna/linux-nfs)
Merging usb/usb-next (882826f58b2c ALSA: usb-audio: qcom: fix USB_XHCI depe=
ndency)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging thunderbolt/next (36f6f7e2d4d0 Documentation/admin-guide: Document =
Thunderbolt/USB4 tunneling events)
Merging usb-serial/usb-next (d3a889482bd5 USB: serial: pl2303: add new chip=
PL2303GC-Q20 and PL2303GT-2AB)
Merging tty/tty-next (b495021a973e tty: serial: 8250_omap: fix TX with DMA =
for am33xx)
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/ser=
ial/snps-dw-apb-uart.yaml
Merging char-misc/char-misc-next (9857af0fcff3 binder: fix yet another UAF =
in binder_devices)
CONFLICT (content): Merge conflict in drivers/misc/Kconfig
CONFLICT (content): Merge conflict in drivers/misc/Makefile
Applying: uio_hv_generic: constify bin_attribute definitions
Merging accel/habanalabs-next (f03eee5fc922 Merge tag 'drm-xe-next-fixes-20=
24-05-02' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next)
Merging coresight/next (408c97c4a5e0 coresight: prevent deactivate active c=
onfig while enabling the config)
Merging fastrpc/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging fpga/for-next (6ebf1982038a fpga: fix potential null pointer deref =
in fpga_mgr_test_img_load_sgt())
Merging icc/icc-next (5fed7fe33c2c Merge branch 'icc-sa8775p' into icc-next)
Merging iio/togreg (0c86e3381978 dt-bindings: iio: adc: Add ROHM BD79100G)
Merging phy-next/next (0c2228731974 phy: tegra: p2u: Broaden architecture d=
ependency)
CONFLICT (content): Merge conflict in drivers/phy/renesas/phy-rcar-gen3-usb=
2.c
CONFLICT (content): Merge conflict in drivers/phy/rockchip/phy-rockchip-sam=
sung-hdptx.c
Merging soundwire/next (62ada17a6217 soundwire: only compute port params in=
specific stream states)
Merging extcon/extcon-next (f7736ebef6a4 extcon: max14526: avoid defined bu=
t not used warning)
Merging gnss/gnss-next (9c32cda43eb7 Linux 6.15-rc3)
Merging vfio/next (4518e5a60c7f vfio/type1: Fix error unwind in migration d=
irty bitmap allocation)
Merging w1/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging spmi/spmi-next (0ff41df1cb26 Linux 6.15)
Merging staging/staging-next (a481f0ebf213 staging: rtl8723bs: remove unnec=
essary braces for single statement blocks)
Merging counter-next/counter-next (ae3392c0f12f counter: microchip-tcb-capt=
ure: Add watch validation support)
Merging siox/siox/for-next (db418d5f1ca5 siox: bus-gpio: Simplify using dev=
m_siox_* functions)
Merging mux/for-next (59b723cd2adb Linux 6.12-rc6)
Merging dmaengine/next (3c018bf5a0ee dmaengine: idxd: Remove unused pointer=
and macro)
Merging cgroup/for-next (d7c1439faed6 Merge branch 'for-6.17' into for-next)
Merging scsi/for-next (43beabb2a781 Merge branch 'misc' into for-next)
Merging scsi-mkp/for-next (f8eebb903a76 scsi: s390: zfcp: Ensure synchronou=
s unit_add)
Merging vhost/linux-next (f248703d67a5 media: add virtio-media driver)
Merging rpmsg/for-next (dc8417021bcd Merge branches 'rpmsg-next', 'rproc-fi=
xes' and 'rproc-next' into for-next)
Merging gpio-brgl/gpio/for-next (8b8ef309093f gpio: timberdale: select GPIO=
LIB_IRQCHIP)
Merging gpio-intel/for-next (ec0c0aab1524 gpiolib-acpi: Update file referen=
ces in the Documentation and MAINTAINERS)
Merging pinctrl/for-next (a08b2b34239e Merge branch 'devel' into for-next)
Merging pinctrl-intel/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging pinctrl-renesas/renesas-pinctrl (5488aa013e9e pinctrl: renesas: rzg=
2l: Add support for RZ/V2N SoC)
Merging pinctrl-samsung/for-next (a30692b4f81b pinctrl: samsung: Add filter=
selection support for alive bank on gs101)
Merging pwm/pwm/for-next (a8841dc3dfbf pwm: axi-pwmgen: fix missing separat=
e external clock)
Merging ktest/for-next (5a1bed232781 ktest: Fix Test Failures Due to Missin=
g LOG_FILE Directories)
Merging kselftest/next (1107dc4c5b06 selftests/run_kselftest.sh: Use readli=
nk if realpath is not available)
Merging kunit/test (0af2f6be1b42 Linux 6.15-rc1)
Merging kunit-next/kunit (772e50a76ee6 kunit: Fix wrong parameter to kunit_=
deactivate_static_stub())
Merging livepatching/for-next (a8e905a819fd Merge branch 'for-6.15/ftrace-t=
est' into for-next)
Merging rtc/rtc-next (3d8b44b104fb rtc: mt6359: Add mt6357 support)
Merging nvdimm/libnvdimm-for-next (ef1d3455bbc1 libnvdimm/labels: Fix divid=
e error in nd_label_data_init())
Merging at24/at24/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging ntb/ntb-next (0cadf92e93d4 NTB/msi: Remove unused functions)
Merging seccomp/for-next/seccomp (a9b33aae79ce selftests: seccomp: Fix "per=
formace" to "performance")
Merging slimbus/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging nvmem/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging xarray/main (6684aba0780d XArray: Add extra debugging check to xas_=
lock and friends)
Merging hyperv/hyperv-next (96959283a58d Drivers: hv: Always select CONFIG_=
SYSFB for Hyper-V guests)
Merging auxdisplay/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging kgdb/kgdb/for-next (afdbe49276ac kdb: Remove optional size argument=
s from strscpy() calls)
Merging hmm/hmm (c92ae5d4f53e fwctl: Fix repeated device word in log messag=
e)
Merging cfi/cfi/next (0af2f6be1b42 Linux 6.15-rc1)
Merging mhi/mhi-next (6348f62ef7ec bus: mhi: host: pci_generic: Add Telit F=
N920C04 modem support)
Merging memblock/for-next (3b394dff15e1 memblock tests: add test for memblo=
ck_set_node)
Merging cxl/next (9f153b7fb5ae Merge branch 'for-6.16/cxl-features-ras' int=
o cxl-for-next)
Merging zstd/zstd-next (65d1f5507ed2 zstd: Import upstream v1.5.7)
Merging efi/next (46550e2b878d include: pe.h: Fix PE definitions)
Merging unicode/for-next (6b56a63d286f MAINTAINERS: Add Unicode tree)
Merging slab/slab/for-next (7819d7e0d830 Merge branch 'slab/for-6.16/testin=
g' into slab/for-next)
Merging random/master (602c988b7827 prandom: remove next_pseudo_random32)
Merging landlock/next (3039ed432745 landlock: Improve bit operations in aud=
it code)
Merging rust/rust-next (7a17bbc1d952 rust: list: Fix typo `much` in arc.rs)
CONFLICT (content): Merge conflict in rust/bindings/bindings_helper.h
CONFLICT (content): Merge conflict in rust/kernel/task.rs
CONFLICT (content): Merge conflict in rust/macros/module.rs
Applying: fix up for conflict against drm-nova
Applying: fixup for conflict with the mm-unstable tree
Applying: fix up for conflict with cpufreq-arm tree
Applying: fixup: remove some no longer needed cast_mut()s
Applying: another rust fix up
Merging rust-alloc/alloc-next (771c5a7d9843 rust: alloc: add Vec::insert_wi=
thin_capacity)
Merging rust-pin-init/pin-init-next (9de1a293c8ec rust: pin-init: improve d=
ocumentation for `Zeroable` derive macros)
Merging rust-timekeeping/timekeeping-next (679185904972 MAINTAINERS: rust: =
Add a new section for all of the time stuff)
Merging rust-xarray/xarray-next (fa616196fbea MAINTAINERS: add entry for Ru=
st XArray API)
Merging sysctl/sysctl-next (23b8bacf1547 sysctl: Close test ctl_headers wit=
h a for loop)
Merging execve/for-next/execve (11854fe263eb binfmt_elf: Move brk for stati=
c PIE even if ASLR disabled)
Merging bitmap/bitmap-for-next (895ee6a22e31 topology: make for_each_node_w=
ith_cpus() O(N))
Merging hte/for-next (9e4259716f60 hte: tegra-194: add missing MODULE_DESCR=
IPTION() macro)
Merging kspp/for-next/kspp (c50b612bef51 ubsan: Fix incorrect hand-side use=
d in handle)
Merging nolibc/for-next (869c788909b9 selftests: harness: Stop using setjmp=
()/longjmp())
Merging iommufd/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging turbostat/next (447c98c1ca4a tools/power turbostat: Add idle govern=
or statistics reporting)
CONFLICT (content): Merge conflict in tools/power/x86/turbostat/turbostat.8
CONFLICT (content): Merge conflict in tools/power/x86/turbostat/turbostat.c
Merging pwrseq/pwrseq/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging capabilities-next/caps-next (4ae89b1fe7c2 capability: Remove unused=
has_capability)
Merging ipe/next (324692100cc9 ipe: use SHA-256 library API instead of cryp=
to_shash API)
Merging kcsan/next (9d89551994a4 Linux 6.13-rc6)
Merging crc/crc-next (289c99bec7ee lib/crc32: add SPDX license identifier)
Merging fwctl/for-next (0af2f6be1b42 Linux 6.15-rc1)
Merging devsec-tsm/next (9d948b880409 Merge branch 'for-6.16/tsm-mr' into t=
sm-next)
Merging kthread/for-next (d8b4bf4ea04d kthread: modify kernel-doc function =
name to match code)

--Sig_/61vWlncwWpp5t1IUbE/WnJK
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmhBNLEACgkQAVBC80lX
0GyhCQf/aGqrlce1iHXpEy/YrCAxsmc4NKyTyasbbNqSB3x4bnS1gK/pDiLxfMw1
oXVCnugrCGzZNIn+wDyw89j3NHkBXqttzfPJISodybwoXDCIxiTDhqWctKYDufKN
p4JiqH7pk5LSDCnvz9q9IbYp0rLyBPeRj5I516rs5RxImp2pt65+LZBQE/cnqBQ9
T5lGt0vmiebaCVIu+hBm4eXbDBNBc7B6QcDpelcbtnZo55ZPkZJw7W8yUJLgijSA
JiD4V5AORKg9OZTzXGsJ6tO1Rzsji2scovWtSG+QaN2U6V7a+9Gd8OA9hI7F8OnW
Xi5QHABfz7ksfyn5DDrZTG8gJt6uLw==
=uM5q
-----END PGP SIGNATURE-----

--Sig_/61vWlncwWpp5t1IUbE/WnJK--


Return-Path: <linux-kernel+bounces-674090-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5EA6441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:10:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7B51E3AB3F7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:10:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 451B31F3BB5;
Thu, 5 Jun 2025 06:10:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="HS98DPHh"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20A551CB518;
Thu, 5 Jun 2025 06:10:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.18
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103823; cv=none; b=IY1RDr6WgRAczo6mnA0WbNC1tC4n6r5yG9Tse64HGXZtIwu1iUvzVVEUM1owS+wtKU8vUsAPFALcjW0RZFDvppwv2Zq5AVLzxvYZmk95WBPrfnNe1ZsANiKcoQpm81NECfqYsWNETv1X0HFUIFlMpuH/y7nsOMx0BbydPC3es7I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103823; c=relaxed/simple;
bh=nROcGeiYRY/H5lkZ0J6NaY35TmK2WZ7VN8/JY9+zPd0=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=sscZH6oChmhmpi+WuzqnG5tP/eWKSsFWAyJmNlJkj4AmDPcc9at1YvDSpOZULiMVLTQWeWzVMhzartqzUsMVRCH1C0AMJa/pCUoNrbTLgHu0SG2Ts6jxXG7FWxrOwxINpZHJQ/2TDDjTOVoVeFvoXTIVX4nTznD8jd4EGia2AKA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=HS98DPHh; arc=none smtp.client-ip=198.175.65.18
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749103822; x=1780639822;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=nROcGeiYRY/H5lkZ0J6NaY35TmK2WZ7VN8/JY9+zPd0=;
b=HS98DPHhve0H5s6XCnpvQqYvDmcI8GFdMn9PTOQx2Ws0CSspa0OKM36X
sSy7FrEmKmGk6dQEgz4kyiwrD+YCrMqFibZho2tNhQRySzcBJyGCMNyvI
byTpSDQnZgg+cpXLUW1XIN0THSAiQGAjUYVMEhmKuxWKLr6aQIrxAClDF
d7jd4Tb9VS+t8dSz0aFCfkv4iOTSYLrBkF+1n9uogxd/MP1CFUvYWzwv9
R0OxY/uY4hoNuldW667pbEe0W/wrO5fP+oECZeDuzEynQzqFZJkCGVrAk
xstYSgpfi9UsGEhkS9eLssSn3i1w/ZCbM2CnfFvJtW8pU0sPBijNBBrBn
g==;
X-CSE-ConnectionGUID: /fxNvKeCSU6X72SEr7hPKQ==
X-CSE-MsgGUID: +7Sn/rUHQFefMDXN6qEwEw==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51355133"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="51355133"
Received: from fmviesa005.fm.intel.com ([10.60.135.145])
by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:10:21 -0700
X-CSE-ConnectionGUID: uAG7L7RqQpGKYW3p8PKxnQ==
X-CSE-MsgGUID: qeNaF68KR2Ct6BJqqvBwPQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="150282772"
Received: from smile.fi.intel.com ([10.237.72.52])
by fmviesa005.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:10:17 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uN3nq-00000003mGF-2UcD;
Thu, 05 Jun 2025 09:10:14 +0300
Date: Thu, 5 Jun 2025 09:10:14 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Jonathan Santos <Jonathan.Santos@xxxxxxxxxx>
Cc: linux-iio@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
nuno.sa@xxxxxxxxxx, Michael.Hennerich@xxxxxxxxxx,
marcelo.schmitt@xxxxxxxxxx, jic23@xxxxxxxxxx, robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx, conor+dt@xxxxxxxxxx, marcelo.schmitt1@xxxxxxxxx,
linus.walleij@xxxxxxxxxx, brgl@xxxxxxxx, lgirdwood@xxxxxxxxx,
broonie@xxxxxxxxxx, jonath4nns@xxxxxxxxx, dlechner@xxxxxxxxxxxx
Subject: Re: [PATCH v10 09/12] iio: adc: ad7768-1: add support for
Synchronization over SPI
Message-ID: <aEE0xiCp1IIt9c0M@xxxxxxxxxxxxxxxxxx>
References: <cover.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
<4c8cce58c3f5d84423dffee23c260b94c4cb6c36.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4c8cce58c3f5d84423dffee23c260b94c4cb6c36.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 04:37:09PM -0300, Jonathan Santos wrote:
> The synchronization method using GPIO requires the generated pulse to be
> truly synchronous with the base MCLK signal. When it is not possible to
> do that in hardware, the datasheet recommends using synchronization over
> SPI, where the generated pulse is already synchronous with MCLK. This
> requires the SYNC_OUT pin to be connected to the SYNC_IN pin.
>
> Use trigger-sources property to enable device synchronization over SPI
> and multi-device synchronization while replacing sync-in-gpios property.

...

> +static int ad7768_trigger_sources_sync_setup(struct device *dev,
> + struct fwnode_handle *fwnode,
> + struct ad7768_state *st)
> +{
> + struct fwnode_reference_args args;
> + struct fwnode_handle *ref __free(fwnode_handle) = NULL;
> + int ret;
> +
> + ret = fwnode_property_get_reference_args(fwnode, "trigger-sources",
> + "#trigger-source-cells", 0,
> + AD7768_TRIGGER_SOURCE_SYNC_IDX, &args);
> + if (ret)
> + return ret;
> +
> + ref = args.fwnode;
> + /* First, try getting the GPIO trigger source */
> + if (fwnode_device_is_compatible(ref, "gpio-trigger")) {

> + st->gpio_sync_in = devm_fwnode_gpiod_get_index(dev, ref, NULL,
> + 0,

This 0 is close to NULL semantically, please move it to the above line to make
the split more logical.

> + GPIOD_OUT_LOW,
> + "sync-in");
> + return PTR_ERR_OR_ZERO(st->gpio_sync_in);
> + }
> +
> + /*
> + * TODO: Support the other cases when we have a trigger subsystem
> + * to reliably handle other types of devices as trigger sources.
> + *
> + * For now, return an error message. For self triggering, omit the
> + * trigger-sources property.
> + */
> + return dev_err_probe(dev, -EOPNOTSUPP, "Invalid synchronization trigger source\n");
> +}

--
With Best Regards,
Andy Shevchenko




Return-Path: <linux-kernel+bounces-674091-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8827741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:11:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C512F3AB5D6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:10:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 212E31EF397;
Thu, 5 Jun 2025 06:11:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="VZd1boJu"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 32AFE1FC8
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:11:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749103875; cv=none; b=g+byZMvxNNxpCgkzr6IUCPXQX5dckPJ9gtSuKfqEglA9Y0FdlYwazEUdlXe/QGWmlPPmE2Cy4HJdfdMJiuhRSzjKzjFWJkgID3aDIOfM2ElrFoOeFuTqNCNibGbvJ+bGLPB0o8xQoEkhoiRUO7MZtA4upUPzVcffhBkX1PsnQ88=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749103875; c=relaxed/simple;
bh=z8/38AGW+6TpGU4p6B1AZeSilq0p/72gasXZ/ItXEeE=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=PEp/DPHNsxQTXE5JOvjSLvqJN/THQvCvc8GwSoHw9ugfwYpeaGn5oioPzsK3sP/Ck+Mwv02LOL/RasvjOFtF6y+Kd6VmHkKB1gbgavGkKsHXwCivJkRde3QFaXYG1RxHgvs/HZjtxipDgSFT+NIC/AxnZsS/9L2bXz43ZEESMaQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=VZd1boJu; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749103869;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=eGEzGojVYGbhIc9LDFPn5qyK5CyR6EWfYgfko/uoq3g=;
b=VZd1boJuO4mbenK/rBuCqPEME4d7i7KqdQ6ts3dz82DkL6rf/MnnhQz+9x5nx+9WQQGCZn
4orwVT7Vl0dChgdh3m37YOwY+u1Xa+TkwvV0yuWroVGBTPGwbJvXLL8L9TCrmTjv2F5YJB
mLUNZd9NgKZIBVPQhmzDyjk9zpqgqao=
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
[209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-264-aslrComTNJaI5LewboitfQ-1; Thu, 05 Jun 2025 02:11:07 -0400
X-MC-Unique: aslrComTNJaI5LewboitfQ-1
X-Mimecast-MFC-AGG-ID: aslrComTNJaI5LewboitfQ_1749103866
Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-450787c8626so2768045e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:11:07 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749103866; x=1749708666;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:from:references:to:subject:user-agent:mime-version
:date:message-id:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=eGEzGojVYGbhIc9LDFPn5qyK5CyR6EWfYgfko/uoq3g=;
b=imFFSrsoDyDwx9KYo7X17ZPpNoMHjFm2Akg2fbVCcugBKTVohJPbFWDHaFgrr7+bIh
Zmt5nwhniGtHbGhcixjH9BkofxQ8Po0SSoN5AzENzr17wwcgSaBp9D0Y6pwisNSG8LVs
3X+v8wshS3CFW4+uBWsjOSao1bHXV8QAu9mhQRTz3lf+BJnr5A3nbBNcKQEy1HWBQ0Nt
YmtACuhCdnX/cdr8qbKTdVkqreqVJLYtgO3HD8GEJqbCYGOBNrokx26MsaB/ykbyk3Ah
Q1Fmcz/pmOxGbY45zsbbnwiM8LQxWX7tzSW5VxUrR5SV/3W+4rSpT3f9XvkcIbMBiIQe
x/Nw==
X-Forwarded-Encrypted: i=1; AJvYcCVlaI/alcQ432LLBVdAdl0UQpSjDnXnjpOxItQhb9vmSi/HllhG1j1Yv250Eo4s1aodhXL9zJ+pmmEdhuM=@vger.kernel.org
X-Gm-Message-State: AOJu0YwjbcJBAO/TAlCjdqACW/Gs3JFeLoQX077lvEFnKvXgjxlCBFe+
8EUIIeZ+ckplVD/6SuZcuY8v0gZAfD4p2xzFZQwn/3+lkdqP/xcYd/i9T/nOvMJTnKmrweiZoR/
9oeZBQ8VJapN08jb4xh4AznzNBdGRP3LtHq4TsiKY1hz0gmttnrqEDaUCEm1XTBwDxg==
X-Gm-Gg: ASbGncshYT/oqsV3F73ClAE3AeeciBZBktiWSnqS1bwIgIGytnc789o6oe0MwLRBZ3t
FXPT+yIk1pc7rLdFcDO1+uZAfChEBX/rXCk1EtqWx2z0uEFf1AXhIgF38ueIUqhbUGNNS/WMNEH
6FMdF6nAdMHq5VseUZcKzJNXcbjbvxDvA1memfOPzr6gNuKSn44jHcwi8coDb5Q9RFFER8QqY0X
BL/hjTe75O0QdSRSCjBfAupjbBpK/auXx2TX6TEOyQAz7F3K0Qknefi0MzXWvwP992oAeo0T3r0
+xh5vSXFpmW+0YXXAXYcBm+rc3BRrNP1AXiMFo0uwoCvRFuBTk84Kg==
X-Received: by 2002:a05:6000:2c11:b0:3a4:f5f6:b4ab with SMTP id ffacd0b85a97d-3a51d966567mr4185668f8f.30.1749103865873;
Wed, 04 Jun 2025 23:11:05 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFJy9vxF3vvjqSsbomY4mvZK/nI30Q+ypm5M6f5YIpmw6V0p8rypSW1cL9oUlfNz9aZtFgtVw==
X-Received: by 2002:a05:6000:2c11:b0:3a4:f5f6:b4ab with SMTP id ffacd0b85a97d-3a51d966567mr4185647f8f.30.1749103865377;
Wed, 04 Jun 2025 23:11:05 -0700 (PDT)
Received: from [192.168.3.141] (p4fe0f5ef.dip0.t-ipconnect.de. [79.224.245.239])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-451fb1782b5sm6921095e9.12.2025.06.04.23.11.03
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 23:11:04 -0700 (PDT)
Message-ID: <4fc2c008-2384-4d94-b1bf-f0a076585a4a@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 08:11:02 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [syzbot] [mm?] kernel BUG in try_to_unmap_one (2)
To: syzbot <syzbot+3b220254df55d8ca8a61@xxxxxxxxxxxxxxxxxxxxxxxxx>,
Liam.Howlett@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, harry.yoo@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx, riel@xxxxxxxxxxx,
syzkaller-bugs@xxxxxxxxxxxxxxxx, vbabka@xxxxxxx, Jens Axboe
<axboe@xxxxxxxxx>, Catalin Marinas <catalin.marinas@xxxxxxx>
References: <68412d57.050a0220.2461cf.000e.GAE@xxxxxxxxxx>
From: David Hildenbrand <david@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <68412d57.050a0220.2461cf.000e.GAE@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 05.06.25 07:38, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: d7fa1af5b33e Merge branch 'for-next/core' into for-kernelci

Hmmm, another very odd page-table mapping related problem on that tree
found on arm64 only:

https://lore.kernel.org/all/f031d35b-13e3-4dec-a89c-f221331be735@xxxxxxxxx/T/#mef6b1f00bd47724e3ba756d9c898128ab010ed34


Are we maybe corrupting ptes/pfns etc?

> git tree: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci
> console output: https://syzkaller.appspot.com/x/log.txt?x=1757300c580000
> kernel config: https://syzkaller.appspot.com/x/.config?x=89c13de706fbf07a
> dashboard link: https://syzkaller.appspot.com/bug?extid=3b220254df55d8ca8a61
> compiler: Debian clang version 20.1.6 (++20250514063057+1e4d39e07757-1~exp1~20250514183223.118), Debian LLD 20.1.6
> userspace arch: arm64
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=150f7ed4580000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=13745970580000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/da97ad659b2c/disk-d7fa1af5.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/659e123552a8/vmlinux-d7fa1af5.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/6ec5dbf4643e/Image-d7fa1af5.gz.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+3b220254df55d8ca8a61@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> head: 05ffc00000000309 fffffdffc6628001 0080000000000000 0000000100000000
> head: ffffffff00000000 0000000000000024 00000000ffffffff 0000000000000200
> page dumped because: VM_BUG_ON_FOLIO(!pvmw.pte)
> ------------[ cut here ]------------
> kernel BUG at mm/rmap.c:1955!
> Internal error: Oops - BUG: 00000000f2000800 [#1] SMP
> Modules linked in:
> CPU: 1 UID: 0 PID: 9503 Comm: syz-executor315 Not tainted 6.15.0-rc7-syzkaller-gd7fa1af5b33e #0 PREEMPT
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
> pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> pc : try_to_unmap_one+0x2c54/0x2d40 mm/rmap.c:1955
> lr : try_to_unmap_one+0x2c54/0x2d40 mm/rmap.c:1955
> sp : ffff80009e906380
> x29: ffff80009e9065e0 x28: 0000000000000038
> x27: ffff0000c9dbee80
> x26: fffffdffc6628018 x25: fffffdffc6628030 x24: dfff800000000000
> x23: ffff0000d84efdc0 x22: ffff0000d84efde0 x21: 0000000000000001
> x20: fffffdffc6628000 x19: 05ffc00000020849 x18: 00000000ffffffff
> x17: 0000000000000000 x16: ffff80008adbe9e4 x15: 0000000000000001
> x14: 1fffe0003386f2e2 x13: 0000000000000000 x12: 0000000000000000
> x11: ffff60003386f2e3 x10: 0000000000ff0100 x9 : 664e624a89365e00
> x8 : 664e624a89365e00 x7 : 0000000000000001 x6 : 0000000000000001
> x5 : ffff80009e905a98 x4 : ffff80008f415ba0 x3 : ffff8000807b4b68
> x2 : 0000000000000001 x1 : 0000000100000001 x0 : 000000000000002f
> Call trace:
> try_to_unmap_one+0x2c54/0x2d40 mm/rmap.c:1955 (P)
> rmap_walk_anon+0x47c/0x640 mm/rmap.c:2834
> rmap_walk+0x128/0x1e8 mm/rmap.c:2939
> try_to_unmap+0xc4/0x120 mm/rmap.c:2263
> unmap_poisoned_folio+0x278/0x4a4 mm/memory-failure.c:1610
> shrink_folio_list+0x608/0x4410 mm/vmscan.c:1131
> reclaim_folio_list+0xdc/0x5d0 mm/vmscan.c:2217
> reclaim_pages+0x420/0x544 mm/vmscan.c:2254
> madvise_cold_or_pageout_pte_range+0x1d38/0x20d4 mm/madvise.c:434
> walk_pmd_range mm/pagewalk.c:130 [inline]
> walk_pud_range mm/pagewalk.c:226 [inline]
> walk_p4d_range mm/pagewalk.c:264 [inline]
> walk_pgd_range+0xb4c/0x16bc mm/pagewalk.c:305
> __walk_page_range+0x13c/0x654 mm/pagewalk.c:412
> walk_page_range_mm+0x4fc/0x7dc mm/pagewalk.c:505
> walk_page_range+0x80/0x98 mm/pagewalk.c:584
> madvise_pageout_page_range mm/madvise.c:617 [inline]
> madvise_pageout mm/madvise.c:644 [inline]
> madvise_vma_behavior mm/madvise.c:1269 [inline]
> madvise_walk_vmas mm/madvise.c:1530 [inline]
> madvise_do_behavior+0x1940/0x2908 mm/madvise.c:1695
> do_madvise mm/madvise.c:1782 [inline]
> __do_sys_madvise mm/madvise.c:1790 [inline]
> __se_sys_madvise mm/madvise.c:1788 [inline]
> __arm64_sys_madvise+0x10c/0x154 mm/madvise.c:1788
> __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
> invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
> el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
> do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
> el0_svc+0x58/0x17c arch/arm64/kernel/entry-common.c:767
> el0t_64_sync_handler+0x78/0x108 arch/arm64/kernel/entry-common.c:786
> el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600
> Code: f9404be0 b0051fc1 910c8021 97fdefe4 (d4210000)
> ---[ end trace 0000000000000000 ]---
>
>
> ---
> This report is generated by a bot. It may contain errors.
> See https://goo.gl/tpsmEJ for more information about syzbot.
> syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.
>
> syzbot will keep track of this issue. See:
> https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
>
> If the report is already addressed, let syzbot know by replying with:
> #syz fix: exact-commit-title
>
> If you want syzbot to run the reproducer, reply with:
> #syz test: git://repo/address.git branch-or-commit-hash
> If you attach or paste a git patch, syzbot will apply it before testing.
>
> If you want to overwrite report's subsystems, reply with:
> #syz set subsystems: new-subsystem
> (See the list of subsystem names on the web dashboard)
>
> If the report is a duplicate of another one, reply with:
> #syz dup: exact-subject-of-another-report
>
> If you want to undo deduplication, reply with:
> #syz undup
>


--
Cheers,

David / dhildenb



Return-Path: <linux-kernel+bounces-674092-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EB8F341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:13:46 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 4220D188C334
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:14:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 669261F181F;
Thu, 5 Jun 2025 06:13:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jDSMyQ/B"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A19EA1FC8;
Thu, 5 Jun 2025 06:13:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104017; cv=none; b=OinE4GriQikwHdu7WNVaHzN2htPKs4YEb9Ow0YhzDHPWiW4BvsrUw+MM8/Pczef+R63XEieFE6xe2aQRK5ySSC1pVdUiUiWMZAE6S5+6RGCzDH5U9YO5A2eYjK5N23VaDFlc/dSzU57rsVZPimqKy/QE7PaEaCu92c4H970kwoo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104017; c=relaxed/simple;
bh=0Z12a9urky0EfVJEAMILGaGy5U/pdpfbX0qpuILFgSk=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=NLkMJrmRJn4g+mELcwudsYklHaajXCKYvDgPTV9NPA83HP7Q+i5tnp1tZD4J3AHpIMpC0As7g47ljKT0S8nFxmg+ynVyH0N+YwxNjd6kyspPJyE2KZP0K7kfOBUM/bEejtlacHoQfMDEd6hp8asSjYxoZsoHv5DqKMjVrDnLXlk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jDSMyQ/B; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 86E96C4CEE7;
Thu, 5 Jun 2025 06:13:36 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749104017;
bh=0Z12a9urky0EfVJEAMILGaGy5U/pdpfbX0qpuILFgSk=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=jDSMyQ/B/ns7Byo18f+lSH0QZYBX/A+EPpIcB71numscRgJ5A7gQkXMYEAS7hHIr9
CTaOxMa1AxjB3zgVUp3YiDxxIsbg/h6vC0kKhqyW58TAwjftgn2+Di97+mONZogOSM
YHeilgKog9hZmBJuP2F6SHD6P8GSFACw59cy6ljWsidP9px9gsEwf2HI8jHKUqqC7u
X4t1GBVnPG45eF6rqAnXElxPw07inRdzBNSghj38wnD/sGJDYHmmpsKAEA9UDA3WlR
MubaDIrX7auXpUcSaH8Lrc69nkNE/RMZOgKdbQsv/vhyfxrK/eAZX1icwDeaOTW3rO
rYNTaCRSFyczw==
Date: Thu, 5 Jun 2025 08:13:34 +0200
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
To: Frank Li <Frank.Li@xxxxxxx>
Cc: Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>,
Guenter Roeck <linux@xxxxxxxxxxxx>, Noah Wang <noahwang.wang@xxxxxxxxxxx>,
Rodrigo Gobbi <rodrigo.gobbi.7@xxxxxxxxx>, Fabio Estevam <festevam@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Naresh Solanki <naresh.solanki@xxxxxxxxxxxxx>,
Grant Peltier <grantpeltier93@xxxxxxxxx>, Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>, Heiko Stuebner <heiko@xxxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>, Kever Yang <kever.yang@xxxxxxxxxxxxxx>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@xxxxxxxxxxxxxxx>, open list <linux-kernel@xxxxxxxxxxxxxxx>, imx@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v3 1/1] dt-bindings: trivial-devices: Add compatible
string synaptics,synaptics_i2c
Message-ID: <20250605-beautiful-impartial-woodpecker-ebef7e@kuoka>
References: <20250604191720.1158975-1-Frank.Li@xxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250604191720.1158975-1-Frank.Li@xxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 03:17:18PM GMT, Frank Li wrote:
> Add compatible string synaptics,synaptics_i2c for synaptics touch pad. It
> match existed driver drivers/input/mouse/synaptics_i2c.c.
>
> Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> ---
> change in v3
> - fix order in vendor-prefixes
> change in v2
> - update vendor-prefixes

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>

Best regards,
Krzysztof



Return-Path: <linux-kernel+bounces-674093-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D4B3E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:14:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id D2EFE7A31D5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:12:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 61FF71F5838;
Thu, 5 Jun 2025 06:13:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="CIoOCAC8"
Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171])
(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 654721F4177
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:13:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.171
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104021; cv=none; b=HlDPOp/zyeVYcIWJMIsk/PoUbcNLh02m9ByYnel9DrgJyXk1DiMR6PqIKyQLM+iokjszIkdRZ1bLESuG7zwFmSSv71rouYbIfNyVTfGx5+4nVcsykCDmNAgZU60NohvMeqP6eNWLirfHHLNXH7AxeaL6ekhrS0czUiQbrBJo4IQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104021; c=relaxed/simple;
bh=bzeFKix16H6AR7c25plvNC6hswXve1/a+mJcJ3UZEJI=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=bfCS11aU4wy+yGBw5juDTKT9DmXdexCFcAzvww3X2PL8bDPS3XXVKXZwWrJ02CUkoM/jUeqGH6DFeul8cJBxerVFUrYd/CaxpF1hcTijBSlEKy+vbJ509W3xn73ehDmoxStRWZeUphlztcX4QNSnzbveNIMRlQHPPrF8gSpPmP4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=CIoOCAC8; arc=none smtp.client-ip=209.85.215.171
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com
Received: by mail-pg1-f171.google.com with SMTP id 41be03b00d2f7-7fd581c2bf4so392973a12.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:13:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=bytedance.com; s=google; t=1749104018; x=1749708818; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject
:user-agent:mime-version:date:message-id:from:to:cc:subject:date
:message-id:reply-to;
bh=Hn7NBr5TJWjNI8T2dY/UzcUhiHMyl/nutXcvd+GUfmM=;
b=CIoOCAC8wmjUu4OZ+lBQjPvVvAkEzMQCrgFCGVqgNKeGBx6/TXj3up4uSwtPmhDuPq
znjDJ4hnE4QvrQpSM7OF5IeluCGmGAB6EY0YzrB+CwjLtiangIxKlDcA5tA1Baux4w0S
KrdT05YZ+zSRu2H0McNQGgRSv+/CaWBhPVN832WeCEWp7HruB8+Cn0fLoz5GF23Kkk6I
gBvg/sKRv8xrVcuy2CHNPOt3IsHaEx6S1pzGSowJTDI014qn+phU4/Ib5x/Kz0PWs09x
oFbar11H+EWLzg1e0R50GQg7CxNmkbEEGtmEf7lPR/Q5M89+0PqwszmuaYUypOoTBP5C
8tOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104018; x=1749708818;
h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject
:user-agent:mime-version:date:message-id:x-gm-message-state:from:to
:cc:subject:date:message-id:reply-to;
bh=Hn7NBr5TJWjNI8T2dY/UzcUhiHMyl/nutXcvd+GUfmM=;
b=Ek2qk9JMGDz9q5zZyo80QYr0kFWwVum+IvcKX80DKDCFmdE+wYUHbEWZnRsD51sWlN
wQHyBz5Y3FsUiGfqMqIPs4l1HMY62blxLtX2MRDG4P5N95INiOm/kdQ9VlcVOe4w4oHR
Xd2GkvWtiyRvonHtgJYQwLDi+xhTdIzsjdw4IGi8ANh7r228+6dITj1dJ3aOlRHlZRG1
9BYNO1q/TAzJTA0bjGLONjUGY0u50jSoP7vDune+WeEmc5m+7TPNalj83wtXWS3cpu4G
1HLZJE+RTOuWyvADNHxQwmAqdjsndVmOCvGYRIeQSmOIDgDYI6L3cjNInvD6rMi6fzCL
SgTg==
X-Forwarded-Encrypted: i=1; AJvYcCWXmIu+JrIqxQA4UmsX4ARTwmUSbzw73Nx/RPh2cZZKYy+ZYLZbOijRuyBDsepspIhWg/LneY4sEedzAAo=@vger.kernel.org
X-Gm-Message-State: AOJu0YzZ0McgDiNKo+t4ckXSfrIcWbcY8+wADlS+ZWneHPTc9ks4PKt+
VkhIuFv+6XaSm92BtZ1f6tAmMPqUnWgX3w0iKtMjcrY6NfEymo+zwxdfRJpHK1Xwnz8=
X-Gm-Gg: ASbGnctlRcpfLJBmHyRHg16d5/dRogSuPR4g5IVHOmAJVVEA3jQdwYOyGrHEcUY/Fu5
ZIhzYbETcyxQKVfpSLLiPB9tCgXMy0mwRcxiBx28fO5LtXdG8h0yhQaXk8Rjx9p9Kne3jEEZrCt
ePws0ch14l5yhJiXHjqAWNCMIFVLs0VW5mOP6ns00ZJOJRWIGJBrLpyrTTZVojniWwHT8+E+KeL
thQOKcjZRqgd97ctN2I3dyjPEuGEFCLkSfiKUIZng+dNo97fxb8v6zqO8bWURKg8nzgPyzCKWuY
+I29mKfYQqRQZQkeQLF3kbUwrO/nKeF/Oz2pEmmRN7VB5IGk6sUuver4taUSvrgX9Wub/AoH+Fc
=
X-Google-Smtp-Source: AGHT+IHDy86FEw+vzJcbrf39p87S4pydRZ7lyu+1r5y5V92k7PKGXeaSlNE+WkPTO7jTgdMiiqKipg==
X-Received: by 2002:a17:90b:5290:b0:311:9c9a:58c5 with SMTP id 98e67ed59e1d1-3130cd146e2mr10841635a91.12.1749104018411;
Wed, 04 Jun 2025 23:13:38 -0700 (PDT)
Received: from [10.68.122.90] ([63.216.146.178])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-313319020e0sm477078a91.12.2025.06.04.23.13.30
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 23:13:37 -0700 (PDT)
Message-ID: <1fd82421-90ad-4952-8fc0-77859f861570@xxxxxxxxxxxxx>
Date: Thu, 5 Jun 2025 14:13:27 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] mm/pagewalk: split walk_page_range_novma() into
kernel/user parts
To: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
Cc: Barry Song <baohua@xxxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>,
"Liam R . Howlett" <Liam.Howlett@xxxxxxxxxx>,
Vlastimil Babka <vbabka@xxxxxxx>, Mike Rapoport <rppt@xxxxxxxxxx>,
Suren Baghdasaryan <surenb@xxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>,
Muchun Song <muchun.song@xxxxxxxxx>, Oscar Salvador <osalvador@xxxxxxx>,
Huacai Chen <chenhuacai@xxxxxxxxxx>, WANG Xuerui <kernel@xxxxxxxxxx>,
Jonas Bonn <jonas@xxxxxxxxxxxx>,
Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx>,
Stafford Horne <shorne@xxxxxxxxx>, Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>, Albert Ou <aou@xxxxxxxxxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>, Jann Horn <jannh@xxxxxxxxxx>,
loongarch@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-openrisc@xxxxxxxxxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
References: <20250604141958.111300-1-lorenzo.stoakes@xxxxxxxxxx>
From: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>
In-Reply-To: <20250604141958.111300-1-lorenzo.stoakes@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu



On 6/4/25 10:19 PM, Lorenzo Stoakes wrote:
> The walk_page_range_novma() function is rather confusing - it supports two
> modes, one used often, the other used only for debugging.
>
> The first mode is the common case of traversal of kernel page tables, which
> is what nearly all callers use this for.
>
> Secondly it provides an unusual debugging interface that allows for the
> traversal of page tables in a userland range of memory even for that memory
> which is not described by a VMA.
>
> It is far from certain that such page tables should even exist, but perhaps
> this is precisely why it is useful as a debugging mechanism.
>
> As a result, this is utilised by ptdump only. Historically, things were
> reversed - ptdump was the only user, and other parts of the kernel evolved
> to use the kernel page table walking here.
>
> Since we have some complicated and confusing locking rules for the novma
> case, it makes sense to separate the two usages into their own functions.
>
> Doing this also provide self-documentation as to the intent of the caller -
> are they doing something rather unusual or are they simply doing a standard
> kernel page table walk?
>
> We therefore establish two separate functions - walk_page_range_debug() for
> this single usage, and walk_kernel_page_table_range() for general kernel
> page table walking.
>
> We additionally make walk_page_range_debug() internal to mm.
>
> Note that ptdump uses the precise same function for kernel walking as a
> convenience, so we permit this but make it very explicit by having
> walk_page_range_novma() invoke walk_kernel_page_table_range() in this case.
>
> Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> Acked-by: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>
> ---
> v2:
> * Renamed walk_page_range_novma() to walk_page_range_debug() as per David.
> * Moved walk_page_range_debug() definition to mm/internal.h as per Mike.
> * Renamed walk_page_range_kernel() to walk_kernel_page_table_range() as
> per David.
>
> v1 resend:
> * Actually cc'd lists...
> * Fixed mistake in walk_page_range_novma() not handling kernel mappings and
> update commit message to referene.
> * Added Mike's off-list Acked-by.
> * Fixed up comments as per Mike.
> * Add some historic flavour to the commit message as per Mike.
> https://lore.kernel.org/all/20250603192213.182931-1-lorenzo.stoakes@xxxxxxxxxx/
>
> v1:
> (accidentally sent off-list due to error in scripting)
>
> arch/loongarch/mm/pageattr.c | 2 +-
> arch/openrisc/kernel/dma.c | 4 +-
> arch/riscv/mm/pageattr.c | 8 +--
> include/linux/pagewalk.h | 7 ++-
> mm/hugetlb_vmemmap.c | 2 +-
> mm/internal.h | 4 ++
> mm/pagewalk.c | 98 ++++++++++++++++++++++++------------
> mm/ptdump.c | 3 +-
> 8 files changed, 82 insertions(+), 46 deletions(-)
>

Acked-by: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>

Thanks.




Return-Path: <linux-kernel+bounces-674094-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2851B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:14:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 850017A78C7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:13:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 318A51F4176;
Thu, 5 Jun 2025 06:14:21 +0000 (UTC)
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA75B1EDA0F;
Thu, 5 Jun 2025 06:14:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.7
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104060; cv=none; b=P5m7koeE2fg/RM4Uc3IROkFPLKtOVLo0yJdoFg+y+g0EGPfGVNELBj2cAX5VtGjPw55wTZztQKEgDyc9uOUoSe+8WGpC1M0Cm1QpzQqG2r/8pk/In2nhYsH/WkNrylcYvYh8bX2wXcnJUu5xv32sug8TN7wU3DZjZ9UAfAQTc5Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104060; c=relaxed/simple;
bh=WK1uYtCdUzd5l0mC8bzQZUF7PXGq08d44yHsN/8HCLc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=mhJgwiNCNitKElNWMI9+jmQ9qhJuN5NZliRaMZ3DIaE3t2ideZJ4spMCYjpUWEgSFXXq6FTTm9o+G4ofEGC9A5vA25eJV0gskt7S3uG7BaT+DNhXVsIeuAMaCFNBbJ3htBKpPHF5XxmXTYI90tBQ+NfiaIEduu/ZhnJCEBXdrWs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org; spf=fail smtp.mailfrom=kernel.org; arc=none smtp.client-ip=192.198.163.7
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=kernel.org
X-CSE-ConnectionGUID: 1n5lKT+DSraNJZE2/wANsw==
X-CSE-MsgGUID: AyqsUD6uTxKYFKaiv0VMLQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="76607023"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="76607023"
Received: from orviesa004.jf.intel.com ([10.64.159.144])
by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:14:18 -0700
X-CSE-ConnectionGUID: vvAIuT6kSUGphIbpdKBDJg==
X-CSE-MsgGUID: IVqj2cBGRHOjIp+Qn4xs1Q==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="150424887"
Received: from smile.fi.intel.com ([10.237.72.52])
by orviesa004.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:14:14 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andy@xxxxxxxxxx>)
id 1uN3rf-00000003mKD-097C;
Thu, 05 Jun 2025 09:14:11 +0300
Date: Thu, 5 Jun 2025 09:14:10 +0300
From: Andy Shevchenko <andy@xxxxxxxxxx>
To: Jonathan Santos <Jonathan.Santos@xxxxxxxxxx>
Cc: linux-iio@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
nuno.sa@xxxxxxxxxx, Michael.Hennerich@xxxxxxxxxx,
marcelo.schmitt@xxxxxxxxxx, jic23@xxxxxxxxxx, robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx, conor+dt@xxxxxxxxxx, marcelo.schmitt1@xxxxxxxxx,
linus.walleij@xxxxxxxxxx, brgl@xxxxxxxx, lgirdwood@xxxxxxxxx,
broonie@xxxxxxxxxx, jonath4nns@xxxxxxxxx, dlechner@xxxxxxxxxxxx
Subject: Re: [PATCH v10 12/12] iio: adc: ad7768-1: add low pass -3dB cutoff
attribute
Message-ID: <aEE1sjgMHa2sW5-X@xxxxxxxxxxxxxxxxxx>
References: <cover.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
<e53b113a7edfa8fbe68fd6a45503f2250e264808.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <e53b113a7edfa8fbe68fd6a45503f2250e264808.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 04:37:49PM -0300, Jonathan Santos wrote:
> Ad7768-1 has a different -3db frequency multiplier depending on
> the filter type configured. The cutoff frequency also varies according
> to the current ODR.
>
> Add a readonly low pass -3dB frequency cutoff attribute to clarify to
> the user which bandwidth is being allowed depending on the filter
> configurations.

...

> +/*
> + * -3dB cutoff frequency multipliers (relative to ODR) for
> + * each filter type. Values are multiplied by 1000.

Instead of the second sentence in the comments...

> + */
> +static const int ad7768_filter_3db_odr_multiplier[] = {
> + [AD7768_FILTER_SINC5] = 204,

...just add a comment on each line

[AD7768_FILTER_SINC5] = 204, /* 0.204 */

> + [AD7768_FILTER_SINC3] = 262,
> + [AD7768_FILTER_SINC3_REJ60] = 262,
> + [AD7768_FILTER_WIDEBAND] = 433,
> +};

At least to me it will look much better as it immediately gives the actual
(float) value in accordance to the datasheet, right?

...

> case IIO_CHAN_INFO_OVERSAMPLING_RATIO:
> *val = st->oversampling_ratio;
>
> + return IIO_VAL_INT;
> +
> + case IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY:
> + temp = st->samp_freq * ad7768_filter_3db_odr_multiplier[st->filter_type];
> + *val = DIV_ROUND_CLOSEST(temp, 1000);
> +
> return IIO_VAL_INT;

Just wondering if you are using --histogram diff algo when preparing the
patches to send. If not, please do. (The above suggests that you don't use
or in unlike event that algo can't really catch the same return line in
different blocks.)

--
With Best Regards,
Andy Shevchenko




Return-Path: <linux-kernel+bounces-674095-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 86E5641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:15:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8FAF23AB63F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:14:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EDE491F5617;
Thu, 5 Jun 2025 06:15:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="fR+SElK0"
Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43])
(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 728F21F2C44
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104109; cv=none; b=aauS/DRgFH6zcAzLoDYtkQTIAGkgLvaSaZazLjK2dk9HHFKcDZQjYHVG/84ZcoRZFqTi9nWgGscA6DNnjDpZHtburHpIrQJ9XVuFAVsErGYD9o3jZoTaQjI3BbgJU2Oftb+/C+WGJPEdl7fr42hnU8wKF5D+Z7t/MxXnvlQY46g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104109; c=relaxed/simple;
bh=5i7+RsVOCq4JG6AwAlf/qvPA4TN75OLrYIXjlJcGIwc=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=mtKOLf+3JQwqUahqJ8HNEKH7qEawkDMdXuvbw0/lgvLfrZAyGVuoSWtNyDYuubLxaZwvJFJRPEvif1YcCvSknRwOm+onPjdCTVwsyUTXkdKyo9JnzTGFw0loiCepfrxC3wsLiM0kX47hOKp0IpOVM2TvDcXr4yQJkvx1o8fKKs4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=fR+SElK0; arc=none smtp.client-ip=209.85.216.43
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-31329098ae8so494090a91.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104106; x=1749708906; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=IYCdKhY8aW9URe8Blmx5TcE5ZqYHha77HAw4jeob92E=;
b=fR+SElK0+TvZ25dEdIXaaFxma5pusCuX2q14ua5qsx4sq9DiTrnqn9/FloQNT2HMEK
yt9cWnkQU9r9VPOvhqn9pjMlDkpeha8INZHVJZnS2M6lxcUDnA9XtFWVoddZcUak67PU
CWC/2pmYacFo7+bkmeA2P7Vc7b4FkKDOp6l0iBXQwxntnDUUvjLbIjf8RPDdlqGLRPIS
MpAnCcIvZWok1NgRxSeQi1GOUitXu57MP8ND/dLMSwFT3/Gt0s/WtND29qLScN+Jlgrz
5BFII5wnmxPQAj1ShOHLOV+mIuvA/UNHarvvxICwfo5PuAyKmto8Qj0tohr/qm0PB0G0
zwIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104106; x=1749708906;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=IYCdKhY8aW9URe8Blmx5TcE5ZqYHha77HAw4jeob92E=;
b=QivxRMZlqa3//xarEJFH18JRiM/U3vvXG50unBG3eQO5gZrrPfV/eHpv9XUxMgIB0y
bFaR73IJ1ontqQtOkLz9pnE0skYtQHvIwD16NRK3xATFNaRdFhXHg6qpuyt8nx21X6Cl
rMSBoSclYhtvniUW6oIDU52wvk6+noWwVjbO3Mw7Xu8avyJl9LMdPSUE2LOA3qCxKCdR
TQWMTskN5HHmvRPzYRenzRHpO834yd0fz1lp2xdUXq2yifsKRYEi/2fWAI4ZCjEJW6MQ
XXMf9GPROsC6SLailBRqfFeEGQTjV9dfA/pb73qYbNVFTXxT2OjQTrI94q3eo7HqA1w+
o6HQ==
X-Forwarded-Encrypted: i=1; AJvYcCWhVsLt0q7+aQBF7WQoFgjLAvgHi/sAwSn194Oou3oOln5Q54tHVKRPrprADQh+gKNDCAVPRcE1QcJv7vo=@vger.kernel.org
X-Gm-Message-State: AOJu0YxGe+KJzqvF+V47HGu4J8s1ESYgPlojS6aoODyaz8juvAFlStGC
GuT/G6/gRxUGwMJigFI1pRMlfcQ7iox5BBx9rP7IDRGQGdQob8ema2+WAGP9V3307EQ=
X-Gm-Gg: ASbGnctqH8z95ewIYx26CGCNOQbpkyt1XT5e9ed8eP4Ycqebs5ENOJ0GccQ63QCoix0
g2lGrRycV3XvUF0jB8PdrBsh3/RJUIiKrbyZWJL4AbweVScXs6mZ9ZnbZKxl1Aksyn8cXnFPDFC
+q1BK0kTFcEXnfU8W8lyID3FQUrCGUHekLPtHLna1Ptr25gsaGdvP/+w5m4k3GNH6tBNeZSqDn+
byiIRxyahkSbsMsSeXjVusAf8c8jLGeXR3TzlgrulfaFgohyZ+kCpVK2YWB0MKHrBqOqVYZT6Mf
gxKwtBFoVCWI6pSzJ8zsS7gm9QeatX9GiJzLRAGBYX3sLTbHwUSx2SjUXa/RTpElaBh37WhIZpP
wbqgRtQ==
X-Google-Smtp-Source: AGHT+IEERT0Tj/0eAgp/ef6xa8y7k+Vq1PulNXuIhfC0x9NWeX6p07jWalxiSI7B9LR8eu0ziMDdUA==
X-Received: by 2002:a17:90b:1d07:b0:310:8d4a:4a97 with SMTP id 98e67ed59e1d1-3132903824dmr3193484a91.15.1749104105532;
Wed, 04 Jun 2025 23:15:05 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.01
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:04 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 00/13] MMU related improvements for KVM RISC-V
Date: Thu, 5 Jun 2025 11:44:45 +0530
Message-ID: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

This series primarily has various MMU improvements for KVM RISC-V
and it also serves as a preparatory series for the upcoming nested
virtualization support.

PATCH1 to PATCH2: SBI spec related fixes in SBI RFENCE extension
PATCH3 to PATCH6: Few cosmetic improvements
PATCH7 to PATCH8: TLB maintenance related improvements
PATCH9 to PATCH13: MMU related preparatory work for nested virtualization

These patches can also be found in the riscv_kvm_mmu_imp_v1 branch
at: https://github.com/avpatel/linux.git

Anup Patel (13):
RISC-V: KVM: Fix the size parameter check in SBI SFENCE calls
RISC-V: KVM: Don't treat SBI HFENCE calls as NOPs
RISC-V: KVM: Check kvm_riscv_vcpu_alloc_vector_context() return value
RISC-V: KVM: Drop the return value of kvm_riscv_vcpu_aia_init()
RISC-V: KVM: Rename and move kvm_riscv_local_tlb_sanitize()
RISC-V: KVM: Replace KVM_REQ_HFENCE_GVMA_VMID_ALL with
KVM_REQ_TLB_FLUSH
RISC-V: KVM: Don't flush TLB in gstage_set_pte() when PTE is unchanged
RISC-V: KVM: Implement kvm_arch_flush_remote_tlbs_range()
RISC-V: KVM: Factor-out MMU related declarations into separate headers
RISC-V: KVM: Introduce struct kvm_gstage_mapping
RISC-V: KVM: Add vmid field to struct kvm_riscv_hfence
RISC-V: KVM: Factor-out g-stage page table management
RISC-V: KVM: Pass VMID as parameter to kvm_riscv_hfence_xyz() APIs

arch/riscv/include/asm/kvm_aia.h | 2 +-
arch/riscv/include/asm/kvm_gstage.h | 72 ++++
arch/riscv/include/asm/kvm_host.h | 103 +-----
arch/riscv/include/asm/kvm_mmu.h | 21 ++
arch/riscv/include/asm/kvm_tlb.h | 84 +++++
arch/riscv/include/asm/kvm_vmid.h | 27 ++
arch/riscv/kvm/Makefile | 1 +
arch/riscv/kvm/aia_device.c | 6 +-
arch/riscv/kvm/aia_imsic.c | 12 +-
arch/riscv/kvm/gstage.c | 336 +++++++++++++++++++
arch/riscv/kvm/main.c | 3 +-
arch/riscv/kvm/mmu.c | 499 ++++++----------------------
arch/riscv/kvm/tlb.c | 110 +++---
arch/riscv/kvm/vcpu.c | 27 +-
arch/riscv/kvm/vcpu_exit.c | 7 +-
arch/riscv/kvm/vcpu_sbi_replace.c | 25 +-
arch/riscv/kvm/vcpu_sbi_v01.c | 25 +-
arch/riscv/kvm/vm.c | 7 +-
arch/riscv/kvm/vmid.c | 25 ++
19 files changed, 791 insertions(+), 601 deletions(-)
create mode 100644 arch/riscv/include/asm/kvm_gstage.h
create mode 100644 arch/riscv/include/asm/kvm_mmu.h
create mode 100644 arch/riscv/include/asm/kvm_tlb.h
create mode 100644 arch/riscv/include/asm/kvm_vmid.h
create mode 100644 arch/riscv/kvm/gstage.c

--
2.43.0



Return-Path: <linux-kernel+bounces-674097-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 522A641E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:15:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id AEE67188F005
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 48E141FC0FC;
Thu, 5 Jun 2025 06:15:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="HQMiZLzv"
Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42])
(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 1B639157A6B
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104115; cv=none; b=HJnbQLujV+ji7Nt9c87VGGMFEj7t88bZPBv8aGk91elV4CSltTJwV0j5mjkrD9Zvu05nGZtBrVYTvzJuCDveekZiEyJcDmkx8uHM70LA9s+OeW+/DENTNZ/hqOtUg3Agp5zK4aVOCfk5G1lA+xE6ldMJ4g3ezq0bvCpmSRfUoHM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104115; c=relaxed/simple;
bh=woPsQAQ8aD5eXj0e0btcPjRxg9lkePKpxbumcqyxfL8=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=teVChwLZlsJ0tgMJmLgsD31o43UzwvQDAqUL/qnvD0hY8YuinAzZiisX9oXzZyaCs26yDEtX4mYSFOuoHtLeMkF+yQJXWkiCXDDbvJsolLSYhg4uI9NOiX+jB/LvipXH/Ccxp/o+skJzXUwe87uP3ZSF7zlYjiVfnyifl8VkzqU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=HQMiZLzv; arc=none smtp.client-ip=209.85.216.42
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-306bf444ba2so566845a91.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104113; x=1749708913; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=Z6EY1voNzcSK9ojB16bH1YicliuGIt5A/zH/wdqEteM=;
b=HQMiZLzvOlXsupNKAvH/OVWXXbToYao3hUldDJs2IBQHuAXs/Fuq0Wq2rh/V1pAHit
fRP9hBEEEhe/C74RlQurjfnuPIc3v002vt/sbaLHJH+UKGv7LvqZJ1bloFoASdg1A+ym
inQ3uVXUIOpm8/ue9KFyFwuwSv9sDdBV5OJmImXt3/HL1br1SVpWZcR+U10vW5kLbVfX
biFqiBN2mn3ndborCkXGERy5oCpWIiZNcdu9BYVrYdFEjuCnYtQpp0pIhAMPiMA+jZFd
lvz8F0v5GOQzrikSq1IRQdyrlnA+cEs5E6SscWW+boIxqF7l9o1INaoeosUCvjXCL0ov
ODiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104113; x=1749708913;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=Z6EY1voNzcSK9ojB16bH1YicliuGIt5A/zH/wdqEteM=;
b=YX0OapScpex1UWAkmptbqeODcREd2RBx773cot9OIyc8TxKEMl7jWsCI824bdR0j4Y
BXMcARj6QNGNG59eywTDn5a6A6SVszgd9QgTO/x1E2wQ/hyL7YjOCFnoUBdem9bFmYeT
/0jpVKYdOGU49LZr1uAqYfrMAnP/3sWs32+Xf5YZyzu18NDXDogn1Mpvd7hdEygR6CJX
2BdnNrHeSBxARnxiFuKeyHbsskanCpdLrpZpI4fUIzpuh+bTQdTZ3xlh8eyI1B9hkOvn
jAqJGpZG18gVm4Kj6YfnODzc0PhFH0cE9MnlNWxPT2tm1F46g3cQeYp1q6BvepOZUG4Z
CiNw==
X-Forwarded-Encrypted: i=1; AJvYcCX/WUQ+Lq+p9JpwZBB0VsnbldMHCOJdV2d9ngcjzMx8GiQK2zlTWH13tJU0Yqkkgaf//rLUT/MEHIItI3w=@vger.kernel.org
X-Gm-Message-State: AOJu0Yzx8Sm6nK767mlxDR5vqsiYhbfX5LtI/v9eJK9C42RyKTx49TE7
MCm8gvjLoYKaD8g0ta1yxAiQ54XCU7hKbGthge/Q/kB4QCWGG4g/u0Oa28TcH15hFus=
X-Gm-Gg: ASbGncuOfjOciTmjx1vgEuZcnKns6sg/dODWRJRqvusg6sPUU6FQiDyMdap1hrwvjr8
z6S2AkGXmi8h/CGpW+cdNeIQsNYj9fVPZmIekagbAxdHFX5CIZecVqWFXvs1UtCGPNY8ob5KCrF
3VtMmfcCVy4YJS0IMD2HEuwC0pl9tib25jo1/vNJOfCwGFHd25WEp8oCWMZqZGqVS/0pakPn4ql
DF6/yCGUiMftOm9n09P3WUo7+fcwlsI8djyHDz9Q0QBc2CjAR9KSzMgBDYs2V5HTalNLbkLRUC4
HrRb9yZRJ+PeBEX2Tr4wIbZzWIbf15TiHEbFZbM84iotgito+mRRXJrOMFPs4DBEIxyIgjDpvr4
+hCZn6fFQY7YV0ORo
X-Google-Smtp-Source: AGHT+IFFxi4gniZBsMh1uNNeEYBLb4/KPrhz9tn6tI1ZmsRYmgudY+gvcTjARMukQYkeSUEQVSE1LA==
X-Received: by 2002:a17:90b:164b:b0:312:959:dc42 with SMTP id 98e67ed59e1d1-3130cd15a69mr8793286a91.11.1749104113144;
Wed, 04 Jun 2025 23:15:13 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.09
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:12 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 02/13] RISC-V: KVM: Don't treat SBI HFENCE calls as NOPs
Date: Thu, 5 Jun 2025 11:44:47 +0530
Message-ID: <20250605061458.196003-3-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The SBI specification clearly states that SBI HFENCE calls should
return SBI_ERR_NOT_SUPPORTED when one of the target hart doesn’t
support hypervisor extension (aka nested virtualization in-case
of KVM RISC-V).

Fixes: c7fa3c48de86 ("RISC-V: KVM: Treat SBI HFENCE calls as NOPs")
Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/kvm/vcpu_sbi_replace.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/riscv/kvm/vcpu_sbi_replace.c b/arch/riscv/kvm/vcpu_sbi_replace.c
index 9752d2ffff68..b17fad091bab 100644
--- a/arch/riscv/kvm/vcpu_sbi_replace.c
+++ b/arch/riscv/kvm/vcpu_sbi_replace.c
@@ -127,9 +127,9 @@ static int kvm_sbi_ext_rfence_handler(struct kvm_vcpu *vcpu, struct kvm_run *run
case SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID:
/*
* Until nested virtualization is implemented, the
- * SBI HFENCE calls should be treated as NOPs
+ * SBI HFENCE calls should return not supported
+ * hence fallthrough.
*/
- break;
default:
retdata->err_val = SBI_ERR_NOT_SUPPORTED;
}
--
2.43.0



Return-Path: <linux-kernel+bounces-674096-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2E29741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:15:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 263FA7AA627
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:14:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C0A331F8676;
Thu, 5 Jun 2025 06:15:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="l4bA4+qY"
Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53])
(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 4AC251465A5
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104115; cv=none; b=TOl2YsEVMc4Q3Pbp9a5s3OdWCht+eebL05muOpoV2Gc3hkxVmBpxuezCL6CX+qUH4sVAnLz947KbCmbcplR+KYM2b5unIyxiABm7c900ba42dB99Co30zX8ihydOuqyCAnBAkWEK4dKU+Y5B8H5k6HstsWIR+NeJ5YE1kg1+5uw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104115; c=relaxed/simple;
bh=nvXXcrrM+yiGZgmItj7EWeNmKUo3VFTr1hB5yq1cosQ=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=n4bHsjpgtA3AjtDWp2W7Fm8Pq5KM3ELNYqYJQrztFTmxwfzVMCr60kaKpNCEUSpQJZR58soD0wpUpt+6EikmG9i6WOc0b4DCth+auucGCp4oMRzg4CP5IommNZxlF+618FkoiUHZV3ACcq0qEJlNgLZWJthkQr/T9OuuziznvW8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=l4bA4+qY; arc=none smtp.client-ip=209.85.216.53
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-311ef4fb43dso501200a91.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104109; x=1749708909; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=m/Iwx8NoDTniX1jxmQ6HvQXY8SuCaJi4qXxXEsxBkb4=;
b=l4bA4+qYBkwW6/PsdkIoOtg04m4GEWjerAWvd/U5a8ct16ijZy4+nhfiUDe7nGnMOj
SYIBdcjK+DQoAynNcSIDM7W9/OeuF7/P0Uvt+y8OAbqNqAJBx7+QOtUXFkFnuc+KMXz7
e/aLxlwJ163TIYO1dHQGrV2oDXar1el+1uGxB05akjDGi0d2SCg4035RHAJh5ZfcNsZl
BdTfK/3P+vtKuARLYICveMfPH++Uu3v6pm8K8/UQQ5eRHTlzfSb++j89En1T2PGA6ZNT
cY30MyrmU3AS14zJNnJrY/dNZm4mpwY47U6x21SubIhz8fse7gpVHgNLSdiHttUsm1jG
thUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104109; x=1749708909;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=m/Iwx8NoDTniX1jxmQ6HvQXY8SuCaJi4qXxXEsxBkb4=;
b=w39N9PmcszbZRcvqxZUXh6GquKyurSuSNyklUOX08zaosg8bxCpZO2PjYPpozYDMhe
IsKSwS6ZBAIQCRntH2ziVFicktajvlom7r/u0/wE3PQCX5l0W3uXghI5XwuxWpPSlZnw
LS2+6AWh7AJZ9kNWfX1+qtGfmqDtOa3kklaxVEk2alRe8AmzXMIgz3Qwvu9jBh6owoHa
44Alf1b9Ud8JbVq1N9KvAy83v8XbX9bi9Kol5UsWiNVbkXDqjaponOYU4C37z3v+7Clt
okSm76cpIU03DkmfLhrNxaRcWX1x2aX85TND9GtALLGYBt33Qs4PgO9DcDHSoy33YbkE
CUqg==
X-Forwarded-Encrypted: i=1; AJvYcCXn11NY4t2tSDplKFBqdesTtpMAMKA1vwukdMLQfcMAXvmKuq9wVFJ5/zwjZR0DPf3UC/jA+0Cj1E24bzg=@vger.kernel.org
X-Gm-Message-State: AOJu0YysA0qtK5iU+nk9y0J0vQLtQqCFRC2puC3V/9CbwtjtklGhEU9B
dlVpRst53WHxq2UGty/vNhuRUpJQxTH6Qvf3EK3CwBcZ4S6rSxTdL8raZeRMURn5NXk=
X-Gm-Gg: ASbGnctd5jy37E1z1iAOSoEAfC84V0/E/0M68oCmi9lrBY4wLnzGr6ySigIHrghWPVp
v8w3G7avBcBj3uOlisgKgzquEzhbWwdXEjPXeAhAKRaM90K3BelfCMnbtb6KFyvXp5Ccstd1XfY
O+2/KNnEZM4i4E/N2FdRxFy7bnVDlJJDhsF4N/l39ddhBoG9tArGzJ4VEan47bo5Th3FaBkmCeZ
kJv3C0XhIIR4M1TwGsJ4zJQq5Hc575pTV9XrmGLe9YBbw/YaJHcewPUsyJzVmsdHam3HOv/plU8
f/U7MSJL2v2ipsroijKaOB415/Qf+9wexoRi34BiUlNgn/N7XP3XWhUyHCR7m36Bt2ouTVwbrwg
MC2cwcXY+zScEayjf
X-Google-Smtp-Source: AGHT+IE5uPZLOAhVuqWaFE8UdeKOXIRbJ0H8KWIVX2JV+WCepOe45QIRWAIT5GZJ2vN2n4ZWB/B3YQ==
X-Received: by 2002:a17:90b:4ccb:b0:312:f0d0:bc4 with SMTP id 98e67ed59e1d1-3130ccf5055mr7616893a91.5.1749104109337;
Wed, 04 Jun 2025 23:15:09 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.05
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:08 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 01/13] RISC-V: KVM: Fix the size parameter check in SBI SFENCE calls
Date: Thu, 5 Jun 2025 11:44:46 +0530
Message-ID: <20250605061458.196003-2-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

As-per the SBI specification, an SBI remote fence operation applies
to the entire address space if either:
1) start_addr and size are both 0
2) size is equal to 2^XLEN-1

>From the above, only #1 is checked by SBI SFENCE calls so fix the
size parameter check in SBI SFENCE calls to cover #2 as well.

Fixes: 13acfec2dbcc ("RISC-V: KVM: Add remote HFENCE functions based on VCPU requests")
Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/kvm/vcpu_sbi_replace.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/riscv/kvm/vcpu_sbi_replace.c b/arch/riscv/kvm/vcpu_sbi_replace.c
index 5fbf3f94f1e8..9752d2ffff68 100644
--- a/arch/riscv/kvm/vcpu_sbi_replace.c
+++ b/arch/riscv/kvm/vcpu_sbi_replace.c
@@ -103,7 +103,7 @@ static int kvm_sbi_ext_rfence_handler(struct kvm_vcpu *vcpu, struct kvm_run *run
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_FENCE_I_SENT);
break;
case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA:
- if (cp->a2 == 0 && cp->a3 == 0)
+ if ((cp->a2 == 0 && cp->a3 == 0) || cp->a3 == -1UL)
kvm_riscv_hfence_vvma_all(vcpu->kvm, hbase, hmask);
else
kvm_riscv_hfence_vvma_gva(vcpu->kvm, hbase, hmask,
@@ -111,7 +111,7 @@ static int kvm_sbi_ext_rfence_handler(struct kvm_vcpu *vcpu, struct kvm_run *run
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_HFENCE_VVMA_SENT);
break;
case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID:
- if (cp->a2 == 0 && cp->a3 == 0)
+ if ((cp->a2 == 0 && cp->a3 == 0) || cp->a3 == -1UL)
kvm_riscv_hfence_vvma_asid_all(vcpu->kvm,
hbase, hmask, cp->a4);
else
--
2.43.0



Return-Path: <linux-kernel+bounces-674098-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4D29841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:16:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 223141899639
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:16:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D1C35201261;
Thu, 5 Jun 2025 06:15:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="Vilb6tQy"
Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46])
(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 B821E1FF1C9
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104119; cv=none; b=T6/P0/tKpvuBkaj3sMRqzz1rRby/FXMvyyWcCwgdBI97IKrLR71JbiuBmnDAQH+8S72uXvImCYXG0UxGqqcBNnyDxhq9neyeAYJfUIRpwhXc2zdpHoKJ51hSVag+eJ3DPQPbtd2X1NPOhaBS8+zJVvxP/Waij62w12nWaBNH4+I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104119; c=relaxed/simple;
bh=mRQoz8hGC8K4ob6BUuQVFp4blnARaI6s2Lx2a7QTqbA=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=WtbXVeN6ChfkKyYFKXEpk6PWO6nV0TVGDnG3e6eRMmAitOAL2T9Jq+fUTC1dYJNHEY1Kle6tbBmpJPxiMhbeTtxPAjGKYJgM80VDXevNhC4N4ZLVU5dkzLYf/kVtxVCsGNaPaLKtq5WPFdUAlF6HcviOmBIoGXnE6ZhvDMIdac8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=Vilb6tQy; arc=none smtp.client-ip=209.85.216.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-30e5430ed0bso651603a91.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104117; x=1749708917; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=pY/L4bm+P9Rr6i37e8lfQjnEvic7ox3vmCP9UKIlwY4=;
b=Vilb6tQyxWLFKZiVdZu43u1i2/TFgpZ2bXh+gm3IWmIP+h2XH1LTsVRcr4CplrSeaG
oqZz+camKuqd70VtAZQE30zU7qzpkR7eAi2+REFSiA6HFfy6tGyIzPflgUj3BbS4TOzz
imYMsj6fhs8s951gsYzM8d8SYAnvdlzmDbe4IebwCrj2L8ZjLH4l1E4fDoMIGfKFCWTO
jvAeO6w7iUvMsDdvg306hVJUX1C8Ssqz2+4UdUPVnghkuTMiP+D7N2fAVPbzukBLhLCa
H5sb3+rklHdv8gaoSZQ13eCsZidbN8oyL9kO7qkHwdDyitsTkwS5WiYbFnXd/Am4VY++
Tmeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104117; x=1749708917;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=pY/L4bm+P9Rr6i37e8lfQjnEvic7ox3vmCP9UKIlwY4=;
b=pI4E/JigKrzmNiBmZIBZ1+SI438XTB1pG7BJPsY7avLJKbQpIPekhvE8Sw9X8Qq2Wt
eYo1Phwd2gpK1KxPMGvTZFtpNOnJc8XuTfyK1yDZPQJ1293T0zkIlMv3NgDPRexpfVlE
tuJindna3s4ClLKRFL5Gci8IxZNcz8+Exo/55lN7obfHzjp3Qu/I3FWiyGkbNCIvEbgV
Roi1pCuKaiLTD0Pw6LjXrGw8oDSe+ujieWK8Xxgk0zouiR1Eth2nzl8l41ZQZx4DhvAe
x/8JpnvfbPdN9sR2QBVPFYu989aQJoXwqkR+LMORjtaEMqylN7GLaFzCNxvdHlH8v8Qf
rLZg==
X-Forwarded-Encrypted: i=1; AJvYcCWNRx8WrhHE5GieArAVIAZR6OaHUFxhx0zA6h9RHEJ88po4t/GzJn22quxreyOZhVdl/WC63iuRmi0U/tk=@vger.kernel.org
X-Gm-Message-State: AOJu0YwiqgpI/hbRwKumjNSzKx/d1jdJ78wk5gc6mrCXm9IjU+gOZqWY
npo7c5/rlmZ4DIpZlfjwzaBKyl5Wh5rB7zE2jC1IXsdKThZgP4NLPGLM9AreeHgxqHM=
X-Gm-Gg: ASbGncu/fyssNMifzmmLRc9s0A8F5TzC5Awjjbh69wQmhR4eNH6gbmbqHfEjYBMcCsq
7UgAgoaKL0K+xd+pGtIbIo4KYlumaYJgOdfIvpTNtD3oj7PGvCgkrIfr7MRrzTXvboC4/FdmY/8
U6/maj7dsIvBfRMI3A+iMSTVPver60MgjJ0QCBeN0r2lztPlNK1hCAlM5sKtOXHADyTPy8VoyCy
hcGvA87MUfUO4Lzku72zzN/HHPFr35MqvLd8azAMQ8kBTP5/PTJFKrtp18mDzGs5VgUHgavMoXY
/ylD6mzjsxizlG+80MP4+T4XigmV2G/3+rdnIu0EQLjIkuDAIftkGJLZtUryBHyuJxTLuZanlox
NHIMf4HvGCh7UAmatq0QROzN9RA8=
X-Google-Smtp-Source: AGHT+IH+eTAD19cy9DJlja/MN5YACVJ9sgwSL2k4cnnE8LZ5kPurak1nzFsWixYBq+aRFevEKulw1A==
X-Received: by 2002:a17:90b:5587:b0:311:f99e:7f4b with SMTP id 98e67ed59e1d1-3130cd6d86bmr8229933a91.28.1749104116821;
Wed, 04 Jun 2025 23:15:16 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.13
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:16 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 03/13] RISC-V: KVM: Check kvm_riscv_vcpu_alloc_vector_context() return value
Date: Thu, 5 Jun 2025 11:44:48 +0530
Message-ID: <20250605061458.196003-4-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The kvm_riscv_vcpu_alloc_vector_context() does return an error code
upon failure so don't ignore this in kvm_arch_vcpu_create().

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/kvm/vcpu.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/riscv/kvm/vcpu.c b/arch/riscv/kvm/vcpu.c
index e0a01af426ff..6a1914b21ec3 100644
--- a/arch/riscv/kvm/vcpu.c
+++ b/arch/riscv/kvm/vcpu.c
@@ -148,8 +148,10 @@ int kvm_arch_vcpu_create(struct kvm_vcpu *vcpu)

spin_lock_init(&vcpu->arch.reset_state.lock);

- if (kvm_riscv_vcpu_alloc_vector_context(vcpu))
- return -ENOMEM;
+ /* Setup VCPU vector context */
+ rc = kvm_riscv_vcpu_alloc_vector_context(vcpu);
+ if (rc)
+ return rc;

/* Setup VCPU timer */
kvm_riscv_vcpu_timer_init(vcpu);
--
2.43.0



Return-Path: <linux-kernel+bounces-674099-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9695341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:16:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 3BC19189A291
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:16:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C110D204098;
Thu, 5 Jun 2025 06:15:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="djHsuOvx"
Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182])
(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 9D5B5202F83
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104123; cv=none; b=Q5mCUyGtHLEmCTOU/gMn8A3mS1LcTDNn1omUEb+2atlCL5nXdZjKVXNdiHOv6XjBYjjfrxurRu3D+2PsK6c2W/FmoyE0ovAY/DZkoRA4679K6Y1NW9pWQA2AB3caoMSvKXhQjoLRJtci8+zjCwH6t7p5H9oVNiCnf5MGbGcdY/U=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104123; c=relaxed/simple;
bh=BTmeW5tzGEJWz7QXNK5VYjyFPuMYNsjSNN0CCr2FXlE=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=Y971mzwnPPXGc03jUsdcYKw3VQf+8yudXm/w9yxOu0Xp1pyr1uU2Supv6V/u/6oTq5oRjtO0P6ekw54O657E3mZxlt3/Gc38EwrQXufWEWCCmUEQfBkdOq+UQzAyeN2JjvFZFmGfU0chCakG9XErxN6uTXDMsh6e2QqLAZuN7QI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=djHsuOvx; arc=none smtp.client-ip=209.85.214.182
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-234d366e5f2so7956585ad.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104121; x=1749708921; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=ete+JrWOt0QHSA4tomw5kPck/IlNBcpn3GaqoFoCnO0=;
b=djHsuOvxpGIZ+ixMEGXZjMe21zgGg2qe71dhpyU1DBpSap6Uun+H0QNir7ruy6hY7A
+70QmION/j/hVTkTdid2/UJkyVExSzm+OfZP6/ksbFA//x+8x23xcNXuafLgjaTH1JQq
tO0+ZGnKLXlRxH/eUt95bQYViYG4NZUz1m8SF2Y3VbY3hB3+otQqLTzcj2BS0AwGkzAq
yUWzeJHUH4m8nAqUET2Z8OF30misHWnpjKvYOgoX/q49VqL1qFKr2CVEevMd8IPHZWyL
d6MPpYIbrC7G0RV8ioqO9U6j8X0Y4HSEDq5fKO30BeXsfH4pq37MpinWPIv2Dr6M2+oq
yIpg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104121; x=1749708921;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=ete+JrWOt0QHSA4tomw5kPck/IlNBcpn3GaqoFoCnO0=;
b=BpYyXZxKdiuUZqwTMDHScOQEWGAcEi0ntuyPFA45tSZUj5uusT8nFq50NHqJgM9Gaq
n3o216gIlj5Zr7HysI69cPDLzCKJoNfMTeTH8gW1tfAvykYJtJR8cDlRbcO98FS1kXp3
sBikvaKSd/J0KwIjzvBxMTcwSlXxhv2INQFARUob9dhf8/ZoCXTyIS00Ml5/ssTAU9TO
/akiis70NoR1qLDEgdHSo8mormdo/zhOOublUvzHiHreRzQGxnT5nEkklHXSN1t6vRZY
xmxzp0frHBzZk8sWBHpWh+epSL6Uj5FaMSLcBTvK1lWzLYbUjpKfKQNzJni+IPbiicFi
tHYg==
X-Forwarded-Encrypted: i=1; AJvYcCVX/iaLmvdZhE9WmKlcWe+YTbauJgJknEpgWCvaOBi3WkE4ghmGNLxzA1ZBKlO65tzwfVYhUxcbD+6pQH0=@vger.kernel.org
X-Gm-Message-State: AOJu0Yz6MofLGiwC2udnKC2rw0LeGX5OA2Hg8ClJEMxv3mpClzNLdPIS
U3rLw/Iu1Pz32MbERa1IO6xpjwm5qIEcPY5HkWnPmk1rea9GF2aQErPqRhr5xPmqZo4=
X-Gm-Gg: ASbGncu2XbxoPphrCU2UfF7vSCmwT8PSEI1i1QwzGB89fqI1rXQusDH/RzH4zaig6df
IMJiWckIl8zYxYinLw2ZfqojV3HLhs/0Y8V3AmdFJAyEEimwdvJR1A+Ogcmhz3A0aSHvfUSAEzI
Mhx7C7ke0O8R5lneUpEDi7Lqhw8lzlKirtnJoCOQrgA4wgA5CttLF6a459xQkIqePVEZglG/X7B
TO/WzLYefNKFTfkzCChPFZ/8Hw9SyxqiO2fKg5JhAY0vBIe9eiQLb+Gkrjo63AFqdoKrcTX9/Pe
syF8QkrzChmLsey46yXluDao/pamK5aBvbCaI8XCDTZUdAJrGOFGzLa8sTmp1JghdMIZAdLri4q
G9t6D3g==
X-Google-Smtp-Source: AGHT+IH4OBU+MycjQPriNgZTJHSLbifpeWqdkPpUgu3tCEdkhvV1zsaXs7ozI9xOz34l1HXvk8nshQ==
X-Received: by 2002:a17:902:da8f:b0:235:f078:4733 with SMTP id d9443c01a7336-235f078524emr28994305ad.8.1749104120604;
Wed, 04 Jun 2025 23:15:20 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.17
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:20 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 04/13] RISC-V: KVM: Drop the return value of kvm_riscv_vcpu_aia_init()
Date: Thu, 5 Jun 2025 11:44:49 +0530
Message-ID: <20250605061458.196003-5-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The kvm_riscv_vcpu_aia_init() does not return any failure so drop
the return value which is always zero.

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/include/asm/kvm_aia.h | 2 +-
arch/riscv/kvm/aia_device.c | 6 ++----
arch/riscv/kvm/vcpu.c | 4 +---
3 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/arch/riscv/include/asm/kvm_aia.h b/arch/riscv/include/asm/kvm_aia.h
index 3b643b9efc07..0a0f12496f00 100644
--- a/arch/riscv/include/asm/kvm_aia.h
+++ b/arch/riscv/include/asm/kvm_aia.h
@@ -147,7 +147,7 @@ int kvm_riscv_vcpu_aia_rmw_ireg(struct kvm_vcpu *vcpu, unsigned int csr_num,

int kvm_riscv_vcpu_aia_update(struct kvm_vcpu *vcpu);
void kvm_riscv_vcpu_aia_reset(struct kvm_vcpu *vcpu);
-int kvm_riscv_vcpu_aia_init(struct kvm_vcpu *vcpu);
+void kvm_riscv_vcpu_aia_init(struct kvm_vcpu *vcpu);
void kvm_riscv_vcpu_aia_deinit(struct kvm_vcpu *vcpu);

int kvm_riscv_aia_inject_msi_by_id(struct kvm *kvm, u32 hart_index,
diff --git a/arch/riscv/kvm/aia_device.c b/arch/riscv/kvm/aia_device.c
index 43e472ff3e1a..5b7ed2d987db 100644
--- a/arch/riscv/kvm/aia_device.c
+++ b/arch/riscv/kvm/aia_device.c
@@ -539,12 +539,12 @@ void kvm_riscv_vcpu_aia_reset(struct kvm_vcpu *vcpu)
kvm_riscv_vcpu_aia_imsic_reset(vcpu);
}

-int kvm_riscv_vcpu_aia_init(struct kvm_vcpu *vcpu)
+void kvm_riscv_vcpu_aia_init(struct kvm_vcpu *vcpu)
{
struct kvm_vcpu_aia *vaia = &vcpu->arch.aia_context;

if (!kvm_riscv_aia_available())
- return 0;
+ return;

/*
* We don't do any memory allocations over here because these
@@ -556,8 +556,6 @@ int kvm_riscv_vcpu_aia_init(struct kvm_vcpu *vcpu)
/* Initialize default values in AIA vcpu context */
vaia->imsic_addr = KVM_RISCV_AIA_UNDEF_ADDR;
vaia->hart_index = vcpu->vcpu_idx;
-
- return 0;
}

void kvm_riscv_vcpu_aia_deinit(struct kvm_vcpu *vcpu)
diff --git a/arch/riscv/kvm/vcpu.c b/arch/riscv/kvm/vcpu.c
index 6a1914b21ec3..f98a1894d55b 100644
--- a/arch/riscv/kvm/vcpu.c
+++ b/arch/riscv/kvm/vcpu.c
@@ -160,9 +160,7 @@ int kvm_arch_vcpu_create(struct kvm_vcpu *vcpu)
kvm_riscv_vcpu_pmu_init(vcpu);

/* Setup VCPU AIA */
- rc = kvm_riscv_vcpu_aia_init(vcpu);
- if (rc)
- return rc;
+ kvm_riscv_vcpu_aia_init(vcpu);

/*
* Setup SBI extensions
--
2.43.0



Return-Path: <linux-kernel+bounces-674100-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 73CC441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:16:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7F1893AB680
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:16:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B0CC7207DEF;
Thu, 5 Jun 2025 06:15:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="Kh1ikOn/"
Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52])
(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 6434F1F4CB2
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.52
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104126; cv=none; b=Zd5sBUp75tbdnJbxj4k91NoQxjNpLEpYEmP6IWiK/3oDu/FwC99RFulT080ohsshHwAd1DTs85eYMRyJ/aTK49jd91Rbg77YYNEgOmMJQ0Hc031SpGXtBy3Vv1SK6p6pemuFA8UJsE7TkZg8j6MR2NlJa0kVc1cU9O4yK5n6bmI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104126; c=relaxed/simple;
bh=3XxQ3kIy1hzCopjlDYHh4FepN2dVMrVYgeQ9xSMlP70=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=SI5rlAbg31r3Zij79d/XYXAqHDvGF1I6Ab9qJXQjkS3+ySsPyA0ps6Eu2h+08iET71H6SD6yq5uPqvNVs2uvWy6inYnncJ3MImLts5DoMjFRFt+7AXsi9d6AgoiP6n2a7nhwVv9+VALJmG3ggI6D8Ok+bkaPohnlt16L52A9xkA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=Kh1ikOn/; arc=none smtp.client-ip=209.85.216.52
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-30e542e4187so492854a91.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104125; x=1749708925; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=g9lKrNhC1LriCt2AmMWJPIsLGEeoSE3sCtMNzfw5vMI=;
b=Kh1ikOn/hW8L9YIHiJvRtjdhjSQh9lMYpDWcwXhmeG/VXq3rxx9ZVOItyxXXvioH+1
CDQI9YX4aSmB/qQGIK+9avmSnNbuJst5515VrS7UjLZpvUteC+uUXvC9Cp5svza5nA3s
LCJq1yjW7H9deisWs0faIdWhaZMB/CSTtLixrLOdnsCPoHpkU/aa/ieTpI1HH102+6gJ
/mw6Ot7N8Ym6B3d5NHbkJP68buk98YRCHFQbYc9TUulDQlNbIJFFPAFFQUG8NZOJlQUf
Na7zng/e5mndlq+RPUDpj19m7JhCd6VCooD1vsENo+js0cDe4WD0pZChImVFQMCWeQTd
+HDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104125; x=1749708925;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=g9lKrNhC1LriCt2AmMWJPIsLGEeoSE3sCtMNzfw5vMI=;
b=RxV30PXa4xvqaXVIRfbttyFAnf5OhCvHlr2tZ/gtbF0H9s1SH+n/x3/klZZF4v6MgY
G+rPMNGe4tDBChNEc1xWpionOpFqQgpt71JYdXLo7gPvt65Me3BXIOSzingKRSHAHd13
ycidXVhar3ZolVIVn6xWy+LJ+v+lqfG5wTWCzMOrG8Qzkq9tudrdZIx884T1rYDttQD5
N3+Moh18nW9WtFdekNV4JsCx7UWfFacy7xriaj9sl4PYOcXFBzWnodLlIeFXV3l8Hg9r
SBOm2jkviStYFu6VkkWuO+6JBBqNiFapOOIKneWBNUwYVyTZFhLmEWCV2p32nRYQchs2
xBvA==
X-Forwarded-Encrypted: i=1; AJvYcCXaCZgFP+41Peh4BDBdbr9Zx1EWVPzAWeEOs1NtIocF88djmYy9paxB5TTUbZ57E29nEQxSvMoOGQ9n3qQ=@vger.kernel.org
X-Gm-Message-State: AOJu0YzQAQJXEQxi5akIe0iAaMYqpYiX9ojNZXMWq3ka1MWjBE7sCzM/
oWp2gbZ0zrodMxoXryHIm5GxTWbFtI76FFm2+/LLv5Fu2ra0StN/oPpIq4ISpLtdqxM=
X-Gm-Gg: ASbGnct8NCKVAGRNUVHxAehDOhPzH5FtzZYpE/Lzw+MlPpvN9ZJUmyTH4Nm089WA62Z
FxhH0woxXTlzH/OY8ivYLAj63K9gN4vWyw4UYQRXDoEHySNBHOxOTULfGOBydWsaACdhuBwu7d3
uZ7b+mPrzEOVpItmqA71K43YybJuHLveSdGP4ySdXLQefTu9rcx3UmCrgWb1G36Zolf3fVdKXBm
RimR5lbAzdIVSwg3klFOt5Rd2MqwSmBPRPpCw+iBOdyivVqV5fknZGKkmmyqDEYVFd7pA4am5iw
V1c4vSEqwtk9/uFBHEMxVTVKleEciBA3WTznwtrzz5gGHAEE1jEvSDJguQKW0RZxV5bWcC5Tgh5
+YDm1+WS5A/UPUFAi
X-Google-Smtp-Source: AGHT+IE/5a5zgQx+kk8SDVCqYIhLKXbR1w/+yPtxXvmHoTXBZp+TCtx5+O8hPK0X2ObUlWcFQP661w==
X-Received: by 2002:a17:90b:1d84:b0:312:1508:fb4d with SMTP id 98e67ed59e1d1-3130ce9fecfmr9750546a91.33.1749104124548;
Wed, 04 Jun 2025 23:15:24 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.20
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:23 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 05/13] RISC-V: KVM: Rename and move kvm_riscv_local_tlb_sanitize()
Date: Thu, 5 Jun 2025 11:44:50 +0530
Message-ID: <20250605061458.196003-6-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The kvm_riscv_local_tlb_sanitize() deals with sanitizing current
VMID related TLB mappings when a VCPU is moved from one host CPU
to another.

Let's move kvm_riscv_local_tlb_sanitize() to VMID management
sources and rename it to kvm_riscv_gstage_vmid_sanitize().

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/include/asm/kvm_host.h | 3 +--
arch/riscv/kvm/tlb.c | 23 -----------------------
arch/riscv/kvm/vcpu.c | 4 ++--
arch/riscv/kvm/vmid.c | 23 +++++++++++++++++++++++
4 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/arch/riscv/include/asm/kvm_host.h b/arch/riscv/include/asm/kvm_host.h
index 85cfebc32e4c..134adc30af52 100644
--- a/arch/riscv/include/asm/kvm_host.h
+++ b/arch/riscv/include/asm/kvm_host.h
@@ -327,8 +327,6 @@ void kvm_riscv_local_hfence_vvma_gva(unsigned long vmid,
unsigned long order);
void kvm_riscv_local_hfence_vvma_all(unsigned long vmid);

-void kvm_riscv_local_tlb_sanitize(struct kvm_vcpu *vcpu);
-
void kvm_riscv_fence_i_process(struct kvm_vcpu *vcpu);
void kvm_riscv_hfence_gvma_vmid_all_process(struct kvm_vcpu *vcpu);
void kvm_riscv_hfence_vvma_all_process(struct kvm_vcpu *vcpu);
@@ -376,6 +374,7 @@ unsigned long kvm_riscv_gstage_vmid_bits(void);
int kvm_riscv_gstage_vmid_init(struct kvm *kvm);
bool kvm_riscv_gstage_vmid_ver_changed(struct kvm_vmid *vmid);
void kvm_riscv_gstage_vmid_update(struct kvm_vcpu *vcpu);
+void kvm_riscv_gstage_vmid_sanitize(struct kvm_vcpu *vcpu);

int kvm_riscv_setup_default_irq_routing(struct kvm *kvm, u32 lines);

diff --git a/arch/riscv/kvm/tlb.c b/arch/riscv/kvm/tlb.c
index 2f91ea5f8493..b3461bfd9756 100644
--- a/arch/riscv/kvm/tlb.c
+++ b/arch/riscv/kvm/tlb.c
@@ -156,29 +156,6 @@ void kvm_riscv_local_hfence_vvma_all(unsigned long vmid)
csr_write(CSR_HGATP, hgatp);
}

-void kvm_riscv_local_tlb_sanitize(struct kvm_vcpu *vcpu)
-{
- unsigned long vmid;
-
- if (!kvm_riscv_gstage_vmid_bits() ||
- vcpu->arch.last_exit_cpu == vcpu->cpu)
- return;
-
- /*
- * On RISC-V platforms with hardware VMID support, we share same
- * VMID for all VCPUs of a particular Guest/VM. This means we might
- * have stale G-stage TLB entries on the current Host CPU due to
- * some other VCPU of the same Guest which ran previously on the
- * current Host CPU.
- *
- * To cleanup stale TLB entries, we simply flush all G-stage TLB
- * entries by VMID whenever underlying Host CPU changes for a VCPU.
- */
-
- vmid = READ_ONCE(vcpu->kvm->arch.vmid.vmid);
- kvm_riscv_local_hfence_gvma_vmid_all(vmid);
-}
-
void kvm_riscv_fence_i_process(struct kvm_vcpu *vcpu)
{
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_FENCE_I_RCVD);
diff --git a/arch/riscv/kvm/vcpu.c b/arch/riscv/kvm/vcpu.c
index f98a1894d55b..cc7d00bcf345 100644
--- a/arch/riscv/kvm/vcpu.c
+++ b/arch/riscv/kvm/vcpu.c
@@ -961,12 +961,12 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)
}

/*
- * Cleanup stale TLB enteries
+ * Sanitize VMID mappings cached (TLB) on current CPU
*
* Note: This should be done after G-stage VMID has been
* updated using kvm_riscv_gstage_vmid_ver_changed()
*/
- kvm_riscv_local_tlb_sanitize(vcpu);
+ kvm_riscv_gstage_vmid_sanitize(vcpu);

trace_kvm_entry(vcpu);

diff --git a/arch/riscv/kvm/vmid.c b/arch/riscv/kvm/vmid.c
index ddc98714ce8e..92c01255f86f 100644
--- a/arch/riscv/kvm/vmid.c
+++ b/arch/riscv/kvm/vmid.c
@@ -122,3 +122,26 @@ void kvm_riscv_gstage_vmid_update(struct kvm_vcpu *vcpu)
kvm_for_each_vcpu(i, v, vcpu->kvm)
kvm_make_request(KVM_REQ_UPDATE_HGATP, v);
}
+
+void kvm_riscv_gstage_vmid_sanitize(struct kvm_vcpu *vcpu)
+{
+ unsigned long vmid;
+
+ if (!kvm_riscv_gstage_vmid_bits() ||
+ vcpu->arch.last_exit_cpu == vcpu->cpu)
+ return;
+
+ /*
+ * On RISC-V platforms with hardware VMID support, we share same
+ * VMID for all VCPUs of a particular Guest/VM. This means we might
+ * have stale G-stage TLB entries on the current Host CPU due to
+ * some other VCPU of the same Guest which ran previously on the
+ * current Host CPU.
+ *
+ * To cleanup stale TLB entries, we simply flush all G-stage TLB
+ * entries by VMID whenever underlying Host CPU changes for a VCPU.
+ */
+
+ vmid = READ_ONCE(vcpu->kvm->arch.vmid.vmid);
+ kvm_riscv_local_hfence_gvma_vmid_all(vmid);
+}
--
2.43.0



Return-Path: <linux-kernel+bounces-674101-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AD96B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:17:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3F7A63A6646
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:16:32 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 64AB120C00D;
Thu, 5 Jun 2025 06:15:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="HTSk9tVC"
Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44])
(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 304681F9406
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104130; cv=none; b=GAEtJn9oRxhONHgguSJZbcILhp9PcRLxsVsX4Ew0qAtUUWpesxaTnu72cFqOfuOpdFnejoTu7OcbdBFun0WkigPeQwYbwApfoNr2kVF4biCQMYCJbP4UML1I6PMIuhSx8KsduZYklbAts8pFR0q2lZBAc0BfQVXnJQ5qoAGwt9Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104130; c=relaxed/simple;
bh=n+hVNyfTxOTl8t9HsAlkU/sRe5K71i50QL7DtkhI3a8=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=uqDRPqwNny/4i7oSP4aUeJEGbWxcbbY98yZDjxsCWwpH2fLtKFlWxV7wS3NQMzo4BMCccFBPFV5ghKPYauB/ReeqFOqkRU90kIQlCNumGFJjaENGsME1rpPswgVfXI1003ovSHdupp+KEd1V4vF5UvqWxl+tH4zlsGlVXC/PmrU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=HTSk9tVC; arc=none smtp.client-ip=209.85.216.44
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-312150900afso628443a91.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104128; x=1749708928; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=kfGplfZ+lMzzXGz+lH1cECvXBoEmz2/+/610R8byNic=;
b=HTSk9tVCIr2WlM3syf0Cy9+R7xP+bhP70jWuAcLQXeNEtW+UWCdzByWQVEl40nXn00
c5ssio1WRT5y0Yi1R4nZKH/wdqOQKXsnsDhMpfkzhloOtsWCVTrfqhHf8j8epkQSKTKm
iIgsCqeSaVGK2Ru0boWe7BJdDboqJ12a1Qmp/85LFMUaoDl85P2WpGSijV5lMUWMcfi4
l7rT++AEIz1mVJkHDP/kN6dJzunmN5QhBPnA75W+YU3/SRRx86JZuMnbD876mfTukARG
iH6iKw9gd4UtoICuwA9BD4OGwMqpp0MyIQiu0e2oYT0kXIfmp7uNKn7DEjrAf7k+E49K
hDRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104128; x=1749708928;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=kfGplfZ+lMzzXGz+lH1cECvXBoEmz2/+/610R8byNic=;
b=svg+wZfJSIbkvu2EuN6dO392LAqfLOOQ86r/NjxeprcuHA3UHKTvyy7LenFNOdwK7f
P4XYCuZklSQ91yDgR9QLc5t6f8Ev8LE9quh5nQhqRYkfXJv3l2MEAPFiJsofWxO/Mfp5
/LwnarTBSVabqvDl0RB1O+7px76RHBUBTU5dluvND0nGkIAgahQf6vLd/8zi1SBm50JF
oAotBInGxP+i5yZgeADVQzCFoiaF1RrCouGUjRI8E33WElNUmfVRnkc4qxh4zPSx9Kb/
PYTaB9ttgTh4GDRuolzATCM9HmyFAGjSFU8uIJWGKmn8JjC5XUSQ7MjQoCg/QZ1mWDjJ
5S/g==
X-Forwarded-Encrypted: i=1; AJvYcCUMEQFB1J1XMQQuKeUkxRnc4Kto9Yyh20nKsWn/uqgxUJdxDOXa3peWhglFSplgxguKLrVv3mKKCx/bQGI=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw+bhjuuZnstNAV4wGkr2X47hc+XJN+FS617l/Pc0KGCU7TYTUP
Jv03F4QH6ba9xJQ8osjnpSqfnAHVnIgrkUynIbp5cyMWjL7Lwi4mZU0d1sSIi5n9v+k=
X-Gm-Gg: ASbGncshVrNWfDBZR5eSNdzhGUDGXNKak5UeQzy1fTRfEXu5YOnR/2KC01WsOQz6ShS
3g0l7K+6Ee4Qs116i33xZ3oFS4N6fN/xKOb5je6ZaJ1sJbGhb1ut21/J3XuDaNRPbZxOEPIlo+m
UcsTN/hqvk/uRPld1vAEBmm1PYWQpHULsmgKdgnAQyDDdxG7ehKBdwhz5N7KjMNuCTU7ChpexxA
5Y/W5aZfmM+RHBY1B/UhMMAZuG57Mvoyf1wjU+DRdQrvDyNEM0ytYS43qcRB0hzrj4mnSELxQ3H
gjbDFspgm0Jzf/x9tslcnfdPZ7lIh7SRE6ORFw1ok5wJUwpxKqE1NsZfHvURtOZhYtJuSoBuZZX
cKDIrjw==
X-Google-Smtp-Source: AGHT+IE6sSz9BENpf7WiYfh4yg2SFV4ZB167RNBBbzwVLW1gNWfnra1do1zIt/5EOyVuGPon2+FyaA==
X-Received: by 2002:a17:90a:2d0:b0:313:14b5:2525 with SMTP id 98e67ed59e1d1-31314b532a1mr4987134a91.35.1749104128373;
Wed, 04 Jun 2025 23:15:28 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.24
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:27 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 06/13] RISC-V: KVM: Replace KVM_REQ_HFENCE_GVMA_VMID_ALL with KVM_REQ_TLB_FLUSH
Date: Thu, 5 Jun 2025 11:44:51 +0530
Message-ID: <20250605061458.196003-7-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The KVM_REQ_HFENCE_GVMA_VMID_ALL is same as KVM_REQ_TLB_FLUSH so
to avoid confusion let's replace KVM_REQ_HFENCE_GVMA_VMID_ALL with
KVM_REQ_TLB_FLUSH. Also, rename kvm_riscv_hfence_gvma_vmid_all_process()
to kvm_riscv_tlb_flush_process().

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/include/asm/kvm_host.h | 4 ++--
arch/riscv/kvm/tlb.c | 8 ++++----
arch/riscv/kvm/vcpu.c | 8 ++------
3 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/arch/riscv/include/asm/kvm_host.h b/arch/riscv/include/asm/kvm_host.h
index 134adc30af52..afaf25f2c5ab 100644
--- a/arch/riscv/include/asm/kvm_host.h
+++ b/arch/riscv/include/asm/kvm_host.h
@@ -36,7 +36,6 @@
#define KVM_REQ_UPDATE_HGATP KVM_ARCH_REQ(2)
#define KVM_REQ_FENCE_I \
KVM_ARCH_REQ_FLAGS(3, KVM_REQUEST_WAIT | KVM_REQUEST_NO_WAKEUP)
-#define KVM_REQ_HFENCE_GVMA_VMID_ALL KVM_REQ_TLB_FLUSH
#define KVM_REQ_HFENCE_VVMA_ALL \
KVM_ARCH_REQ_FLAGS(4, KVM_REQUEST_WAIT | KVM_REQUEST_NO_WAKEUP)
#define KVM_REQ_HFENCE \
@@ -327,8 +326,9 @@ void kvm_riscv_local_hfence_vvma_gva(unsigned long vmid,
unsigned long order);
void kvm_riscv_local_hfence_vvma_all(unsigned long vmid);

+void kvm_riscv_tlb_flush_process(struct kvm_vcpu *vcpu);
+
void kvm_riscv_fence_i_process(struct kvm_vcpu *vcpu);
-void kvm_riscv_hfence_gvma_vmid_all_process(struct kvm_vcpu *vcpu);
void kvm_riscv_hfence_vvma_all_process(struct kvm_vcpu *vcpu);
void kvm_riscv_hfence_process(struct kvm_vcpu *vcpu);

diff --git a/arch/riscv/kvm/tlb.c b/arch/riscv/kvm/tlb.c
index b3461bfd9756..da98ca801d31 100644
--- a/arch/riscv/kvm/tlb.c
+++ b/arch/riscv/kvm/tlb.c
@@ -162,7 +162,7 @@ void kvm_riscv_fence_i_process(struct kvm_vcpu *vcpu)
local_flush_icache_all();
}

-void kvm_riscv_hfence_gvma_vmid_all_process(struct kvm_vcpu *vcpu)
+void kvm_riscv_tlb_flush_process(struct kvm_vcpu *vcpu)
{
struct kvm_vmid *v = &vcpu->kvm->arch.vmid;
unsigned long vmid = READ_ONCE(v->vmid);
@@ -342,14 +342,14 @@ void kvm_riscv_hfence_gvma_vmid_gpa(struct kvm *kvm,
data.size = gpsz;
data.order = order;
make_xfence_request(kvm, hbase, hmask, KVM_REQ_HFENCE,
- KVM_REQ_HFENCE_GVMA_VMID_ALL, &data);
+ KVM_REQ_TLB_FLUSH, &data);
}

void kvm_riscv_hfence_gvma_vmid_all(struct kvm *kvm,
unsigned long hbase, unsigned long hmask)
{
- make_xfence_request(kvm, hbase, hmask, KVM_REQ_HFENCE_GVMA_VMID_ALL,
- KVM_REQ_HFENCE_GVMA_VMID_ALL, NULL);
+ make_xfence_request(kvm, hbase, hmask, KVM_REQ_TLB_FLUSH,
+ KVM_REQ_TLB_FLUSH, NULL);
}

void kvm_riscv_hfence_vvma_asid_gva(struct kvm *kvm,
diff --git a/arch/riscv/kvm/vcpu.c b/arch/riscv/kvm/vcpu.c
index cc7d00bcf345..684efaf5cee9 100644
--- a/arch/riscv/kvm/vcpu.c
+++ b/arch/riscv/kvm/vcpu.c
@@ -720,12 +720,8 @@ static void kvm_riscv_check_vcpu_requests(struct kvm_vcpu *vcpu)
if (kvm_check_request(KVM_REQ_FENCE_I, vcpu))
kvm_riscv_fence_i_process(vcpu);

- /*
- * The generic KVM_REQ_TLB_FLUSH is same as
- * KVM_REQ_HFENCE_GVMA_VMID_ALL
- */
- if (kvm_check_request(KVM_REQ_HFENCE_GVMA_VMID_ALL, vcpu))
- kvm_riscv_hfence_gvma_vmid_all_process(vcpu);
+ if (kvm_check_request(KVM_REQ_TLB_FLUSH, vcpu))
+ kvm_riscv_tlb_flush_process(vcpu);

if (kvm_check_request(KVM_REQ_HFENCE_VVMA_ALL, vcpu))
kvm_riscv_hfence_vvma_all_process(vcpu);
--
2.43.0



Return-Path: <linux-kernel+bounces-674102-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3A58841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:17:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 0FE71189A2C1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:17:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2F04620E01E;
Thu, 5 Jun 2025 06:15:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="Ylf3eFcf"
Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50])
(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 E86B920E00B
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104134; cv=none; b=Bk1VsLMGm7r7As1BX51xnFqyOfZGvvw8z1kg8e190jNg3iltwUL2Vio+niFz3X1Vdwx+FHqFXQ3lAvAXZbMbAWbtPvE+F8R5PIGJ+sziTch0nGR8/ZxD9civ8pwsSOnHE+1n/gOa0qrGbPU50P9CTQjz19V4EnPUP3KskTiv4xo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104134; c=relaxed/simple;
bh=vt95taIBAE6xHdLS/+LEWFyOT14BvSlPFxy5vZtFS28=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=OcwVWF75e1AaX0rz0D/PqYucpjBDNLXEAkMeDruQQA6mx2GeuvKMGCETT0QwsB1iBZClIqPUKYvacaX+nKNMBNMX+mQcaVVHiZdMa+Wsz5Muyv3LOWpOdLzPFrq66JFizljf1WN3jPRX9dUQGxD7IVj+kbH4AP4UrfVWP7szsN4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=Ylf3eFcf; arc=none smtp.client-ip=209.85.216.50
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-312a62055d0so651550a91.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104132; x=1749708932; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=297HQlUGPdF+XZ67B7Ks8toSmyeODGGOfBIq41lD5gM=;
b=Ylf3eFcfpnwCoYDdQCw8fmtYL6IHSxyfO7JtwA0xf0h0Re07jV+2ps1edN4QR2zaZM
SWyld5q1sBej93iRQfKFyAazCSzorUvC2khIyUf49HzcOnimINKp9aCmUsorRQWt42sK
WHbjdVi1gPurDHfEhFPUNERSY1nPHMkAmhT5F+gzEEfpkRVSM+77EIDP+uMVAsAmHbFa
NFkXcLdAhjEToMyAA3fJEx8JHLL9AOS2/W9p7im00Lo/jGrboL4v73rfWGQBvUDa0TA0
2TVJyfsQ3ktM+a0EgSyb7abta1QaNJeLyyQeY0XqwC4XjFxsbvzR2H69wSH/QCdsTQDU
lbYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104132; x=1749708932;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=297HQlUGPdF+XZ67B7Ks8toSmyeODGGOfBIq41lD5gM=;
b=V3KqJ+fBmabWotEtvjXBoI2QFpxRsqQNrZb3R37ChtPczd4gvRsQ62axKgwtSTL2PA
zpUHwLDySrL9M6w+JoLS1JEuhbeMm+TdgR0UaxXLP5PYPWkitDQgBsSQCySRdM9K75/r
7AHdSGd+3HsQslS2g2+1J/MhXKJgJNB6xdsEGd0kSDQBcpvZdsQA/QBvkqX/Md0Uo5Hn
68am+w/VVf48Vvnam32yzKydTdaB98FrgUcaxM/TC9JDy1CB+Fqxx8dDomGjxL7Qf3Lh
c2aUspEeeTXqyxiGnS1qrwSd6TX4ZRN/UM564bK2o2jqxkPeCRaDTI3Sjea1Flx9WtCk
G5EA==
X-Forwarded-Encrypted: i=1; AJvYcCWjNVxBN218xjiuiyYy2w9RRKXt0i14GN8+VNkjTt18svC+0SWRe0vXq8na0viWygGCi3m3vtNPg02z/Q0=@vger.kernel.org
X-Gm-Message-State: AOJu0Yx+dn8+7aqhTR0FmHfbU5BomBMj3FVuNLVuNZw7DWbG86uzaqyb
9EoBXoLOHQxrRkJf5gpx3vJ0XdaqSsocIwYIeP+nFGTrwpWdFhA70VFt+J7Hymiqcmk=
X-Gm-Gg: ASbGnct8+1r70Q5BEoqF7tLtwqlRuC01n2aYIlHtV/Xtvd6AK+fYsN2SoKnfgnsHEXA
SrL9uEddLVK0/XLrFohmBHVcvIPJ52HKlQRC0fXWyJSG8PU/nzkIMmdayPRmdZgdSXhP404PAfK
LuqjtZ8dwNpaUrQ3z3nGocmFtfdh2nTI/lkhU73fVqCDZGTi9WRIdq1ykwE2+7MOq3hc0VXyweh
/8qFtDwNNcwD7aGxhG1tdj9BcdsvkyaSvtayPKFk3qfBIF9J62HyBF5dE9gKHoz9MUiY3ncEmF3
Nlcfizgf3tCfJgRQZ0mMwRL3v/7IeQTVWv0dxzFhCxhTez5M5C/vYP4mFQWmHT78zhNUAkrh6/c
h+HwPFQ==
X-Google-Smtp-Source: AGHT+IGaQDp4t9Rc9PacdM1BZZoSLCIgCU7kc4zabKe3J73B2NovkDFU1CUL1ahoIxkagRn4o+A2cg==
X-Received: by 2002:a17:90b:2641:b0:311:9c1f:8516 with SMTP id 98e67ed59e1d1-3130cd2c648mr8923161a91.15.1749104132103;
Wed, 04 Jun 2025 23:15:32 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.28
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:31 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 07/13] RISC-V: KVM: Don't flush TLB in gstage_set_pte() when PTE is unchanged
Date: Thu, 5 Jun 2025 11:44:52 +0530
Message-ID: <20250605061458.196003-8-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The gstage_set_pte() should flush remote TLB only when a leaf PTE
changes so that unnecessary remote TLB flushes can be avoided.

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/kvm/mmu.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c
index 1087ea74567b..d4eb1999b794 100644
--- a/arch/riscv/kvm/mmu.c
+++ b/arch/riscv/kvm/mmu.c
@@ -167,9 +167,11 @@ static int gstage_set_pte(struct kvm *kvm, u32 level,
ptep = &next_ptep[gstage_pte_index(addr, current_level)];
}

- set_pte(ptep, *new_pte);
- if (gstage_pte_leaf(ptep))
- gstage_remote_tlb_flush(kvm, current_level, addr);
+ if (pte_val(*ptep) != pte_val(*new_pte)) {
+ set_pte(ptep, *new_pte);
+ if (gstage_pte_leaf(ptep))
+ gstage_remote_tlb_flush(kvm, current_level, addr);
+ }

return 0;
}
--
2.43.0



Return-Path: <linux-kernel+bounces-674103-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 88D7A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:17:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A9AD9177CBF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:17:29 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 176A3212B3B;
Thu, 5 Jun 2025 06:15:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="iZdk4X4m"
Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182])
(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 D6830211711
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.182
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104138; cv=none; b=Wdt/bn9ez3LecINyIX9cyreLg/kQsjHbQ7Xi76gsiuHB4/UAzBdjlHbcaIZ1OrYexi5DwUlc08KDr/QGYPkW9pJvCnw97N+1CPqJyPZLeqMzrNhDaxoPm1eAw/1U5agPWcJRFBEA76IccDSXg1V6lo7qKcxr6lzuNfMDg2WwESE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104138; c=relaxed/simple;
bh=vyBV2F4KyvtMk4LF2UAhi7qqpyH1rZyaYbpSJb6E0Qk=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=D9fIPLT/HpRIFxHSSLFknwFIVhv/UmF4JChTDxIIS2vgiXAErY8cYpI8sHXXcqzG/BQB/R327FQ+H1MosDnXp7mk6Sp2I2knVA2N6srd7oTPKJ/E6TH0iW9ta6WWOJzyouQo7Gx+nFRiaChxIeYPtEqllg9Auv5dQsIuDFfxSMs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=iZdk4X4m; arc=none smtp.client-ip=209.85.215.182
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-b26d7ddbfd7so718435a12.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104136; x=1749708936; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=PBw4EHffUTV31O6B+TCgyeA+gw4sP4Qg6j7rVTIEdxU=;
b=iZdk4X4m5u2KioQUq6G/a/rYk1gh/N94aLc1P44UURo44p1doVGMqCtfD6uII6sjfs
3M1Xrls/bX0eudl4bnRwhM2KB8BvQxvwRRClXdvFKeZbP8GzV9xymMuxspxKX444Zcbr
9/Lu945kVntppYO7Bortsn2X6wZjCXbe3mBZHTOgJFgaq/65z/teVA4YbTwOObM9SSX3
+y6B7UoniFS2WB173CIP2jepTGaDFGghc+UfWx/msGlx1p96iDkMab1TxpygclD2jgMx
ebmQ7A4Wkjh9c9AyTxbCZPLcZlkjQNye8wQppoyG19GsasRi5LQyFTPf0eXfVhG+OLq4
NJfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104136; x=1749708936;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=PBw4EHffUTV31O6B+TCgyeA+gw4sP4Qg6j7rVTIEdxU=;
b=V9X3CbiSOKrHqGDWZnWRX8yBZEegTlrAiMGeuwQpVCkTVchppwoWYbA37y7LJIXYbp
6bPOMlonU27ViWugc3OQ/wJEaEuj4wotdFd/SWJUACrl2G5emLFo/uWLI7AJnSNyPzu3
U7/6etrD3y5DxYewLjdM1+gW5GZ03LFDbmxWQY8kCGTpxRVLzzBy2/nqL3J8tnXBaF7P
krXtGkCQVFUm/hEBuzTL6KcQvpjwNtVASSAfgtNNgxICPWlhxicfYmPXaKRENKQbWujn
qdkWfZ0mK6P9QYYT9POkXwCjg7quTogriy+T/pk+b1asKzkkJ7OAzZUD8mzJM1AYMJlr
Gmwg==
X-Forwarded-Encrypted: i=1; AJvYcCWDhW3E4tF8QAZlyGGc+6j7g1w1KPQNhsB1mRPlLzLxyXfdrrzKYtKtAIQsqOJKsAcWnxmLI7XFzBF9cEw=@vger.kernel.org
X-Gm-Message-State: AOJu0YyY0xNljzTBulgtR1ZqyziB5yo64vcGGHvTPw2fdCjwifndJbwL
06QrP09SqHHig4KajtadaXmUqQ79a/d7HHSn45FS0+1/BDMl94zc44HecrkgPXQwnDI=
X-Gm-Gg: ASbGncuoLrkgYJnOk+RF0lgan4aZBGX8saGuEfmmjbEIalFbxwMP0Sos697ScRH9DDY
LfsXBBrFsEsaolEMOQ/Y6d9vqvRj1X0UwWo/JtJeFXNfsnurRiQEQPo2C8nfRoWzbHkhpE9B22m
v4lXj3fCXyw5gtwtFZw83jw/ocoWNp5ZEmeb8r99kr0qhbS/q/gBvcH9SXO+sIjT+84vh8tc1EU
2FhpV792ZXxBhNhLs+MC8/KYcPMA3Bc5u7JhJ30G6/EhkXOJQpUY5qkeUZvHIRmQWauBZjaHHhg
XvzlhUn8dmS25cklX7xDnz2ZRZ/rjU+3GO2w27OENAxuspo2RqZasZdSYhFXEojr3woIYK4Xo3X
sCP3mgVcu2jKcjbnxA5bH+xCq4Ts=
X-Google-Smtp-Source: AGHT+IFD6i36g3dYe1k+gDLGsx1D0hcp/ZxtNU3y3iDfAyRruAl8oD12KxZBz84WYVYtRaZXIXAJqw==
X-Received: by 2002:a17:90b:3ec7:b0:311:9c9a:58da with SMTP id 98e67ed59e1d1-3130cd12ba3mr8390187a91.8.1749104135972;
Wed, 04 Jun 2025 23:15:35 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.32
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:35 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 08/13] RISC-V: KVM: Implement kvm_arch_flush_remote_tlbs_range()
Date: Thu, 5 Jun 2025 11:44:53 +0530
Message-ID: <20250605061458.196003-9-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The kvm_arch_flush_remote_tlbs_range() expected by KVM core can be
easily implemented for RISC-V using kvm_riscv_hfence_gvma_vmid_gpa()
hence provide it.

Also with kvm_arch_flush_remote_tlbs_range() available for RISC-V, the
mmu_wp_memory_region() can happily use kvm_flush_remote_tlbs_memslot()
instead of kvm_flush_remote_tlbs().

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/include/asm/kvm_host.h | 2 ++
arch/riscv/kvm/mmu.c | 2 +-
arch/riscv/kvm/tlb.c | 8 ++++++++
3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/include/asm/kvm_host.h b/arch/riscv/include/asm/kvm_host.h
index afaf25f2c5ab..b9e241c46209 100644
--- a/arch/riscv/include/asm/kvm_host.h
+++ b/arch/riscv/include/asm/kvm_host.h
@@ -42,6 +42,8 @@
KVM_ARCH_REQ_FLAGS(5, KVM_REQUEST_WAIT | KVM_REQUEST_NO_WAKEUP)
#define KVM_REQ_STEAL_UPDATE KVM_ARCH_REQ(6)

+#define __KVM_HAVE_ARCH_FLUSH_REMOTE_TLBS_RANGE
+
#define KVM_HEDELEG_DEFAULT (BIT(EXC_INST_MISALIGNED) | \
BIT(EXC_BREAKPOINT) | \
BIT(EXC_SYSCALL) | \
diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c
index d4eb1999b794..834d855b0478 100644
--- a/arch/riscv/kvm/mmu.c
+++ b/arch/riscv/kvm/mmu.c
@@ -342,7 +342,7 @@ static void gstage_wp_memory_region(struct kvm *kvm, int slot)
spin_lock(&kvm->mmu_lock);
gstage_wp_range(kvm, start, end);
spin_unlock(&kvm->mmu_lock);
- kvm_flush_remote_tlbs(kvm);
+ kvm_flush_remote_tlbs_memslot(kvm, memslot);
}

int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
diff --git a/arch/riscv/kvm/tlb.c b/arch/riscv/kvm/tlb.c
index da98ca801d31..f46a27658c2e 100644
--- a/arch/riscv/kvm/tlb.c
+++ b/arch/riscv/kvm/tlb.c
@@ -403,3 +403,11 @@ void kvm_riscv_hfence_vvma_all(struct kvm *kvm,
make_xfence_request(kvm, hbase, hmask, KVM_REQ_HFENCE_VVMA_ALL,
KVM_REQ_HFENCE_VVMA_ALL, NULL);
}
+
+int kvm_arch_flush_remote_tlbs_range(struct kvm *kvm, gfn_t gfn, u64 nr_pages)
+{
+ kvm_riscv_hfence_gvma_vmid_gpa(kvm, -1UL, 0,
+ gfn << PAGE_SHIFT, nr_pages << PAGE_SHIFT,
+ PAGE_SHIFT);
+ return 0;
+}
--
2.43.0



Return-Path: <linux-kernel+bounces-674104-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EE4EC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:17:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9198E164CB1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:17:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 01F0221481B;
Thu, 5 Jun 2025 06:15:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="gK53H4L7"
Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181])
(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 E079721422B
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.181
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104142; cv=none; b=p8uj6tUfJtzv34kCWYutcOu4gZ2+hJjiWPK2rr04lpT21yb9xhnVVLAQLj6O4ZU+y6npQmuYY0BFJ3JhRDoRV50tVJZdyiwSvt/0PviI1RjFre2+MHt2zB1/blpjwR/RcGAzxw4bT37cn73JltD6e/Zz+Dn9W4PlZYb153nNZ7E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104142; c=relaxed/simple;
bh=aqhFaQgpndhA0TLNptW4POc6Er0vQpFq4mJ6KXKEQ7Q=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=J+GklJa+t8q3bZVXJvKeSvko8+0LLQth0+EuD3IqeWOYEwnILt+cgmFnA/KslR1qQJybghPo/VL8BTqWAjdBCOeJj42twEAlJummGciare4d/M+WMPUSmlkJPXPvaoZoCp8h+ZvNV6PeU+2JjVcrodMQHHSv1JUTidnnITWQu9w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=gK53H4L7; arc=none smtp.client-ip=209.85.215.181
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pg1-f181.google.com with SMTP id 41be03b00d2f7-b2c4e46a89fso441864a12.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104140; x=1749708940; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=/5L0+ykOWiXelXLICAGslkImYlGqzZkgVfyp6ia3O1g=;
b=gK53H4L7XyLLtcKiYhXnDkYS4zA86eQxo8D/BmVCT5V9KBEkjje8APFGxvVZ/ikq3B
1WSk0eZ2mnEsInQeVKSj1egbDwzJCO54AlmGv1KNrAeYUaraj7UmeY6IlodjyBx0PAg6
NNcpQK+Nnl/8VCPuGI49/Kn3aDQ3aTWmK6AJMRjB+j/QnqKL+pRUe3IC93f4Zcw5SRzK
I+lC6ZzfL44Ltv8zIe7Kyse1zix9bjNc2NHpnOjSW7OQulHQKNybGaqqOPztylrTBLs5
DSqShvdSwpB/txgi945DVCjoZzRlwsi0eCwBUSOSvw3pe1ZN/mhvJv9YfAuX2j+xiG/Y
0+6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104140; x=1749708940;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=/5L0+ykOWiXelXLICAGslkImYlGqzZkgVfyp6ia3O1g=;
b=hYc1yxrAGOHbpI6Ns2zepp1nJAGa5JA3+veL9hPkwe1pu7SUcxEO8SJFA81/Xt3f08
v+jrMRPStche8ImOhx4yitFc/3bLkhKP6YIxX2pICMz0bq/ziDysAPJTSuMyJdclVQX8
S40WqoETlkOBh147K7nwm6p/AaAD3wd26rsQKIWDPjWj1nyJ2d9gg8+YQiHYoKm8d5a0
v1tujOA15O+etTJo943d59MZp/uHlGwc10AN/+pMYgC5xRc5oNFZnOvQtTVnTCsjFzoM
ArE2RXLUMleW422vf2dg3HYEfKjwwpPtWaHdabyP4NuImjd/l/u6xIFry9HEyjDU+Be2
umGg==
X-Forwarded-Encrypted: i=1; AJvYcCXPF58OvEIRI/eEP0kOuXVnR8p8Dii76HuFhgWfZbxxMu64XrAjDvUCWVh3CovHLa+MmAZjdwFu1nXw/po=@vger.kernel.org
X-Gm-Message-State: AOJu0YwVXY94ajcLAmH8fqfmdMgwRQMcDDhan++OdufCUbcgpvtb+Pcm
UYMMfyu2c5DCQCxELtn3nOF7sFztd9WWbLJytHORPDYj2CLn0xmt2/ZRWuzWIWRtLB8=
X-Gm-Gg: ASbGncvc8qozkrUUallJ+VpOdIWAyM4/U1u8rz+W4jCHVKx0hmoxafbmVWBzGZx4flb
NSmjPNwccuAekFFg30deZ2L2fnYB2SK0R4YAIvCZkB209wM+xh61r8wNz/TURwRNlG9Fr4ZYn5d
ojK9wJLhLgqOndag7ekV2NP4PqtirnULPImIHbbG/JnxHVgFg/K0WRZGEZutReHRDBpzUEHmyPT
aoMQ570KZQgszyw8axJ1lHtrCCmQA35tA2Ot5t/V7ACeA1YL6oMeDXNpnV9jne1vWsPyuXlg+S2
zHnxSq3sV9Bo2qYynwbBjHJhT1F5Sc1ARjBch6Cq07lLzVoDdS5QIq/Si0lk8l5FAsflBzVaUBz
VNlc/yA==
X-Google-Smtp-Source: AGHT+IGeCP7yjnGqfjqlB4ks6ph12/2Dcv3NbYOPrnzOV1SF+VtBogS3QcmQr2cFbHhenw53773/UA==
X-Received: by 2002:a17:90b:1d51:b0:313:2464:ad20 with SMTP id 98e67ed59e1d1-3132464ad44mr5168665a91.13.1749104140057;
Wed, 04 Jun 2025 23:15:40 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.36
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:39 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 09/13] RISC-V: KVM: Factor-out MMU related declarations into separate headers
Date: Thu, 5 Jun 2025 11:44:54 +0530
Message-ID: <20250605061458.196003-10-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The MMU, TLB, and VMID management for KVM RISC-V already exists as
seprate sources so create separate headers along these lines. This
further simplifies asm/kvm_host.h header.

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/include/asm/kvm_host.h | 100 +-----------------------------
arch/riscv/include/asm/kvm_mmu.h | 26 ++++++++
arch/riscv/include/asm/kvm_tlb.h | 78 +++++++++++++++++++++++
arch/riscv/include/asm/kvm_vmid.h | 27 ++++++++
arch/riscv/kvm/aia_imsic.c | 1 +
arch/riscv/kvm/main.c | 1 +
arch/riscv/kvm/mmu.c | 1 +
arch/riscv/kvm/tlb.c | 2 +
arch/riscv/kvm/vcpu.c | 1 +
arch/riscv/kvm/vcpu_exit.c | 1 +
arch/riscv/kvm/vm.c | 1 +
arch/riscv/kvm/vmid.c | 2 +
12 files changed, 143 insertions(+), 98 deletions(-)
create mode 100644 arch/riscv/include/asm/kvm_mmu.h
create mode 100644 arch/riscv/include/asm/kvm_tlb.h
create mode 100644 arch/riscv/include/asm/kvm_vmid.h

diff --git a/arch/riscv/include/asm/kvm_host.h b/arch/riscv/include/asm/kvm_host.h
index b9e241c46209..8d7a59274386 100644
--- a/arch/riscv/include/asm/kvm_host.h
+++ b/arch/riscv/include/asm/kvm_host.h
@@ -16,6 +16,8 @@
#include <asm/hwcap.h>
#include <asm/kvm_aia.h>
#include <asm/ptrace.h>
+#include <asm/kvm_tlb.h>
+#include <asm/kvm_vmid.h>
#include <asm/kvm_vcpu_fp.h>
#include <asm/kvm_vcpu_insn.h>
#include <asm/kvm_vcpu_sbi.h>
@@ -55,24 +57,6 @@
BIT(IRQ_VS_TIMER) | \
BIT(IRQ_VS_EXT))

-enum kvm_riscv_hfence_type {
- KVM_RISCV_HFENCE_UNKNOWN = 0,
- KVM_RISCV_HFENCE_GVMA_VMID_GPA,
- KVM_RISCV_HFENCE_VVMA_ASID_GVA,
- KVM_RISCV_HFENCE_VVMA_ASID_ALL,
- KVM_RISCV_HFENCE_VVMA_GVA,
-};
-
-struct kvm_riscv_hfence {
- enum kvm_riscv_hfence_type type;
- unsigned long asid;
- unsigned long order;
- gpa_t addr;
- gpa_t size;
-};
-
-#define KVM_RISCV_VCPU_MAX_HFENCE 64
-
struct kvm_vm_stat {
struct kvm_vm_stat_generic generic;
};
@@ -98,15 +82,6 @@ struct kvm_vcpu_stat {
struct kvm_arch_memory_slot {
};

-struct kvm_vmid {
- /*
- * Writes to vmid_version and vmid happen with vmid_lock held
- * whereas reads happen without any lock held.
- */
- unsigned long vmid_version;
- unsigned long vmid;
-};
-
struct kvm_arch {
/* G-stage vmid */
struct kvm_vmid vmid;
@@ -307,77 +282,6 @@ static inline bool kvm_arch_pmi_in_guest(struct kvm_vcpu *vcpu)
return IS_ENABLED(CONFIG_GUEST_PERF_EVENTS) && !!vcpu;
}

-#define KVM_RISCV_GSTAGE_TLB_MIN_ORDER 12
-
-void kvm_riscv_local_hfence_gvma_vmid_gpa(unsigned long vmid,
- gpa_t gpa, gpa_t gpsz,
- unsigned long order);
-void kvm_riscv_local_hfence_gvma_vmid_all(unsigned long vmid);
-void kvm_riscv_local_hfence_gvma_gpa(gpa_t gpa, gpa_t gpsz,
- unsigned long order);
-void kvm_riscv_local_hfence_gvma_all(void);
-void kvm_riscv_local_hfence_vvma_asid_gva(unsigned long vmid,
- unsigned long asid,
- unsigned long gva,
- unsigned long gvsz,
- unsigned long order);
-void kvm_riscv_local_hfence_vvma_asid_all(unsigned long vmid,
- unsigned long asid);
-void kvm_riscv_local_hfence_vvma_gva(unsigned long vmid,
- unsigned long gva, unsigned long gvsz,
- unsigned long order);
-void kvm_riscv_local_hfence_vvma_all(unsigned long vmid);
-
-void kvm_riscv_tlb_flush_process(struct kvm_vcpu *vcpu);
-
-void kvm_riscv_fence_i_process(struct kvm_vcpu *vcpu);
-void kvm_riscv_hfence_vvma_all_process(struct kvm_vcpu *vcpu);
-void kvm_riscv_hfence_process(struct kvm_vcpu *vcpu);
-
-void kvm_riscv_fence_i(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask);
-void kvm_riscv_hfence_gvma_vmid_gpa(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask,
- gpa_t gpa, gpa_t gpsz,
- unsigned long order);
-void kvm_riscv_hfence_gvma_vmid_all(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask);
-void kvm_riscv_hfence_vvma_asid_gva(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask,
- unsigned long gva, unsigned long gvsz,
- unsigned long order, unsigned long asid);
-void kvm_riscv_hfence_vvma_asid_all(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask,
- unsigned long asid);
-void kvm_riscv_hfence_vvma_gva(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask,
- unsigned long gva, unsigned long gvsz,
- unsigned long order);
-void kvm_riscv_hfence_vvma_all(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask);
-
-int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
- phys_addr_t hpa, unsigned long size,
- bool writable, bool in_atomic);
-void kvm_riscv_gstage_iounmap(struct kvm *kvm, gpa_t gpa,
- unsigned long size);
-int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
- struct kvm_memory_slot *memslot,
- gpa_t gpa, unsigned long hva, bool is_write);
-int kvm_riscv_gstage_alloc_pgd(struct kvm *kvm);
-void kvm_riscv_gstage_free_pgd(struct kvm *kvm);
-void kvm_riscv_gstage_update_hgatp(struct kvm_vcpu *vcpu);
-void __init kvm_riscv_gstage_mode_detect(void);
-unsigned long __init kvm_riscv_gstage_mode(void);
-int kvm_riscv_gstage_gpa_bits(void);
-
-void __init kvm_riscv_gstage_vmid_detect(void);
-unsigned long kvm_riscv_gstage_vmid_bits(void);
-int kvm_riscv_gstage_vmid_init(struct kvm *kvm);
-bool kvm_riscv_gstage_vmid_ver_changed(struct kvm_vmid *vmid);
-void kvm_riscv_gstage_vmid_update(struct kvm_vcpu *vcpu);
-void kvm_riscv_gstage_vmid_sanitize(struct kvm_vcpu *vcpu);
-
int kvm_riscv_setup_default_irq_routing(struct kvm *kvm, u32 lines);

void __kvm_riscv_unpriv_trap(void);
diff --git a/arch/riscv/include/asm/kvm_mmu.h b/arch/riscv/include/asm/kvm_mmu.h
new file mode 100644
index 000000000000..4e1654282ee4
--- /dev/null
+++ b/arch/riscv/include/asm/kvm_mmu.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2025 Ventana Micro Systems Inc.
+ */
+
+#ifndef __RISCV_KVM_MMU_H_
+#define __RISCV_KVM_MMU_H_
+
+#include <linux/kvm_types.h>
+
+int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
+ phys_addr_t hpa, unsigned long size,
+ bool writable, bool in_atomic);
+void kvm_riscv_gstage_iounmap(struct kvm *kvm, gpa_t gpa,
+ unsigned long size);
+int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
+ struct kvm_memory_slot *memslot,
+ gpa_t gpa, unsigned long hva, bool is_write);
+int kvm_riscv_gstage_alloc_pgd(struct kvm *kvm);
+void kvm_riscv_gstage_free_pgd(struct kvm *kvm);
+void kvm_riscv_gstage_update_hgatp(struct kvm_vcpu *vcpu);
+void kvm_riscv_gstage_mode_detect(void);
+unsigned long kvm_riscv_gstage_mode(void);
+int kvm_riscv_gstage_gpa_bits(void);
+
+#endif
diff --git a/arch/riscv/include/asm/kvm_tlb.h b/arch/riscv/include/asm/kvm_tlb.h
new file mode 100644
index 000000000000..cd00c9a46cb1
--- /dev/null
+++ b/arch/riscv/include/asm/kvm_tlb.h
@@ -0,0 +1,78 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2025 Ventana Micro Systems Inc.
+ */
+
+#ifndef __RISCV_KVM_TLB_H_
+#define __RISCV_KVM_TLB_H_
+
+#include <linux/kvm_types.h>
+
+enum kvm_riscv_hfence_type {
+ KVM_RISCV_HFENCE_UNKNOWN = 0,
+ KVM_RISCV_HFENCE_GVMA_VMID_GPA,
+ KVM_RISCV_HFENCE_VVMA_ASID_GVA,
+ KVM_RISCV_HFENCE_VVMA_ASID_ALL,
+ KVM_RISCV_HFENCE_VVMA_GVA,
+};
+
+struct kvm_riscv_hfence {
+ enum kvm_riscv_hfence_type type;
+ unsigned long asid;
+ unsigned long order;
+ gpa_t addr;
+ gpa_t size;
+};
+
+#define KVM_RISCV_VCPU_MAX_HFENCE 64
+
+#define KVM_RISCV_GSTAGE_TLB_MIN_ORDER 12
+
+void kvm_riscv_local_hfence_gvma_vmid_gpa(unsigned long vmid,
+ gpa_t gpa, gpa_t gpsz,
+ unsigned long order);
+void kvm_riscv_local_hfence_gvma_vmid_all(unsigned long vmid);
+void kvm_riscv_local_hfence_gvma_gpa(gpa_t gpa, gpa_t gpsz,
+ unsigned long order);
+void kvm_riscv_local_hfence_gvma_all(void);
+void kvm_riscv_local_hfence_vvma_asid_gva(unsigned long vmid,
+ unsigned long asid,
+ unsigned long gva,
+ unsigned long gvsz,
+ unsigned long order);
+void kvm_riscv_local_hfence_vvma_asid_all(unsigned long vmid,
+ unsigned long asid);
+void kvm_riscv_local_hfence_vvma_gva(unsigned long vmid,
+ unsigned long gva, unsigned long gvsz,
+ unsigned long order);
+void kvm_riscv_local_hfence_vvma_all(unsigned long vmid);
+
+void kvm_riscv_tlb_flush_process(struct kvm_vcpu *vcpu);
+
+void kvm_riscv_fence_i_process(struct kvm_vcpu *vcpu);
+void kvm_riscv_hfence_vvma_all_process(struct kvm_vcpu *vcpu);
+void kvm_riscv_hfence_process(struct kvm_vcpu *vcpu);
+
+void kvm_riscv_fence_i(struct kvm *kvm,
+ unsigned long hbase, unsigned long hmask);
+void kvm_riscv_hfence_gvma_vmid_gpa(struct kvm *kvm,
+ unsigned long hbase, unsigned long hmask,
+ gpa_t gpa, gpa_t gpsz,
+ unsigned long order);
+void kvm_riscv_hfence_gvma_vmid_all(struct kvm *kvm,
+ unsigned long hbase, unsigned long hmask);
+void kvm_riscv_hfence_vvma_asid_gva(struct kvm *kvm,
+ unsigned long hbase, unsigned long hmask,
+ unsigned long gva, unsigned long gvsz,
+ unsigned long order, unsigned long asid);
+void kvm_riscv_hfence_vvma_asid_all(struct kvm *kvm,
+ unsigned long hbase, unsigned long hmask,
+ unsigned long asid);
+void kvm_riscv_hfence_vvma_gva(struct kvm *kvm,
+ unsigned long hbase, unsigned long hmask,
+ unsigned long gva, unsigned long gvsz,
+ unsigned long order);
+void kvm_riscv_hfence_vvma_all(struct kvm *kvm,
+ unsigned long hbase, unsigned long hmask);
+
+#endif
diff --git a/arch/riscv/include/asm/kvm_vmid.h b/arch/riscv/include/asm/kvm_vmid.h
new file mode 100644
index 000000000000..ab98e1434fb7
--- /dev/null
+++ b/arch/riscv/include/asm/kvm_vmid.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2025 Ventana Micro Systems Inc.
+ */
+
+#ifndef __RISCV_KVM_VMID_H_
+#define __RISCV_KVM_VMID_H_
+
+#include <linux/kvm_types.h>
+
+struct kvm_vmid {
+ /*
+ * Writes to vmid_version and vmid happen with vmid_lock held
+ * whereas reads happen without any lock held.
+ */
+ unsigned long vmid_version;
+ unsigned long vmid;
+};
+
+void __init kvm_riscv_gstage_vmid_detect(void);
+unsigned long kvm_riscv_gstage_vmid_bits(void);
+int kvm_riscv_gstage_vmid_init(struct kvm *kvm);
+bool kvm_riscv_gstage_vmid_ver_changed(struct kvm_vmid *vmid);
+void kvm_riscv_gstage_vmid_update(struct kvm_vcpu *vcpu);
+void kvm_riscv_gstage_vmid_sanitize(struct kvm_vcpu *vcpu);
+
+#endif
diff --git a/arch/riscv/kvm/aia_imsic.c b/arch/riscv/kvm/aia_imsic.c
index 29ef9c2133a9..40b469c0a01f 100644
--- a/arch/riscv/kvm/aia_imsic.c
+++ b/arch/riscv/kvm/aia_imsic.c
@@ -16,6 +16,7 @@
#include <linux/swab.h>
#include <kvm/iodev.h>
#include <asm/csr.h>
+#include <asm/kvm_mmu.h>

#define IMSIC_MAX_EIX (IMSIC_MAX_ID / BITS_PER_TYPE(u64))

diff --git a/arch/riscv/kvm/main.c b/arch/riscv/kvm/main.c
index 4b24705dc63a..b861a5dd7bd9 100644
--- a/arch/riscv/kvm/main.c
+++ b/arch/riscv/kvm/main.c
@@ -11,6 +11,7 @@
#include <linux/module.h>
#include <linux/kvm_host.h>
#include <asm/cpufeature.h>
+#include <asm/kvm_mmu.h>
#include <asm/kvm_nacl.h>
#include <asm/sbi.h>

diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c
index 834d855b0478..c9d87e7472fb 100644
--- a/arch/riscv/kvm/mmu.c
+++ b/arch/riscv/kvm/mmu.c
@@ -15,6 +15,7 @@
#include <linux/vmalloc.h>
#include <linux/kvm_host.h>
#include <linux/sched/signal.h>
+#include <asm/kvm_mmu.h>
#include <asm/kvm_nacl.h>
#include <asm/page.h>
#include <asm/pgtable.h>
diff --git a/arch/riscv/kvm/tlb.c b/arch/riscv/kvm/tlb.c
index f46a27658c2e..6fc4361c3d75 100644
--- a/arch/riscv/kvm/tlb.c
+++ b/arch/riscv/kvm/tlb.c
@@ -15,6 +15,8 @@
#include <asm/cpufeature.h>
#include <asm/insn-def.h>
#include <asm/kvm_nacl.h>
+#include <asm/kvm_tlb.h>
+#include <asm/kvm_vmid.h>

#define has_svinval() riscv_has_extension_unlikely(RISCV_ISA_EXT_SVINVAL)

diff --git a/arch/riscv/kvm/vcpu.c b/arch/riscv/kvm/vcpu.c
index 684efaf5cee9..bfe4d1369b24 100644
--- a/arch/riscv/kvm/vcpu.c
+++ b/arch/riscv/kvm/vcpu.c
@@ -18,6 +18,7 @@
#include <linux/fs.h>
#include <linux/kvm_host.h>
#include <asm/cacheflush.h>
+#include <asm/kvm_mmu.h>
#include <asm/kvm_nacl.h>
#include <asm/kvm_vcpu_vector.h>

diff --git a/arch/riscv/kvm/vcpu_exit.c b/arch/riscv/kvm/vcpu_exit.c
index 6e0c18412795..cc82bbab0e24 100644
--- a/arch/riscv/kvm/vcpu_exit.c
+++ b/arch/riscv/kvm/vcpu_exit.c
@@ -9,6 +9,7 @@
#include <linux/kvm_host.h>
#include <asm/csr.h>
#include <asm/insn-def.h>
+#include <asm/kvm_mmu.h>

static int gstage_page_fault(struct kvm_vcpu *vcpu, struct kvm_run *run,
struct kvm_cpu_trap *trap)
diff --git a/arch/riscv/kvm/vm.c b/arch/riscv/kvm/vm.c
index b27ec8f96697..8601cf29e5f8 100644
--- a/arch/riscv/kvm/vm.c
+++ b/arch/riscv/kvm/vm.c
@@ -11,6 +11,7 @@
#include <linux/module.h>
#include <linux/uaccess.h>
#include <linux/kvm_host.h>
+#include <asm/kvm_mmu.h>

const struct _kvm_stats_desc kvm_vm_stats_desc[] = {
KVM_GENERIC_VM_STATS()
diff --git a/arch/riscv/kvm/vmid.c b/arch/riscv/kvm/vmid.c
index 92c01255f86f..3b426c800480 100644
--- a/arch/riscv/kvm/vmid.c
+++ b/arch/riscv/kvm/vmid.c
@@ -14,6 +14,8 @@
#include <linux/smp.h>
#include <linux/kvm_host.h>
#include <asm/csr.h>
+#include <asm/kvm_tlb.h>
+#include <asm/kvm_vmid.h>

static unsigned long vmid_version = 1;
static unsigned long vmid_next;
--
2.43.0



Return-Path: <linux-kernel+bounces-674105-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 12E7C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:18:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id B4CC9189A3BC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:18:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4D390215793;
Thu, 5 Jun 2025 06:15:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="G2AairEB"
Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174])
(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 B9A56214A6A
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104146; cv=none; b=p79z0wE5aQsL+iWbc1G2LHcZTHic7YawbOaNkFLvpYd8J8CL3brd2xTqvniPFK6qwl2VMHuZ0pNis98Y04AUhFh+PBPrL7jGmvVWnllRNhP/Dh7ZRf1yGHoDCkGcA+h1sAPd7Tf3auzDA67pR81HNwd900ofPCKTFFXQxlgOyCg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104146; c=relaxed/simple;
bh=6sszuUfccYuEtJctsI5BNx1ZHbTwew1hmbwnSMnNPl4=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=szvt1Kwp6ZP/wkMMrZG4p7fhlJWg7NeUCrpHzA0vJbfP4p/iwqtgRMJJIqWWOlO6Dsmx5MORYwJxL/tFL+B3UVrlK/EQ3b7ZllTtMAFe9FUxnDz+g+jB7ZAosPh+m75QUwQhbMhj7T/9yP/dVjfHzzM8PHk8I57IEweAHvr9cLU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=G2AairEB; arc=none smtp.client-ip=209.85.214.174
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-23526264386so5583825ad.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104144; x=1749708944; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=hZLXSy5dKdnrCLdxDNwluOSVBrj34xrZ5br2B7QUPFM=;
b=G2AairEBuM94wAjFcm6qq6RM6ARY5RGxyZGFQ16ABMetm8uotzHfENwYxMrkQMBflJ
V5qiFgt6WqjyA53fSA8bszeC1Mb9OU1mDJO8M/67Fe79PeIUbCZoywmn41mUVqlOxRdt
plX2gNDQ+FE9iHDf3i0wY+HZblxHk7rgyM8MUqiqZFWUnLlikhExsdkoqIKgwjBIkvv6
TS2C0WpUvQvETMXwqFLLeugTiWVB5awTbU6BLYinWvdv3DwsVZ11zBR2LxCcVgsiuzd4
ekfVZHOea+IPogteJJjKpjygyIIkLySE/joj0+3FHGE7pgSPH0wOg5kM+ZxptQHhxptV
1dIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104144; x=1749708944;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=hZLXSy5dKdnrCLdxDNwluOSVBrj34xrZ5br2B7QUPFM=;
b=nKn+7MmnC9rcoNtgsguXnQ4paYHjM3mE7H3Gf9eIZFkKMS4kX2Uf0R7UWg9ArHrev/
AlRy5+QtyXg/gYuhM/2aBDgGv5L/ZJnXgZlvRt8U55A2ubAR1SDlYcuprdxriUp6FQF0
53GOsnsRI5EvdVQnPEwZlokcCotk01H126+2+s20liWIiR/brSZfo3+W5evlaNW2evUE
0zoAT9AsuTOfLYV0eqz5nha8W+oN9MLvKEfN/8mSAauN0v0tW0GZ9PrTRlYo4Nk9HndN
5RhMC+tji4xdZadJvIzXjVC6zpIzsXtpSGdm3RdICsreBVVr1k5K8fsv5MoiQ5adMJx0
Hz/A==
X-Forwarded-Encrypted: i=1; AJvYcCUuSuZu9HzZwYqkcywK5lTbaN4MCxEWHUF8/m4J1WFqYEjYbHCDZJk3RJw/wcBYuaKXYzXIqgGIduqzs00=@vger.kernel.org
X-Gm-Message-State: AOJu0YxocGe8krSaj3MYIbzWidb6txqIIbP7bB7yaJh4Dy8ZNAbg6TrG
HWxfUt9euJxUBKLE9s2mkPNtQR+r04MfpMGTshzwOxr+u9x7DX1WZgzMdEA0pELAQig=
X-Gm-Gg: ASbGncuMQ6Rjnm2ueT9/FuPDAsIa+eT9c5l1X09j7e2V1F82AriTeLFriRFuRzyG4Uh
Al2ue0qES1wxSAIKlc/uhNmi8QJ4kVLYyiXQoU24pXRRMaLA7cDCqydnSN5TSfqhxShXG2miaBt
UwXXqXIUp3IE1QYbLB7lI+/FYzTQpOGUXpwRE6c6f76bni/pxYwxI4UH2+ynTFQoIdGIqHzTM6K
LKLyWXwPCFATvvPsY3BGneWhwH6DvgeQHHtJsN1+iQJcQxfkY2v7H/qpYgZiBBDQx1HMc34otF+
5r6eko6YKZiatVwLK/dOxf0Y6Ta+Zj+aYNv2NuVmGMbCz2jxiEsvVWVfpAdexaaEERxQNplkJxX
qRcfZRlMQS/wXfM/V
X-Google-Smtp-Source: AGHT+IFO2epwN2LjtG31OoHm0egnGNF3it3sm9FcAWa7tNOhP+eBWwaD0IdyHqo/ELqbwOrF1xeE1A==
X-Received: by 2002:a17:903:230d:b0:234:8f5d:e3bd with SMTP id d9443c01a7336-235e11ebbaemr80514335ad.39.1749104143890;
Wed, 04 Jun 2025 23:15:43 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.40
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:43 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 10/13] RISC-V: KVM: Introduce struct kvm_gstage_mapping
Date: Thu, 5 Jun 2025 11:44:55 +0530
Message-ID: <20250605061458.196003-11-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Introduce struct kvm_gstage_mapping which represents a g-stage
mapping at a particular page table level of the g-stage. Also,
update the kvm_riscv_gstage_map() to return the g-stage mapping
upon success.

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/include/asm/kvm_mmu.h | 9 ++++-
arch/riscv/kvm/mmu.c | 58 ++++++++++++++++++--------------
arch/riscv/kvm/vcpu_exit.c | 3 +-
3 files changed, 43 insertions(+), 27 deletions(-)

diff --git a/arch/riscv/include/asm/kvm_mmu.h b/arch/riscv/include/asm/kvm_mmu.h
index 4e1654282ee4..91c11e692dc7 100644
--- a/arch/riscv/include/asm/kvm_mmu.h
+++ b/arch/riscv/include/asm/kvm_mmu.h
@@ -8,6 +8,12 @@

#include <linux/kvm_types.h>

+struct kvm_gstage_mapping {
+ gpa_t addr;
+ pte_t pte;
+ u32 level;
+};
+
int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
phys_addr_t hpa, unsigned long size,
bool writable, bool in_atomic);
@@ -15,7 +21,8 @@ void kvm_riscv_gstage_iounmap(struct kvm *kvm, gpa_t gpa,
unsigned long size);
int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
struct kvm_memory_slot *memslot,
- gpa_t gpa, unsigned long hva, bool is_write);
+ gpa_t gpa, unsigned long hva, bool is_write,
+ struct kvm_gstage_mapping *out_map);
int kvm_riscv_gstage_alloc_pgd(struct kvm *kvm);
void kvm_riscv_gstage_free_pgd(struct kvm *kvm);
void kvm_riscv_gstage_update_hgatp(struct kvm_vcpu *vcpu);
diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c
index c9d87e7472fb..934c97c21130 100644
--- a/arch/riscv/kvm/mmu.c
+++ b/arch/riscv/kvm/mmu.c
@@ -135,18 +135,18 @@ static void gstage_remote_tlb_flush(struct kvm *kvm, u32 level, gpa_t addr)
kvm_riscv_hfence_gvma_vmid_gpa(kvm, -1UL, 0, addr, BIT(order), order);
}

-static int gstage_set_pte(struct kvm *kvm, u32 level,
- struct kvm_mmu_memory_cache *pcache,
- gpa_t addr, const pte_t *new_pte)
+static int gstage_set_pte(struct kvm *kvm,
+ struct kvm_mmu_memory_cache *pcache,
+ const struct kvm_gstage_mapping *map)
{
u32 current_level = gstage_pgd_levels - 1;
pte_t *next_ptep = (pte_t *)kvm->arch.pgd;
- pte_t *ptep = &next_ptep[gstage_pte_index(addr, current_level)];
+ pte_t *ptep = &next_ptep[gstage_pte_index(map->addr, current_level)];

- if (current_level < level)
+ if (current_level < map->level)
return -EINVAL;

- while (current_level != level) {
+ while (current_level != map->level) {
if (gstage_pte_leaf(ptep))
return -EEXIST;

@@ -165,13 +165,13 @@ static int gstage_set_pte(struct kvm *kvm, u32 level,
}

current_level--;
- ptep = &next_ptep[gstage_pte_index(addr, current_level)];
+ ptep = &next_ptep[gstage_pte_index(map->addr, current_level)];
}

- if (pte_val(*ptep) != pte_val(*new_pte)) {
- set_pte(ptep, *new_pte);
+ if (pte_val(*ptep) != pte_val(map->pte)) {
+ set_pte(ptep, map->pte);
if (gstage_pte_leaf(ptep))
- gstage_remote_tlb_flush(kvm, current_level, addr);
+ gstage_remote_tlb_flush(kvm, current_level, map->addr);
}

return 0;
@@ -181,14 +181,16 @@ static int gstage_map_page(struct kvm *kvm,
struct kvm_mmu_memory_cache *pcache,
gpa_t gpa, phys_addr_t hpa,
unsigned long page_size,
- bool page_rdonly, bool page_exec)
+ bool page_rdonly, bool page_exec,
+ struct kvm_gstage_mapping *out_map)
{
- int ret;
- u32 level = 0;
- pte_t new_pte;
pgprot_t prot;
+ int ret;

- ret = gstage_page_size_to_level(page_size, &level);
+ out_map->addr = gpa;
+ out_map->level = 0;
+
+ ret = gstage_page_size_to_level(page_size, &out_map->level);
if (ret)
return ret;

@@ -216,10 +218,10 @@ static int gstage_map_page(struct kvm *kvm,
else
prot = PAGE_WRITE;
}
- new_pte = pfn_pte(PFN_DOWN(hpa), prot);
- new_pte = pte_mkdirty(new_pte);
+ out_map->pte = pfn_pte(PFN_DOWN(hpa), prot);
+ out_map->pte = pte_mkdirty(out_map->pte);

- return gstage_set_pte(kvm, level, pcache, gpa, &new_pte);
+ return gstage_set_pte(kvm, pcache, out_map);
}

enum gstage_op {
@@ -350,7 +352,6 @@ int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
phys_addr_t hpa, unsigned long size,
bool writable, bool in_atomic)
{
- pte_t pte;
int ret = 0;
unsigned long pfn;
phys_addr_t addr, end;
@@ -358,22 +359,25 @@ int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
.gfp_custom = (in_atomic) ? GFP_ATOMIC | __GFP_ACCOUNT : 0,
.gfp_zero = __GFP_ZERO,
};
+ struct kvm_gstage_mapping map;

end = (gpa + size + PAGE_SIZE - 1) & PAGE_MASK;
pfn = __phys_to_pfn(hpa);

for (addr = gpa; addr < end; addr += PAGE_SIZE) {
- pte = pfn_pte(pfn, PAGE_KERNEL_IO);
+ map.addr = addr;
+ map.pte = pfn_pte(pfn, PAGE_KERNEL_IO);
+ map.level = 0;

if (!writable)
- pte = pte_wrprotect(pte);
+ map.pte = pte_wrprotect(map.pte);

ret = kvm_mmu_topup_memory_cache(&pcache, gstage_pgd_levels);
if (ret)
goto out;

spin_lock(&kvm->mmu_lock);
- ret = gstage_set_pte(kvm, 0, &pcache, addr, &pte);
+ ret = gstage_set_pte(kvm, &pcache, &map);
spin_unlock(&kvm->mmu_lock);
if (ret)
goto out;
@@ -591,7 +595,8 @@ bool kvm_test_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range)

int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
struct kvm_memory_slot *memslot,
- gpa_t gpa, unsigned long hva, bool is_write)
+ gpa_t gpa, unsigned long hva, bool is_write,
+ struct kvm_gstage_mapping *out_map)
{
int ret;
kvm_pfn_t hfn;
@@ -606,6 +611,9 @@ int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
unsigned long vma_pagesize, mmu_seq;
struct page *page;

+ /* Setup initial state of output mapping */
+ memset(out_map, 0, sizeof(*out_map));
+
/* We need minimum second+third level pages */
ret = kvm_mmu_topup_memory_cache(pcache, gstage_pgd_levels);
if (ret) {
@@ -675,10 +683,10 @@ int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
if (writable) {
mark_page_dirty(kvm, gfn);
ret = gstage_map_page(kvm, pcache, gpa, hfn << PAGE_SHIFT,
- vma_pagesize, false, true);
+ vma_pagesize, false, true, out_map);
} else {
ret = gstage_map_page(kvm, pcache, gpa, hfn << PAGE_SHIFT,
- vma_pagesize, true, true);
+ vma_pagesize, true, true, out_map);
}

if (ret)
diff --git a/arch/riscv/kvm/vcpu_exit.c b/arch/riscv/kvm/vcpu_exit.c
index cc82bbab0e24..4fadf2bcd070 100644
--- a/arch/riscv/kvm/vcpu_exit.c
+++ b/arch/riscv/kvm/vcpu_exit.c
@@ -14,6 +14,7 @@
static int gstage_page_fault(struct kvm_vcpu *vcpu, struct kvm_run *run,
struct kvm_cpu_trap *trap)
{
+ struct kvm_gstage_mapping host_map;
struct kvm_memory_slot *memslot;
unsigned long hva, fault_addr;
bool writable;
@@ -42,7 +43,7 @@ static int gstage_page_fault(struct kvm_vcpu *vcpu, struct kvm_run *run,
}

ret = kvm_riscv_gstage_map(vcpu, memslot, fault_addr, hva,
- (trap->scause == EXC_STORE_GUEST_PAGE_FAULT) ? true : false);
+ (trap->scause == EXC_STORE_GUEST_PAGE_FAULT) ? true : false, &host_map);
if (ret < 0)
return ret;

--
2.43.0



Return-Path: <linux-kernel+bounces-674107-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9D5A541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:18:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id F1AE8189A3A8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:18:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9223E1F5851;
Thu, 5 Jun 2025 06:15:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="Enkcg+PG"
Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181])
(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 CE4B9218ABA
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104155; cv=none; b=fKACXzAjE7uy0S/wVDFYE4LjW/g1wwXlAbrCe4PCF2Qt6ej2TYHgBpKBuW2NKrHYQ/eFS4EPvUIPYqiPVA4/jw7e/zf0435FFMz6mnxUvWcJpS944dZvWXzPly6vhKamK2eOD20azfw92x59T3hDQ24hwKXrj9dlrHSfptqSsUA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104155; c=relaxed/simple;
bh=1T+5U596f3dA/YPSNAOltWgISKWaPc9hTEJTVhp8Dw0=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=MFtUgRzvhdeAEIZxBs/pRiWK9YzfbiLKAaiMbwSlpruvhiLT7ohK6C2mo6niM+ofNOLi+8m/KonFFUEo/f0sTl6c9en2cjUiZVoNcqHgHuVQhWs7cF8mTmFxqyzQ5LvhVl3aWDD95Ko4KvjHBh3wIEgF8uZi+klarUVMlSU97ww=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=Enkcg+PG; arc=none smtp.client-ip=209.85.214.181
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-234bfe37cccso7268335ad.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104152; x=1749708952; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=BRraX5zqPEIu27knbCgVox/vzZ57ews0d3/eBDkqJxA=;
b=Enkcg+PGk28/nUukkXHw3lllW+NDJQk8L+IjvYef937fBPKYSDAFONSvktnoAXAc74
fu+QQ1evuaD/Oh3ham6pOdL5BFkP3oKwNfpX8nzkdwXvqCZlrONcvnoaGvfoZ1fDj+4P
ub7YR2sVbMmVgRA3rB++Law7o0FB1VXjs8RB70IzMopRSkprrMhd/2M/6UVDSJS4+Dm/
cDnEeF8J7o4XIh40Qp/sb/ruUsueApe1VlJZEmCtyJe2C3mqR3T9waBepx4ZEgKCMUmQ
E9lgkjT28LWAaAD72lM7YCZ2Tg3FfcG+VdLgR1XmZmePvC9cHAaHiYbOtVuuSmSCC/6Q
eLtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104152; x=1749708952;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=BRraX5zqPEIu27knbCgVox/vzZ57ews0d3/eBDkqJxA=;
b=WsszBWY3Fo4D0jomSdsla+wCsYJm/PnSC8LntBSO+pKjDLBCpjN/mgj0Zpc0kP48Bg
I+fR5uY1N1GenLhiVMbfQ3FCSStKiGDfalwXjKFGkB8KJ6eztB9FSfPCzoikN3jhtR+6
SGWKglafgOI1boBuVXvOMhqzy79h01ECPdxpmvBLkPRLs9ktD4J5tHKgTEktk9Nf+A3j
cUBxOzCRuwT/4+ubXvOnYzZDKnlqwqZt/BRKvGzUas1KYmLCtYFKFP9rK5UFJ+aKQKj0
4pJ/BgCZhAzN5Wl1GfpWufvEtlcd02CfyFCx21ipVX7vIVH8km+580NqwEPEx157QHS1
7o2w==
X-Forwarded-Encrypted: i=1; AJvYcCWQG5Y4PVHosGyO6ZSAcA2xKGN+Kx5zQV9ZLGfXtrdGrrvRhxS13W85ODwg6sNLMcN3gx3cBK8P2BkVpFc=@vger.kernel.org
X-Gm-Message-State: AOJu0YySM34W4mL7tAAX+B171bWRDco9p0+pPtL3tuR8C8zh0x6wI/sX
uzFoIHJDBNhR3yxljPD5yihXoADoRHNRiV9q1POlyPl92EKRrOEyDYkzusSbUE1D8QQ=
X-Gm-Gg: ASbGncuXHwtMPXRlKtN6cdqixdRbwr+eSxqaTsFpnxVUfeu3hZDizmQNJv1bdCo0dCr
UPl1lxnRgIBCVoCTLykSPi6voWvP/bbRSA+amWmmXaXCWcp1M0BhVtn8uWKaFViNyJ0VdHxKJTt
leTGI3fbYhsHSlkPYS8UYHIlY+A6Imbka1mj1pVjNBpV7UxgFL7uJBttG75OwOOvbNAGRAB8MIx
N9pTtokCB5wWXX4JKucjnvk4AZE99OglgiqAuzBlYwpu9+TGQYxpmNUMN47IJ97tGgAV5hgefX7
EBge9b7bucN/Ts8vL1bXRLJmcZ6/JeIJyCZmX2o6VNLbTdZl1aOFwFLWYIKtzDgqwLTZkDD0UqQ
74Ahkq5L1kIj2xiRQ
X-Google-Smtp-Source: AGHT+IGYGTyTa8SFhLhi99Le1sXP7Ki5TCTst4Mq5ezq+Odq6ROVX+MSCkircODyWSq338B3BPTPkw==
X-Received: by 2002:a17:90b:1ccb:b0:311:df4b:4b93 with SMTP id 98e67ed59e1d1-3130cca7a23mr8376360a91.7.1749104151877;
Wed, 04 Jun 2025 23:15:51 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.48
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:51 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 12/13] RISC-V: KVM: Factor-out g-stage page table management
Date: Thu, 5 Jun 2025 11:44:57 +0530
Message-ID: <20250605061458.196003-13-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The upcoming nested virtualization can share g-stage page table
management with the current host g-stage implementation hence
factor-out g-stage page table management into separate sources
and also use "kvm_riscv_mmu_" prefix for host g-stage functions.

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/include/asm/kvm_gstage.h | 72 ++++
arch/riscv/include/asm/kvm_mmu.h | 32 +-
arch/riscv/kvm/Makefile | 1 +
arch/riscv/kvm/aia_imsic.c | 11 +-
arch/riscv/kvm/gstage.c | 335 +++++++++++++++++++
arch/riscv/kvm/main.c | 2 +-
arch/riscv/kvm/mmu.c | 490 ++++++----------------------
arch/riscv/kvm/vcpu.c | 4 +-
arch/riscv/kvm/vcpu_exit.c | 5 +-
arch/riscv/kvm/vm.c | 6 +-
10 files changed, 528 insertions(+), 430 deletions(-)
create mode 100644 arch/riscv/include/asm/kvm_gstage.h
create mode 100644 arch/riscv/kvm/gstage.c

diff --git a/arch/riscv/include/asm/kvm_gstage.h b/arch/riscv/include/asm/kvm_gstage.h
new file mode 100644
index 000000000000..595e2183173e
--- /dev/null
+++ b/arch/riscv/include/asm/kvm_gstage.h
@@ -0,0 +1,72 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (C) 2019 Western Digital Corporation or its affiliates.
+ * Copyright (c) 2025 Ventana Micro Systems Inc.
+ */
+
+#ifndef __RISCV_KVM_GSTAGE_H_
+#define __RISCV_KVM_GSTAGE_H_
+
+#include <linux/kvm_types.h>
+
+struct kvm_gstage {
+ struct kvm *kvm;
+ unsigned long flags;
+#define KVM_GSTAGE_FLAGS_LOCAL BIT(0)
+ unsigned long vmid;
+ pgd_t *pgd;
+};
+
+struct kvm_gstage_mapping {
+ gpa_t addr;
+ pte_t pte;
+ u32 level;
+};
+
+#ifdef CONFIG_64BIT
+#define kvm_riscv_gstage_index_bits 9
+#else
+#define kvm_riscv_gstage_index_bits 10
+#endif
+
+extern unsigned long kvm_riscv_gstage_mode;
+extern unsigned long kvm_riscv_gstage_pgd_levels;
+
+#define kvm_riscv_gstage_pgd_xbits 2
+#define kvm_riscv_gstage_pgd_size (1UL << (HGATP_PAGE_SHIFT + kvm_riscv_gstage_pgd_xbits))
+#define kvm_riscv_gstage_gpa_bits (HGATP_PAGE_SHIFT + \
+ (kvm_riscv_gstage_pgd_levels * \
+ kvm_riscv_gstage_index_bits) + \
+ kvm_riscv_gstage_pgd_xbits)
+#define kvm_riscv_gstage_gpa_size ((gpa_t)(1ULL << kvm_riscv_gstage_gpa_bits))
+
+bool kvm_riscv_gstage_get_leaf(struct kvm_gstage *gstage, gpa_t addr,
+ pte_t **ptepp, u32 *ptep_level);
+
+int kvm_riscv_gstage_set_pte(struct kvm_gstage *gstage,
+ struct kvm_mmu_memory_cache *pcache,
+ const struct kvm_gstage_mapping *map);
+
+int kvm_riscv_gstage_map_page(struct kvm_gstage *gstage,
+ struct kvm_mmu_memory_cache *pcache,
+ gpa_t gpa, phys_addr_t hpa, unsigned long page_size,
+ bool page_rdonly, bool page_exec,
+ struct kvm_gstage_mapping *out_map);
+
+enum kvm_riscv_gstage_op {
+ GSTAGE_OP_NOP = 0, /* Nothing */
+ GSTAGE_OP_CLEAR, /* Clear/Unmap */
+ GSTAGE_OP_WP, /* Write-protect */
+};
+
+void kvm_riscv_gstage_op_pte(struct kvm_gstage *gstage, gpa_t addr,
+ pte_t *ptep, u32 ptep_level, enum kvm_riscv_gstage_op op);
+
+void kvm_riscv_gstage_unmap_range(struct kvm_gstage *gstage,
+ gpa_t start, gpa_t size, bool may_block);
+
+void kvm_riscv_gstage_wp_range(struct kvm_gstage *gstage, gpa_t start, gpa_t end);
+
+void kvm_riscv_gstage_mode_detect(void);
+
+#endif
diff --git a/arch/riscv/include/asm/kvm_mmu.h b/arch/riscv/include/asm/kvm_mmu.h
index 91c11e692dc7..5439e76f0a96 100644
--- a/arch/riscv/include/asm/kvm_mmu.h
+++ b/arch/riscv/include/asm/kvm_mmu.h
@@ -6,28 +6,16 @@
#ifndef __RISCV_KVM_MMU_H_
#define __RISCV_KVM_MMU_H_

-#include <linux/kvm_types.h>
+#include <asm/kvm_gstage.h>

-struct kvm_gstage_mapping {
- gpa_t addr;
- pte_t pte;
- u32 level;
-};
-
-int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
- phys_addr_t hpa, unsigned long size,
- bool writable, bool in_atomic);
-void kvm_riscv_gstage_iounmap(struct kvm *kvm, gpa_t gpa,
- unsigned long size);
-int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
- struct kvm_memory_slot *memslot,
- gpa_t gpa, unsigned long hva, bool is_write,
- struct kvm_gstage_mapping *out_map);
-int kvm_riscv_gstage_alloc_pgd(struct kvm *kvm);
-void kvm_riscv_gstage_free_pgd(struct kvm *kvm);
-void kvm_riscv_gstage_update_hgatp(struct kvm_vcpu *vcpu);
-void kvm_riscv_gstage_mode_detect(void);
-unsigned long kvm_riscv_gstage_mode(void);
-int kvm_riscv_gstage_gpa_bits(void);
+int kvm_riscv_mmu_ioremap(struct kvm *kvm, gpa_t gpa, phys_addr_t hpa,
+ unsigned long size, bool writable, bool in_atomic);
+void kvm_riscv_mmu_iounmap(struct kvm *kvm, gpa_t gpa, unsigned long size);
+int kvm_riscv_mmu_map(struct kvm_vcpu *vcpu, struct kvm_memory_slot *memslot,
+ gpa_t gpa, unsigned long hva, bool is_write,
+ struct kvm_gstage_mapping *out_map);
+int kvm_riscv_mmu_alloc_pgd(struct kvm *kvm);
+void kvm_riscv_mmu_free_pgd(struct kvm *kvm);
+void kvm_riscv_mmu_update_hgatp(struct kvm_vcpu *vcpu);

#endif
diff --git a/arch/riscv/kvm/Makefile b/arch/riscv/kvm/Makefile
index 4e0bba91d284..4b199dc3e58b 100644
--- a/arch/riscv/kvm/Makefile
+++ b/arch/riscv/kvm/Makefile
@@ -14,6 +14,7 @@ kvm-y += aia.o
kvm-y += aia_aplic.o
kvm-y += aia_device.o
kvm-y += aia_imsic.o
+kvm-y += gstage.o
kvm-y += main.o
kvm-y += mmu.o
kvm-y += nacl.o
diff --git a/arch/riscv/kvm/aia_imsic.c b/arch/riscv/kvm/aia_imsic.c
index 40b469c0a01f..ea1a36836d9c 100644
--- a/arch/riscv/kvm/aia_imsic.c
+++ b/arch/riscv/kvm/aia_imsic.c
@@ -704,9 +704,8 @@ void kvm_riscv_vcpu_aia_imsic_release(struct kvm_vcpu *vcpu)
*/

/* Purge the G-stage mapping */
- kvm_riscv_gstage_iounmap(vcpu->kvm,
- vcpu->arch.aia_context.imsic_addr,
- IMSIC_MMIO_PAGE_SZ);
+ kvm_riscv_mmu_iounmap(vcpu->kvm, vcpu->arch.aia_context.imsic_addr,
+ IMSIC_MMIO_PAGE_SZ);

/* TODO: Purge the IOMMU mapping ??? */

@@ -786,9 +785,9 @@ int kvm_riscv_vcpu_aia_imsic_update(struct kvm_vcpu *vcpu)
imsic_vsfile_local_clear(new_vsfile_hgei, imsic->nr_hw_eix);

/* Update G-stage mapping for the new IMSIC VS-file */
- ret = kvm_riscv_gstage_ioremap(kvm, vcpu->arch.aia_context.imsic_addr,
- new_vsfile_pa, IMSIC_MMIO_PAGE_SZ,
- true, true);
+ ret = kvm_riscv_mmu_ioremap(kvm, vcpu->arch.aia_context.imsic_addr,
+ new_vsfile_pa, IMSIC_MMIO_PAGE_SZ,
+ true, true);
if (ret)
goto fail_free_vsfile_hgei;

diff --git a/arch/riscv/kvm/gstage.c b/arch/riscv/kvm/gstage.c
new file mode 100644
index 000000000000..c7d61f14f6be
--- /dev/null
+++ b/arch/riscv/kvm/gstage.c
@@ -0,0 +1,335 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2019 Western Digital Corporation or its affiliates.
+ * Copyright (c) 2025 Ventana Micro Systems Inc.
+ */
+
+#include <linux/bitops.h>
+#include <linux/errno.h>
+#include <linux/kvm_host.h>
+#include <linux/module.h>
+#include <linux/pgtable.h>
+#include <asm/kvm_gstage.h>
+
+#ifdef CONFIG_64BIT
+unsigned long kvm_riscv_gstage_mode __ro_after_init = HGATP_MODE_SV39X4;
+unsigned long kvm_riscv_gstage_pgd_levels __ro_after_init = 3;
+#else
+unsigned long kvm_riscv_gstage_mode __ro_after_init = HGATP_MODE_SV32X4;
+unsigned long kvm_riscv_gstage_pgd_levels __ro_after_init = 2;
+#endif
+
+#define gstage_pte_leaf(__ptep) \
+ (pte_val(*(__ptep)) & (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC))
+
+static inline unsigned long gstage_pte_index(gpa_t addr, u32 level)
+{
+ unsigned long mask;
+ unsigned long shift = HGATP_PAGE_SHIFT + (kvm_riscv_gstage_index_bits * level);
+
+ if (level == (kvm_riscv_gstage_pgd_levels - 1))
+ mask = (PTRS_PER_PTE * (1UL << kvm_riscv_gstage_pgd_xbits)) - 1;
+ else
+ mask = PTRS_PER_PTE - 1;
+
+ return (addr >> shift) & mask;
+}
+
+static inline unsigned long gstage_pte_page_vaddr(pte_t pte)
+{
+ return (unsigned long)pfn_to_virt(__page_val_to_pfn(pte_val(pte)));
+}
+
+static int gstage_page_size_to_level(unsigned long page_size, u32 *out_level)
+{
+ u32 i;
+ unsigned long psz = 1UL << 12;
+
+ for (i = 0; i < kvm_riscv_gstage_pgd_levels; i++) {
+ if (page_size == (psz << (i * kvm_riscv_gstage_index_bits))) {
+ *out_level = i;
+ return 0;
+ }
+ }
+
+ return -EINVAL;
+}
+
+static int gstage_level_to_page_order(u32 level, unsigned long *out_pgorder)
+{
+ if (kvm_riscv_gstage_pgd_levels < level)
+ return -EINVAL;
+
+ *out_pgorder = 12 + (level * kvm_riscv_gstage_index_bits);
+ return 0;
+}
+
+static int gstage_level_to_page_size(u32 level, unsigned long *out_pgsize)
+{
+ int rc;
+ unsigned long page_order = PAGE_SHIFT;
+
+ rc = gstage_level_to_page_order(level, &page_order);
+ if (rc)
+ return rc;
+
+ *out_pgsize = BIT(page_order);
+ return 0;
+}
+
+bool kvm_riscv_gstage_get_leaf(struct kvm_gstage *gstage, gpa_t addr,
+ pte_t **ptepp, u32 *ptep_level)
+{
+ pte_t *ptep;
+ u32 current_level = kvm_riscv_gstage_pgd_levels - 1;
+
+ *ptep_level = current_level;
+ ptep = (pte_t *)gstage->pgd;
+ ptep = &ptep[gstage_pte_index(addr, current_level)];
+ while (ptep && pte_val(ptep_get(ptep))) {
+ if (gstage_pte_leaf(ptep)) {
+ *ptep_level = current_level;
+ *ptepp = ptep;
+ return true;
+ }
+
+ if (current_level) {
+ current_level--;
+ *ptep_level = current_level;
+ ptep = (pte_t *)gstage_pte_page_vaddr(ptep_get(ptep));
+ ptep = &ptep[gstage_pte_index(addr, current_level)];
+ } else {
+ ptep = NULL;
+ }
+ }
+
+ return false;
+}
+
+static void gstage_tlb_flush(struct kvm_gstage *gstage, u32 level, gpa_t addr)
+{
+ unsigned long order = PAGE_SHIFT;
+
+ if (gstage_level_to_page_order(level, &order))
+ return;
+ addr &= ~(BIT(order) - 1);
+
+ if (gstage->flags & KVM_GSTAGE_FLAGS_LOCAL)
+ kvm_riscv_local_hfence_gvma_vmid_gpa(gstage->vmid, addr, BIT(order), order);
+ else
+ kvm_riscv_hfence_gvma_vmid_gpa(gstage->kvm, -1UL, 0, addr, BIT(order), order);
+}
+
+int kvm_riscv_gstage_set_pte(struct kvm_gstage *gstage,
+ struct kvm_mmu_memory_cache *pcache,
+ const struct kvm_gstage_mapping *map)
+{
+ u32 current_level = kvm_riscv_gstage_pgd_levels - 1;
+ pte_t *next_ptep = (pte_t *)gstage->pgd;
+ pte_t *ptep = &next_ptep[gstage_pte_index(map->addr, current_level)];
+
+ if (current_level < map->level)
+ return -EINVAL;
+
+ while (current_level != map->level) {
+ if (gstage_pte_leaf(ptep))
+ return -EEXIST;
+
+ if (!pte_val(ptep_get(ptep))) {
+ if (!pcache)
+ return -ENOMEM;
+ next_ptep = kvm_mmu_memory_cache_alloc(pcache);
+ if (!next_ptep)
+ return -ENOMEM;
+ set_pte(ptep, pfn_pte(PFN_DOWN(__pa(next_ptep)),
+ __pgprot(_PAGE_TABLE)));
+ } else {
+ if (gstage_pte_leaf(ptep))
+ return -EEXIST;
+ next_ptep = (pte_t *)gstage_pte_page_vaddr(ptep_get(ptep));
+ }
+
+ current_level--;
+ ptep = &next_ptep[gstage_pte_index(map->addr, current_level)];
+ }
+
+ if (pte_val(*ptep) != pte_val(map->pte)) {
+ set_pte(ptep, map->pte);
+ if (gstage_pte_leaf(ptep))
+ gstage_tlb_flush(gstage, current_level, map->addr);
+ }
+
+ return 0;
+}
+
+int kvm_riscv_gstage_map_page(struct kvm_gstage *gstage,
+ struct kvm_mmu_memory_cache *pcache,
+ gpa_t gpa, phys_addr_t hpa, unsigned long page_size,
+ bool page_rdonly, bool page_exec,
+ struct kvm_gstage_mapping *out_map)
+{
+ pgprot_t prot;
+ int ret;
+
+ out_map->addr = gpa;
+ out_map->level = 0;
+
+ ret = gstage_page_size_to_level(page_size, &out_map->level);
+ if (ret)
+ return ret;
+
+ /*
+ * A RISC-V implementation can choose to either:
+ * 1) Update 'A' and 'D' PTE bits in hardware
+ * 2) Generate page fault when 'A' and/or 'D' bits are not set
+ * PTE so that software can update these bits.
+ *
+ * We support both options mentioned above. To achieve this, we
+ * always set 'A' and 'D' PTE bits at time of creating G-stage
+ * mapping. To support KVM dirty page logging with both options
+ * mentioned above, we will write-protect G-stage PTEs to track
+ * dirty pages.
+ */
+
+ if (page_exec) {
+ if (page_rdonly)
+ prot = PAGE_READ_EXEC;
+ else
+ prot = PAGE_WRITE_EXEC;
+ } else {
+ if (page_rdonly)
+ prot = PAGE_READ;
+ else
+ prot = PAGE_WRITE;
+ }
+ out_map->pte = pfn_pte(PFN_DOWN(hpa), prot);
+ out_map->pte = pte_mkdirty(out_map->pte);
+
+ return kvm_riscv_gstage_set_pte(gstage, pcache, out_map);
+}
+
+void kvm_riscv_gstage_op_pte(struct kvm_gstage *gstage, gpa_t addr,
+ pte_t *ptep, u32 ptep_level, enum kvm_riscv_gstage_op op)
+{
+ int i, ret;
+ pte_t *next_ptep;
+ u32 next_ptep_level;
+ unsigned long next_page_size, page_size;
+
+ ret = gstage_level_to_page_size(ptep_level, &page_size);
+ if (ret)
+ return;
+
+ WARN_ON(addr & (page_size - 1));
+
+ if (!pte_val(ptep_get(ptep)))
+ return;
+
+ if (ptep_level && !gstage_pte_leaf(ptep)) {
+ next_ptep = (pte_t *)gstage_pte_page_vaddr(ptep_get(ptep));
+ next_ptep_level = ptep_level - 1;
+ ret = gstage_level_to_page_size(next_ptep_level, &next_page_size);
+ if (ret)
+ return;
+
+ if (op == GSTAGE_OP_CLEAR)
+ set_pte(ptep, __pte(0));
+ for (i = 0; i < PTRS_PER_PTE; i++)
+ kvm_riscv_gstage_op_pte(gstage, addr + i * next_page_size,
+ &next_ptep[i], next_ptep_level, op);
+ if (op == GSTAGE_OP_CLEAR)
+ put_page(virt_to_page(next_ptep));
+ } else {
+ if (op == GSTAGE_OP_CLEAR)
+ set_pte(ptep, __pte(0));
+ else if (op == GSTAGE_OP_WP)
+ set_pte(ptep, __pte(pte_val(ptep_get(ptep)) & ~_PAGE_WRITE));
+ gstage_tlb_flush(gstage, ptep_level, addr);
+ }
+}
+
+void kvm_riscv_gstage_unmap_range(struct kvm_gstage *gstage,
+ gpa_t start, gpa_t size, bool may_block)
+{
+ int ret;
+ pte_t *ptep;
+ u32 ptep_level;
+ bool found_leaf;
+ unsigned long page_size;
+ gpa_t addr = start, end = start + size;
+
+ while (addr < end) {
+ found_leaf = kvm_riscv_gstage_get_leaf(gstage, addr, &ptep, &ptep_level);
+ ret = gstage_level_to_page_size(ptep_level, &page_size);
+ if (ret)
+ break;
+
+ if (!found_leaf)
+ goto next;
+
+ if (!(addr & (page_size - 1)) && ((end - addr) >= page_size))
+ kvm_riscv_gstage_op_pte(gstage, addr, ptep,
+ ptep_level, GSTAGE_OP_CLEAR);
+
+next:
+ addr += page_size;
+
+ /*
+ * If the range is too large, release the kvm->mmu_lock
+ * to prevent starvation and lockup detector warnings.
+ */
+ if (!(gstage->flags & KVM_GSTAGE_FLAGS_LOCAL) && may_block && addr < end)
+ cond_resched_lock(&gstage->kvm->mmu_lock);
+ }
+}
+
+void kvm_riscv_gstage_wp_range(struct kvm_gstage *gstage, gpa_t start, gpa_t end)
+{
+ int ret;
+ pte_t *ptep;
+ u32 ptep_level;
+ bool found_leaf;
+ gpa_t addr = start;
+ unsigned long page_size;
+
+ while (addr < end) {
+ found_leaf = kvm_riscv_gstage_get_leaf(gstage, addr, &ptep, &ptep_level);
+ ret = gstage_level_to_page_size(ptep_level, &page_size);
+ if (ret)
+ break;
+
+ if (!found_leaf)
+ goto next;
+
+ if (!(addr & (page_size - 1)) && ((end - addr) >= page_size))
+ kvm_riscv_gstage_op_pte(gstage, addr, ptep,
+ ptep_level, GSTAGE_OP_WP);
+
+next:
+ addr += page_size;
+ }
+}
+
+void __init kvm_riscv_gstage_mode_detect(void)
+{
+#ifdef CONFIG_64BIT
+ /* Try Sv57x4 G-stage mode */
+ csr_write(CSR_HGATP, HGATP_MODE_SV57X4 << HGATP_MODE_SHIFT);
+ if ((csr_read(CSR_HGATP) >> HGATP_MODE_SHIFT) == HGATP_MODE_SV57X4) {
+ kvm_riscv_gstage_mode = HGATP_MODE_SV57X4;
+ kvm_riscv_gstage_pgd_levels = 5;
+ goto skip_sv48x4_test;
+ }
+
+ /* Try Sv48x4 G-stage mode */
+ csr_write(CSR_HGATP, HGATP_MODE_SV48X4 << HGATP_MODE_SHIFT);
+ if ((csr_read(CSR_HGATP) >> HGATP_MODE_SHIFT) == HGATP_MODE_SV48X4) {
+ kvm_riscv_gstage_mode = HGATP_MODE_SV48X4;
+ kvm_riscv_gstage_pgd_levels = 4;
+ }
+skip_sv48x4_test:
+
+ csr_write(CSR_HGATP, 0);
+ kvm_riscv_local_hfence_gvma_all();
+#endif
+}
diff --git a/arch/riscv/kvm/main.c b/arch/riscv/kvm/main.c
index b861a5dd7bd9..67c876de74ef 100644
--- a/arch/riscv/kvm/main.c
+++ b/arch/riscv/kvm/main.c
@@ -135,7 +135,7 @@ static int __init riscv_kvm_init(void)
(rc) ? slist : "no features");
}

- switch (kvm_riscv_gstage_mode()) {
+ switch (kvm_riscv_gstage_mode) {
case HGATP_MODE_SV32X4:
str = "Sv32x4";
break;
diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c
index 934c97c21130..9f7dcd8cd741 100644
--- a/arch/riscv/kvm/mmu.c
+++ b/arch/riscv/kvm/mmu.c
@@ -6,9 +6,7 @@
* Anup Patel <anup.patel@xxxxxxx>
*/

-#include <linux/bitops.h>
#include <linux/errno.h>
-#include <linux/err.h>
#include <linux/hugetlb.h>
#include <linux/module.h>
#include <linux/uaccess.h>
@@ -17,340 +15,28 @@
#include <linux/sched/signal.h>
#include <asm/kvm_mmu.h>
#include <asm/kvm_nacl.h>
-#include <asm/page.h>
-#include <asm/pgtable.h>
-
-#ifdef CONFIG_64BIT
-static unsigned long gstage_mode __ro_after_init = (HGATP_MODE_SV39X4 << HGATP_MODE_SHIFT);
-static unsigned long gstage_pgd_levels __ro_after_init = 3;
-#define gstage_index_bits 9
-#else
-static unsigned long gstage_mode __ro_after_init = (HGATP_MODE_SV32X4 << HGATP_MODE_SHIFT);
-static unsigned long gstage_pgd_levels __ro_after_init = 2;
-#define gstage_index_bits 10
-#endif
-
-#define gstage_pgd_xbits 2
-#define gstage_pgd_size (1UL << (HGATP_PAGE_SHIFT + gstage_pgd_xbits))
-#define gstage_gpa_bits (HGATP_PAGE_SHIFT + \
- (gstage_pgd_levels * gstage_index_bits) + \
- gstage_pgd_xbits)
-#define gstage_gpa_size ((gpa_t)(1ULL << gstage_gpa_bits))
-
-#define gstage_pte_leaf(__ptep) \
- (pte_val(*(__ptep)) & (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC))
-
-static inline unsigned long gstage_pte_index(gpa_t addr, u32 level)
-{
- unsigned long mask;
- unsigned long shift = HGATP_PAGE_SHIFT + (gstage_index_bits * level);
-
- if (level == (gstage_pgd_levels - 1))
- mask = (PTRS_PER_PTE * (1UL << gstage_pgd_xbits)) - 1;
- else
- mask = PTRS_PER_PTE - 1;
-
- return (addr >> shift) & mask;
-}

-static inline unsigned long gstage_pte_page_vaddr(pte_t pte)
-{
- return (unsigned long)pfn_to_virt(__page_val_to_pfn(pte_val(pte)));
-}
-
-static int gstage_page_size_to_level(unsigned long page_size, u32 *out_level)
-{
- u32 i;
- unsigned long psz = 1UL << 12;
-
- for (i = 0; i < gstage_pgd_levels; i++) {
- if (page_size == (psz << (i * gstage_index_bits))) {
- *out_level = i;
- return 0;
- }
- }
-
- return -EINVAL;
-}
-
-static int gstage_level_to_page_order(u32 level, unsigned long *out_pgorder)
-{
- if (gstage_pgd_levels < level)
- return -EINVAL;
-
- *out_pgorder = 12 + (level * gstage_index_bits);
- return 0;
-}
-
-static int gstage_level_to_page_size(u32 level, unsigned long *out_pgsize)
-{
- int rc;
- unsigned long page_order = PAGE_SHIFT;
-
- rc = gstage_level_to_page_order(level, &page_order);
- if (rc)
- return rc;
-
- *out_pgsize = BIT(page_order);
- return 0;
-}
-
-static bool gstage_get_leaf_entry(struct kvm *kvm, gpa_t addr,
- pte_t **ptepp, u32 *ptep_level)
-{
- pte_t *ptep;
- u32 current_level = gstage_pgd_levels - 1;
-
- *ptep_level = current_level;
- ptep = (pte_t *)kvm->arch.pgd;
- ptep = &ptep[gstage_pte_index(addr, current_level)];
- while (ptep && pte_val(ptep_get(ptep))) {
- if (gstage_pte_leaf(ptep)) {
- *ptep_level = current_level;
- *ptepp = ptep;
- return true;
- }
-
- if (current_level) {
- current_level--;
- *ptep_level = current_level;
- ptep = (pte_t *)gstage_pte_page_vaddr(ptep_get(ptep));
- ptep = &ptep[gstage_pte_index(addr, current_level)];
- } else {
- ptep = NULL;
- }
- }
-
- return false;
-}
-
-static void gstage_remote_tlb_flush(struct kvm *kvm, u32 level, gpa_t addr)
-{
- unsigned long order = PAGE_SHIFT;
-
- if (gstage_level_to_page_order(level, &order))
- return;
- addr &= ~(BIT(order) - 1);
-
- kvm_riscv_hfence_gvma_vmid_gpa(kvm, -1UL, 0, addr, BIT(order), order);
-}
-
-static int gstage_set_pte(struct kvm *kvm,
- struct kvm_mmu_memory_cache *pcache,
- const struct kvm_gstage_mapping *map)
-{
- u32 current_level = gstage_pgd_levels - 1;
- pte_t *next_ptep = (pte_t *)kvm->arch.pgd;
- pte_t *ptep = &next_ptep[gstage_pte_index(map->addr, current_level)];
-
- if (current_level < map->level)
- return -EINVAL;
-
- while (current_level != map->level) {
- if (gstage_pte_leaf(ptep))
- return -EEXIST;
-
- if (!pte_val(ptep_get(ptep))) {
- if (!pcache)
- return -ENOMEM;
- next_ptep = kvm_mmu_memory_cache_alloc(pcache);
- if (!next_ptep)
- return -ENOMEM;
- set_pte(ptep, pfn_pte(PFN_DOWN(__pa(next_ptep)),
- __pgprot(_PAGE_TABLE)));
- } else {
- if (gstage_pte_leaf(ptep))
- return -EEXIST;
- next_ptep = (pte_t *)gstage_pte_page_vaddr(ptep_get(ptep));
- }
-
- current_level--;
- ptep = &next_ptep[gstage_pte_index(map->addr, current_level)];
- }
-
- if (pte_val(*ptep) != pte_val(map->pte)) {
- set_pte(ptep, map->pte);
- if (gstage_pte_leaf(ptep))
- gstage_remote_tlb_flush(kvm, current_level, map->addr);
- }
-
- return 0;
-}
-
-static int gstage_map_page(struct kvm *kvm,
- struct kvm_mmu_memory_cache *pcache,
- gpa_t gpa, phys_addr_t hpa,
- unsigned long page_size,
- bool page_rdonly, bool page_exec,
- struct kvm_gstage_mapping *out_map)
-{
- pgprot_t prot;
- int ret;
-
- out_map->addr = gpa;
- out_map->level = 0;
-
- ret = gstage_page_size_to_level(page_size, &out_map->level);
- if (ret)
- return ret;
-
- /*
- * A RISC-V implementation can choose to either:
- * 1) Update 'A' and 'D' PTE bits in hardware
- * 2) Generate page fault when 'A' and/or 'D' bits are not set
- * PTE so that software can update these bits.
- *
- * We support both options mentioned above. To achieve this, we
- * always set 'A' and 'D' PTE bits at time of creating G-stage
- * mapping. To support KVM dirty page logging with both options
- * mentioned above, we will write-protect G-stage PTEs to track
- * dirty pages.
- */
-
- if (page_exec) {
- if (page_rdonly)
- prot = PAGE_READ_EXEC;
- else
- prot = PAGE_WRITE_EXEC;
- } else {
- if (page_rdonly)
- prot = PAGE_READ;
- else
- prot = PAGE_WRITE;
- }
- out_map->pte = pfn_pte(PFN_DOWN(hpa), prot);
- out_map->pte = pte_mkdirty(out_map->pte);
-
- return gstage_set_pte(kvm, pcache, out_map);
-}
-
-enum gstage_op {
- GSTAGE_OP_NOP = 0, /* Nothing */
- GSTAGE_OP_CLEAR, /* Clear/Unmap */
- GSTAGE_OP_WP, /* Write-protect */
-};
-
-static void gstage_op_pte(struct kvm *kvm, gpa_t addr,
- pte_t *ptep, u32 ptep_level, enum gstage_op op)
-{
- int i, ret;
- pte_t *next_ptep;
- u32 next_ptep_level;
- unsigned long next_page_size, page_size;
-
- ret = gstage_level_to_page_size(ptep_level, &page_size);
- if (ret)
- return;
-
- BUG_ON(addr & (page_size - 1));
-
- if (!pte_val(ptep_get(ptep)))
- return;
-
- if (ptep_level && !gstage_pte_leaf(ptep)) {
- next_ptep = (pte_t *)gstage_pte_page_vaddr(ptep_get(ptep));
- next_ptep_level = ptep_level - 1;
- ret = gstage_level_to_page_size(next_ptep_level,
- &next_page_size);
- if (ret)
- return;
-
- if (op == GSTAGE_OP_CLEAR)
- set_pte(ptep, __pte(0));
- for (i = 0; i < PTRS_PER_PTE; i++)
- gstage_op_pte(kvm, addr + i * next_page_size,
- &next_ptep[i], next_ptep_level, op);
- if (op == GSTAGE_OP_CLEAR)
- put_page(virt_to_page(next_ptep));
- } else {
- if (op == GSTAGE_OP_CLEAR)
- set_pte(ptep, __pte(0));
- else if (op == GSTAGE_OP_WP)
- set_pte(ptep, __pte(pte_val(ptep_get(ptep)) & ~_PAGE_WRITE));
- gstage_remote_tlb_flush(kvm, ptep_level, addr);
- }
-}
-
-static void gstage_unmap_range(struct kvm *kvm, gpa_t start,
- gpa_t size, bool may_block)
-{
- int ret;
- pte_t *ptep;
- u32 ptep_level;
- bool found_leaf;
- unsigned long page_size;
- gpa_t addr = start, end = start + size;
-
- while (addr < end) {
- found_leaf = gstage_get_leaf_entry(kvm, addr,
- &ptep, &ptep_level);
- ret = gstage_level_to_page_size(ptep_level, &page_size);
- if (ret)
- break;
-
- if (!found_leaf)
- goto next;
-
- if (!(addr & (page_size - 1)) && ((end - addr) >= page_size))
- gstage_op_pte(kvm, addr, ptep,
- ptep_level, GSTAGE_OP_CLEAR);
-
-next:
- addr += page_size;
-
- /*
- * If the range is too large, release the kvm->mmu_lock
- * to prevent starvation and lockup detector warnings.
- */
- if (may_block && addr < end)
- cond_resched_lock(&kvm->mmu_lock);
- }
-}
-
-static void gstage_wp_range(struct kvm *kvm, gpa_t start, gpa_t end)
-{
- int ret;
- pte_t *ptep;
- u32 ptep_level;
- bool found_leaf;
- gpa_t addr = start;
- unsigned long page_size;
-
- while (addr < end) {
- found_leaf = gstage_get_leaf_entry(kvm, addr,
- &ptep, &ptep_level);
- ret = gstage_level_to_page_size(ptep_level, &page_size);
- if (ret)
- break;
-
- if (!found_leaf)
- goto next;
-
- if (!(addr & (page_size - 1)) && ((end - addr) >= page_size))
- gstage_op_pte(kvm, addr, ptep,
- ptep_level, GSTAGE_OP_WP);
-
-next:
- addr += page_size;
- }
-}
-
-static void gstage_wp_memory_region(struct kvm *kvm, int slot)
+static void mmu_wp_memory_region(struct kvm *kvm, int slot)
{
struct kvm_memslots *slots = kvm_memslots(kvm);
struct kvm_memory_slot *memslot = id_to_memslot(slots, slot);
phys_addr_t start = memslot->base_gfn << PAGE_SHIFT;
phys_addr_t end = (memslot->base_gfn + memslot->npages) << PAGE_SHIFT;
+ struct kvm_gstage gstage;
+
+ gstage.kvm = kvm;
+ gstage.flags = 0;
+ gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid);
+ gstage.pgd = kvm->arch.pgd;

spin_lock(&kvm->mmu_lock);
- gstage_wp_range(kvm, start, end);
+ kvm_riscv_gstage_wp_range(&gstage, start, end);
spin_unlock(&kvm->mmu_lock);
kvm_flush_remote_tlbs_memslot(kvm, memslot);
}

-int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
- phys_addr_t hpa, unsigned long size,
- bool writable, bool in_atomic)
+int kvm_riscv_mmu_ioremap(struct kvm *kvm, gpa_t gpa, phys_addr_t hpa,
+ unsigned long size, bool writable, bool in_atomic)
{
int ret = 0;
unsigned long pfn;
@@ -360,6 +46,12 @@ int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
.gfp_zero = __GFP_ZERO,
};
struct kvm_gstage_mapping map;
+ struct kvm_gstage gstage;
+
+ gstage.kvm = kvm;
+ gstage.flags = 0;
+ gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid);
+ gstage.pgd = kvm->arch.pgd;

end = (gpa + size + PAGE_SIZE - 1) & PAGE_MASK;
pfn = __phys_to_pfn(hpa);
@@ -372,12 +64,12 @@ int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
if (!writable)
map.pte = pte_wrprotect(map.pte);

- ret = kvm_mmu_topup_memory_cache(&pcache, gstage_pgd_levels);
+ ret = kvm_mmu_topup_memory_cache(&pcache, kvm_riscv_gstage_pgd_levels);
if (ret)
goto out;

spin_lock(&kvm->mmu_lock);
- ret = gstage_set_pte(kvm, &pcache, &map);
+ ret = kvm_riscv_gstage_set_pte(&gstage, &pcache, &map);
spin_unlock(&kvm->mmu_lock);
if (ret)
goto out;
@@ -390,10 +82,17 @@ int kvm_riscv_gstage_ioremap(struct kvm *kvm, gpa_t gpa,
return ret;
}

-void kvm_riscv_gstage_iounmap(struct kvm *kvm, gpa_t gpa, unsigned long size)
+void kvm_riscv_mmu_iounmap(struct kvm *kvm, gpa_t gpa, unsigned long size)
{
+ struct kvm_gstage gstage;
+
+ gstage.kvm = kvm;
+ gstage.flags = 0;
+ gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid);
+ gstage.pgd = kvm->arch.pgd;
+
spin_lock(&kvm->mmu_lock);
- gstage_unmap_range(kvm, gpa, size, false);
+ kvm_riscv_gstage_unmap_range(&gstage, gpa, size, false);
spin_unlock(&kvm->mmu_lock);
}

@@ -405,8 +104,14 @@ void kvm_arch_mmu_enable_log_dirty_pt_masked(struct kvm *kvm,
phys_addr_t base_gfn = slot->base_gfn + gfn_offset;
phys_addr_t start = (base_gfn + __ffs(mask)) << PAGE_SHIFT;
phys_addr_t end = (base_gfn + __fls(mask) + 1) << PAGE_SHIFT;
+ struct kvm_gstage gstage;
+
+ gstage.kvm = kvm;
+ gstage.flags = 0;
+ gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid);
+ gstage.pgd = kvm->arch.pgd;

- gstage_wp_range(kvm, start, end);
+ kvm_riscv_gstage_wp_range(&gstage, start, end);
}

void kvm_arch_sync_dirty_log(struct kvm *kvm, struct kvm_memory_slot *memslot)
@@ -423,7 +128,7 @@ void kvm_arch_memslots_updated(struct kvm *kvm, u64 gen)

void kvm_arch_flush_shadow_all(struct kvm *kvm)
{
- kvm_riscv_gstage_free_pgd(kvm);
+ kvm_riscv_mmu_free_pgd(kvm);
}

void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
@@ -431,9 +136,15 @@ void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
{
gpa_t gpa = slot->base_gfn << PAGE_SHIFT;
phys_addr_t size = slot->npages << PAGE_SHIFT;
+ struct kvm_gstage gstage;
+
+ gstage.kvm = kvm;
+ gstage.flags = 0;
+ gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid);
+ gstage.pgd = kvm->arch.pgd;

spin_lock(&kvm->mmu_lock);
- gstage_unmap_range(kvm, gpa, size, false);
+ kvm_riscv_gstage_unmap_range(&gstage, gpa, size, false);
spin_unlock(&kvm->mmu_lock);
}

@@ -448,7 +159,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
* the memory slot is write protected.
*/
if (change != KVM_MR_DELETE && new->flags & KVM_MEM_LOG_DIRTY_PAGES)
- gstage_wp_memory_region(kvm, new->id);
+ mmu_wp_memory_region(kvm, new->id);
}

int kvm_arch_prepare_memory_region(struct kvm *kvm,
@@ -470,7 +181,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
* space addressable by the KVM guest GPA space.
*/
if ((new->base_gfn + new->npages) >=
- (gstage_gpa_size >> PAGE_SHIFT))
+ (kvm_riscv_gstage_gpa_size >> PAGE_SHIFT))
return -EFAULT;

hva = new->userspace_addr;
@@ -526,9 +237,8 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
goto out;
}

- ret = kvm_riscv_gstage_ioremap(kvm, gpa, pa,
- vm_end - vm_start,
- writable, false);
+ ret = kvm_riscv_mmu_ioremap(kvm, gpa, pa, vm_end - vm_start,
+ writable, false);
if (ret)
break;
}
@@ -539,7 +249,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
goto out;

if (ret)
- kvm_riscv_gstage_iounmap(kvm, base_gpa, size);
+ kvm_riscv_mmu_iounmap(kvm, base_gpa, size);

out:
mmap_read_unlock(current->mm);
@@ -548,12 +258,18 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,

bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range)
{
+ struct kvm_gstage gstage;
+
if (!kvm->arch.pgd)
return false;

- gstage_unmap_range(kvm, range->start << PAGE_SHIFT,
- (range->end - range->start) << PAGE_SHIFT,
- range->may_block);
+ gstage.kvm = kvm;
+ gstage.flags = 0;
+ gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid);
+ gstage.pgd = kvm->arch.pgd;
+ kvm_riscv_gstage_unmap_range(&gstage, range->start << PAGE_SHIFT,
+ (range->end - range->start) << PAGE_SHIFT,
+ range->may_block);
return false;
}

@@ -562,14 +278,19 @@ bool kvm_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range)
pte_t *ptep;
u32 ptep_level = 0;
u64 size = (range->end - range->start) << PAGE_SHIFT;
+ struct kvm_gstage gstage;

if (!kvm->arch.pgd)
return false;

WARN_ON(size != PAGE_SIZE && size != PMD_SIZE && size != PUD_SIZE);

- if (!gstage_get_leaf_entry(kvm, range->start << PAGE_SHIFT,
- &ptep, &ptep_level))
+ gstage.kvm = kvm;
+ gstage.flags = 0;
+ gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid);
+ gstage.pgd = kvm->arch.pgd;
+ if (!kvm_riscv_gstage_get_leaf(&gstage, range->start << PAGE_SHIFT,
+ &ptep, &ptep_level))
return false;

return ptep_test_and_clear_young(NULL, 0, ptep);
@@ -580,23 +301,27 @@ bool kvm_test_age_gfn(struct kvm *kvm, struct kvm_gfn_range *range)
pte_t *ptep;
u32 ptep_level = 0;
u64 size = (range->end - range->start) << PAGE_SHIFT;
+ struct kvm_gstage gstage;

if (!kvm->arch.pgd)
return false;

WARN_ON(size != PAGE_SIZE && size != PMD_SIZE && size != PUD_SIZE);

- if (!gstage_get_leaf_entry(kvm, range->start << PAGE_SHIFT,
- &ptep, &ptep_level))
+ gstage.kvm = kvm;
+ gstage.flags = 0;
+ gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid);
+ gstage.pgd = kvm->arch.pgd;
+ if (!kvm_riscv_gstage_get_leaf(&gstage, range->start << PAGE_SHIFT,
+ &ptep, &ptep_level))
return false;

return pte_young(ptep_get(ptep));
}

-int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
- struct kvm_memory_slot *memslot,
- gpa_t gpa, unsigned long hva, bool is_write,
- struct kvm_gstage_mapping *out_map)
+int kvm_riscv_mmu_map(struct kvm_vcpu *vcpu, struct kvm_memory_slot *memslot,
+ gpa_t gpa, unsigned long hva, bool is_write,
+ struct kvm_gstage_mapping *out_map)
{
int ret;
kvm_pfn_t hfn;
@@ -609,13 +334,19 @@ int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
bool logging = (memslot->dirty_bitmap &&
!(memslot->flags & KVM_MEM_READONLY)) ? true : false;
unsigned long vma_pagesize, mmu_seq;
+ struct kvm_gstage gstage;
struct page *page;

+ gstage.kvm = kvm;
+ gstage.flags = 0;
+ gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid);
+ gstage.pgd = kvm->arch.pgd;
+
/* Setup initial state of output mapping */
memset(out_map, 0, sizeof(*out_map));

/* We need minimum second+third level pages */
- ret = kvm_mmu_topup_memory_cache(pcache, gstage_pgd_levels);
+ ret = kvm_mmu_topup_memory_cache(pcache, kvm_riscv_gstage_pgd_levels);
if (ret) {
kvm_err("Failed to topup G-stage cache\n");
return ret;
@@ -682,11 +413,11 @@ int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,

if (writable) {
mark_page_dirty(kvm, gfn);
- ret = gstage_map_page(kvm, pcache, gpa, hfn << PAGE_SHIFT,
- vma_pagesize, false, true, out_map);
+ ret = kvm_riscv_gstage_map_page(&gstage, pcache, gpa, hfn << PAGE_SHIFT,
+ vma_pagesize, false, true, out_map);
} else {
- ret = gstage_map_page(kvm, pcache, gpa, hfn << PAGE_SHIFT,
- vma_pagesize, true, true, out_map);
+ ret = kvm_riscv_gstage_map_page(&gstage, pcache, gpa, hfn << PAGE_SHIFT,
+ vma_pagesize, true, true, out_map);
}

if (ret)
@@ -698,7 +429,7 @@ int kvm_riscv_gstage_map(struct kvm_vcpu *vcpu,
return ret;
}

-int kvm_riscv_gstage_alloc_pgd(struct kvm *kvm)
+int kvm_riscv_mmu_alloc_pgd(struct kvm *kvm)
{
struct page *pgd_page;

@@ -708,7 +439,7 @@ int kvm_riscv_gstage_alloc_pgd(struct kvm *kvm)
}

pgd_page = alloc_pages(GFP_KERNEL | __GFP_ZERO,
- get_order(gstage_pgd_size));
+ get_order(kvm_riscv_gstage_pgd_size));
if (!pgd_page)
return -ENOMEM;
kvm->arch.pgd = page_to_virt(pgd_page);
@@ -717,13 +448,18 @@ int kvm_riscv_gstage_alloc_pgd(struct kvm *kvm)
return 0;
}

-void kvm_riscv_gstage_free_pgd(struct kvm *kvm)
+void kvm_riscv_mmu_free_pgd(struct kvm *kvm)
{
+ struct kvm_gstage gstage;
void *pgd = NULL;

spin_lock(&kvm->mmu_lock);
if (kvm->arch.pgd) {
- gstage_unmap_range(kvm, 0UL, gstage_gpa_size, false);
+ gstage.kvm = kvm;
+ gstage.flags = 0;
+ gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid);
+ gstage.pgd = kvm->arch.pgd;
+ kvm_riscv_gstage_unmap_range(&gstage, 0UL, kvm_riscv_gstage_gpa_size, false);
pgd = READ_ONCE(kvm->arch.pgd);
kvm->arch.pgd = NULL;
kvm->arch.pgd_phys = 0;
@@ -731,12 +467,12 @@ void kvm_riscv_gstage_free_pgd(struct kvm *kvm)
spin_unlock(&kvm->mmu_lock);

if (pgd)
- free_pages((unsigned long)pgd, get_order(gstage_pgd_size));
+ free_pages((unsigned long)pgd, get_order(kvm_riscv_gstage_pgd_size));
}

-void kvm_riscv_gstage_update_hgatp(struct kvm_vcpu *vcpu)
+void kvm_riscv_mmu_update_hgatp(struct kvm_vcpu *vcpu)
{
- unsigned long hgatp = gstage_mode;
+ unsigned long hgatp = kvm_riscv_gstage_mode << HGATP_MODE_SHIFT;
struct kvm_arch *k = &vcpu->kvm->arch;

hgatp |= (READ_ONCE(k->vmid.vmid) << HGATP_VMID_SHIFT) & HGATP_VMID;
@@ -747,37 +483,3 @@ void kvm_riscv_gstage_update_hgatp(struct kvm_vcpu *vcpu)
if (!kvm_riscv_gstage_vmid_bits())
kvm_riscv_local_hfence_gvma_all();
}
-
-void __init kvm_riscv_gstage_mode_detect(void)
-{
-#ifdef CONFIG_64BIT
- /* Try Sv57x4 G-stage mode */
- csr_write(CSR_HGATP, HGATP_MODE_SV57X4 << HGATP_MODE_SHIFT);
- if ((csr_read(CSR_HGATP) >> HGATP_MODE_SHIFT) == HGATP_MODE_SV57X4) {
- gstage_mode = (HGATP_MODE_SV57X4 << HGATP_MODE_SHIFT);
- gstage_pgd_levels = 5;
- goto skip_sv48x4_test;
- }
-
- /* Try Sv48x4 G-stage mode */
- csr_write(CSR_HGATP, HGATP_MODE_SV48X4 << HGATP_MODE_SHIFT);
- if ((csr_read(CSR_HGATP) >> HGATP_MODE_SHIFT) == HGATP_MODE_SV48X4) {
- gstage_mode = (HGATP_MODE_SV48X4 << HGATP_MODE_SHIFT);
- gstage_pgd_levels = 4;
- }
-skip_sv48x4_test:
-
- csr_write(CSR_HGATP, 0);
- kvm_riscv_local_hfence_gvma_all();
-#endif
-}
-
-unsigned long __init kvm_riscv_gstage_mode(void)
-{
- return gstage_mode >> HGATP_MODE_SHIFT;
-}
-
-int kvm_riscv_gstage_gpa_bits(void)
-{
- return gstage_gpa_bits;
-}
diff --git a/arch/riscv/kvm/vcpu.c b/arch/riscv/kvm/vcpu.c
index bfe4d1369b24..834405b03862 100644
--- a/arch/riscv/kvm/vcpu.c
+++ b/arch/riscv/kvm/vcpu.c
@@ -631,7 +631,7 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
}
}

- kvm_riscv_gstage_update_hgatp(vcpu);
+ kvm_riscv_mmu_update_hgatp(vcpu);

kvm_riscv_vcpu_timer_restore(vcpu);

@@ -716,7 +716,7 @@ static void kvm_riscv_check_vcpu_requests(struct kvm_vcpu *vcpu)
kvm_riscv_reset_vcpu(vcpu, true);

if (kvm_check_request(KVM_REQ_UPDATE_HGATP, vcpu))
- kvm_riscv_gstage_update_hgatp(vcpu);
+ kvm_riscv_mmu_update_hgatp(vcpu);

if (kvm_check_request(KVM_REQ_FENCE_I, vcpu))
kvm_riscv_fence_i_process(vcpu);
diff --git a/arch/riscv/kvm/vcpu_exit.c b/arch/riscv/kvm/vcpu_exit.c
index 4fadf2bcd070..02da4695e0c8 100644
--- a/arch/riscv/kvm/vcpu_exit.c
+++ b/arch/riscv/kvm/vcpu_exit.c
@@ -42,8 +42,9 @@ static int gstage_page_fault(struct kvm_vcpu *vcpu, struct kvm_run *run,
};
}

- ret = kvm_riscv_gstage_map(vcpu, memslot, fault_addr, hva,
- (trap->scause == EXC_STORE_GUEST_PAGE_FAULT) ? true : false, &host_map);
+ ret = kvm_riscv_mmu_map(vcpu, memslot, fault_addr, hva,
+ (trap->scause == EXC_STORE_GUEST_PAGE_FAULT) ? true : false,
+ &host_map);
if (ret < 0)
return ret;

diff --git a/arch/riscv/kvm/vm.c b/arch/riscv/kvm/vm.c
index 8601cf29e5f8..66d91ae6e9b2 100644
--- a/arch/riscv/kvm/vm.c
+++ b/arch/riscv/kvm/vm.c
@@ -32,13 +32,13 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
{
int r;

- r = kvm_riscv_gstage_alloc_pgd(kvm);
+ r = kvm_riscv_mmu_alloc_pgd(kvm);
if (r)
return r;

r = kvm_riscv_gstage_vmid_init(kvm);
if (r) {
- kvm_riscv_gstage_free_pgd(kvm);
+ kvm_riscv_mmu_free_pgd(kvm);
return r;
}

@@ -200,7 +200,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
r = KVM_USER_MEM_SLOTS;
break;
case KVM_CAP_VM_GPA_BITS:
- r = kvm_riscv_gstage_gpa_bits();
+ r = kvm_riscv_gstage_gpa_bits;
break;
default:
r = 0;
--
2.43.0



Return-Path: <linux-kernel+bounces-674106-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 349CB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:18:51 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 86B663ABF1B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:17:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 037B81FE44D;
Thu, 5 Jun 2025 06:15:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="V6Wdhcz5"
Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51])
(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 A8D9321765B
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104150; cv=none; b=YVGggJguBEH/yJCG7SkM16m7GWxPBbKUZVA7Im4jua3Xa0NlBMm/zEMVHGINyamOHvs7thB4N5oVuAbjc83gy5whyIl3ElgNPG5NVybgSLbXiM6iOiodGGzA6JYArnj2F5o2ZRbo8HsDBEjBU3KL2XQNyhIV43b5RaDuPU9CJ1U=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104150; c=relaxed/simple;
bh=/DDImLrZIWe6DHfRVDh2VF/oihV7w86USnafdPxDL18=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=pPRM6fOLEHYN+0ni/roVYxmZJPhO34+Gg/CSU6UL/w0gW4rAgHmfS+w9o/mjG1YwAR9gOjDh3Q4Ynvia3U6HP2ckh41o+WFBZsxNgUFTK+JOKfYLYgrISdZqIGIZEdrwwYgP+9N/M6aCrvavLDsx4UpLs3WV2KxST3h7S9LC7Z0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=V6Wdhcz5; arc=none smtp.client-ip=209.85.216.51
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-311ef4fb43dso501607a91.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104148; x=1749708948; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=FTUNizeD4GAwjamuleDEZyMo3f2gr2d8rHj6sva7l/8=;
b=V6Wdhcz5aiHGC0C84nAsaI442TSnPk/yar5bAr6t84SXSVyu2VIB4JHKrrxSkheWBr
ATyXi0sljLqLnNjB6CWTVb8qN02VITDtwnsBMbpWTMEbt2fmLEs2YGxYprQzqsHg1sGf
4q7k/ut1ra5alow5+yYYIwjHmgYw3cEEU04NRl4vlxaXBib2x8ehKQZaXxTXFgEUp/BQ
cSNi2UTM+eniEMz0LgzsM2jWgdhgPma47QD06kKgdxjzy69oT39HSgU8TJxzT55DoRrW
rOp5iOsZOHtav4pNiFp3rzcvhNV8wdA/M8nIiTWjfxrk86eRIZBrsmBfqO04z55ykFgM
P+ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104148; x=1749708948;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=FTUNizeD4GAwjamuleDEZyMo3f2gr2d8rHj6sva7l/8=;
b=FUnKKQwlLWL2o9CVkehsKf4Fv2w06Xq0OG03J5PGbX+Sr/6KD4erXtWL2Ugk1YyCug
7zBDkhgcLEpWjOG0NiI6QICl4wIC06nUNMqUBl1BmJI950I6UsA+fd0tsf3yPDMq8VRd
vSA4737kAHrQKfTIbBzQ5bPL2shWxJ/c7Vs2LtRwcnUoTazEsEw8cwxahv1hkzu93GEN
nkM6zsZL0L3mzF/AIot0ck0Eq1GArJogRf/rWbfeXPOrFOvKPA2SC5yxxeLWpeGSBCFC
R74rQw90Kv7a8YU2/zCUpBAy02zNb63PrsrlPOYvNxdQ1O5jqt0mDm8KQ3b8jFtYs/d6
+rfQ==
X-Forwarded-Encrypted: i=1; AJvYcCWEb/6IVW4zgK20Td1mzsttrwaUWmzU3cX21imnqqTkSevjdpIClFKz86/vs5YaCEuMr0j8Dzz/aP4UwsA=@vger.kernel.org
X-Gm-Message-State: AOJu0YwmCRjEcHFWF5DifuynmYzPFs2sWPdrIZgD2ujoS7E2p5gTSRkC
yOajGCPG1XTCkp4TWHtLQZuxMrpLgvC5dwiXxo9B5sY0G9ZwCcUBkRAMeUubiNTz4UQ=
X-Gm-Gg: ASbGncuo9TViGJHkLZ2hzoqQ3EHH97t41nKNzSgUbW3SQa1vpBh+9WcY3Zof4Ktgzpq
K6II0nOn69/EWmMXSMfF8PmIMRiGzNEyc/RQLcHglDaEljHIMGHXjgzvWsBN+TXdi7gSjCR3aTQ
ZmQYIYMkSmsPhNjIfhEIcWKl+EcxMISujz2f2WrWRkfdo3sYVzrZlgHBa1qSQN/mO4VSOLtaWvi
c0aV40PCDq2z3SeaJ1QaJ4e5kbAo72FXzn0xHOAtBmDVbmfGC4S4L2jMMetUA1xzOTKV3L417Jp
v7TURolDBrSfF/5QoTD4Jy5lfk2jwwTKHmUnQlBbWbvxFLou0okxXfof7ljFCX2MI/Tkuf3YJL1
ermvXhg==
X-Google-Smtp-Source: AGHT+IF1vChQlmPdBhFqDNCJg7mNgqFPE+jCNdqDdFH2eL595DiIm4Pp7WZXYGhvZd5N4Z0BmeSfBw==
X-Received: by 2002:a17:90a:d444:b0:311:abba:53c0 with SMTP id 98e67ed59e1d1-3130cd12d75mr8464937a91.9.1749104147746;
Wed, 04 Jun 2025 23:15:47 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.44
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:47 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 11/13] RISC-V: KVM: Add vmid field to struct kvm_riscv_hfence
Date: Thu, 5 Jun 2025 11:44:56 +0530
Message-ID: <20250605061458.196003-12-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Currently, the struct kvm_riscv_hfence does not have vmid field
and various hfence processing functions always pick vmid assigned
to the guest/VM. This prevents us from doing hfence operation on
arbitrary vmid hence add vmid field to struct kvm_riscv_hfence
and use it wherever applicable.

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/include/asm/kvm_tlb.h | 1 +
arch/riscv/kvm/tlb.c | 30 ++++++++++++++++--------------
2 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/arch/riscv/include/asm/kvm_tlb.h b/arch/riscv/include/asm/kvm_tlb.h
index cd00c9a46cb1..f67e03edeaec 100644
--- a/arch/riscv/include/asm/kvm_tlb.h
+++ b/arch/riscv/include/asm/kvm_tlb.h
@@ -19,6 +19,7 @@ enum kvm_riscv_hfence_type {
struct kvm_riscv_hfence {
enum kvm_riscv_hfence_type type;
unsigned long asid;
+ unsigned long vmid;
unsigned long order;
gpa_t addr;
gpa_t size;
diff --git a/arch/riscv/kvm/tlb.c b/arch/riscv/kvm/tlb.c
index 6fc4361c3d75..349fcfc93f54 100644
--- a/arch/riscv/kvm/tlb.c
+++ b/arch/riscv/kvm/tlb.c
@@ -237,49 +237,43 @@ static bool vcpu_hfence_enqueue(struct kvm_vcpu *vcpu,

void kvm_riscv_hfence_process(struct kvm_vcpu *vcpu)
{
- unsigned long vmid;
struct kvm_riscv_hfence d = { 0 };
- struct kvm_vmid *v = &vcpu->kvm->arch.vmid;

while (vcpu_hfence_dequeue(vcpu, &d)) {
switch (d.type) {
case KVM_RISCV_HFENCE_UNKNOWN:
break;
case KVM_RISCV_HFENCE_GVMA_VMID_GPA:
- vmid = READ_ONCE(v->vmid);
if (kvm_riscv_nacl_available())
- nacl_hfence_gvma_vmid(nacl_shmem(), vmid,
+ nacl_hfence_gvma_vmid(nacl_shmem(), d.vmid,
d.addr, d.size, d.order);
else
- kvm_riscv_local_hfence_gvma_vmid_gpa(vmid, d.addr,
+ kvm_riscv_local_hfence_gvma_vmid_gpa(d.vmid, d.addr,
d.size, d.order);
break;
case KVM_RISCV_HFENCE_VVMA_ASID_GVA:
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_HFENCE_VVMA_ASID_RCVD);
- vmid = READ_ONCE(v->vmid);
if (kvm_riscv_nacl_available())
- nacl_hfence_vvma_asid(nacl_shmem(), vmid, d.asid,
+ nacl_hfence_vvma_asid(nacl_shmem(), d.vmid, d.asid,
d.addr, d.size, d.order);
else
- kvm_riscv_local_hfence_vvma_asid_gva(vmid, d.asid, d.addr,
+ kvm_riscv_local_hfence_vvma_asid_gva(d.vmid, d.asid, d.addr,
d.size, d.order);
break;
case KVM_RISCV_HFENCE_VVMA_ASID_ALL:
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_HFENCE_VVMA_ASID_RCVD);
- vmid = READ_ONCE(v->vmid);
if (kvm_riscv_nacl_available())
- nacl_hfence_vvma_asid_all(nacl_shmem(), vmid, d.asid);
+ nacl_hfence_vvma_asid_all(nacl_shmem(), d.vmid, d.asid);
else
- kvm_riscv_local_hfence_vvma_asid_all(vmid, d.asid);
+ kvm_riscv_local_hfence_vvma_asid_all(d.vmid, d.asid);
break;
case KVM_RISCV_HFENCE_VVMA_GVA:
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_HFENCE_VVMA_RCVD);
- vmid = READ_ONCE(v->vmid);
if (kvm_riscv_nacl_available())
- nacl_hfence_vvma(nacl_shmem(), vmid,
+ nacl_hfence_vvma(nacl_shmem(), d.vmid,
d.addr, d.size, d.order);
else
- kvm_riscv_local_hfence_vvma_gva(vmid, d.addr,
+ kvm_riscv_local_hfence_vvma_gva(d.vmid, d.addr,
d.size, d.order);
break;
default:
@@ -336,10 +330,12 @@ void kvm_riscv_hfence_gvma_vmid_gpa(struct kvm *kvm,
gpa_t gpa, gpa_t gpsz,
unsigned long order)
{
+ struct kvm_vmid *v = &kvm->arch.vmid;
struct kvm_riscv_hfence data;

data.type = KVM_RISCV_HFENCE_GVMA_VMID_GPA;
data.asid = 0;
+ data.vmid = READ_ONCE(v->vmid);
data.addr = gpa;
data.size = gpsz;
data.order = order;
@@ -359,10 +355,12 @@ void kvm_riscv_hfence_vvma_asid_gva(struct kvm *kvm,
unsigned long gva, unsigned long gvsz,
unsigned long order, unsigned long asid)
{
+ struct kvm_vmid *v = &kvm->arch.vmid;
struct kvm_riscv_hfence data;

data.type = KVM_RISCV_HFENCE_VVMA_ASID_GVA;
data.asid = asid;
+ data.vmid = READ_ONCE(v->vmid);
data.addr = gva;
data.size = gvsz;
data.order = order;
@@ -374,10 +372,12 @@ void kvm_riscv_hfence_vvma_asid_all(struct kvm *kvm,
unsigned long hbase, unsigned long hmask,
unsigned long asid)
{
+ struct kvm_vmid *v = &kvm->arch.vmid;
struct kvm_riscv_hfence data;

data.type = KVM_RISCV_HFENCE_VVMA_ASID_ALL;
data.asid = asid;
+ data.vmid = READ_ONCE(v->vmid);
data.addr = data.size = data.order = 0;
make_xfence_request(kvm, hbase, hmask, KVM_REQ_HFENCE,
KVM_REQ_HFENCE_VVMA_ALL, &data);
@@ -388,10 +388,12 @@ void kvm_riscv_hfence_vvma_gva(struct kvm *kvm,
unsigned long gva, unsigned long gvsz,
unsigned long order)
{
+ struct kvm_vmid *v = &kvm->arch.vmid;
struct kvm_riscv_hfence data;

data.type = KVM_RISCV_HFENCE_VVMA_GVA;
data.asid = 0;
+ data.vmid = READ_ONCE(v->vmid);
data.addr = gva;
data.size = gvsz;
data.order = order;
--
2.43.0



Return-Path: <linux-kernel+bounces-674109-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A5C0241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:19:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 82A8217804C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:19:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EFAE31F3B87;
Thu, 5 Jun 2025 06:17:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="gjRi6QWT"
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2058.outbound.protection.outlook.com [40.107.92.58])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E4161DED66
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:17:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.58
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104260; cv=fail; b=Ea0CdUULVCZ4HfmkYtAzcVXdcdSqcMECnbglSg1jJ/ts0zW0Evaz05jdBHuzW4hsM+pzYjIfGgWHX9iG+LMM+qM8Uyr0W50E/Blwse4ymFm/OADdUzEDz+2k+FxgwBOMoPdMQUIk+UvssHnwPdAVWyNsOVVmxlGLbjx+iLB4dcE=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104260; c=relaxed/simple;
bh=Ls1WolPYBuXqr818MgadhP8g1rcGwAD60yRyT47xDp4=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=TQhYyurWLMjYGaqbW7eoibx/tKjguJo4NXtW+LP7XFNMzRtfbI/a/J9LRTE/rWMnZ1NYxQgdyWrXIRkPnNOpa21La1WshhvHvluLfP1Y9NG2+TxAPnLkU2VEPG7rdWLC9f3La1cUNPFKEtRm5uWmvwsHx+uAv+ZzeskyHIKTP60=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=gjRi6QWT; arc=fail smtp.client-ip=40.107.92.58
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=pbGeqm+QnfBkYqb0sXlqeVJpbLkl3jT3GGO3bp9N+FcSvobmmM7HR4Ibizoy3h7FzwVXIjdfYIPuiouuYj4lhqyiFOlKPZ15JzvirUO3u4harLQ8RAXbRrSH5aHADWBetI/o7N6/R58gyVaXJJ0NdREMg8BAT7eXUsR6vDKQagErpmzbTJJYyl3SJPCnEwOGNGNkwkDzkFiwiQJxHKwQNJI3yTZx3a5zAebCgb6yCKdBsexFwbQCOrq9qGSvjzVf+ISXiS83nk41Er4zVIAfkx1A+aQ86KpWYWrmKtfkXnTi6+SxYTX/8MhxwjUuoKFKxCzzmOnJnuG7MobASOf27w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=hvtGZMMuFEZZEDrIKT0iLvjDpDQNQ30A5VXJyWW5cbo=;
b=yqTjfbeT68z/g2+lhZdaObnd1zbK+qEBi/wQDR4mPsievNSURzVkBA6zR6hPq8THLiZ0cGjGjUzGRTgEIH9+5QMDUJfslJx57UhoBSwZ7o/FgzKdlKWwZ6MKjeuNu4Sl5LE8t9vcwWK2Rx3hSj3srPkFsVCUaEDP0uJd8s/+n9P9nhVSYIH/gfkk8HedOaO2Xg7JVa/yGxl2CBHhJqGcJYGgdriEkyFYpQlPqvq39VvLDWA5dqlIfiN8kg0o5PRxp7UXy8PtiF84zR+QL6IDPxp7zP72/uPb8gBhC94dkW4NiZnK+Y5Senz21NCBxPUaYVFzp/G0FcLXr5jApJIgcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=hvtGZMMuFEZZEDrIKT0iLvjDpDQNQ30A5VXJyWW5cbo=;
b=gjRi6QWT3UcJ5ge31zvqVAJlRZuKqrGwpHof0yb1l7KiPSxhGQeevfxWp3ZCCyVFhBrR/YXvTLZUniFK+xBrDs33m77WKJo7NQ8H0yEiZh6wOBcEbYY4DPD6F2Vq1Lb0p95ahjgQdAy8kdXKmOws3kdJ2zeSuC93R9M+6jSYlimqUdTAS2hj3Yb9jESEpa8y8QO9CtC6CYLKd5ljRDc6ejRWJT7ymHJDbo4vGrmXTz7xEmA7IEN5jvr/6zhuVCQaDa1/bRKD3d2dH6ve4wlTDVwDmHSKd1xTIIYJR7RzGDU4j1Y0xkvIrU+XWgBHJetPJzgNKUIJ5IhvMJCE1pY0rg==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nvidia.com;
Received: from LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19)
by DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.35; Thu, 5 Jun
2025 06:17:36 +0000
Received: from LV8PR12MB9620.namprd12.prod.outlook.com
([fe80::1b59:c8a2:4c00:8a2c]) by LV8PR12MB9620.namprd12.prod.outlook.com
([fe80::1b59:c8a2:4c00:8a2c%5]) with mapi id 15.20.8792.034; Thu, 5 Jun 2025
06:17:36 +0000
Date: Thu, 5 Jun 2025 08:17:26 +0200
From: Andrea Righi <arighi@xxxxxxxxxx>
To: Changwoo Min <changwoo@xxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>, David Vernet <void@xxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 4/4] sched_ext: Make scx_locked_rq() shared
Message-ID: <aEE2dnJ8jdZ6wyid@gpd4>
References: <20250604143547.708202-1-arighi@xxxxxxxxxx>
<20250604143547.708202-5-arighi@xxxxxxxxxx>
<5b18b631-c570-43fa-ac76-a09f0fb4363e@xxxxxxxxxx>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5b18b631-c570-43fa-ac76-a09f0fb4363e@xxxxxxxxxx>
X-ClientProxiedBy: ZR0P278CA0163.CHEP278.PROD.OUTLOOK.COM
(2603:10a6:910:45::10) To LV8PR12MB9620.namprd12.prod.outlook.com
(2603:10b6:408:2a1::19)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: LV8PR12MB9620:EE_|DS7PR12MB9473:EE_
X-MS-Office365-Filtering-Correlation-Id: ab03efb4-7cb5-41c5-3e3e-08dda3f8aa37
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?F1z5nsbcfv+zo8s+BMdrO2NV3XodReS4zzH36hx2qFCiLs1reXGXwHTMPiiS?=
=?us-ascii?Q?uJhS0H5XMpZs2FrKfAaTYyPkoj5K3Z50ZlB3TNwlF5mxLEroY2O4eFM7BRST?=
=?us-ascii?Q?gKjAuN4Ey0QUhDwT1KVyOk5hzAALwMUb1qr8AsfVQ6C38/zJk1lhZi12dmY4?=
=?us-ascii?Q?Us5zWYzIlRlsOyM6N2gkaBn+CzfkrVlShczhlMKKdItLY4irn9+B5IIZALg0?=
=?us-ascii?Q?AKPx9DoxL17d8x7huFj/2rxSmtJngUUHWfjDhwMTdDSDJ4sNdVcy/fyisT6J?=
=?us-ascii?Q?F52A+ZzemlBarpRCp+jrZnmdvD3LfcbJCCBwuliKgMhNLVBniEUL8T5QoMOt?=
=?us-ascii?Q?9UdF8ysdw5a0LrrD99qB1GA4CWNXt/73IgW8X3IDfOSGa4zB7qBn8SKhJNO9?=
=?us-ascii?Q?koInT8EOhMW+tjUM5AILvxVvcAarKI1OspeA3ww9nu8xcmy05nv+JuT5Xvqp?=
=?us-ascii?Q?mSww9JVRX9psI2k/duCi+KzJCOdm6DdRFhDenwXv0yMTZYXwPYa91hw61sEV?=
=?us-ascii?Q?ptNXkPtdu7bO3UZNanRI6J1h60acreXmWa9/lRGxlVJ0+YBPj+TICbVq1jy1?=
=?us-ascii?Q?X1VrKtQBFKiZndpaFkPOBHU+bvo2KYIVhlHc9FEdgvifUcB4+g8fC7ktP6cH?=
=?us-ascii?Q?Hqyh/GLuOIRsCmQmTyQyJs3wR8JgBEHEICsCyuqDmpntZYCnW1a65YV5ZxFu?=
=?us-ascii?Q?xRkdPImiJ2CbYhXYoITxdEmdk6mmLR2bRSFhn3d4bRCRBCkKI90hNBvxKbR7?=
=?us-ascii?Q?eeSKglneyVHrlZYs0jQ1xrRVOBWggvW3ppyeKaR1s2dlnPeaEpaSoeHeBsNl?=
=?us-ascii?Q?HAyeW9Lgle70YxW6watVtG6fapfVwNrlV6XPHJlCTFqqfHV1ySQc09mx/8qZ?=
=?us-ascii?Q?w2PyHeNR+ZT/IEoZSuRok2tAKqs0zBHfi1qTP02bgg6rYg+pmBAvTLDUfACk?=
=?us-ascii?Q?jSpsvK6deMbprVq6Lkk9GgqCdXKxyxZwMcIilkZD3vGPblGXkCICbgXVSg4V?=
=?us-ascii?Q?0UDhTuH4IZBZzCQ59C9MZI+rI7vpXNM/HtOynSEdb1+wsjY3UFk1rq4J+S3L?=
=?us-ascii?Q?TSY/EewUIyPb/pFo1uaFHZ7+VUsOSu+NIgazrEGSvLgjtMurZKN9YwF95/Jq?=
=?us-ascii?Q?pvMeYUdkhOKFuJ8XePtjviG0Gi1+59hnn0NNmMrLBMoVIv+wfoS0XuY8EBeX?=
=?us-ascii?Q?k1eKy3EYUysiZLwNaduzbtasjZI3bsWYR0jrZ6I7JdGb9kklDlNn7cAvORmH?=
=?us-ascii?Q?dYYl1JXPmY6vtrauxhjVubGyx5GQED31QR4S+SZSdYkgA+2E+FVlPRhJHaoW?=
=?us-ascii?Q?e0MUAdfTma/dAmqBZUAqkjXHTxeJpIESPgmgfSGBn6qwoUecvm65FNk+k/6W?=
=?us-ascii?Q?V7km1CirxW8psI+cNx9Y5/u3Cj7n1jaBoAO2TQN4MsfmnW1g0A=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR12MB9620.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?KiPjs3IeOQyBSeeczc1qdKW4bgSpsBdH4KMLxEtq9YjCTRJ0WYHF2B7vJV/j?=
=?us-ascii?Q?/KJMuKD8GGax/zQGYjk7zFRUl8JNEQ9FJadjFa9zSSJ7azTXauvxk4gB4xPH?=
=?us-ascii?Q?o7W8YnO4kTVhsUyeqmRuOQTq+LHCvThu1tgvV3Of0PTmRmpLGCuNyeUNi9Is?=
=?us-ascii?Q?KxzExVpeOpBicFfou4QF0HfMAqpxcDmftxnZWmSNuCHaYk/JuozBDUwLyCBr?=
=?us-ascii?Q?iiDmPWk/DHBIAAGSumgnpECY0WnoEB9XR0CIbcPYINlN1DtSxHoioN6V94DD?=
=?us-ascii?Q?N1DQFRY2kv/aLgHHdTuOHaVBmdZAoXLE533cDd+rQ5CGdV+54fchxBKZ6XRF?=
=?us-ascii?Q?ba4JMfEXW1VgBoX0bqi9PN5/Xo80AjvfeOPvlZALuZmYOI2kh4BJXnBW1PIo?=
=?us-ascii?Q?uyv5/gCxqjDXZo5BBbIFfzW/0bY6fdHaKnEixcB6mRkSbmLGfdyLVoEmDtXv?=
=?us-ascii?Q?RFLlKCtuzVLB502PSVJFCrDp6PV8W2pv4p9sf2gM6NePS8NJ+7j51s567zGs?=
=?us-ascii?Q?RRPXaaxuohf5YOxmLSY8cwLJbwDkQxLDYuoLqwCpH6EPEhV2IoZ3ebMOTvDQ?=
=?us-ascii?Q?1vAwH4MM5XP7WXZl8R7TQe7UTq+mNrevlHBgFofoQtgjdSvnYFjHAoA9328l?=
=?us-ascii?Q?ixGJW36RMo0qCluT4obNvtMEYZ7D7papFtN22jlqTjVneiOJlRb1eD734ft6?=
=?us-ascii?Q?DhH29PYtdUTCR1lJ+YFpRynK4+LWv6XUEhuzHrcQrf+nooKg+r25KwBauvGT?=
=?us-ascii?Q?2F9QyUGOla74LkdG/E5lwj9LTbA2Y2WGkIXqz7XSaF7s+NPGSfnntx3t0wCu?=
=?us-ascii?Q?EikmjQL803KpH/sLVet41la3i2loDxmBG9+6+9c+U+QAdGhtxevpqwi+fjnm?=
=?us-ascii?Q?8RikPRWVR9pp5+Yd1yHRzEGDBKCHLjJPt5NQRFyhKZtjGHMvCMW9UQCIbab0?=
=?us-ascii?Q?lcfde+hHfXKLkby6Vn129R+YScSDkEYJIzktjC6SmV656U0hDM6bvPshE7YG?=
=?us-ascii?Q?nvexfU3LE+8OmrlORcbWyW3S2ReBvoyReczOoFIGCrEcfC/HGlN+pgSFoXL4?=
=?us-ascii?Q?KGjfwxXKP+tkcDDQMfQ82fD82BxfW/kiTycCjxgDYkYwsgcpHF8zQ0zrK+fu?=
=?us-ascii?Q?IcxrHX0Y6TmEXcKfscZzS8NFf17ES/KgsfruMyWm707gueBLgsMnZ7f3nMMb?=
=?us-ascii?Q?Cufq6u+WaEvyKH6bGbBNygsduh5yWGgYCUCvbbu7t5pdQ+N466mHarpy3Rfp?=
=?us-ascii?Q?7xMYnLDTcklG/R3F2GHX1B8mYJYlpnrEgP2PRueVML787rVdpL9pJx9X6k8O?=
=?us-ascii?Q?KrZCxjeSN46Xw6VNp3N+ALoEaLcWQQ2GoQsV0aRuTknAJ6U/Ct5vrgqzNRwJ?=
=?us-ascii?Q?A+BnoR2hiSskksll4H4ghv2bGV9sg4sQivipzhX4o/MgMd33tMrIhng7pi4v?=
=?us-ascii?Q?URE6huR6eakTOFRBbmkN5Y2Md25JoUWezxOOMLQlKao16iy0vzZkGlniniTS?=
=?us-ascii?Q?42EC6pVgaNpD13xwIpn0jvkMLYvDNj8ESyJZCiC89K2r1BfG//UgXJGG9GyK?=
=?us-ascii?Q?E3gr2KB4kYqa0J7BR/qJk/LQfUbdJOkgeXiFekQX?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab03efb4-7cb5-41c5-3e3e-08dda3f8aa37
X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 06:17:36.0819
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jUgmfmcZYW9zTLaLYETxHvEydoO1sl7s9+YrI5sFBwJHQoKpOXAOpYyhy62UlGUnnq0FKMRR3+RqZMuKnI8npg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB9473
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Changwoo,

On Thu, Jun 05, 2025 at 07:28:36AM +0200, Changwoo Min wrote:
> Hi Andrea,
>
> On 6/4/25 23:33, Andrea Righi wrote:
> > scx_locked_rq() is used both from ext.c and ext_idle.c, so make it
> > public and declare its prototype in ext.h.
>
> scx_rq_bypassing() is the same, but it is defined with "static inline".
> Would it be better to define with "static inline" for consistency? And,
> anyway scx_rq_bypassing() is used only within ext*.

Yep, I'll make scx_locked_rq() static inline as well as suggested by Tejun.
About scx_rq_bypassing(), it is currently used both in ext.c and
ext_idle.c, so we need to move that to ext.h.

Thanks,
-Andrea

>
> Regards,
> Changwoo Min
>
> >
> > No functional changes.
> >
> > Signed-off-by: Andrea Righi <arighi@xxxxxxxxxx>
> > ---
> > kernel/sched/ext.c | 2 +-
> > kernel/sched/ext.h | 2 ++
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
> > index 3e483138dff60..941603ec67e27 100644
> > --- a/kernel/sched/ext.c
> > +++ b/kernel/sched/ext.c
> > @@ -1265,7 +1265,7 @@ static inline void update_locked_rq(struct rq *rq)
> > * Return the rq currently locked from an scx callback, or NULL if no rq is
> > * locked.
> > */
> > -static inline struct rq *scx_locked_rq(void)
> > +struct rq *scx_locked_rq(void)
> > {
> > return __this_cpu_read(locked_rq);
> > }
> > diff --git a/kernel/sched/ext.h b/kernel/sched/ext.h
> > index d30f2d1bc00d5..cda5dfa4dad09 100644
> > --- a/kernel/sched/ext.h
> > +++ b/kernel/sched/ext.h
> > @@ -18,6 +18,8 @@ static inline bool scx_rq_bypassing(struct rq *rq)
> > return unlikely(rq->scx.flags & SCX_RQ_BYPASSING);
> > }
> > +struct rq *scx_locked_rq(void);
> > +
> > DECLARE_STATIC_KEY_FALSE(scx_ops_allow_queued_wakeup);
> > void scx_tick(struct rq *rq);
>


Return-Path: <linux-kernel+bounces-674108-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E400141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:19:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 42E333ABF27
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:18:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E4AC621A42F;
Thu, 5 Jun 2025 06:16:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="pVH7Zo3e"
Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49])
(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 92001219317
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:15:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104159; cv=none; b=tptjIU5uK/nDNDwChSC1zlohtHG3vNxznKuh4q0rpenf6LMlYwK32o5tfzshap4WUCYfgOEloqA+BT/8zrpJuvYfVw3Cf9h8F1Ebn5MNHWY2sY/1Ry6Z4HMRig/vCp0qE+lKmmEGOoaZCIQnjpqiDuV1SooZ6u5zl+g+j5aX++k=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104159; c=relaxed/simple;
bh=XN4nRLB9K0FlDxsE36UR8rEo5bM83tbmLM+G36akoCw=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=uu0adJ4AqiKfv7Qw1gUphzYgGsLK3+WeUP5OYCjweVAxA9/SYAkx7/YlI0ktzvamWIz1mWfqErCb0UPITnpiDWoSUl8+KiCTR7q8kPopGXeHxDw3LMkURtJkKHL6ix8ReD0iBZGkp3a5KQc7qE4HpeXm1sZ5BMO+KQ87jPACYHU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=pVH7Zo3e; arc=none smtp.client-ip=209.85.216.49
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com
Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-312150900afso628932a91.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:15:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=ventanamicro.com; s=google; t=1749104156; x=1749708956; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=qJnA2ITAN8AbKW8vRXTI9OBsRCn2zeX47qUEnC92+48=;
b=pVH7Zo3eJUjMdw6RIdUUnCCV5HAan3rxFMZx8slpwUIJIP9lH1nbdiE5EABMWts1Cm
LJrWDkr6Ve9xN/hG6sOVyMiclAis5aMEPbTmsX2nJtPA/dUlkt8QWBuDF3C0AXH87Ybc
ksYeggWHlRQs0x+RBCQU/ZfiHPas0EinP6mPrytWMnqGbE/BludRshEWJk7usfhZzfP3
bfmJ8I/E124g/cEQcLswr6MX1a/8+yTULXHLj5i8zfrcMLLRqLqh5vvoY3R/5fg9yIcs
rwJnyL0p8e5HqIac+a7A8Pz3vSH8aRIIFVMmXmPQfLqXM4q5Xe9nGEq4gipBHzQxNFEK
J8oA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104156; x=1749708956;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=qJnA2ITAN8AbKW8vRXTI9OBsRCn2zeX47qUEnC92+48=;
b=YlOfCMoBld9NWXufv83jrbxGSqJP7vSVzN75pSs0jsc96ta1s5T6TG9SC9sMpqIaha
XK7ljjJrngNJMMncTxEW0TGLkUzTvL2oS/iBlmk2iHuv0deVt7e/lfeNoAQPgLGVJ3W4
687kTyU8LlzsE7sDlHRF7+sTF5GoX4GqhVumOgaXIuXrEQnxsI8XxPatBCK4C5bvP+Wp
n1lSiqBFQdPoHLOkq17CoYEWD6QgO+WpSwf77l7wuXdjqtXdyEp7+qd5iGTIxnVq8rmH
b+54grQc43jR9w4LUf0IApAV53+KheGvdHR8cZO+Mbuah9O43aQOXh6Gb3X+PkUl9w16
qsBg==
X-Forwarded-Encrypted: i=1; AJvYcCVRONq26dVgP2n9BuNpOi4TfD1KwsE7yQalqNf0q45TwTsZ6zSN0DbkH6HmLiYH998Bk+hO7RIB9rk9MKk=@vger.kernel.org
X-Gm-Message-State: AOJu0YxDSCL2OuStcEUUzzXbYX3Eyu3BztpqPak0SAwmixfCEJR069QO
Nks07uvR/IStgO4BTsVMAU8GkQA/32kyEKjZ6T+s+tRveKpMmfAv8vEgVwh6cuft6cM=
X-Gm-Gg: ASbGncs3ENFNG+U6oLwHcJ9bwOrwDdt1I1vzeQ0ChwydGdnuK+tZiQ+4K/+kC/4rYuP
CzmfFQQqv3MfaVCAy+L7pw59kRvVaPHn/3mTo9oUFcWzuVgEF6cBWvgergIO9ERJxbb0k/sT/Qv
6Uti1RzAKZNJr+1UXQcC+0cg8eKTIDAvQm2HkMPHxQz8tD7GqpXtBeQMDOIc+OmB28nAgVTfRkY
69sCM69e24wKr+W2gEZwy6YAlbqH+trERYm7Tq49hqUcPY5DGi1F/1Yc6w7DmpYCXeb6d5NUF5F
gDSQh7ZjpsuJa0AH2g1gHAsjZkyRUaeTZ1mDCzJFYiBMISvVLhmnYPg5Xg4dirkVtm5GThs/+gy
NoJvZmQ==
X-Google-Smtp-Source: AGHT+IGidU5oO/NtKWVZfC9oWMHMT1bnyxO6WBsndaUc4qqkBjwaBRbjIPk9+Qztot5hQY4gLIxDWQ==
X-Received: by 2002:a17:90b:2e49:b0:311:a314:c2ca with SMTP id 98e67ed59e1d1-3130ccf6f95mr7911585a91.6.1749104155801;
Wed, 04 Jun 2025 23:15:55 -0700 (PDT)
Received: from localhost.localdomain ([14.141.91.70])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3132c0bedc7sm716026a91.49.2025.06.04.23.15.52
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:15:55 -0700 (PDT)
From: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
To: Atish Patra <atish.patra@xxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx,
kvm-riscv@xxxxxxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Subject: [PATCH 13/13] RISC-V: KVM: Pass VMID as parameter to kvm_riscv_hfence_xyz() APIs
Date: Thu, 5 Jun 2025 11:44:58 +0530
Message-ID: <20250605061458.196003-14-apatel@xxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
References: <20250605061458.196003-1-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Currently, all kvm_riscv_hfence_xyz() APIs assume VMID to be the
host VMID of the Guest/VM which resticts use of these APIs only
for host TLB maintenance. Let's allow passing VMID as parameter
to all kvm_riscv_hfence_xyz() APIs so that they can be re-used
for nested virtualization related TLB maintenance.

Signed-off-by: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
---
arch/riscv/include/asm/kvm_tlb.h | 17 ++++++---
arch/riscv/kvm/gstage.c | 3 +-
arch/riscv/kvm/tlb.c | 61 ++++++++++++++++++++-----------
arch/riscv/kvm/vcpu_sbi_replace.c | 17 +++++----
arch/riscv/kvm/vcpu_sbi_v01.c | 25 ++++++-------
5 files changed, 73 insertions(+), 50 deletions(-)

diff --git a/arch/riscv/include/asm/kvm_tlb.h b/arch/riscv/include/asm/kvm_tlb.h
index f67e03edeaec..38a2f933ad3a 100644
--- a/arch/riscv/include/asm/kvm_tlb.h
+++ b/arch/riscv/include/asm/kvm_tlb.h
@@ -11,9 +11,11 @@
enum kvm_riscv_hfence_type {
KVM_RISCV_HFENCE_UNKNOWN = 0,
KVM_RISCV_HFENCE_GVMA_VMID_GPA,
+ KVM_RISCV_HFENCE_GVMA_VMID_ALL,
KVM_RISCV_HFENCE_VVMA_ASID_GVA,
KVM_RISCV_HFENCE_VVMA_ASID_ALL,
KVM_RISCV_HFENCE_VVMA_GVA,
+ KVM_RISCV_HFENCE_VVMA_ALL
};

struct kvm_riscv_hfence {
@@ -59,21 +61,24 @@ void kvm_riscv_fence_i(struct kvm *kvm,
void kvm_riscv_hfence_gvma_vmid_gpa(struct kvm *kvm,
unsigned long hbase, unsigned long hmask,
gpa_t gpa, gpa_t gpsz,
- unsigned long order);
+ unsigned long order, unsigned long vmid);
void kvm_riscv_hfence_gvma_vmid_all(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask);
+ unsigned long hbase, unsigned long hmask,
+ unsigned long vmid);
void kvm_riscv_hfence_vvma_asid_gva(struct kvm *kvm,
unsigned long hbase, unsigned long hmask,
unsigned long gva, unsigned long gvsz,
- unsigned long order, unsigned long asid);
+ unsigned long order, unsigned long asid,
+ unsigned long vmid);
void kvm_riscv_hfence_vvma_asid_all(struct kvm *kvm,
unsigned long hbase, unsigned long hmask,
- unsigned long asid);
+ unsigned long asid, unsigned long vmid);
void kvm_riscv_hfence_vvma_gva(struct kvm *kvm,
unsigned long hbase, unsigned long hmask,
unsigned long gva, unsigned long gvsz,
- unsigned long order);
+ unsigned long order, unsigned long vmid);
void kvm_riscv_hfence_vvma_all(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask);
+ unsigned long hbase, unsigned long hmask,
+ unsigned long vmid);

#endif
diff --git a/arch/riscv/kvm/gstage.c b/arch/riscv/kvm/gstage.c
index c7d61f14f6be..c5dc47b156c4 100644
--- a/arch/riscv/kvm/gstage.c
+++ b/arch/riscv/kvm/gstage.c
@@ -117,7 +117,8 @@ static void gstage_tlb_flush(struct kvm_gstage *gstage, u32 level, gpa_t addr)
if (gstage->flags & KVM_GSTAGE_FLAGS_LOCAL)
kvm_riscv_local_hfence_gvma_vmid_gpa(gstage->vmid, addr, BIT(order), order);
else
- kvm_riscv_hfence_gvma_vmid_gpa(gstage->kvm, -1UL, 0, addr, BIT(order), order);
+ kvm_riscv_hfence_gvma_vmid_gpa(gstage->kvm, -1UL, 0, addr, BIT(order), order,
+ gstage->vmid);
}

int kvm_riscv_gstage_set_pte(struct kvm_gstage *gstage,
diff --git a/arch/riscv/kvm/tlb.c b/arch/riscv/kvm/tlb.c
index 349fcfc93f54..3c5a70a2b927 100644
--- a/arch/riscv/kvm/tlb.c
+++ b/arch/riscv/kvm/tlb.c
@@ -251,6 +251,12 @@ void kvm_riscv_hfence_process(struct kvm_vcpu *vcpu)
kvm_riscv_local_hfence_gvma_vmid_gpa(d.vmid, d.addr,
d.size, d.order);
break;
+ case KVM_RISCV_HFENCE_GVMA_VMID_ALL:
+ if (kvm_riscv_nacl_available())
+ nacl_hfence_gvma_vmid_all(nacl_shmem(), d.vmid);
+ else
+ kvm_riscv_local_hfence_gvma_vmid_all(d.vmid);
+ break;
case KVM_RISCV_HFENCE_VVMA_ASID_GVA:
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_HFENCE_VVMA_ASID_RCVD);
if (kvm_riscv_nacl_available())
@@ -276,6 +282,13 @@ void kvm_riscv_hfence_process(struct kvm_vcpu *vcpu)
kvm_riscv_local_hfence_vvma_gva(d.vmid, d.addr,
d.size, d.order);
break;
+ case KVM_RISCV_HFENCE_VVMA_ALL:
+ kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_HFENCE_VVMA_RCVD);
+ if (kvm_riscv_nacl_available())
+ nacl_hfence_vvma_all(nacl_shmem(), d.vmid);
+ else
+ kvm_riscv_local_hfence_vvma_all(d.vmid);
+ break;
default:
break;
}
@@ -328,14 +341,13 @@ void kvm_riscv_fence_i(struct kvm *kvm,
void kvm_riscv_hfence_gvma_vmid_gpa(struct kvm *kvm,
unsigned long hbase, unsigned long hmask,
gpa_t gpa, gpa_t gpsz,
- unsigned long order)
+ unsigned long order, unsigned long vmid)
{
- struct kvm_vmid *v = &kvm->arch.vmid;
struct kvm_riscv_hfence data;

data.type = KVM_RISCV_HFENCE_GVMA_VMID_GPA;
data.asid = 0;
- data.vmid = READ_ONCE(v->vmid);
+ data.vmid = vmid;
data.addr = gpa;
data.size = gpsz;
data.order = order;
@@ -344,23 +356,28 @@ void kvm_riscv_hfence_gvma_vmid_gpa(struct kvm *kvm,
}

void kvm_riscv_hfence_gvma_vmid_all(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask)
+ unsigned long hbase, unsigned long hmask,
+ unsigned long vmid)
{
- make_xfence_request(kvm, hbase, hmask, KVM_REQ_TLB_FLUSH,
- KVM_REQ_TLB_FLUSH, NULL);
+ struct kvm_riscv_hfence data = {0};
+
+ data.type = KVM_RISCV_HFENCE_GVMA_VMID_ALL;
+ data.vmid = vmid;
+ make_xfence_request(kvm, hbase, hmask, KVM_REQ_HFENCE,
+ KVM_REQ_TLB_FLUSH, &data);
}

void kvm_riscv_hfence_vvma_asid_gva(struct kvm *kvm,
unsigned long hbase, unsigned long hmask,
unsigned long gva, unsigned long gvsz,
- unsigned long order, unsigned long asid)
+ unsigned long order, unsigned long asid,
+ unsigned long vmid)
{
- struct kvm_vmid *v = &kvm->arch.vmid;
struct kvm_riscv_hfence data;

data.type = KVM_RISCV_HFENCE_VVMA_ASID_GVA;
data.asid = asid;
- data.vmid = READ_ONCE(v->vmid);
+ data.vmid = vmid;
data.addr = gva;
data.size = gvsz;
data.order = order;
@@ -370,15 +387,13 @@ void kvm_riscv_hfence_vvma_asid_gva(struct kvm *kvm,

void kvm_riscv_hfence_vvma_asid_all(struct kvm *kvm,
unsigned long hbase, unsigned long hmask,
- unsigned long asid)
+ unsigned long asid, unsigned long vmid)
{
- struct kvm_vmid *v = &kvm->arch.vmid;
- struct kvm_riscv_hfence data;
+ struct kvm_riscv_hfence data = {0};

data.type = KVM_RISCV_HFENCE_VVMA_ASID_ALL;
data.asid = asid;
- data.vmid = READ_ONCE(v->vmid);
- data.addr = data.size = data.order = 0;
+ data.vmid = vmid;
make_xfence_request(kvm, hbase, hmask, KVM_REQ_HFENCE,
KVM_REQ_HFENCE_VVMA_ALL, &data);
}
@@ -386,14 +401,13 @@ void kvm_riscv_hfence_vvma_asid_all(struct kvm *kvm,
void kvm_riscv_hfence_vvma_gva(struct kvm *kvm,
unsigned long hbase, unsigned long hmask,
unsigned long gva, unsigned long gvsz,
- unsigned long order)
+ unsigned long order, unsigned long vmid)
{
- struct kvm_vmid *v = &kvm->arch.vmid;
struct kvm_riscv_hfence data;

data.type = KVM_RISCV_HFENCE_VVMA_GVA;
data.asid = 0;
- data.vmid = READ_ONCE(v->vmid);
+ data.vmid = vmid;
data.addr = gva;
data.size = gvsz;
data.order = order;
@@ -402,16 +416,21 @@ void kvm_riscv_hfence_vvma_gva(struct kvm *kvm,
}

void kvm_riscv_hfence_vvma_all(struct kvm *kvm,
- unsigned long hbase, unsigned long hmask)
+ unsigned long hbase, unsigned long hmask,
+ unsigned long vmid)
{
- make_xfence_request(kvm, hbase, hmask, KVM_REQ_HFENCE_VVMA_ALL,
- KVM_REQ_HFENCE_VVMA_ALL, NULL);
+ struct kvm_riscv_hfence data = {0};
+
+ data.type = KVM_RISCV_HFENCE_VVMA_ALL;
+ data.vmid = vmid;
+ make_xfence_request(kvm, hbase, hmask, KVM_REQ_HFENCE,
+ KVM_REQ_HFENCE_VVMA_ALL, &data);
}

int kvm_arch_flush_remote_tlbs_range(struct kvm *kvm, gfn_t gfn, u64 nr_pages)
{
kvm_riscv_hfence_gvma_vmid_gpa(kvm, -1UL, 0,
gfn << PAGE_SHIFT, nr_pages << PAGE_SHIFT,
- PAGE_SHIFT);
+ PAGE_SHIFT, READ_ONCE(kvm->arch.vmid.vmid));
return 0;
}
diff --git a/arch/riscv/kvm/vcpu_sbi_replace.c b/arch/riscv/kvm/vcpu_sbi_replace.c
index b17fad091bab..b490ed1428a6 100644
--- a/arch/riscv/kvm/vcpu_sbi_replace.c
+++ b/arch/riscv/kvm/vcpu_sbi_replace.c
@@ -96,6 +96,7 @@ static int kvm_sbi_ext_rfence_handler(struct kvm_vcpu *vcpu, struct kvm_run *run
unsigned long hmask = cp->a0;
unsigned long hbase = cp->a1;
unsigned long funcid = cp->a6;
+ unsigned long vmid;

switch (funcid) {
case SBI_EXT_RFENCE_REMOTE_FENCE_I:
@@ -103,22 +104,22 @@ static int kvm_sbi_ext_rfence_handler(struct kvm_vcpu *vcpu, struct kvm_run *run
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_FENCE_I_SENT);
break;
case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA:
+ vmid = READ_ONCE(vcpu->kvm->arch.vmid.vmid);
if ((cp->a2 == 0 && cp->a3 == 0) || cp->a3 == -1UL)
- kvm_riscv_hfence_vvma_all(vcpu->kvm, hbase, hmask);
+ kvm_riscv_hfence_vvma_all(vcpu->kvm, hbase, hmask, vmid);
else
kvm_riscv_hfence_vvma_gva(vcpu->kvm, hbase, hmask,
- cp->a2, cp->a3, PAGE_SHIFT);
+ cp->a2, cp->a3, PAGE_SHIFT, vmid);
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_HFENCE_VVMA_SENT);
break;
case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID:
+ vmid = READ_ONCE(vcpu->kvm->arch.vmid.vmid);
if ((cp->a2 == 0 && cp->a3 == 0) || cp->a3 == -1UL)
- kvm_riscv_hfence_vvma_asid_all(vcpu->kvm,
- hbase, hmask, cp->a4);
+ kvm_riscv_hfence_vvma_asid_all(vcpu->kvm, hbase, hmask,
+ cp->a4, vmid);
else
- kvm_riscv_hfence_vvma_asid_gva(vcpu->kvm,
- hbase, hmask,
- cp->a2, cp->a3,
- PAGE_SHIFT, cp->a4);
+ kvm_riscv_hfence_vvma_asid_gva(vcpu->kvm, hbase, hmask, cp->a2,
+ cp->a3, PAGE_SHIFT, cp->a4, vmid);
kvm_riscv_vcpu_pmu_incr_fw(vcpu, SBI_PMU_FW_HFENCE_VVMA_ASID_SENT);
break;
case SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA:
diff --git a/arch/riscv/kvm/vcpu_sbi_v01.c b/arch/riscv/kvm/vcpu_sbi_v01.c
index 8f4c4fa16227..368dfddd23d9 100644
--- a/arch/riscv/kvm/vcpu_sbi_v01.c
+++ b/arch/riscv/kvm/vcpu_sbi_v01.c
@@ -23,6 +23,7 @@ static int kvm_sbi_ext_v01_handler(struct kvm_vcpu *vcpu, struct kvm_run *run,
struct kvm *kvm = vcpu->kvm;
struct kvm_cpu_context *cp = &vcpu->arch.guest_context;
struct kvm_cpu_trap *utrap = retdata->utrap;
+ unsigned long vmid;

switch (cp->a7) {
case SBI_EXT_0_1_CONSOLE_GETCHAR:
@@ -78,25 +79,21 @@ static int kvm_sbi_ext_v01_handler(struct kvm_vcpu *vcpu, struct kvm_run *run,
if (cp->a7 == SBI_EXT_0_1_REMOTE_FENCE_I)
kvm_riscv_fence_i(vcpu->kvm, 0, hmask);
else if (cp->a7 == SBI_EXT_0_1_REMOTE_SFENCE_VMA) {
+ vmid = READ_ONCE(vcpu->kvm->arch.vmid.vmid);
if (cp->a1 == 0 && cp->a2 == 0)
- kvm_riscv_hfence_vvma_all(vcpu->kvm,
- 0, hmask);
+ kvm_riscv_hfence_vvma_all(vcpu->kvm, 0, hmask, vmid);
else
- kvm_riscv_hfence_vvma_gva(vcpu->kvm,
- 0, hmask,
- cp->a1, cp->a2,
- PAGE_SHIFT);
+ kvm_riscv_hfence_vvma_gva(vcpu->kvm, 0, hmask, cp->a1,
+ cp->a2, PAGE_SHIFT, vmid);
} else {
+ vmid = READ_ONCE(vcpu->kvm->arch.vmid.vmid);
if (cp->a1 == 0 && cp->a2 == 0)
- kvm_riscv_hfence_vvma_asid_all(vcpu->kvm,
- 0, hmask,
- cp->a3);
+ kvm_riscv_hfence_vvma_asid_all(vcpu->kvm, 0, hmask,
+ cp->a3, vmid);
else
- kvm_riscv_hfence_vvma_asid_gva(vcpu->kvm,
- 0, hmask,
- cp->a1, cp->a2,
- PAGE_SHIFT,
- cp->a3);
+ kvm_riscv_hfence_vvma_asid_gva(vcpu->kvm, 0, hmask,
+ cp->a1, cp->a2, PAGE_SHIFT,
+ cp->a3, vmid);
}
break;
default:
--
2.43.0



Return-Path: <linux-kernel+bounces-674110-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 251E341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:19:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 643B01654AF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:19:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1DB08188000;
Thu, 5 Jun 2025 06:19:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="HJ/VLELa";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="53sHyl1/";
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="HJ/VLELa";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="53sHyl1/"
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
(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 8D267157A6B
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:19:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104373; cv=none; b=T14XmThApifDvYmu5alY2ESoP+pIYjpIaNFgNyGYTbEx4NZ7XtiI/8h8bBtKpMKYwOo1q00tLocvfMsScb+9Z8nvuzuMRIeVOTkaRrFPMSCWJ2zPu5rLv2DUFaKt4tTBrRbGofYsHY44z9iaZTsHzI7tRj8vRpKFH/EjnfPT6H4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104373; c=relaxed/simple;
bh=L/b4ZNVxyrpo3MbQVnE86SO5i2UFhdGNXOAho69D7GA=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=BK/s6y/A71znElIJ3CX/QSLQvEYMPTKROZhd1saTxaGU6LZVTOSd50lxBPHat5UMO23w+65OHTuJ2B1Gty7ExEQSN6f9FwPQkYM8uiroqJ+d3RQ5gmv5AEGsIYqI88KMTz36FnHYUbk3PtCvZYzZaXmDU9gGFNKSpSTDoZZdhtg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz; spf=pass smtp.mailfrom=suse.cz; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=HJ/VLELa; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=53sHyl1/; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=HJ/VLELa; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=53sHyl1/; arc=none smtp.client-ip=195.135.223.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.cz
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out2.suse.de (Postfix) with ESMTPS id 776DC20EB8;
Thu, 5 Jun 2025 06:19:29 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1749104369; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=OMbhcZbCeEqhLQVEpQtGmU6m8hH/pjgYtw6RJLlYjuk=;
b=HJ/VLELatXJlV+UxFJEET8AnxMQAfqqNbKoO9sJYES8uV712/JE0PLGKObVBmQfZiTPtbY
BtSPQ22SojiznZstWEuD0dq3SaFhisBDSyi2DcEkKTJ+R0VFkyflXAqQkN4GJXor9ktQSF
h9DLqKeDhVhaX2Om1FZaTZx3ojd+p8k=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1749104369;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=OMbhcZbCeEqhLQVEpQtGmU6m8hH/pjgYtw6RJLlYjuk=;
b=53sHyl1/OacrWNnQlL8wL+uhwhVY7E7OWpVh7tIAT5HrsqB34SCIgM7HfCpb4SC10jRXZZ
CZL4z8QELecg8YCA==
Authentication-Results: smtp-out2.suse.de;
none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1749104369; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=OMbhcZbCeEqhLQVEpQtGmU6m8hH/pjgYtw6RJLlYjuk=;
b=HJ/VLELatXJlV+UxFJEET8AnxMQAfqqNbKoO9sJYES8uV712/JE0PLGKObVBmQfZiTPtbY
BtSPQ22SojiznZstWEuD0dq3SaFhisBDSyi2DcEkKTJ+R0VFkyflXAqQkN4GJXor9ktQSF
h9DLqKeDhVhaX2Om1FZaTZx3ojd+p8k=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1749104369;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=OMbhcZbCeEqhLQVEpQtGmU6m8hH/pjgYtw6RJLlYjuk=;
b=53sHyl1/OacrWNnQlL8wL+uhwhVY7E7OWpVh7tIAT5HrsqB34SCIgM7HfCpb4SC10jRXZZ
CZL4z8QELecg8YCA==
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 44D27137FE;
Thu, 5 Jun 2025 06:19:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id v6j9D/E2QWhSFwAAD6G6ig
(envelope-from <vbabka@xxxxxxx>); Thu, 05 Jun 2025 06:19:29 +0000
Message-ID: <03c2b01b-18f5-4015-a19b-79b8af656697@xxxxxxx>
Date: Thu, 5 Jun 2025 08:19:28 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] mm/vmstat: Fix build with MEMCG=y and VM_EVENT_COUNTERS=n
Content-Language: en-US
To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>,
David Hildenbrand <david@xxxxxxxxxx>, lorenzo.stoakes@xxxxxxxxxx,
Liam.Howlett@xxxxxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx,
mhocko@xxxxxxxx, hannes@xxxxxxxxxxx, shakeel.butt@xxxxxxxxx,
muchun.song@xxxxxxxxx, linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Randy Dunlap <rdunlap@xxxxxxxxxxxxx>,
Konstantin Khlebnikov <koct9i@xxxxxxxxx>
References: <20250604095111.533783-1-kirill.shutemov@xxxxxxxxxxxxxxx>
<6fffd2fe-0cee-405f-af78-b57b5e5d02e8@xxxxxxx>
<20250604142043.bdfdf4f9a6a6cbb57946f1a5@xxxxxxxxxxxxxxxxxxxx>
From: Vlastimil Babka <vbabka@xxxxxxx>
Autocrypt: addr=vbabka@xxxxxxx; keydata=
xsFNBFZdmxYBEADsw/SiUSjB0dM+vSh95UkgcHjzEVBlby/Fg+g42O7LAEkCYXi/vvq31JTB
KxRWDHX0R2tgpFDXHnzZcQywawu8eSq0LxzxFNYMvtB7sV1pxYwej2qx9B75qW2plBs+7+YB
87tMFA+u+L4Z5xAzIimfLD5EKC56kJ1CsXlM8S/LHcmdD9Ctkn3trYDNnat0eoAcfPIP2OZ+
9oe9IF/R28zmh0ifLXyJQQz5ofdj4bPf8ecEW0rhcqHfTD8k4yK0xxt3xW+6Exqp9n9bydiy
tcSAw/TahjW6yrA+6JhSBv1v2tIm+itQc073zjSX8OFL51qQVzRFr7H2UQG33lw2QrvHRXqD
Ot7ViKam7v0Ho9wEWiQOOZlHItOOXFphWb2yq3nzrKe45oWoSgkxKb97MVsQ+q2SYjJRBBH4
8qKhphADYxkIP6yut/eaj9ImvRUZZRi0DTc8xfnvHGTjKbJzC2xpFcY0DQbZzuwsIZ8OPJCc
LM4S7mT25NE5kUTG/TKQCk922vRdGVMoLA7dIQrgXnRXtyT61sg8PG4wcfOnuWf8577aXP1x
6mzw3/jh3F+oSBHb/GcLC7mvWreJifUL2gEdssGfXhGWBo6zLS3qhgtwjay0Jl+kza1lo+Cv
BB2T79D4WGdDuVa4eOrQ02TxqGN7G0Biz5ZLRSFzQSQwLn8fbwARAQABzSBWbGFzdGltaWwg
QmFia2EgPHZiYWJrYUBzdXNlLmN6PsLBlAQTAQoAPgIbAwULCQgHAwUVCgkICwUWAgMBAAIe
AQIXgBYhBKlA1DSZLC6OmRA9UCJPp+fMgqZkBQJnyBr8BQka0IFQAAoJECJPp+fMgqZkqmMQ
AIbGN95ptUMUvo6aAdhxaOCHXp1DfIBuIOK/zpx8ylY4pOwu3GRe4dQ8u4XS9gaZ96Gj4bC+
jwWcSmn+TjtKW3rH1dRKopvC07tSJIGGVyw7ieV/5cbFffA8NL0ILowzVg8w1ipnz1VTkWDr
2zcfslxJsJ6vhXw5/npcY0ldeC1E8f6UUoa4eyoskd70vO0wOAoGd02ZkJoox3F5ODM0kjHu
Y97VLOa3GG66lh+ZEelVZEujHfKceCw9G3PMvEzyLFbXvSOigZQMdKzQ8D/OChwqig8wFBmV
QCPS4yDdmZP3oeDHRjJ9jvMUKoYODiNKsl2F+xXwyRM2qoKRqFlhCn4usVd1+wmv9iLV8nPs
2Db1ZIa49fJet3Sk3PN4bV1rAPuWvtbuTBN39Q/6MgkLTYHb84HyFKw14Rqe5YorrBLbF3rl
M51Dpf6Egu1yTJDHCTEwePWug4XI11FT8lK0LNnHNpbhTCYRjX73iWOnFraJNcURld1jL1nV
r/LRD+/e2gNtSTPK0Qkon6HcOBZnxRoqtazTU6YQRmGlT0v+rukj/cn5sToYibWLn+RoV1CE
Qj6tApOiHBkpEsCzHGu+iDQ1WT0Idtdynst738f/uCeCMkdRu4WMZjteQaqvARFwCy3P/jpK
uvzMtves5HvZw33ZwOtMCgbpce00DaET4y/UzsBNBFsZNTUBCACfQfpSsWJZyi+SHoRdVyX5
J6rI7okc4+b571a7RXD5UhS9dlVRVVAtrU9ANSLqPTQKGVxHrqD39XSw8hxK61pw8p90pg4G
/N3iuWEvyt+t0SxDDkClnGsDyRhlUyEWYFEoBrrCizbmahOUwqkJbNMfzj5Y7n7OIJOxNRkB
IBOjPdF26dMP69BwePQao1M8Acrrex9sAHYjQGyVmReRjVEtv9iG4DoTsnIR3amKVk6si4Ea
X/mrapJqSCcBUVYUFH8M7bsm4CSxier5ofy8jTEa/CfvkqpKThTMCQPNZKY7hke5qEq1CBk2
wxhX48ZrJEFf1v3NuV3OimgsF2odzieNABEBAAHCwXwEGAEKACYCGwwWIQSpQNQ0mSwujpkQ
PVAiT6fnzIKmZAUCZ8gcVAUJFhTonwAKCRAiT6fnzIKmZLY8D/9uo3Ut9yi2YCuASWxr7QQZ
lJCViArjymbxYB5NdOeC50/0gnhK4pgdHlE2MdwF6o34x7TPFGpjNFvycZqccSQPJ/gibwNA
zx3q9vJT4Vw+YbiyS53iSBLXMweeVV1Jd9IjAoL+EqB0cbxoFXvnjkvP1foiiF5r73jCd4PR
rD+GoX5BZ7AZmFYmuJYBm28STM2NA6LhT0X+2su16f/HtummENKcMwom0hNu3MBNPUOrujtW
khQrWcJNAAsy4yMoJ2Lw51T/5X5Hc7jQ9da9fyqu+phqlVtn70qpPvgWy4HRhr25fCAEXZDp
xG4RNmTm+pqorHOqhBkI7wA7P/nyPo7ZEc3L+ZkQ37u0nlOyrjbNUniPGxPxv1imVq8IyycG
AN5FaFxtiELK22gvudghLJaDiRBhn8/AhXc642/Z/yIpizE2xG4KU4AXzb6C+o7LX/WmmsWP
Ly6jamSg6tvrdo4/e87lUedEqCtrp2o1xpn5zongf6cQkaLZKQcBQnPmgHO5OG8+50u88D9I
rywqgzTUhHFKKF6/9L/lYtrNcHU8Z6Y4Ju/MLUiNYkmtrGIMnkjKCiRqlRrZE/v5YFHbayRD
dJKXobXTtCBYpLJM4ZYRpGZXne/FAtWNe4KbNJJqxMvrTOrnIatPj8NhBVI0RSJRsbilh6TE
m6M14QORSWTLRg==
In-Reply-To: <20250604142043.bdfdf4f9a6a6cbb57946f1a5@xxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spamd-Result: default: False [-4.30 / 50.00];
BAYES_HAM(-3.00)[100.00%];
NEURAL_HAM_LONG(-1.00)[-0.999];
NEURAL_HAM_SHORT(-0.20)[-0.999];
MIME_GOOD(-0.10)[text/plain];
RCVD_VIA_SMTP_AUTH(0.00)[];
ARC_NA(0.00)[];
MIME_TRACE(0.00)[0:+];
RCVD_TLS_ALL(0.00)[];
RCPT_COUNT_TWELVE(0.00)[15];
MID_RHS_MATCH_FROM(0.00)[];
FREEMAIL_ENVRCPT(0.00)[gmail.com];
DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
FROM_HAS_DN(0.00)[];
FREEMAIL_CC(0.00)[linux.intel.com,redhat.com,oracle.com,kernel.org,google.com,suse.com,cmpxchg.org,linux.dev,kvack.org,vger.kernel.org,infradead.org,gmail.com];
TO_DN_SOME(0.00)[];
FROM_EQ_ENVFROM(0.00)[];
TO_MATCH_ENVRCPT_ALL(0.00)[];
RCVD_COUNT_TWO(0.00)[2];
FUZZY_BLOCKED(0.00)[rspamd.com];
DBL_BLOCKED_OPENRESOLVER(0.00)[suse.cz:email,suse.cz:mid,infradead.org:email,intel.com:email]
X-Spam-Level:
X-Spam-Score: -4.30
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/4/25 23:20, Andrew Morton wrote:
> On Wed, 4 Jun 2025 11:56:42 +0200 Vlastimil Babka <vbabka@xxxxxxx> wrote:
>
>> > There is no need to backport this fix to stable trees. Without the
>> > strict BUILD_BUG_ON(), the issue is not harmful. The elements in
>> > question would only be read by the memcg code, not by /proc/vmstat.
>> >
>> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
>> > Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>> > Fixes: ebc5d83d0443 ("mm/memcontrol: use vmstat names for printing statistics")
>>
>> Well in that case I think we should put Fixes: to the BUILD_BUG_ON() change.
>> And if it's not yet a stable sha1, squash that together with this?
>> It doesn't seem ebc5d83d0443 alone needs this fix.
>
> I shuffled things around.
>
> I moved "mm: strictly check vmstat_text array size" from mm-hotfixes
> and back into mm-new for the next cycle.
>
> I reworked "mm/vmstat: fix build with MEMCG=y and VM_EVENT_COUNTERS=n"
> so it precedes "mm: strictly check vmstat_text array size".
>
> I reworked "mm/vmstat: utilize designated initializers for the
> vmstat_text array" so it comes last.
>
>
> So the applying order is now

I checked and in general it looks good, except a nit below.

> mm-hotfixes:
> mm-fix-vmstat-after-removing-nr_bounce.patch
>
> mm-new:
> mm-vmstat-fix-build-with-memcg=y-and-vm_event_counters=n.patch
> mm-strictly-check-vmstat_text-array-size.patch

The changelogs of these two don't reflect the new ordering though, maybe
Kirill can provide updated ones?

> mm-vmstat-utilize-designated-initializers-for-the-vmstat_text-array.patch
>
> and everything should land nicely.



Return-Path: <linux-kernel+bounces-674111-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9CDFC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:21:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 959D93A43E2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:21:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 553301E6DC5;
Thu, 5 Jun 2025 06:21:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="RpHB0y5R"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F0552566;
Thu, 5 Jun 2025 06:21:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104504; cv=none; b=G2qGlYkDHR/awpgSLgjKPS4x6i+Wn+e1amyPCDzvuATheWLzMUGv4qlhFEpaKAUxlNbdMADd+GVMfQGcgGkrp8Jlnz6JXbbxaryEoslG1hwzCQYAWiCb6Kpo4BKmK0EYSDE0KbRpBVw6eh3s0MoM7uRuQ5gYEm7nOA7aHeHCJek=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104504; c=relaxed/simple;
bh=+Redz4ifkRkx64frRMoX7dOYX5AJN+Q/ArPYmvxEyPc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=qtigZH51Ssl9Yy1MFNLbFCmqkV6soDW9+atHMKJZTh6AGVPWkS5F+1PN2ArKyF3tuGxJC1aoP5FwUhEfOM9lWAgCrcQGUj0IbiV7MvLagR6TjaP3vRORdUzez0tjw3CQ29taqrpnpj6B3GlhqPgPqJadK/m47xLgvXyixho1a8Q=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RpHB0y5R; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C1271C4CEE7;
Thu, 5 Jun 2025 06:21:43 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749104504;
bh=+Redz4ifkRkx64frRMoX7dOYX5AJN+Q/ArPYmvxEyPc=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=RpHB0y5Ra2FIpz9VgGLS53mxOfVMAIYqacJek1YYOjiIK68AYA+laSiYRBvxmXbya
hnJy//xgXODlHJYv3jCjpYD3peZV8eJMilgHHNzMoM6HWjz3ZV75w6Y6B2cwrbo8wB
vBKfKwm47IhwMJ/my3pAsa55ftxFNeYGTAoShHQi8GNHfCkruvz/0Ek2z5DOgJSUz9
MetvBMahFWXn23VTcIJQBrY5d7N3Csdg2JEeZJyMP/u/ZeOmeHUHU2w4cuRm2wiufE
m+rEx0MdwqPAMDfmyWjwHuz/0Lt1kuETWGqydDGZJmm6KhptVX0EF4EBW7vCbGKT2h
nbtBBkx7RZRxA==
Date: Thu, 5 Jun 2025 08:21:41 +0200
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
To: Lukas Timmermann <linux@timmermann.space>
Cc: lee@xxxxxxxxxx, pavel@xxxxxxxxxx, robh@xxxxxxxxxx, krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx, linux-leds@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v3 2/2] dt-bindings: leds: Add new as3668 support
Message-ID: <20250605-poised-furry-elephant-cadd08@kuoka>
References: <20250604225838.102910-1-linux@timmermann.space>
<20250604225838.102910-3-linux@timmermann.space>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250604225838.102910-3-linux@timmermann.space>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, Jun 05, 2025 at 12:58:38AM GMT, Lukas Timmermann wrote:
> Document Osram as3668 LED driver devicetree bindings.
>
> Signed-off-by: Lukas Timmermann <linux@timmermann.space>

Please organize the patch documenting compatible (DT bindings) before their user.
See also: https://elixir.bootlin.com/linux/v6.14-rc6/source/Documentation/devicetree/bindings/submitting-patches.rst#L46

> ---
> .../devicetree/bindings/leds/leds-as3668.yaml | 76 +++++++++++++++++++
> 1 file changed, 76 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/leds/leds-as3668.yaml
>
> diff --git a/Documentation/devicetree/bindings/leds/leds-as3668.yaml b/Documentation/devicetree/bindings/leds/leds-as3668.yaml
> new file mode 100644
> index 000000000000..a9d698eb87d2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/leds-as3668.yaml

Filename matching compatible. ams,as3668.yaml


> @@ -0,0 +1,76 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/leds-as3668.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Osram 4-channel i2c LED driver.

Drop full stop

> +
> +maintainers:
> + - Lukas Timmermann <linux@timmermann.space>
> +
> +description: |

Drop |, Do not need '|' unless you need to preserve formatting.

> + This IC can drive up to four separate LEDs.
> + Having four channels suggests it could be used with a single RGBW LED.
> +
> +properties:
> + compatible:
> + const: ams,as3668
> +
> + reg:
> + maxItems: 1
> + description:
> + I2C slave address

Drop description, obvious.

> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0

Missing gpio / pwm / audio input. I guess you omitted it because you do
not know how to implement the audio input part? Bindings should be
complete, so at least mention this in commit msg.

Best regards,
Krzysztof



Return-Path: <linux-kernel+bounces-674112-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 61C9F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:22:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9351C165066
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:22:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 606DF1F3BB5;
Thu, 5 Jun 2025 06:22:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="a1OUTOVj"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C1D02566;
Thu, 5 Jun 2025 06:22:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.14
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104524; cv=none; b=QpGoXif8E2a1LyjxR0Loka8EN/ScOnM2nemJkOJ5iKG1UDZLQgz0gvt92iQ2pPoYxB30NE4NuCc/kpHlooMHoXIPUSNgBI0f99jjKXxO+c2zZ0lSniCewHMH9VvFGEOL9r+9uw2F5ZBDup7DwbOcbBdxh+JQEenXDrBAqjgR+XQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104524; c=relaxed/simple;
bh=MHhal0LgKPtaPMkQ1hzcXyBudC1oK/SC0MLQV/wiVH4=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=D4KyAx/8IabnAyZ6zJecdRqtritjcZrMLzzaCYLugAC2BFR4gC1H1yFu/XnCPP45eY/DvsCZnP5vPHkWKlpn2m8U8TVlue0XxyFr7vQpZFTk3aoD1RDyoYVGYoqg4wtKJ6QiS7WAEd7QYaFEQQ0eeBnzlQ2Drh4Dad0gbjb0uI0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=a1OUTOVj; arc=none smtp.client-ip=198.175.65.14
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749104523; x=1780640523;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=MHhal0LgKPtaPMkQ1hzcXyBudC1oK/SC0MLQV/wiVH4=;
b=a1OUTOVjjTmfktVG00MUvSge4qItQIQJO+N8daVTg+l7f9TW6S2CIC00
iJtSboxN8CUUIyQNMEC7qaoYIIa/JWYvI2ugY8BcE21KPg73qQ44LrdPC
Jh4blVs3TbDkLXpvZ8zF6DQa2fK+KTdB6BVkcq9etlkydtgIUQMpUk5xu
fWZU4bw9/fO4QUwBbeOmdkjBT5puhAg+Fp+qJJrS1EI4yFW5ujLH0+d8z
kCLmSCGTyeBunb5baaCufu0MXWiU7DSYIxjvq4Ro4PfgRaOMCZJqFcp36
bK5tMtv4ba/WlIugAjWlee8U1e1ttEj+Bz79xM7zbmpFYy+ovL1Xw0kip
w==;
X-CSE-ConnectionGUID: sjnyY6DIRmSbkbK8eyDkrA==
X-CSE-MsgGUID: DKqW1JuiTW+SbHdvc0IjcA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="55009131"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="55009131"
Received: from orviesa002.jf.intel.com ([10.64.159.142])
by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:22:02 -0700
X-CSE-ConnectionGUID: 112haDkxTtGUgp88JcSy5w==
X-CSE-MsgGUID: 34UgflkGQtuotlqHlkBbNg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="176358227"
Received: from smile.fi.intel.com ([10.237.72.52])
by orviesa002.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:21:58 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uN3z8-00000003mQH-22Ck;
Thu, 05 Jun 2025 09:21:54 +0300
Date: Thu, 5 Jun 2025 09:21:54 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Jonathan Santos <Jonathan.Santos@xxxxxxxxxx>
Cc: linux-iio@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
nuno.sa@xxxxxxxxxx, Michael.Hennerich@xxxxxxxxxx,
marcelo.schmitt@xxxxxxxxxx, jic23@xxxxxxxxxx, robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx, conor+dt@xxxxxxxxxx, marcelo.schmitt1@xxxxxxxxx,
linus.walleij@xxxxxxxxxx, brgl@xxxxxxxx, lgirdwood@xxxxxxxxx,
broonie@xxxxxxxxxx, jonath4nns@xxxxxxxxx, dlechner@xxxxxxxxxxxx,
Pop Paul <paul.pop@xxxxxxxxxx>
Subject: Re: [PATCH v10 11/12] iio: adc: ad7768-1: add filter type and
oversampling ratio attributes
Message-ID: <aEE3gsbbOuBdI1ky@xxxxxxxxxxxxxxxxxx>
References: <cover.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
<c36d6494453050041a585c0e79d7bb674da11c99.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <c36d6494453050041a585c0e79d7bb674da11c99.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 04:37:36PM -0300, Jonathan Santos wrote:
> Separate filter type and decimation rate from the sampling frequency
> attribute. The new filter type attribute enables sinc3, sinc3+rej60
> and wideband filters, which were previously unavailable.
>
> Previously, combining decimation and MCLK divider in the sampling
> frequency obscured performance trade-offs. Lower MCLK divider
> settings increase power usage, while lower decimation rates reduce
> precision by decreasing averaging. By creating an oversampling
> attribute, which controls the decimation, users gain finer control
> over performance.
>
> The addition of those attributes allows a wider range of sampling
> frequencies and more access to the device features. Sampling frequency
> table is updated after every digital filter parameter change.
>
> Changes in the sampling frequency are not allowed anymore while in
> buffered mode.

...

> +static const int ad7768_dec_rate_values[8] = {
> + 8, 16, 32, 64, 128, 256, 512, 1024,
> +};
> +
> +/* Decimation rate range for sinc3 filter */
> +static const int ad7768_sinc3_dec_rate_range[3] = {
> + 32, 32, 163840

Also leave trailing comma here.

> +};

...

> +static const char * const ad7768_filter_enum[] = {
> + [AD7768_FILTER_SINC5] = "sinc5",
> + [AD7768_FILTER_SINC3] = "sinc3",
> + [AD7768_FILTER_WIDEBAND] = "wideband",
> + [AD7768_FILTER_SINC3_REJ60] = "sinc3+rej60"

Ditto.

> };

...

> +static int ad7768_set_mclk_div(struct ad7768_state *st, unsigned int mclk_div)
> +{
> + unsigned int mclk_div_value;
> +
> + mclk_div_value = AD7768_PWR_MCLK_DIV(mclk_div);
> + /*
> + * Set power mode based on mclk_div value.
> + * ECO_MODE is only recommended for MCLK_DIV 16

'= 16.' ?

> + */
> + mclk_div_value |= mclk_div > AD7768_MCLK_DIV_16 ?
> + AD7768_PWR_PWRMODE(AD7768_FAST_MODE) :
> + AD7768_PWR_PWRMODE(AD7768_ECO_MODE);
> +
> + return regmap_update_bits(st->regmap, AD7768_REG_POWER_CLOCK,
> + AD7768_PWR_MCLK_DIV_MSK | AD7768_PWR_PWRMODE_MSK,
> + mclk_div_value);
> }

--
With Best Regards,
Andy Shevchenko




Return-Path: <linux-kernel+bounces-674113-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7E48541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:22:51 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id F015F188E114
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:23:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F11721F03D8;
Thu, 5 Jun 2025 06:22:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="FtSLXByI"
Received: from esa10.fujitsucc.c3s2.iphmx.com (esa10.fujitsucc.c3s2.iphmx.com [68.232.159.247])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D6682566;
Thu, 5 Jun 2025 06:22:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=68.232.159.247
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104563; cv=fail; b=bOZXVw7FWkf0/k/YrM9NiTkW3rFR/Od1fmLsxOpvp9kGfzTpitww+NrWlxx+EwbunDbR3brD3SV6QMCdz5cpR58Bmnihlhf77+FOpeAxGETcnRg6DlkxQdSIkMznIfwUW9BV5EHZRfpJpKaOLxyjqwkkW8vRpS15GmUksU+2TUs=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104563; c=relaxed/simple;
bh=HtiquZ78IvL/gzgledz+tIW9669mSu2I0yTW6vb5fn4=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=ODUpNW4rBLxwM+z0yvkDLqmjOQhFX0S/6eLcidBb5TmLGA1+2MP6PsdgxN5E9FF8Sf2HTHU27O+kJibikSfxEw8PhIIIUR8ICJF2N3Ev+KFEJWmSSDWJGZLseL1Qqk2f1LzdfyHFStzutn98KJFh2yGfao20Ryx2kQd/YQFlNEU=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=FtSLXByI; arc=fail smtp.client-ip=68.232.159.247
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=fujitsu.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1;
t=1749104561; x=1780640561;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-transfer-encoding:mime-version;
bh=HtiquZ78IvL/gzgledz+tIW9669mSu2I0yTW6vb5fn4=;
b=FtSLXByIfjaBE5Hdw3bUiqrBc8RN1jBkEWaiGrwNv1TlvZrNkeJo4esl
B6ZoD+dQnzm4LXxVe86gscdwmDqmJdVnZT8fU7TEwrnPdISTbifuIWbV9
60naSWj7R9JapoGBoZX9yzaTjqvr8Cxg0ki6BqYke/cUfCcyQBwrJakTL
1Zausob8A9Ynxj2/qzQd4WK4abH2b1wMmooj/4p1ByDxjE71ROvYQzaiJ
gFxGclGqLSPFx++b1XXcd6cyE+qxz+qkRFyxX8BVdz1jwUegDXFx79L9C
xsHrqOSLmN/x3aXZlrprb66e1Yl2+whBvOq3ayZNMEpS6Zo1Xi5hkNWvs
Q==;
X-CSE-ConnectionGUID: 7lX69ihpSLS+xYTctCToXw==
X-CSE-MsgGUID: 7H41dKylTOKZP48ClbgQmg==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="157755964"
X-IronPort-AV: E=Sophos;i="6.16,211,1744038000";
d="scan'208";a="157755964"
Received: from mail-japanwestazon11011060.outbound.protection.outlook.com (HELO OS0P286CU010.outbound.protection.outlook.com) ([40.107.74.60])
by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2025 15:22:35 +0900
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=AiWF3wEchJQYiEZdPd1/9vlVXndWpf0WpG2l4zrHCdMRZbuSGD5/97pMfoHSC1PFshFwPzPYDw0G1Uf0YhJ1IBEYmNdJ3tVXpapVKFI8oCgMxO04ZpiBOtaLEW4tPc4b55zZbDSdgP2tY5GUreLF+ykQQ3P5EpNdb3yHJhU2IFCkXQGv1QsRmEJaNv5uygFPIWvALg06kUQw7/P9adbqdhWk91fzymdmkysdW1jeCazqOVcq8AzG6dAp9LLFMvopMJcLQwZTA8dsjqwe4nSwGGm3QmxLYPiFkGlh2gGK3ux1TtWy7dTIzw4YbHlc6FgEEXQzgRcRCf4aT1EtwBOs4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=LDpQwsvMeQhy1g5Qe37w/GUbJI+9UWBLoxRQQxyIY+o=;
b=bcvuD+bxJVwrFrTzfF313tSzOUi77209d9uH/IJP6V5T/8Lc2++3l8GseX2HreEDsaiXchqQtJDdG9ZcrK9l0bhxnQYZ3E3InxT+BW4ZKxnCIJnUHOrICuB5SJSJoOhpPINC3PiQ0JaZfGx9VIz2PaqegX3trd/N6nJZFAGmUfQr132VXS5bDBmlg/MX2V6dpJgpkEAE6PF2lgwWqSD/B6ipVwleHv+KsJWE/4EPiDOxFB9xSx2g31TnJmP+zN4oWT/dIQJK+Aw9tU27edQkGHntOZ/26QWp2U1Vp3EHbqjUw7jrmzFTufUXJAB8D4DH9/iwUi+yqzglAamdhlEeOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com;
dkim=pass header.d=fujitsu.com; arc=none
Received: from TY4PR01MB13777.jpnprd01.prod.outlook.com (2603:1096:405:1f8::9)
by TYWPR01MB10971.jpnprd01.prod.outlook.com (2603:1096:400:390::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.21; Thu, 5 Jun
2025 06:22:32 +0000
Received: from TY4PR01MB13777.jpnprd01.prod.outlook.com
([fe80::60b7:270b:27c7:4fcc]) by TY4PR01MB13777.jpnprd01.prod.outlook.com
([fe80::60b7:270b:27c7:4fcc%7]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
06:22:32 +0000
From: "Toshiyuki Sato (Fujitsu)" <fj6611ie@xxxxxxxxxxx>
To: 'Michael Kelley' <mhklinux@xxxxxxxxxxx>
CC: 'John Ogness' <john.ogness@xxxxxxxxxxxxx>, "pmladek@xxxxxxxx"
<pmladek@xxxxxxxx>, 'Ryo Takakura' <ryotkkr98@xxxxxxxxx>, Russell King
<linux@xxxxxxxxxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
Jiri Slaby <jirislaby@xxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "linux-serial@xxxxxxxxxxxxxxx"
<linux-serial@xxxxxxxxxxxxxxx>, "linux-arm-kernel@xxxxxxxxxxxxxxxxxxx"
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, "Toshiyuki Sato (Fujitsu)"
<fj6611ie@xxxxxxxxxxx>
Subject: RE: Problem with nbcon console and amba-pl011 serial port
Thread-Topic: Problem with nbcon console and amba-pl011 serial port
Thread-Index:
AdvULbS8DdGjT9TLS9OOSVhbv2AtDgAN1+gwAALFDgAAAfWTAAAeB8NgADP4FvAABDFXIA==
Date: Thu, 5 Jun 2025 06:22:32 +0000
Message-ID:
<TY4PR01MB1377757DD5E7F27A41F0B4723D76FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References:
<SN6PR02MB4157A4C5E8CB219A75263A17D46DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<OS7PR01MB13775FE1A20762D1EA4A38D0ED76DA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<84y0u95e0j.fsf@xxxxxxxxxxxxxxxxxxxxx> <84plfl5bf1.fsf@xxxxxxxxxxxxxxxxxxxxx>
<TY4PR01MB13777674C22721FCD8ACF4FCCD76CA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<SN6PR02MB41575419E1223B8A8B0A1F1FD46FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
In-Reply-To:
<SN6PR02MB41575419E1223B8A8B0A1F1FD46FA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Accept-Language: ja-JP, en-US
Content-Language: ja-JP
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_ActionId=73bc6bbe-f07a-4241-8f3d-c0bd835e27e2;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_ContentBits=0;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_Enabled=true;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_Method=Privileged;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_Name=FUJITSU-PUBLIC?;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_SetDate=2025-06-05T04:22:32Z;MSIP_Label_1e92ef73-0ad1-40c5-ad55-46de3396802f_SiteId=a19f121d-81e1-4858-a9d8-736e267fd4c7;
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=fujitsu.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: TY4PR01MB13777:EE_|TYWPR01MB10971:EE_
x-ms-office365-filtering-correlation-id: 560be7a4-5eb7-4f74-a469-08dda3f95af4
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
BCL:0;ARA:13230040|376014|7416014|1800799024|366016|38070700018|1580799027;
x-microsoft-antispam-message-info:
=?iso-2022-jp?B?RHFGUGExZHJ0SS9LYWNydUE5bllJT2ZJU2pkQ1BrUVZwSlA2bVpnWGd0?=
=?iso-2022-jp?B?L0Z4dm1VS3p0YWhPSkNOU0tZLzJuVlFpZWRGWm1aSTFCRytUaFlJNzMr?=
=?iso-2022-jp?B?a1dyMnBrMTNTOXE4RVM3cE9LMWxSY1RmOTc1c042TVlwbkx5eGJQcEM1?=
=?iso-2022-jp?B?STArWU4xSFJNOEpKbVgrK2pPNER0aXQwMi80TE1BS1dNdWtheWZkc2U0?=
=?iso-2022-jp?B?K1pEQldDZXpBY294cUNGUmhsM0dlVlZ6RU9YY3ZHTEQ4cVZMc3RQRTlB?=
=?iso-2022-jp?B?elUyM3pjUU13Zmo4VnhLbUxiL2ptNnJvUW5DNW5BKzJoUmR6RnRmZjJR?=
=?iso-2022-jp?B?Z0lLdFJJUnZ4ME84c3hvR2FpRk9GL05hTjNoY0ZDOU5TZ2FmWjA4bjhB?=
=?iso-2022-jp?B?cDQ0QnhENDlMLzJqazBZeTgvQ09mL2hVUHJWT2NBS1BmZ1VEZW8zNDdh?=
=?iso-2022-jp?B?OFJIZDhSdDY0RGRveHpnMG4vYzhxTGt6SnorVDRVeElZMHlCMGphM21r?=
=?iso-2022-jp?B?QmYvNzY4akZCU0lIYUJ0MUp2YzBGQUpva1JVSHkzNVl3Yk1JWnR5YU5W?=
=?iso-2022-jp?B?RkU5ZXU0TkRvRGlnUkRIenJMT3RZY0R3eFpuNFpka0E3MXZNNEdCR1pJ?=
=?iso-2022-jp?B?U3RjQ0duYWZJdlEvN3cyNjl0dXBEN0tCS2ZldDBkUGl3MEorbXhKWW1s?=
=?iso-2022-jp?B?UmtJTGpnaWdnem9HV29DZUJxRFlaTkNEY2RObXRySWNYbzhxWGRGYy9o?=
=?iso-2022-jp?B?Z253T0p6bGFnTEFZQkxVUzF2Z1k3UnVWaW9HaHNuMkJIWUFQaTdYZ3Vl?=
=?iso-2022-jp?B?Q0FNRjFJZ1pLalJVZ2kyZU9wVEpYUGhYVEFMOXlsZ2VJa0toV2FPMEVv?=
=?iso-2022-jp?B?Ym94WVdwaUFEeXFrUXQyRHBlemxCOEFSbHRNbWlPRnpiVkUvRWdxb3J3?=
=?iso-2022-jp?B?L25VVkRuZzBEa3hIclJ1cDFUWTlOT0dBUlpzWGhYemR5MUp4U0R1bFVo?=
=?iso-2022-jp?B?czJrcGNyM25YZUw0dzcrb2NNSE0yRUJNSHNyNjc3bnUvL0oxN2o3VTlz?=
=?iso-2022-jp?B?VmI4aVVzNENtWnpXUjJUZUVTeG9OUHorSkloWlE1R2xzTFAyWnB1bU55?=
=?iso-2022-jp?B?SEpndmhIaVhmc2xHbGR3bkpqRWtrNzI4L2hqZEVPNmFWOVFudXBENXh6?=
=?iso-2022-jp?B?T3RhcUk1QkV3WmtlYUVhQXhVZytROXMxcUVPMWZsQXlKWEVUNDEycjJP?=
=?iso-2022-jp?B?MzVKeG5ITUI4cHFJZXgxejdwTUZHdTJSdXA5ZXJlVmtaR0hSTlQrcFEv?=
=?iso-2022-jp?B?cGIzaENGNlZZTU1FOWM3bTBJeFB4aElnSHBxa1FnM2ozeWs3YXJpblFu?=
=?iso-2022-jp?B?QVB6dmZhRjNBUlpsVkFibytkMldRa2U5bUw3bEtEQ2xPckhBS3AycXRJ?=
=?iso-2022-jp?B?K1VDMTU5ZElFcEFqYTRoMUIwSHhoZjVHMmh1VkRTVHorNHYzWmp3RmpM?=
=?iso-2022-jp?B?VFp1aU96U3VXR3B3M1ZvbWswSEExWktkZnB2M0ZDaHlXcjduSlQ2Yll5?=
=?iso-2022-jp?B?Q0hMOXV3UHh1RVBEOVU5THhYQXlicHVidWdCZ2pESUdaUll3ODFoY29Q?=
=?iso-2022-jp?B?Qnpsd0V2M3FoWVJ2eEJMbmVVVmR0bE1GS21kOU5sUkl0ZlRtMDdZV3Vq?=
=?iso-2022-jp?B?M2tlWlJ6Ulc5TXJmRlhxV3dBZEt4bHU2Lzlkc3BmeHQ3aG1oMXd0UXc2?=
=?iso-2022-jp?B?N1JOSHh3Z1JuZXJMdk1iVVZVVXYrdnFoZml2VmFEU2Uxc0V1WmlhaUVh?=
=?iso-2022-jp?B?UnplTGhKdHN3TnpkcmxhS0sxbERhM0t0T1U4dUFoU2UrVlhSaUxtNGVW?=
=?iso-2022-jp?B?RW5JdWFqaWFjNGF4VmExTUdhN2ZaVnJ2M1hSUitEa3NLMGlpMVdXaFlI?=
=?iso-2022-jp?B?RjduYU1YSzdQSVM5SmtxTmYrRG0veG5QZHd4N21SV3VIUHlCOXhrNEQ1?=
=?iso-2022-jp?B?RDN1NkF3azhvNUs5TlpIdGcreVJRVExaN0Q4ejl5RlkySStpdlhGQVRO?=
=?iso-2022-jp?B?TUg3UGdrWGlibmJQN2FoT2wrM3gvTUlVZnlOckFOeTBaY05DaE9hMTZY?=
=?iso-2022-jp?B?b2lBbk5uK2w0VGNPRW1hLzBDSjh6U2ErWXZTLzVDeHpHK0pNbWN1eUtW?=
=?iso-2022-jp?B?bzh4bStiVXhURXNFcU5nZXdHYTlJUVlu?=
x-forefront-antispam-report:
CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY4PR01MB13777.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(38070700018)(1580799027);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
=?iso-2022-jp?B?dE5waEdTMmVkUG84R1IwSFRhcU5xQWM1UGdQQjdkcFJtUjRtMjd0NzBC?=
=?iso-2022-jp?B?Skt1YUNlS0tOYlJpeEswbFJtVUZ4ejRnNEJzRy80NVdxR291MnVWSm5U?=
=?iso-2022-jp?B?S3ZZbE5xZWFDRDljV3pkaVJoZGZUVWdwMXphRTUrdHgxMGR2L0xTamtB?=
=?iso-2022-jp?B?RWEzeXRPeERpUHN5TjhmMS9QaEhidy9lY1ZCbkpEd0RwR2ZHdUN3QjVa?=
=?iso-2022-jp?B?L3RQc0oyOXdsc0RCb1dCaGdFNDBiRldDeHM2Vy9TdzBDOFFGQ0ZMN2Nn?=
=?iso-2022-jp?B?RnRSTVUyalJlR3FGQ2V1VWRBN0MwUzZzM3FzTnJJLzVVMTdCM2tGMkF2?=
=?iso-2022-jp?B?VHNaV01rZnd4a0NLQ1FuVk5LVVV3cjE4RWo1VlBBUlV6RUxwamZCbGM4?=
=?iso-2022-jp?B?TDlwMG0ySCtZOUhxWGw5NG9jZnFZT0o1NkZ2dzdadkZ2TG9MT21vVWk5?=
=?iso-2022-jp?B?QzdVb2tzVjJHVGthaldGb2ZwcktkSktRZTBQNzgyMll4VWk2WXMxdGtP?=
=?iso-2022-jp?B?SFRzRlNSQTRETUdiNjIvZ2NqMExTcTczVTlmUTNwTUw3cGpjMFdHRGhR?=
=?iso-2022-jp?B?bUVKZGYrMGFEMGFzTnVJL3F4Wll4SnFjTHlwOUZsZ1JKMUZNTWhEQ0N2?=
=?iso-2022-jp?B?ZUo3YSsxRTFGUWIvWUZ0UlRXL3VNWU1iTTF0YU8zRnFER05Rb0NNS2JJ?=
=?iso-2022-jp?B?NnQvc0NGQnJoZEF0R2MrYStTWnVQeWx5NEVvZFU3NEdRcjZuTTVxWVpH?=
=?iso-2022-jp?B?bkVPTUNadUtTNDhFdzRLR0NYa3NYUlNEVXBWVExRbWlDeVJmelAvWmVs?=
=?iso-2022-jp?B?eG1veWU2WVRnYmltNUtSZzRnRHBHT0xJWnN4WlhPdXkvdy9QV2RMNVB1?=
=?iso-2022-jp?B?enBkTzRWVldTNDdHSkZNUUhXdkJoU0psQTYva21KVi9WMU9vZkxxREQx?=
=?iso-2022-jp?B?eHF2L1dYYTYwNWRoYW95czF5T1VMQUJ3ZmgzQlk0T3V2Mkp4QmdvcU1w?=
=?iso-2022-jp?B?a1p6dTNiODM0N05YSHVIRFNwaG9vLzdZbkNSNjZKRlpVU2FzNTVpalll?=
=?iso-2022-jp?B?cTR3RHFEZ1AvN04yMDB5SEJQRVJxYXQxdzY5Nk1NUUEyeWM4QlBMQVM1?=
=?iso-2022-jp?B?MitYWEs4NkF0dVlFNXQ5S3VxVnI5dng3eVdqR3VqYmU2SC80NitPMHRO?=
=?iso-2022-jp?B?NTN3TUxVM0NVTE1WaFhrZmpLR1hxaVgwYzV6bDZ6YXhzUWZTU1NXbGg3?=
=?iso-2022-jp?B?aDNkL3hXeTI1Q0ljMytTYUpvRVBYblF4TndHS1loblo5cExBZHVBaXNy?=
=?iso-2022-jp?B?THcvRkw4ZlExc2F6QUV4aytSUWZTYW5qaVFaaWdDdG9mYzUwMUErZ2Jw?=
=?iso-2022-jp?B?MUF6Yy9TcU5SbWZ4WTRsTHFpVnAxR0FmUGlta2J6Q3IzN2F4SHJhSUJs?=
=?iso-2022-jp?B?NmxvbDZUK1grQTZuQW42cWVvY2I4VkxLSnU1NFdLSU00K3VxUlU1UVlM?=
=?iso-2022-jp?B?dkUyRFhreG5BRlNjZnd2dVI1VHNPRFZ5Qzk5UGREN2N0OGpiRENwSjVH?=
=?iso-2022-jp?B?bXhFTmVYTDI1WHpIdklrRHllV2x1RkNSZGpHajR2ckUva3ZMSUVVTWty?=
=?iso-2022-jp?B?MklXbENOVDViTVRxdUNPOFlXaEloZFhLbDQrd2FaQXpjSXQxbUQyMDZU?=
=?iso-2022-jp?B?UXUvbEl0b1dmeG1FbzVPVktoK2ZNcmY1WjRUUHFCRi8rTlNFbjVvS2Q2?=
=?iso-2022-jp?B?cGZhS01uUHJ6dE4zUS9hbVRqMEN4bTBZV2J6ZytPZXpNL2wvajNGZGly?=
=?iso-2022-jp?B?MGlqaVhtYjJ3cVNFTytlWDBoSEJ4LzhJT2tTLytrVDhlVy9mcDJDTklp?=
=?iso-2022-jp?B?R2ZqNTNET01QckJKbU9xT2dtcXhkUWxOeW9tQUdJYlArZHprcjZBWnVR?=
=?iso-2022-jp?B?N2UzdE1ubTJRZVdOWTVNTXEyNzc4RG5BdnNCZXhDeDVMR25YTFBocm9O?=
=?iso-2022-jp?B?anJxajZIQnJnaDZMR3UrMXFWd1F6c3UrOHh3VGtxelFvRGFTMVBpRzdP?=
=?iso-2022-jp?B?UnBjRTFraFhuZU5uVVVvZGQ1bTZCT3JGS1hLd3hBM0hKSFQybjBNdTEr?=
=?iso-2022-jp?B?VkRPU3NMZmRzWEZ3QW9iWExNSWJvempMTFRuUWdBOTdLWUdSOVBWTFBy?=
=?iso-2022-jp?B?UTlNSkY2UzNPQ1JyZzRXUXp4QjkvTmFUQ1plVXAzNThwSFdvTjhxL2Fw?=
=?iso-2022-jp?B?ZlhjdjRZRHZ1ejhQb2tsbDlBWEx4U3hkMWdOYkxnbUtIL3FrQ2VteFNX?=
=?iso-2022-jp?B?NzhRd0FjQjRuQml5WitMb2tFa1hyZjRwcXc9PQ==?=
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
6/8o4zQnaHAhvBkhQG+Uu+g2KnMS/FxbpeaHyuWiR47M6JmuKB48YJBohStRzv/bYLNAsBs00vhukaOUTOZfchT0X45T+7uqujuc6zDWPphYFKIwm4SxIs90jDvYe7tCR2ueL/It2t14BpG65YAZQNwmQWqqWU2KhEBtchLMeyz7r9vTWtQ59i/J5wzkhenoSW8C9llDtVcfXGX1cELJeE6Htayq/MONoeigwPdYbmP2J21pExSuP/GvRhUoFrgOCJeXig0kTxr0XSdjg0mGrtvi7o0d12SMOMwMFahXhDmUyIgyZEG2nto0XzGsirW1C026o2pBKitA2f1fwGEN/UykkVjHivNeY1YGgCd240Di9mcPnrLA5hZ1DmLa0ZGgPQV5CQ2y7Co0N3LhyMEj4Nm/1gwCftaB5Ppwmv47mr9+m42/8e5vokcb5oKmru8r6y0qE0KZPOalJaPq43+36xGWXk+uEVrku3/XC9yj1bXgOyzH+jM2I+oPRKWQjh2y6zGa8tJRz/hSyTXPSby0b2NfnLqdG9ZLrB287mDRpGluOLz+Ez7+n/hdjqIo5aTvIrbkKuN2myIeT2DV9K7SuMaewGa1WI56TY6kpzR4lonyi85NenpewO9nqfKTmbeg
X-OriginatorOrg: fujitsu.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: TY4PR01MB13777.jpnprd01.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 560be7a4-5eb7-4f74-a469-08dda3f95af4
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2025 06:22:32.4399
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: U+CFWThe6dVfqKZjVlXyCtu/PKEEOgzWkn8KH1gCBwUP36tYNE3pJMMw2tnwCZiTnGWYy5EfUL1xaqd7aZ7nt+NDqtR/Ke9lD9/bCEgFtLM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB10971
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Michael,

> From: Michael Kelley <mhklinux@xxxxxxxxxxx>
> Sent: Thursday, June 5, 2025 11:49 AM
> > Hi Michael, John,
> >
>=20
> [snip]
>=20
> >
> > This is a proposed fix to force termination by returning false from
> > nbcon_reacquire_nobuf when a panic occurs within pl011_console_write_th=
read.
> > (I believe this is similar to what John suggested in his previous
> > reply.)
> >
> > While I couldn't reproduce the issue using sysrq-trigger in my
> > environment (It seemed that the panic was being executed before the
> > thread processing), I did observe nbcon_reacquire_nobuf failing to
> > complete when injecting an NMI (SError) during pl011_console_write_thre=
ad.
> > Applying this fix seems to have resolved the "SMP: failed to stop
> > secondary CPUs" issue.
> >
> > This patch is for test.
> > Modifications to imx and other drivers, as well as adding
> > __must_check, will likely be required.
> >
> > Michael, could you please test this fix in your environment?
>=20
> I've tested the fix in my primary environment (ARM64 VM in the Azure clou=
d), and I've seen no failures to stop a CPU. I kept my
> custom logging in place, so I could confirm that the problem path is stil=
l happening, and the fix recovers from the problem path.
> So the good results are not due to just a timing change. The "pr/ttyAMA0"=
task is still looping forever trying to get ownership
> of the console, but it is doing so at a higher level in nbcon_kthread_fun=
c() and in calling nbcon_emit_one(), and interrupts are
> enabled for part of the loop.
>=20
> Full disclosure: I have a secondary environment, also an ARM64 VM in the =
Azure cloud, but running on an older version of
> Hyper-V. In this environment I see the same custom logging results, and t=
he "pr/ttyAMA0" task is indeed looping with
> interrupts enabled. But for some reason, the CPU doesn't stop in response=
to IPI_CPU_STOP. I don't see any evidence that this
> failure to stop is due to the Linux pl011 driver or nbcon. This older ver=
sion of Hyper-V has a known problem in pl011 UART
> emulation, and I have a theory on how that problem may be causing the fai=
lure to stop. It will take me some time to investigate
> further, but based on what I know now, that investigation should not hold=
up this fix.
>=20
> Michael

Thank you for testing the patch.
I'm concerned about the thread looping...

Regards,
Toshiyuki Sato



Return-Path: <linux-kernel+bounces-674114-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DFC5C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:23:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id E662E7A8C6B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:22:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7FF161F4187;
Thu, 5 Jun 2025 06:23:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="BeXeixm5"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 293862566;
Thu, 5 Jun 2025 06:23:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.17
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104609; cv=none; b=EXrNKt7E2cY0fw8kM23KrUsTNssFizj4rOPrKa8HOE4wmPfBZnZ1ZHF0W24rpALhbqTsB7wIJmJAhBzUBmGd/KbAbRtA+G9KPHJEI+n0y5tUoOxssgJAoQqQckYf3uFP0fPjqw6tOfjwTpvnpSSYXf2jpMiIPSVVinAoX630ZAE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104609; c=relaxed/simple;
bh=jBuHRfP899u5ghZRYqgzJi60BSxq6ObInAOlKjyOpxA=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=N9HxnmJWUWuYc2uDxV06ZL9yh2fW4/66ug9WW+XAhzZ78lEPGJfaPK2ds+arxfKUx2PuhZGDfKJqyTY1Q3WBy5ccundjW+BvcojdL8NEi4o/GC9u0pjJTGmBdZYiFcEIi2BTBidFWq+jNerIVp+GI62ubLCr4t60FV+oLYnOF+I=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=BeXeixm5; arc=none smtp.client-ip=198.175.65.17
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749104609; x=1780640609;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=jBuHRfP899u5ghZRYqgzJi60BSxq6ObInAOlKjyOpxA=;
b=BeXeixm5JXEt4Tj2HLCwXUy3jR1tSJwybxwN7WEWT3IuBLbcmzL1bEw3
Pcc9v1ndD6SLqTJ4q6p+ISxX3/pmFFONvJjg8cNq74crc7ITT+UNV0GmX
/86fj7Fb1i6XQ2Kre/wy2eMFREptcXQaPzXHdzAE991If9eNFhs8JR/sN
z3hXWxmsRD/h9D3ANJ3UXVVuqDbm6iqMgd2yqiCDaEQ8Ztd7xE0qT46fa
LfY8GEnj3MEUnqDqZQD/IIvh5u5Y/+hu2467Uf0BnTfewqv9nvT0wy/L6
Ku5AFrPSX7Ryax619zxqMuq2ZXy580ljcdEl0/JTZvumhPSz5oorHhdtu
w==;
X-CSE-ConnectionGUID: GRzo+4xwSVGOMibZ7tfidA==
X-CSE-MsgGUID: VT206sS9Qsm0swUm4hax4A==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51208526"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="51208526"
Received: from fmviesa009.fm.intel.com ([10.60.135.149])
by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:23:28 -0700
X-CSE-ConnectionGUID: UDH0INfzSKqt0MbVQP3xuQ==
X-CSE-MsgGUID: Uc/yvJtcT2eRs65eCjNlbg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="146351637"
Received: from smile.fi.intel.com ([10.237.72.52])
by fmviesa009.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:23:24 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uN40W-00000003mRx-2L5w;
Thu, 05 Jun 2025 09:23:20 +0300
Date: Thu, 5 Jun 2025 09:23:20 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Jonathan Santos <Jonathan.Santos@xxxxxxxxxx>
Cc: linux-iio@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
nuno.sa@xxxxxxxxxx, Michael.Hennerich@xxxxxxxxxx,
marcelo.schmitt@xxxxxxxxxx, jic23@xxxxxxxxxx, robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx, conor+dt@xxxxxxxxxx, marcelo.schmitt1@xxxxxxxxx,
linus.walleij@xxxxxxxxxx, brgl@xxxxxxxx, lgirdwood@xxxxxxxxx,
broonie@xxxxxxxxxx, jonath4nns@xxxxxxxxx, dlechner@xxxxxxxxxxxx
Subject: Re: [PATCH v10 00/12] iio: adc: ad7768-1: Add features,
improvements, and fixes
Message-ID: <aEE32At2OOlbY-xH@xxxxxxxxxxxxxxxxxx>
References: <cover.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <cover.1749063024.git.Jonathan.Santos@xxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, Jun 04, 2025 at 04:35:06PM -0300, Jonathan Santos wrote:
> This patch series introduces some new features, improvements,
> and fixes for the AD7768-1 ADC driver.
>
> The goal is to support all key functionalities listed in the device
> datasheet, including filter mode selection, common mode voltage output
> configuration and GPIO support. Additionally, this includes fixes
> for SPI communication and for IIO interface, and also code improvements
> to enhance maintainability and readability.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

(Note, some of the lines here and in changelogs all over the series have
trailing spaces.)

--
With Best Regards,
Andy Shevchenko




Return-Path: <linux-kernel+bounces-674115-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 186D141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:25:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 7B5BD1899F60
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:25:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CC7CF1F4295;
Thu, 5 Jun 2025 06:24:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="JHVmx+R8"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD4601E6DC5;
Thu, 5 Jun 2025 06:24:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.21
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104689; cv=fail; b=DjVD9l8MUQuj+eQcmdF5RE8V5PD6WD3z59OjW5a5jBMS/A2HKPT/KReOJGZXa6suZIM7neu6JEK0S0cmnWzt9d/qj304e2mDKSIF+7j6loVKGRGZqwx0wYVl7MF6yKfeh//vSQ23kdspmpFNz8pBbclt7gjkVwIHNHzCuDqiBPI=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104689; c=relaxed/simple;
bh=j7Shk1Td14ePdoacQGNwE6ky1mhTxaF/jdn+uiu3DAs=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=KKivYIhmB3KNfBhBY7Bx4rhZp3wDCNSshXc5Yc8bytEWT5WU3ZJKUIBWiq6dV5nMa49kdaNJ0x0X82hDmYoblo7VJR10mrD48ap4rcnHW+RpTjghGSOuMr88fIYfKsidL0ZFagPpBW6qOLQWTorGTLtyc7i8JL743AfACnqEHEE=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=JHVmx+R8; arc=fail smtp.client-ip=198.175.65.21
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749104688; x=1780640688;
h=date:from:to:cc:subject:message-id:references:
in-reply-to:mime-version;
bh=j7Shk1Td14ePdoacQGNwE6ky1mhTxaF/jdn+uiu3DAs=;
b=JHVmx+R8KwjnSdcMSgUWzEPIOHBU7cBmS9o/TQD9am8zbdT/8KV6Vt5S
DIFVU6qanQuxfmUaQujPo//CtABDFPmYKYHoQ4jvrGHyIsZs7alWU9S2H
9alan7iMobm562RXRq80Ap3zlp/L6FcgimHJm0JQnz2bDBEC7YjbC4w5V
PBrUK3xzZNCeu2BPHRVC4d3bQc6NnICZ1CJjElKW3wzI3D9l+iZv4IBMr
Lmmt4vU/K3K+bbPMrkvKB2JYYhvUCznv08D1u34CeTeh6i3F3hfY+snF4
Gio0IWu+kKWHbanIMX9nRnWblqtGqb2m68OLtYizUcxdhZ8ElRoFo5CAt
A==;
X-CSE-ConnectionGUID: wbpn3U6NSXWMXThZK/uxKQ==
X-CSE-MsgGUID: QFOPXYJyQ1yt+lug3d+eGA==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="51066543"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="51066543"
Received: from fmviesa010.fm.intel.com ([10.60.135.150])
by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:24:47 -0700
X-CSE-ConnectionGUID: 5U/thOfNQT6bHtZiAw6pWw==
X-CSE-MsgGUID: fM0R+WvuTzKKE/W5RMPW7g==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="145910777"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by fmviesa010.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:24:47 -0700
Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 23:24:45 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 23:24:45 -0700
Received: from NAM02-BN1-obe.outbound.protection.outlook.com (40.107.212.88)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 23:24:44 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=sl/gZoG4BIEAeGOb66mPXaupFkE174KkNuumNshOJS6iPBbZS3pWMkpS+uEQaPrZP6iR9Swz4AaAaHlWUGt5DpDCwSqF56kRejGIyfVZE4l8IsTdQG/OcjmN6gmx3jdGUrzO2atdqMn0KvtqFPKem2Drz8B2M4NQ7xlJUVFWIb/BDV1LcHBxFXKcEUq+1cJXU0jX2ooiwPcZAZn+6XCxhBgwXW9naJKzshL1SXNq2rjShJlQgAs3mcAt0GIPkmrRWoNlu66nxyOfb2xVz6rXchIQNp3+T/tCcEiPI3XQCYEear/OcDzpIs4EALM7Tjblvjncc8lk8Ge98QTteNaEng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=iX3qq08NRLFiha2wDmv0GlhI6AkE1a+C6M2M8twebdw=;
b=IKWluwrwMNZxYrFJJmkTCyklKP1B25Z4pTrOYOU/LJSFEi8lTdFuiF3oGYWq+W1i6rl1E6wwejXsJWqF2h8i03A3fIHIdVjZl1hhy1r/iDLr1+o+/QUW19tl6guTvLKpP/VAc78EEz4qPXxAe/W0nDf+98M9ivFgBw/hBSgw8y2wAwVKglYjhvMJueb7VltCKnbmAYRJd4UoYPlIUbhviwaQn38Yy2gum7lxUOaInKVCzWlWm5opQRX1wzCckRYkuYDF15hOpIKhdssLjS2Tv3yG8X95zlcsGgubO+v56/YQcjGqAkdAOUdGjxT1sknJQzUyJVpNPPmkFHi7gp4Z8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from CH3PR11MB8660.namprd11.prod.outlook.com (2603:10b6:610:1ce::13)
by PH7PR11MB7719.namprd11.prod.outlook.com (2603:10b6:510:2b4::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.19; Thu, 5 Jun
2025 06:24:14 +0000
Received: from CH3PR11MB8660.namprd11.prod.outlook.com
([fe80::cfad:add4:daad:fb9b]) by CH3PR11MB8660.namprd11.prod.outlook.com
([fe80::cfad:add4:daad:fb9b%4]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
06:24:14 +0000
Date: Thu, 5 Jun 2025 14:24:04 +0800
From: Chao Gao <chao.gao@xxxxxxxxx>
To: Sean Christopherson <seanjc@xxxxxxxxxx>
CC: Paolo Bonzini <pbonzini@xxxxxxxxxx>, <kvm@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>, Xin Li
<xin@xxxxxxxxx>, Dapeng Mi <dapeng1.mi@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH 17/28] KVM: SVM: Manually recalc all MSR intercepts on
userspace MSR filter change
Message-ID: <aEE4BEHAHdhNTGoG@xxxxxxxxx>
References: <20250529234013.3826933-1-seanjc@xxxxxxxxxx>
<20250529234013.3826933-18-seanjc@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20250529234013.3826933-18-seanjc@xxxxxxxxxx>
X-ClientProxiedBy: SI2PR01CA0040.apcprd01.prod.exchangelabs.com
(2603:1096:4:193::14) To CH3PR11MB8660.namprd11.prod.outlook.com
(2603:10b6:610:1ce::13)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PR11MB8660:EE_|PH7PR11MB7719:EE_
X-MS-Office365-Filtering-Correlation-Id: 47a98b10-9bed-431c-0d66-08dda3f9974e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?nfhwF1PmtY0v0B6VDWLQhJX4Vkt3dwoGpZM5aACiO/jSKvw1tJZQ4NvJ4ens?=
=?us-ascii?Q?AEPHBMrfnJphL4xLvverUfUEzzLmIks+lnGg5pKmKntieUBjSZP6Qq4KMwwB?=
=?us-ascii?Q?WOi8M7mOTl7VT/DIfBGme7jnW/OpZ/6R5GBXDULjWs9XxCAb/IDQBSZGMo81?=
=?us-ascii?Q?5x/Et7ZmY/1ctqmcrGqC3PxXiGY9t6Lk0ms8IqYiSBjj0YTVH8LpEOrYiD57?=
=?us-ascii?Q?UOYgbAsfibd0sHR1v1c4NuUX8/frbjOXLJ1kEpNUay8SRWICprO4RhSFimrM?=
=?us-ascii?Q?2hWcur2pmu5LOqjaYOzRyPRiQ++MUE2xLaB3uq7PnPdnOcRzLTU9VaPHdYNJ?=
=?us-ascii?Q?XNTfikNhCPbGUPr8TiQHHamr4VqnSd1L8+5NRpRpviHPd1q8h6rKwtDozgfD?=
=?us-ascii?Q?/yebjao7lB2mRWPqEPbQHhoS2Jhhqyn4zrDHnB8tmvMO3mNbGDi78JJC8d6h?=
=?us-ascii?Q?x6gcaB1Ui4kxHnv/LZqoq892E/y26js2tAo0FrumrZCmv5JnsUJ2+NfEQjQV?=
=?us-ascii?Q?Sh68F4ohvtnVHoyQL8/3Gqutt2dNv894kPLINbwlw3io/TB8kN4l2B1+esXA?=
=?us-ascii?Q?JC4WPCiYTqhdKXf79BRAuFUv3sbJpnQ9VfhrXMVVwLQ8LcBMM9C3LPKCJYwZ?=
=?us-ascii?Q?shj8fNGX0ZG1elME/gLghSmSgbF4PO9vzeyJ3fFrTt8pG7XJeVUt8d/vl+3V?=
=?us-ascii?Q?w5untBdFSI6PXd97/GgQwooP/K8XCXAaSdoZivqDh6ek5RWq7+EQi0LS1iGx?=
=?us-ascii?Q?5zk7XuZkULys/xSx0RMnp9g+NgtpAOGyRH9Biy3RkEBTJ29zdpxtTrQBhuzt?=
=?us-ascii?Q?/ylN5DzNZKkDfqPqE/tIoawA8j9jXWEwYdA5hr+4TJImKNKVVZl0Jape1bze?=
=?us-ascii?Q?hMyeHGCj1fYNLmmITt5Sm5WMTxGwj2ETkRVbrGYbR5DqVv4Xy5lpZziLyxb1?=
=?us-ascii?Q?uPBTJZ7vypBfejWhZ9tgrW+um1qLKLJ4kl53QytaWJkODsgEnJ3Xxfb7hQW9?=
=?us-ascii?Q?kF5snfmC0/qjWslFxwmHjEpEI8Ku2c7b7kmEsAQm4tapelCfjzsOmGlnW4gU?=
=?us-ascii?Q?xmnr1VECLxM9bxZ66Y4lN4quoiAsn5RYi1i5FjZEVU61EcJ2O1JjhwXzkK64?=
=?us-ascii?Q?mg52gF/1g8C4zsKaETItaVOTVd81oybDSvdmYbbpsH+uYdGcOSfUw/7G7hZV?=
=?us-ascii?Q?+P2CXWvGR/OFrX4N4y/+7BI6cvpe6ACM8Tw+5xTe/EE4MNy9+lGXX4HNOS+P?=
=?us-ascii?Q?qzdYW/8qbb2nV0ifUVq7g7SkmoHwzGEUfNz6iSoTWryz1T2+FdaeRnXzvWKN?=
=?us-ascii?Q?IgGb8zOGfPfsQc9rX3fGuJBDYTvDVEHw58xx/4dkfqS6s5in5gYCrN59nKw3?=
=?us-ascii?Q?O+Zmhyuus3Xv08Cs8Pzs89iawf4lQUG75EGrqZ+BMOCJnZ/gKw3YQTAZRdEj?=
=?us-ascii?Q?Ix7gUU+vxJY=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR11MB8660.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7oR06My+6lYdqDh7URyQsjGS6J4RscX2qt8vMf1dB1aR0wrzUBIHmNT/7O2z?=
=?us-ascii?Q?xhirgm1zVDwnehvmw2GhdRp1g8EgOQzyutjNGZpDhP5D+zR1CkSaeC+Ah//b?=
=?us-ascii?Q?Y81VqINUntZrD2LRUYELjHu9V3ubSZQrmxh6NojFZUs/KPxXLi6wkzAfLNXe?=
=?us-ascii?Q?lIyCBTVJ7CaWVRnndnIFwmUG3EGfZhQJENE6HjliqPe28/oDpXK3OsPw7hTj?=
=?us-ascii?Q?XRQ/IG+Wjr3NwviR1vt0/FzNoZdtvQISIStSYXJVahMPegAScdmdKgkxsDBn?=
=?us-ascii?Q?WqFmHg5gm6LSv9vfg2s2If7aOR5r6+zwB30n2Q0E9kT9pCp5wC6MwJwCs9Pz?=
=?us-ascii?Q?iUvE2ke5+YpOXr8qJX/QIBRwTDrvkhYE2fimc0zYY+FiPXrTwaiAKwLtcp67?=
=?us-ascii?Q?1BvxkNSjwDTtmnVDi2A3JZBaP8CTrcjZBWUgU/C2rnNUgua6vI8Eazy/UOI5?=
=?us-ascii?Q?PwotmvpQ7ItPAnxP951+3NkpoK4T/4i2Kw7cZo+aCvi+jQSEY5O0VqTEx2dB?=
=?us-ascii?Q?AGQ8vC1p+7zs9kuPW0E7jU0kJ9yxx0fuYYN8csz6BY0d7nFn54KYGASt8Tck?=
=?us-ascii?Q?PidTzno2E0pxn1Q+CzdL1wgVlU48T2+QevrzBKor1opVKn5eZX5imTq8rZB2?=
=?us-ascii?Q?iaSI30vdf7IvncQo1lvlWOg9jC5JdTJJsUa127QQYdm+fqCyMeCKHNTtdoyF?=
=?us-ascii?Q?B9huaklfheiUm4xyKowsPBrt8DA6EXI8k79Iz4bL8aa22mJygKm0eTqSHV/E?=
=?us-ascii?Q?DGi6F7CuFqchSsL2Vr3GFZOKUjF0Peff1zTPtMOi5YZCnQIDWRWU3ROk9l9X?=
=?us-ascii?Q?HoMhBWuOml582VJpN2ZHS0banl4uvtAS/SFZSzkie1cJh5jwj4cmvwubG6At?=
=?us-ascii?Q?XrEM5RuwEDp6gzfR5wU6Wg5fmrggtZ2jHZJEgrEYpTxjppuYSF5Vicuta/da?=
=?us-ascii?Q?gGCWQhx94CR0OKJjKN3I95NrKW4d8NUSDJKdHFPSy9XmJkqJ97MPZ8H6YlZt?=
=?us-ascii?Q?wPBAMQrbZkp7JRuTV5cvToH9OdyaglJ9V25NSEETJ1fCGbSpm9XsdSumiJH1?=
=?us-ascii?Q?dEW6wBflwN1Io9tenuy+ngPPPh5nVJjABL91y7DiN5xIifOWWf/axAPSKZYx?=
=?us-ascii?Q?xsCoaxhQNKXz2/VVX68gPER+/pj9rqZ4Mnqljw83hqYB0pJTVA5CjcdL98Ka?=
=?us-ascii?Q?D+4196R69gcR2AdqXIt+V+nGUlwJayas2uReHKfZuoS8NPZBIfmpr7LGrTmi?=
=?us-ascii?Q?ElLiqaStkeMLwAeMeariGGsmh+yLk7bskEWbiZDCxMamfNOZGSBdtHPi9G8d?=
=?us-ascii?Q?zZ7McPqfQseXU97nSCU3JXGyyrY1KiboBVssdAFraNHIa0UnKRe841sDC2rI?=
=?us-ascii?Q?RJz0saNOUOwVK+XcgCn3RF8bxbQ4gvl9TcEef30gu0apPVaX9sd9VJVRNO79?=
=?us-ascii?Q?3Weeaf8K/5C5zpZCso9FD0lH7B7qEZxJpH762vdwH3ck3BTGJgoYH7/xDi3P?=
=?us-ascii?Q?iwBkcVIO3vLB/yJgwb8AP/ZsDRMwZ6hagCOGfPNtbXGkCsyc4cXOfG7uRlYm?=
=?us-ascii?Q?yhWo0X0zMVvx7qAcj0hfwr1ftkioVypSYKNVsncY?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 47a98b10-9bed-431c-0d66-08dda3f9974e
X-MS-Exchange-CrossTenant-AuthSource: CH3PR11MB8660.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 06:24:14.0726
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Vq8h2+k5qza+iaaLU9xweqlpFzvrtJEnDD2Tk8Ed/NSe9+MEbputN7oh9H8PXLSDZi5g1z4QD8Rff/QZR5mvGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB7719
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

>+static void svm_recalc_msr_intercepts(struct kvm_vcpu *vcpu)
>+{
>+ struct vcpu_svm *svm = to_svm(vcpu);
>+
>+ svm_vcpu_init_msrpm(vcpu);
>+
>+ if (lbrv)
>+ svm_recalc_lbr_msr_intercepts(vcpu);
>+
>+ if (boot_cpu_has(X86_FEATURE_IBPB))
>+ svm_set_intercept_for_msr(vcpu, MSR_IA32_PRED_CMD, MSR_TYPE_W,
>+ !guest_has_pred_cmd_msr(vcpu));
>+
>+ if (boot_cpu_has(X86_FEATURE_FLUSH_L1D))
>+ svm_set_intercept_for_msr(vcpu, MSR_IA32_FLUSH_CMD, MSR_TYPE_W,
>+ !guest_cpu_cap_has(vcpu, X86_FEATURE_FLUSH_L1D));
>+
>+ /*
>+ * Unconditionally disable interception of SPEC_CTRL if V_SPEC_CTRL is
>+ * supported, i.e. if VMRUN/#VMEXIT context switch MSR_IA32_SPEC_CTRL.
>+ */
>+ if (boot_cpu_has(X86_FEATURE_V_SPEC_CTRL))
>+ svm_disable_intercept_for_msr(vcpu, MSR_IA32_SPEC_CTRL, MSR_TYPE_RW);

I think there is a bug in the original code. KVM should inject #GP when guests
try to access unsupported MSRs. Specifically, a guest w/o spec_ctrl support
should get #GP when it tries to access the MSR regardless of V_SPEC_CTRL
support on the host.

So, here should be

if (boot_cpu_has(X86_FEATURE_V_SPEC_CTRL))
svm_set_intercept_for_msr(vcpu, MSR_IA32_SPEC_CTRL, MSR_TYPE_RW,
!guest_has_spec_ctrl_msr(vcpu));


Return-Path: <linux-kernel+bounces-674116-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EB1F441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:27:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 7C436189A2E3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:28:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D2B701F3BB5;
Thu, 5 Jun 2025 06:27:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kMBmXy5x"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 11DD62566;
Thu, 5 Jun 2025 06:27:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104868; cv=none; b=Gj6/HtmHoWQyRdnUWwD/075psfskF5MdFdSSZuLOZttSadAkOqTacPcxx/3BJdkcb8xId88aBjl92HfygKoSFCzgDgRscg70mGc50IuTnxStx085ju6dMab1//qFQpP+9zAhuhQ0PyxE0jd2VzaoxGVgpGwAj3MmqmQ22ahGjhQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104868; c=relaxed/simple;
bh=gDi9w7D4lkLR0DHzkrmwUCrgnOmwd+WEWLFetO+9nSo=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=GNIRSTrGs5zEPqkMJY3UXZteZNra3DVuy+TDiuTCPx4QXKHL7YqlFla66sqoezWTwoYB+VgDTIhMoVIN4t5zHgcUhGHf61vdICvFesRRL8g6ej3ZDXodBirCGeTVlTy5dwIE2bUiAXDsAvWTPg5Y94NJrkeulVEBNPUVYjwdSxo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kMBmXy5x; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EE585C4CEE7;
Thu, 5 Jun 2025 06:27:44 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749104867;
bh=gDi9w7D4lkLR0DHzkrmwUCrgnOmwd+WEWLFetO+9nSo=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=kMBmXy5xTgkhTPikKP7MVdcOQaSRoHC1RUf7UdqM+4iV6RFgrRQuT8U1TXrZap9Pi
n1KVw6az9N4VLjgxtrlWfuc6bfLmsPtCELVm35YIkIENkLcRX3fK/qt+5YFu3zkmP6
4+aSVy1EzbKZJm9qw7VlhJFWDfvFiJsWBSAb8FAg0a8o+i3INFviVaEHG9KtY2QXxL
CmN6F3OWn674sFvEB6mPbDi9aojRwtLGulIWS384QowsBWW7vusi6euXkASMd+i3Dd
mT9HHKng9LDq2nqLsiHLAiRDH0YzblR+cf5+ZD3UA7NtaZH19CHa0a9VBQEfQP+ej6
KN5QAAj2ofwtA==
Message-ID: <47df36d0-db0b-4100-aafe-ffaa0dc0e4b5@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 08:27:43 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/1] ARM: dts: aspeed: Add device tree for Nvidia's
GB200 UT3.0b platform BMC
To: Donald Shannon <donalds@xxxxxxxxxx>, robh@xxxxxxxxxx, krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx
Cc: joel@xxxxxxxxx, andrew@xxxxxxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-aspeed@xxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
References: <20250605041550.1940089-2-donalds@xxxxxxxxxx>
<20250605041550.1940089-3-donalds@xxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250605041550.1940089-3-donalds@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 05/06/2025 06:15, Donald Shannon wrote:
> The GB200NVL UT3.0b BMC is an Aspeed Ast2600 based BMC
> for Nvidia Blackwell GB200NVL platform.
> Reference to Ast2600 SOC [1].
> Reference to Blackwell GB200NVL Platform [2].
>
> Link: https://www.aspeedtech.com/server_ast2600/ [1]
> Link: https://nvdam.widen.net/s/wwnsxrhm2w/blackwell-datasheet-3384703 [2]
>
> Signed-off-by: Donald Shannon <donalds@xxxxxxxxxx>
> ---
> arch/arm/boot/dts/aspeed/Makefile | 1 +
> .../aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts | 1125 +++++++++++++++++
> 2 files changed, 1126 insertions(+)
> create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts
>
> diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
> index b3170fdd3096..1101bc74e8c8 100644
> --- a/arch/arm/boot/dts/aspeed/Makefile
> +++ b/arch/arm/boot/dts/aspeed/Makefile
> @@ -51,6 +51,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> aspeed-bmc-lenovo-hr855xg2.dtb \
> aspeed-bmc-microsoft-olympus.dtb \
> aspeed-bmc-nvidia-gb200nvl-bmc.dtb \
> + aspeed-bmc-nvidia-gb200-ut30b.dtb \
> aspeed-bmc-opp-lanyang.dtb \
> aspeed-bmc-opp-mowgli.dtb \
> aspeed-bmc-opp-nicole.dtb \
> diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts
> new file mode 100644
> index 000000000000..81c44a1e4f5d
> --- /dev/null
> +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200-ut30b.dts
> @@ -0,0 +1,1125 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/dts-v1/;
> +
> +#include "aspeed-g6.dtsi"
> +#include <dt-bindings/i2c/i2c.h>
> +#include <dt-bindings/gpio/aspeed-gpio.h>
> +#include <dt-bindings/leds/common.h>
> +
> +/ {
> + model = "AST2600 GB200 UT3.0b BMC";
> + compatible = "nvidia,gb200nvl-bmc", "aspeed,ast2600";


Nothing improved.

Also, where is the changelog (see submitting patches)?


Best regards,
Krzysztof


Return-Path: <linux-kernel+bounces-674117-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1F7F841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:28:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 9F5283ABC03
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:27:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8328B1F866B;
Thu, 5 Jun 2025 06:27:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="WZHYuO9q"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0BF281F4187
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:27:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104870; cv=none; b=aoUpiRslixgeN4djiFKTXJTNkCVt9oe2KSt3aus0FD9z4cI2xSI4pRyxpqU+HNfI8Qn9tSzWjseeKqmiwF6k2sTk8hTY47k/rYFK6SOoXdb1R3vLDJsor9XCTn0Z1puWNB6h/NiBzZBWnYaUD/ZFR4XogBWV+heVUfrAJhb/fhA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104870; c=relaxed/simple;
bh=cCE3ErDale2WCt3eW7s5MfG2qNRk9Cnn248VZzGg30I=;
h=Message-ID:Date:MIME-Version:Subject:From:To:References:
In-Reply-To:Content-Type; b=D3QDycGXsE4D6waThB+z0B1p0IfTfIXIyUYSUpyNxkcdxqU8FOaU5pyZDmU3TNqgi8c1mWduMi/apTzZ5eE1/OQWnnC3BT22N+DXZait724LCvqNcRHzHT/Wt0dNVP50V47ZRF8paPYIc5Tgj4GWcXNt7unGgM6CIeFODihMkN4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=WZHYuO9q; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749104867;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=JQqBl5Hav61/7+PIBHrIWkPi3ZbnG5D1ATYx/fnwPpk=;
b=WZHYuO9qTtoKULsTWW8B5MpHpBo6i+mb30/YB7D0xrSIBZl5XUDiaFhaKN+fA2S+JV3h8U
2xFk6OYatMtg3EyOaleF965ggGZ/CLf35hoYlAG2VWJKJkX9cGXAHhXOu9qvRr0NtvmTWj
aa/DngUctBM7kQVOXZd7bAX02qvdi3A=
Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com
[209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-92-m4j8hCOEPKO4hHLlfnHNTg-1; Thu, 05 Jun 2025 02:27:46 -0400
X-MC-Unique: m4j8hCOEPKO4hHLlfnHNTg-1
X-Mimecast-MFC-AGG-ID: m4j8hCOEPKO4hHLlfnHNTg_1749104865
Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a4f8fd1847so223798f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:27:45 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749104865; x=1749709665;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:references:to:from:subject:user-agent:mime-version
:date:message-id:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=JQqBl5Hav61/7+PIBHrIWkPi3ZbnG5D1ATYx/fnwPpk=;
b=CIh12yFo+Cn1I2xk2qyoRUx3AziIgGKU+GQ1xlZr+ILBCERDB+vPMUEpNV6naTxHsa
xW+HJF2cxcueEmII5wt6ZVnlCUg/Nl5pZARGezRRZlLJh2/mklg0bTjT9K/Cuekm0PDA
aqUTtk8s+Spj90B52VF6ns21eHOIe5sBhhlSSY4lbWW6kb8Nkh/OGXp2hsrnMzUK52TD
oGSV5o6W5ivfrjoRfvJryZGl9qucH/26mNM1Fp3p9AUfSZ0fiIQ1K2F1GUDlKHy65TT4
cdTZOqx8WM1pR7Q52plHkob69gf5o1ob1R5sI91qonWvYHW46LTovG5etCTMVk/0uE1u
9hmQ==
X-Forwarded-Encrypted: i=1; AJvYcCXC/A0KdA8+dvVpBTFU9SUxi98MLjSkFyE6tgNQ+zCeOoj64vSUXOdY5ijLhKGRAQVYbzyVlP1lST6fxZ8=@vger.kernel.org
X-Gm-Message-State: AOJu0YyiAi7DKjUAT/y/ULn9IRESD4qiYIyVqiDVGPaH1Y0VtZ+bc8j1
68T6enxedmAFencsSDYkgxyg8K5S0d2yFg6gJVAul+hkUynsOWjPuog2yG4PbtMYk0hD0jetIDV
nqp/imay/v2uE5KhEGtqh89I9hVr0Rl9dfLPdr8HQj6gTtiqIkeULUPlPXvM1gsJXon+HZkKmiw
==
X-Gm-Gg: ASbGnctswE5fL1oDHrCeCC8kUIvCGxoadl1fsyBXiwj3npprO0kN14uqTKuSYlGjksS
RzsFsqesHTkLwTxjbSXrUpwlT1KA44w5cLphbWTVT2v6t+bbucDynqiFUIa9Zue84zGJ6+OYi3o
mlR/1FKJ2czsDyAjgq5KujCy6c+5hF8nI5yCFXK4/wvV8JzxZjqQ5mxPJnmpAb3Lvy6HncwnbxR
hktggJkRY5X5B5L6D16qn43i07u+ycr8nq7Y39iOx8YFQ8x+udNXydJkhsEMrSil2NitgL7EIwq
Cih/8fY+9fDj/Jjad0t+LavttZSFXGgC3+aIns1D0xrCWPi1Gbd1zsXBtnmt4/IFeh25rd2PMJa
TmgapgHOjZ8DQR25pBxQ2Ts+9KBCLDrVKfGZy
X-Received: by 2002:a5d:4291:0:b0:3a5:2875:f986 with SMTP id ffacd0b85a97d-3a52875fc63mr914842f8f.44.1749104864923;
Wed, 04 Jun 2025 23:27:44 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEP82DWNcm4kr+3DIl7a/WPr3+qXyLZ69SiIugt0U85UNyOjfOXBI6jcGts81CLJP1ReI/69g==
X-Received: by 2002:a5d:4291:0:b0:3a5:2875:f986 with SMTP id ffacd0b85a97d-3a52875fc63mr914822f8f.44.1749104864597;
Wed, 04 Jun 2025 23:27:44 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f27:ec00:4f4d:d38:ba97:9aa2? (p200300d82f27ec004f4d0d38ba979aa2.dip0.t-ipconnect.de. [2003:d8:2f27:ec00:4f4d:d38:ba97:9aa2])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4efe5b962sm23296810f8f.7.2025.06.04.23.27.43
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 23:27:44 -0700 (PDT)
Message-ID: <fda7a3e3-1711-4f1b-a0bb-6a4369aa80ab@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 08:27:42 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [syzbot] [mm?] kernel BUG in try_to_unmap_one (2)
From: David Hildenbrand <david@xxxxxxxxxx>
To: syzbot <syzbot+3b220254df55d8ca8a61@xxxxxxxxxxxxxxxxxxxxxxxxx>,
Liam.Howlett@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, harry.yoo@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx, riel@xxxxxxxxxxx,
syzkaller-bugs@xxxxxxxxxxxxxxxx, vbabka@xxxxxxx, Jens Axboe
<axboe@xxxxxxxxx>, Catalin Marinas <catalin.marinas@xxxxxxx>
References: <68412d57.050a0220.2461cf.000e.GAE@xxxxxxxxxx>
<4fc2c008-2384-4d94-b1bf-f0a076585a4a@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <4fc2c008-2384-4d94-b1bf-f0a076585a4a@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 05.06.25 08:11, David Hildenbrand wrote:
> On 05.06.25 07:38, syzbot wrote:
>> Hello,
>>
>> syzbot found the following issue on:
>>
>> HEAD commit: d7fa1af5b33e Merge branch 'for-next/core' into for-kernelci
>
> Hmmm, another very odd page-table mapping related problem on that tree
> found on arm64 only:

In this particular reproducer we seem to be having MADV_HUGEPAGE and
io_uring_setup() be racing with MADV_HWPOISON, MADV_PAGEOUT and
io_uring_register(IORING_REGISTER_BUFFERS).

I assume the issue is related to MADV_HWPOISON, MADV_PAGEOUT and
io_uring_register racing, only. I suspect MADV_HWPOISON is trying to
split a THP, while MADV_PAGEOUT tries paging it out.

IORING_REGISTER_BUFFERS ends up in
io_sqe_buffers_register->io_sqe_buffer_register where we GUP-fast and
try coalescing buffers.

And something about THPs is not particularly happy :)

--
Cheers,

David / dhildenb



Return-Path: <linux-kernel+bounces-674118-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D1FFF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:28:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id EC99A3ABDA4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:28:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7B8951F4624;
Thu, 5 Jun 2025 06:28:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="ID9Cm/NL"
Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011066.outbound.protection.outlook.com [40.107.130.66])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 590581EF0B0;
Thu, 5 Jun 2025 06:28:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.66
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749104930; cv=fail; b=aN2JbuJ09Ya6m/q75UHDEDukrSqn5gdoxZ0UOJXR9Empb8VSlD1+/W0epy2lz9KgAKJ2PiPk5iqi15/qik8jSlfT89B2OP1a3F4/TosPR9je6ceAHASWmJKzrS1CmtoMB+k4xtvzxaYqiDGIZg86UPZHOO9NL/wkmfn4QUK4/ME=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749104930; c=relaxed/simple;
bh=JD0zAGL+Z1cBfSIqB7f0bhPiJD/EDf1C7QgzbyEGbxY=;
h=From:To:Cc:Subject:Date:Message-Id:Content-Type:MIME-Version; b=TXk/em2SOO21MC2AxD7Dr54WgcKvwrtrgNAN7EpaX8nIYlEO9ohfTWm8RWRAt9ty2h/9nDGZ17nOuIqwdroN8gAeMSdrmqSsLkLHkdyPthj4SP0K8v/baafBfRTiVxUO1bHLRDJA9fybxBxT4ZjnCAo0JF62FVHpjdv+0Y0FYnw=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=ID9Cm/NL; arc=fail smtp.client-ip=40.107.130.66
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Cs7h1iM0SDBNZyK+z7NlKVD7xg1JOH4XinPBACrLIrSQCSx/AzhqMDyyCtL6AWoGFI7RcemtqJhRYYtoLbRMmJwYdm2GkYMXIBUezmiCj7VWuyCRxqi/HB+jIXlaiXMIqIe1LM6b+Ja5KunBAMGZBr1tg9O9k8URSYZq0aEb1TsWfZgdUBlSI+16N0F7a5TYS5TI2KxIblJtHjrDPWJD1dMFP7a2AL3qzL+EI583dAZRQtPdXlwfMSFISzBpVolyzwKM8oUsI8gCDWEvTkMYEPUJT/JgP3+26mmipypeNjAyEJksN4EYjXIeIhebXEwPBQYx07nSq2eX96axd9tukA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=JX9xU39AsB4lAe0XedJ/qZ/XCEBpWViT2cTzEuYmLLg=;
b=eBKLFqXI+dnuRSQgBxW+GYICA7DC1uGL9RU2w/zmYIJAbkkRz26wkGX9093UiYb7giqrl/3izhq5wInDjs2JeuA2R5qxe+tsRMV4Ixbcr6x+XlReme/rukufef97MBkbS2iT9nwBmnuz4VOw9gKUUMsh+bPodidpYgAuW/p4OqwiQrP40MAbVbyiUPlZDjT0DesqNWonUsq/4UBoXUUSEZCyro6vb6LV9j5PktwCVjk6uCcRUq1BKvRptk762f+9PcB9cgJ4BeU2KHXxd3UudhUPh9ti5AGBoPoNTzEN6w0tp/SU0VmhzG3kdPK8H739Pofjy1CjkaFFeX/Nx4VLHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass
header.d=nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=JX9xU39AsB4lAe0XedJ/qZ/XCEBpWViT2cTzEuYmLLg=;
b=ID9Cm/NLx0IBEjlI243ypdmUYtJjFpV6thGAe1+7AntJC1QJr3TPArUUkc55yYwlHxY9bR3AAW/x/zUp3NvU0NompRWmpLR4h5XDsHS4mqtljyopBc4Ja3mB1tRFnjYoV0cpVv08mL40ize0MQ3Hm/pM7el619wYarYchxQd3K1hmLN+rz4W+vcneykBh+J/TuXtlBQhJ2fk758WVVJBfTurYHFKhHzl2k5Papftb2GycbWXrfovf05QRPdqg2WLQliWskMJ7ZXsq12xw0lcFQ8jEGRXoaaLX5tanIkAber81Y4cInS4V2qzQ8u6+DCnsoNxyZ3BorQaxA3azYMZXg==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nxp.com;
Received: from PAXPR04MB8510.eurprd04.prod.outlook.com (2603:10a6:102:211::7)
by DBBPR04MB7529.eurprd04.prod.outlook.com (2603:10a6:10:208::10) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8813.19; Thu, 5 Jun
2025 06:28:45 +0000
Received: from PAXPR04MB8510.eurprd04.prod.outlook.com
([fe80::a7c2:e2fa:8e04:40db]) by PAXPR04MB8510.eurprd04.prod.outlook.com
([fe80::a7c2:e2fa:8e04:40db%5]) with mapi id 15.20.8813.018; Thu, 5 Jun 2025
06:28:45 +0000
From: Wei Fang <wei.fang@xxxxxxx>
To: claudiu.manoil@xxxxxxx,
vladimir.oltean@xxxxxxx,
xiaoning.wang@xxxxxxx,
andrew+netdev@xxxxxxx,
davem@xxxxxxxxxxxxx,
edumazet@xxxxxxxxxx,
kuba@xxxxxxxxxx,
pabeni@xxxxxxxxxx
Cc: netdev@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx,
arnd@xxxxxxxxxx
Subject: [PATCH v2] net: enetc: fix the netc-lib driver build dependency
Date: Thu, 5 Jun 2025 14:08:36 +0800
Message-Id: <20250605060836.4087745-1-wei.fang@xxxxxxx>
X-Mailer: git-send-email 2.34.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: MA0PR01CA0055.INDPRD01.PROD.OUTLOOK.COM
(2603:1096:a01:ac::11) To PAXPR04MB8510.eurprd04.prod.outlook.com
(2603:10a6:102:211::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8510:EE_|DBBPR04MB7529:EE_
X-MS-Office365-Filtering-Correlation-Id: 36ac3af1-d3b3-4a18-c427-08dda3fa3906
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|52116014|1800799024|376014|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?DiVfYKXYTMA+RuuyoBn17fFqAzqoNbRqhYjk7ij9ebISTTYowTkKXQAWoq0/?=
=?us-ascii?Q?e6B7p7XtyFMDm5BSdyQtlBBXXDfaPzsWtKwFo1MAJGG+163JxrTv+7cw2J5t?=
=?us-ascii?Q?8aL6i5Mz55rJul3BPYmg6lMAfcoVa3xogeeqx1Y//Y0rwXxt0T2XkUqhDDV3?=
=?us-ascii?Q?Qor7TjXGH2/YA+5YJTGmiixixUQ5mHnACpDgDb4i1iQPT66P1oynrayQ6Ynh?=
=?us-ascii?Q?1/j0JWi9RpWbV1vJ8e/PmBzkloJjd0SvlmJxvZC5eAzmaNk2dhEgPG72Nfnx?=
=?us-ascii?Q?xGmxpM10aRY7vWEiTvdtBNFUDw4KbLSWlfR0ATv6mAHH47wSKj6V+2UmMI8b?=
=?us-ascii?Q?HWs1687mPrrluKsPYXD0Wbs29Pw9qbFyjX+i1Nbi50v5buvfg+wX7874h7+W?=
=?us-ascii?Q?iRe14CHF0hNpNAb8Q2+c0R6PZCsxaSouwnsQwBhvoRfopoEKz4Cw4v29s+9/?=
=?us-ascii?Q?LfjZgblyyL4F59/AiutR4uwF+ulPxtZ1yb6pdkEanGpICz+Zexe+EhxSwY8b?=
=?us-ascii?Q?cxH9G28BFZ5xhaFouySfUSEf9cS6svJtkFQhL8tpMlY4kjLGyHarQK9LfeDh?=
=?us-ascii?Q?W59wwgZbfJ8rN8VM7ADg45ukIsGA0xwhjvLXpc01/pexfNCk31/lFkXa++l3?=
=?us-ascii?Q?08TgSrJieu3fW26k5yG5mtGsVVwTQN2+WiIZsgUYs5Yi75tUUkIW331REpOe?=
=?us-ascii?Q?87HG295/RdxtKxzOfSgbFNCSHIRGMvbuSUG8rHc+nEitNeXyqH88RZuawvTb?=
=?us-ascii?Q?0DgDbxXAv/2HQZr8nMAaiA3SZLKA+xbi3O4a24uLJXGZ03tMkNQFXwnY6a05?=
=?us-ascii?Q?hHWY9hNGqt0wQ/K//gHpYb8erDDzYlaOmpeU/nxZ0xBwYrhq+isyc7VTaeVo?=
=?us-ascii?Q?zVeBYVLP5z2YNmkN+izQ6XZLHk4l5dxMuCukDChhx3u/eGWzm0h058Ppy5za?=
=?us-ascii?Q?0DuVLIxKknO7rGWnYO/ISkVIxkQ2vCvfhH9CJNz1ebqgnktqoBAot5Kk9rfk?=
=?us-ascii?Q?6V/qVgVtWM/hfOwHdjKn6i1QnE2HumM9sf1+BtaoImTd+0DUUlxUYgGydnn4?=
=?us-ascii?Q?9XsZiZPjhI7rEM6G/yuzIWAd0RjMOqLGTLE79tGOCrt+MQDpoSpgoDigqPya?=
=?us-ascii?Q?OFNxMEPim2sBG1YEfoRkPDrr3WV9OUcBA9hwdFm2WNdn11kG/tyj5aimmONJ?=
=?us-ascii?Q?/ru3n2nxwHuWczdNRA4WMS/XkjP2oGv4WD+TxXomqr2dmWOKqHjoR7UmFT3p?=
=?us-ascii?Q?04XE/nvxvpUJeHGYKOwtn34fY5ylKfIVElNNGfn/RIoMa7uzn/a51hylZVLM?=
=?us-ascii?Q?zahRLEeW674NCYsBIg5+2utRBk9EIukatgZ0hGGOaxoRuBdVHpVfbInQV+0M?=
=?us-ascii?Q?gSPByyinOo4OcNjJBoAv8oHi83zYjDhRJ83RsBOZJMELAmycUSXeYLYqy5fW?=
=?us-ascii?Q?p7ccVwRhXDqHzgmGI3kOy7T9uJyanlU2kbuRedIdPSV/S3YjdEYcKY+9UQ1P?=
=?us-ascii?Q?B3PkryDJzwFE6x0=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8510.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(376014)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?0OrGomTZi+Zaj1vc1FiFEd4wPX58XzIPWhiRLl2uOtlNudMufM2NjyDbMqfl?=
=?us-ascii?Q?IJdNmI9P3pCA3h5vieHx3nVpgSflw+tLPyyOrJOxpoa5DhRBhC+ulIYu4jZS?=
=?us-ascii?Q?FM4u3sIN6yRrOTJtlWhyQYxNf7DGiPt2LqNhGH9pM9pTUSzISczc2CGZKPGV?=
=?us-ascii?Q?+5SmwLeMZjBO7mPHqGbdBvAJnsLe6quJ0ef099mzMAfjqWKZAFdtTNzl9OOS?=
=?us-ascii?Q?LTY6jaELAoLz8EVcmd9Z4PgRCcUo3/3r5ikQy8ntJQ2DiW2IW/PcR2ptiGEw?=
=?us-ascii?Q?Ve0gWTvWhg8S2CLjJECICSj/4DD/sm0KLJiV0SgpWdIFkRgy4RQrIQbAo07k?=
=?us-ascii?Q?diPdNtHnpnV5k9V6PV2HJDaIhdBEMPVyfjg+t1ZTfHil5SmQ+GKfOIjmlXy7?=
=?us-ascii?Q?4zzJ37hOGbJL5dOV6AW1OFiDj0D1kc6g0N5kxjXLR3xoFYeC8bjABopgyFGK?=
=?us-ascii?Q?re0yD7p2IPHhCAv+RB70Ep4CkMqqti3YL1AUOeL+5ahvsZOQiWXykilxjE03?=
=?us-ascii?Q?07xMyArs0WLiYwi6XtJYXwCS5NObyyTbZqMkDkeDbBjumehuhz3baWnTF7UD?=
=?us-ascii?Q?S0AYQEt60rsHSXbbHjHkmaGJ76ciia+cfIxBQXD0WCMmXqkAxyZD1fyEKxd1?=
=?us-ascii?Q?XMXaT9QPnfKtzM91Dxehv6iO431W+jAHRRu8xOUMsTOGqvwXtiLSD1yvJDoU?=
=?us-ascii?Q?WbiIFAiKwlKpMDoyhVGVRcM11s7w99JcTh2ruwo1KbxbeInJeVEcaaGqoFqF?=
=?us-ascii?Q?aEoXCbegdSBccbYZ5AEYXOOOFX+jI7u8qzTtBu2Z2qBLkYiaw2MAReh5jJHR?=
=?us-ascii?Q?otDbhRzKyQhZGeCZSE1EzRIyiBO+u0kL9mzMQJOX3MQu/nVmvwUhcJj1Oy6J?=
=?us-ascii?Q?dmSsJgVp0gaJwqju1QHcAFtMa5xUVBBi05IXUGLIjkNFQtplOscCvEXQW/jG?=
=?us-ascii?Q?alusuSr8VfpL+WlxXGgH2Gr3RVn1p3B28dz7bUB3+RkQynagC0oZW+P/EJv7?=
=?us-ascii?Q?Vz6oooZcj82JebLiJaAjCShGErOT2EMLHWBYxdSl7RHRjrcuEYTtGG2dKy4a?=
=?us-ascii?Q?HJ8XdhZpGdQGlJ82KzwqQlxzVqkJ+v/jJz5xsnRaHwgr6Q63iztzMturkJ8y?=
=?us-ascii?Q?ePamPguUdMwmeSPVfuCfJDGk3xpJEAjN3eFJCWdu00T3re9xakigb/3y/wNz?=
=?us-ascii?Q?aSEFuQAk5aNF1JdkbXdC03q1maog9uwTMblHxrvwnXWD7eK7AsrmZYMSA7dL?=
=?us-ascii?Q?dX7Pn8RZ2eeRZ3Nygr6aaETlKjsBizXDAfRIhsR2XNruXxlLxXH42fSDth4B?=
=?us-ascii?Q?KQJaQ6JbGjjCjdkcFkMq8dtG5YFTojvP1frNfFLl0X9Qcf8Lo+FlPhVdXm57?=
=?us-ascii?Q?kTo1cvIpFzBsfLiHVov0EYh8GO+9Lhvs2J+xDxRPvXTkLM40KL/5h8rxCYjr?=
=?us-ascii?Q?FhQcFMBB97u7/wDisR4KCRPGioNCYRH1krfWY9tiwV+Wg0hBofn+XOvpIddf?=
=?us-ascii?Q?/3EkzjS+n5X7IrHzwo1RlZm1WURSX8qzrYYe0tn9xTtsKI8cdkEhy5DbE17O?=
=?us-ascii?Q?u0xgC/O27RgUT6t3DDoAkVzfPgpbOEcMqKTL4OWQ?=
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36ac3af1-d3b3-4a18-c427-08dda3fa3906
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8510.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 06:28:45.2866
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LkA06fgOZktTOeCERlnOiSbx2dE7NAwYws2F2W/7BJpOcqD2Bsl/FV5188N5os210OOoV2YDrp9a1bcBGwf6Jw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7529
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The kernel robot reported the following errors when the netc-lib driver
was compiled as a loadable module and the enetc-core driver was built-in.

ld.lld: error: undefined symbol: ntmp_init_cbdr
referenced by enetc_cbdr.c:88 (drivers/net/ethernet/freescale/enetc/enetc_cbdr.c:88)
ld.lld: error: undefined symbol: ntmp_free_cbdr
referenced by enetc_cbdr.c:96 (drivers/net/ethernet/freescale/enetc/enetc_cbdr.c:96)

Simply changing "tristate" to "bool" can fix this issue, but considering
that the netc-lib driver needs to support being compiled as a loadable
module and LS1028 does not need the netc-lib driver. Therefore, we add a
boolean symbol 'NXP_NTMP' to enable 'NXP_NETC_LIB' as needed. And when
adding NETC switch driver support in the future, there is no need to
modify the dependency, just select "NXP_NTMP" and "NXP_NETC_LIB" at the
same time.

Reported-by: Arnd Bergmann <arnd@xxxxxxxxxx>
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202505220734.x6TF6oHR-lkp@xxxxxxxxx/
Fixes: 4701073c3deb ("net: enetc: add initial netc-lib driver to support NTMP")
Suggested-by: Arnd Bergmann <arnd@xxxxxxxxxx>
Signed-off-by: Wei Fang <wei.fang@xxxxxxx>
---
v1 Link: https://lore.kernel.org/imx/20250603105056.4052084-1-wei.fang@xxxxxxx/
v2:
1. Add the boolean symbol 'NXP_NTMP' as Arnd suggested and modify
the commit message.
---
drivers/net/ethernet/freescale/enetc/Kconfig | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/enetc/Kconfig b/drivers/net/ethernet/freescale/enetc/Kconfig
index e917132d3714..54b0f0a5a6bb 100644
--- a/drivers/net/ethernet/freescale/enetc/Kconfig
+++ b/drivers/net/ethernet/freescale/enetc/Kconfig
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
config FSL_ENETC_CORE
tristate
+ select NXP_NETC_LIB if NXP_NTMP
help
This module supports common functionality between the PF and VF
drivers for the NXP ENETC controller.
@@ -22,6 +23,9 @@ config NXP_NETC_LIB
Switch, such as NETC Table Management Protocol (NTMP) 2.0, common tc
flower and debugfs interfaces and so on.

+config NXP_NTMP
+ bool
+
config FSL_ENETC
tristate "ENETC PF driver"
depends on PCI_MSI
@@ -45,7 +49,7 @@ config NXP_ENETC4
select FSL_ENETC_CORE
select FSL_ENETC_MDIO
select NXP_ENETC_PF_COMMON
- select NXP_NETC_LIB
+ select NXP_NTMP
select PHYLINK
select DIMLIB
help
--
2.34.1



Return-Path: <linux-kernel+bounces-674119-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C4B7841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:32:37 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CCD93189A09A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:32:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6B6C71F1908;
Thu, 5 Jun 2025 06:32:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="F6FgwEw1"
Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172])
(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 52C311876;
Thu, 5 Jun 2025 06:32:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105147; cv=none; b=NkrVsudIMAdbRs3vt01aJE+8jWM8Hx4bWJ35noeVS2gmTNgwGR3HqhgRO5jDsVszBdWOUAO8u+DaysIaCxrLgb3dudxusgzqc7P+i0+js6Z6sgPESAKrvt73OufRuVNIjEHtGz78lUdXjVXhRbw12rgxHGj8z2BghKJVbyIlU4A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105147; c=relaxed/simple;
bh=gB6fIwIufnfLkaIn9IQOpIzAXVJMfLb+nWj7kaZiqFQ=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=WRXP900JZFkclE6vM5bbpQZ/4+rTmuwae0HNzbkyAeFtxumdZL1wpWP559zybKxhH0kcdLopQczQJVbogiML74AHAemfaSaTsg8tBcsR6QehCzchKVJNiuKrxkQsrmFXKrnmULAqJhQoFYTVJ8CAcDJhuXE515m2W3RVdqatUK8=
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=F6FgwEw1; arc=none smtp.client-ip=209.85.210.172
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
Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-7481600130eso805747b3a.3;
Wed, 04 Jun 2025 23:32:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1749105145; x=1749709945; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=xVNbV2XHvQT3/8z4B+RVq7tYXw6lKXe0E7JWahAFCMk=;
b=F6FgwEw1Rydz9fVqAOvy4qfjLHfZHPt3NE02FdKM54YAxyeh1h20YBBp3vgGnncNK9
To+NfCjCDzGamfhZ2ZF0ZVEg9jUjarKbrhVWKa9BrLXWszrsiu91JQYzoNYoSPbEpZFs
D0VxtNdaRd+iuDbxgvnD9EwSvlH6aZgMfRKIP79a6wwY+LF+a+h5+geIx/wLXqJflkAV
AqxW6+9yD7QlV7IdqvXdJ42vscLZk/VL9XRURMHnnfWb0UmhzT2HGkP1GMSBKnhCA2Fn
MEh7HyDayy67zHXuYaDCaOW2XU6WvYwdFsdq4KAGlpe2T4e/yfAZT0NUZYEzPfZp3GkR
ne1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749105145; x=1749709945;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=xVNbV2XHvQT3/8z4B+RVq7tYXw6lKXe0E7JWahAFCMk=;
b=Ho8wWgx7KUF5RMeV3nVNZg3Ql++hUk1RWdpSg0tQWiHtaqiPlkOY/W/Mt8k7H7gOoi
hBrjFTDbSOpwebqYsNVn4Pvnya9LHXFHnqighYxlsrjmq/NPqVg0CtnlC47P1EVSE1HL
lGwTiUIzBGh3zkur4eM32TmX0cmSc1mjBZq4SNAKy6GFvbIXTgitQc4h2nGebe6hjWhK
mBICINXLKudRc/zu/Bku5/Lqz/mMhVwwaEO5n5NSDwYDDjVeaiGh/AdLy6vnTjjq0DnH
1r1P328DCTMwBr2BvWIu3ZxT1uHKH2DFzNahx628aGgivOyYwEnhS49ftHqY/zbftiov
qNaw==
X-Forwarded-Encrypted: i=1; AJvYcCUljQiDNCRZ2QI8HNEt0QbcO4m7A3t7oKsoWNua0nAKX/iiomZmrkydNIIYYMST/5txsi0giIiqWZN6@xxxxxxxxxxxxxxx, AJvYcCXG48lr0MeO2x3rco2d/uEZVs5ymvU9N0SOKVuTnYnWl2vyqeWV/9ckRy/z72Q7INt4zREtdIe1wR8f3fgX@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YwdWnJQLiooLnNlKThdypiKEQkja9TQRXn94PJ0Oz5pVy+BsjGP
60PexvBaLUD1KdVpDdzKaZtpGHarfeVGAN2it9bdBeHkATKuDEiwV4P+0mRy2P8dMxiwX6gUObT
KfV1FsHstctfZ7RKKFG+23y+iBLWDuSbQyvBAgbnqIdt3
X-Gm-Gg: ASbGncvlfcQP3tRDNpIsLWEpcNE8a9BsdRcfdRIcehLOAD7xp3dj7O3dm2Bx95T0x0y
jNkf8iOheENeNsp/3LqGf079xs/1mX1poskVrU9Ai9W03w5xD13IX078C2JFDZRnSzEsbZV/glW
Mm5ZaWGMM+/RwnEjJTK9euoY5dMP/Arp72G2+aA/j4I2fbfZ1tt+G/GrteUBoGfTNPVw==
X-Google-Smtp-Source: AGHT+IH4DMJVVSc23A8ySI5zWwdnqMPJwI4JcymO9uLuxpbdW2R54hTNG5gzhmW7FhrMsuuLb3uqrUpjAv6uXp6wyzs=
X-Received: by 2002:a05:622a:578f:b0:4a4:3c3e:5754 with SMTP id
d75a77b69052e-4a5a587c45emr97845681cf.32.1749105134671; Wed, 04 Jun 2025
23:32:14 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250603-sige5-updates-v1-0-717e8ce4ab77@xxxxxxxxx>
<20250603-sige5-updates-v1-3-717e8ce4ab77@xxxxxxxxx> <CALWfF7JOJSihtfqrFiZtTxnzvoU6FP3WXuWjYOVaAvjPJZWWgg@xxxxxxxxxxxxxx>
In-Reply-To: <CALWfF7JOJSihtfqrFiZtTxnzvoU6FP3WXuWjYOVaAvjPJZWWgg@xxxxxxxxxxxxxx>
From: Alexey Charkov <alchark@xxxxxxxxx>
Date: Thu, 5 Jun 2025 10:32:06 +0400
X-Gm-Features: AX0GCFuUQCw_ESq8wm50RxhnfDipXmHgsUt5otEO_3lzHNgvENZEo2Fw1AWJjAY
Message-ID: <CABjd4Yyw5xStJYU5c5snUGpBjEYL8=qoj=bWYLnuzSWzr8shaA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 3/4] arm64: dts: rockchip: enable wifi on ArmSoM Sige5
To: Jimmy Hon <honyuenkwun@xxxxxxxxx>
Cc: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Heiko Stuebner <heiko@xxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-rockchip@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, Jun 5, 2025 at 6:43=E2=80=AFAM Jimmy Hon <honyuenkwun@xxxxxxxxx> wr=
ote:
>
> >
> > +&sdio {
> > + bus-width =3D <4>;
> > + cap-sdio-irq;
> > + disable-wp;
> > + keep-power-in-suspend;
> > + mmc-pwrseq =3D <&sdio_pwrseq>;
> > + no-sd;
> > + no-mmc;
> > + non-removable;
> > + sd-uhs-sdr50;
> > + sd-uhs-sdr104;
> > + vmmc-supply =3D <&vcc_3v3_s3>;
> > + vqmmc-supply =3D <&vcc_1v8_s3>;
> > + wakeup-source;
> > + status =3D "okay";
> > +};
>
> When you enable the sdio node on your v1.2 board with the broadcom
> chip (using SYN43752), does the btsdio.ko bind to the device and
> create an extra rfkill bluetooth node?

Good question, I didn't have it enabled in my build:

# CONFIG_BT_HCIBTSDIO is not set

Let me add it and report back.

> If so, you'll want to blacklist the SYN43752 chip in the btsdio.ko.
> Similar to https://github.com/jimmyhon/linux/commit/81c14dc2dea2ceaea8d39=
0188b352d32e278abc8
> The original logic was introduced in
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit=
/drivers/bluetooth/btsdio.c?id=3Db4cdaba274247c9c841c6a682c08fa91fb3aa549

I will check, thank you for the pointers!

Best regards,
Alexey


Return-Path: <linux-kernel+bounces-674120-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 45B5841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:32:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id CD1CC164CBB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:32:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BED631F91F6;
Thu, 5 Jun 2025 06:32:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="TrB9AIE2"
Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2068.outbound.protection.outlook.com [40.107.101.68])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF6C48462;
Thu, 5 Jun 2025 06:32:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.101.68
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105148; cv=fail; b=iTGbMxxP3/Va4XCr87TghrJMdff1fA3lquGCSy60SXUQAN+tQqptZWc4nUbeh+01q9tczJyx6q342P53o8Yxq3ELp6RTqMoOsiSgynvi0MYCtIsX+B4poZywRbEIpembSIqx/R6Th1Q4AluKMnbnZRtmulzYB9KZdv400s192sY=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105148; c=relaxed/simple;
bh=U/5eWCUUWlyk/MoSVjDBvUXRSyhjDWlJ6sy3sleiHNc=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=uaS+ve2pyyOyKZzc9fsB62nc1KlR7yzgfBRzK4BwsrVCy4Dughh8B3REP15lx+JTbQJDktAejgvs/Z5cozdHAbLYIMXJwMyiSFq1d19tzSub2vusQGK7ZACephf9r7pwFA1UsAtPXlhzz+/cHrbptJlUpzXZy9m1HcdbXO8O4Vk=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=TrB9AIE2; arc=fail smtp.client-ip=40.107.101.68
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=JT2uwW7HH70yzO0IS+AjbBhooTTOZaAPA487wTJ/NeMk/EVU5pu2xRX3RPo2qlo2hvuLYECzwim9Lnykal9nU3nQlt9YObRbNVqT1AR5M44eopxi47h++4K3x8ZGmC6gsdKVh5QR3GQg5wa5Jgj7mlDs0WmeH8gRjSZFRBI3tv8LyGOmAFuPR7Y07CjHTwxWZm+0XnDpy5sO+AdtVEvKL9xJc0XJO81xBMWf++elSkxKYcwihyuluh7nejSaEHSYLUG8jqRLpvTf3dbnY7IkXsMybOt6bmokn1uUUy+rIvzb4LH3Iaw3tpK2w5O1p0NUB3JEj4KndxVV9jyY0g5ofg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=XpcfuwA7nyM++vG7YTDoDd8oD11wklUM0C1EPtH3G+0=;
b=NvoHOkyvwsBDdx6uLN3LrMJBlwcg7+PH//a1pwZdT+fuUf9xSxh/zbQdJdBPEYbiJwPGeMo6ZTPFbJ2KoHG05+/NfCG4P4Ay2bdl/ZyH3rfAbirJ9qKxSbMEH6cQIzrAqZGtbWck2L4Gf06sQeKNxVdUr+np9SVh46YQk5seyOvXH9L1IrwofeHyBZjHPsVM1HlU+075co4dH55D387Jc1kn/ZUJ+0V8hu18jvBtHqEuo5j8KyN67mBSxo6ZIyww/27o0pEPrEqMS+NcIkvrHCpFvRIEA0DZmLg2YD2brfiI2klHHB5m4RBxycOao8CL8RucoG+F5VzjBNOXIMWWoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=XpcfuwA7nyM++vG7YTDoDd8oD11wklUM0C1EPtH3G+0=;
b=TrB9AIE2TJQYaocjyNVWIAiYUP2bBTBmdtdKXU8jkcbDSYhCAPAtIWXGBaUvmxzSM69uhkO9wM8PYph0xNHsT+xPj0VbRGN3RlK0MHm3V6voz7UWtteXqYzNWUFAFkKOFDLP5LaHuK+yUOsi0Z6YDHpnyGeaAcYPszLJ+t6prFg=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from CH3PR12MB9194.namprd12.prod.outlook.com (2603:10b6:610:19f::7)
by IA0PR12MB7508.namprd12.prod.outlook.com (2603:10b6:208:440::7) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 06:32:23 +0000
Received: from CH3PR12MB9194.namprd12.prod.outlook.com
([fe80::53fb:bf76:727f:d00f]) by CH3PR12MB9194.namprd12.prod.outlook.com
([fe80::53fb:bf76:727f:d00f%5]) with mapi id 15.20.8769.037; Thu, 5 Jun 2025
06:32:22 +0000
Message-ID: <cc8c6e32-f383-4ae9-8c49-5e61bfb0d86c@xxxxxxx>
Date: Thu, 5 Jun 2025 16:32:13 +1000
User-Agent: Mozilla Thunderbird Beta
Subject: Re: [PATCH v4 5/5] KVM: SEV: Add SEV-SNP CipherTextHiding support
To: Ashish Kalra <Ashish.Kalra@xxxxxxx>, corbet@xxxxxxx, seanjc@xxxxxxxxxx,
pbonzini@xxxxxxxxxx, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, bp@xxxxxxxxx,
dave.hansen@xxxxxxxxxxxxxxx, hpa@xxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, paulmck@xxxxxxxxxx, rostedt@xxxxxxxxxxx
Cc: x86@xxxxxxxxxx, thuth@xxxxxxxxxx, ardb@xxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx, john.allen@xxxxxxx, davem@xxxxxxxxxxxxx,
thomas.lendacky@xxxxxxx, michael.roth@xxxxxxx, kvm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx,
linux-doc@xxxxxxxxxxxxxxx
References: <cover.1747696092.git.ashish.kalra@xxxxxxx>
<e663930ca516aadbd71422af66e6939dd77e7b06.1747696092.git.ashish.kalra@xxxxxxx>
Content-Language: en-US
From: Alexey Kardashevskiy <aik@xxxxxxx>
In-Reply-To: <e663930ca516aadbd71422af66e6939dd77e7b06.1747696092.git.ashish.kalra@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SYCPR01CA0034.ausprd01.prod.outlook.com
(2603:10c6:10:e::22) To CH3PR12MB9194.namprd12.prod.outlook.com
(2603:10b6:610:19f::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PR12MB9194:EE_|IA0PR12MB7508:EE_
X-MS-Office365-Filtering-Correlation-Id: fe6c51ad-cc2d-477a-8230-08dda3faba9a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|366016|1800799024|376014|7416014|921020;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?RVR4ZlR5YXFsSDNGcXlaLzl3UkNuMTRoellnYkxtSDNqNkhLbk4rTngra1kv?=
=?utf-8?B?UUhtOXZtVVFicG1LWnV4bUdXUmlaSnBIQzdodTMvek5hckM3eDVtRC8zNjlG?=
=?utf-8?B?Nk1nOS9vWU9nY0VPWXZVQzVHeDI5cFhNdDA4T05ZRk1tVVdWQXhJRWd6UzRt?=
=?utf-8?B?M2o5TWU4eVM4eTJlR1I5WnFDUTNxaldmR0V6ZTJ1ck8xTlBuNkQvdUhIN0FJ?=
=?utf-8?B?Wk5YQjRZb2VUK1VNeThXUUNqYzJKT1lPbTAvUFptbDRxTVNKTHpwV0d0c2I5?=
=?utf-8?B?MGNmQ1F5RzgxV2RaU25jandJRkowdEFPVG5tM21wV0prcHVaRFJLYStIaFRu?=
=?utf-8?B?SEt2bVhCNStyd2IyaFMzbmYvc2VVZS94YXZ1OWo0Z2FrVUNCamZsdFpFWmg0?=
=?utf-8?B?UDlqSHlXWkdobUZWNThsZzdxcDhsc0d3SnUwYjJLQzlYcW5naFNaRlliYmIv?=
=?utf-8?B?a29NZlNXRUpYSnEyK21MeXFBNG9mVExXVDNEd3VqK3V0Z21qOEoybGtydVNu?=
=?utf-8?B?ZEFEd2p3RDVCb2xpUC9WUTNTd3VCalpyd29pRzdDUThjaE1OMWs5Vi9zNDJn?=
=?utf-8?B?WEp2Zy9VaURKZTY4SmxYSEJaOS9WQ3NBZVlXa0lWOEpjTmczQS9jYXdSQ1BR?=
=?utf-8?B?VUhxSENaTmJhNDNkcDRqZC9maFh6Y2Z1RXdudXY2OGZxWUUyUHZsdG96VUFL?=
=?utf-8?B?NHVmNW51ZmU4cmF0TXJYSk1XaWxYa2piTnlmbnBHMHc5eGVuaGpmRk1KOURl?=
=?utf-8?B?YW02YUgyR09NK2Z5NXlPdlUydXhhbDIrYThRUGVxbUM2d0pSdTZkWlZqWlhE?=
=?utf-8?B?bnB2eGdld0FwV0w1d2RsY3RXMW5XR1ltY1MwTVJiaGg4Vm1IcmJVcFB1cVE4?=
=?utf-8?B?dUhQOXg1aWFYTmRlQzhMOTNIa3MydUtheVhBS1V3K3ZUOEl4UVFBZlU4aURL?=
=?utf-8?B?UGJFWlZEeGhRQUVtd3lNaUkzbkNTNzArODRpdVlSN2JMdHdzWEF2aHNQclVY?=
=?utf-8?B?dkRJbkwyZDZOcERNaTNjdXdyaklsZU1SbFE1Yng4cng2OUdzbHVXWFJzbVhM?=
=?utf-8?B?UzQya1FmR1RXS3Z2MUFRUlg3U3FpQ0pBUWF6RW5jWnliMnp0RVJsU2xLdWdi?=
=?utf-8?B?S1RMem9zdXBtZ0xFeTRvZWZqR2NWa0s1MWd1S29xUlRxZXMreUJhamdhdjZ5?=
=?utf-8?B?aWdVcnpzSERMbFVlVThNbkwwQXA3VFc3STZXY0ZUcHpVa2JuZ0IrSjNGSDJm?=
=?utf-8?B?eTQwaTFiRUI0Y3Z0aEcrdk9CV245WWMrZWM0MXhlbzIwQ3IyQ09NaHA3TnAv?=
=?utf-8?B?blZrVnZ5dUU0NkhsZ1ZINVBxMTU4V2gyZUJLbDdkQVIwWVRTQ3NUOFF5SnE2?=
=?utf-8?B?SGVEV1llUXdBZmRQQmJsaUFPWWRRYjdURWtwV2NKRFZzS3FSaFlUVzZHM29j?=
=?utf-8?B?VUNhRjgxdDl2ZVFlRWtlTEdZUnJpSWJLUkpvdUp4TUpZa0EySCtwSGRQdkVE?=
=?utf-8?B?ZjQ2aDg4RHdYZTkwUHlBRllLZjJEMXNmeTVsM2VIVkNBN2l5dHhQc0l0TlBp?=
=?utf-8?B?QS8yUTAraGtya0xrQ0ErUVF1VmNVMm9idFNjVGNkcVdzVHkrSW1zYnVzbzZV?=
=?utf-8?B?dHRDMEo2OWM4c2ZMQWhrdlNnK3RNOW52bTBhOHdVeHJNei80SERtWnF1UGZ6?=
=?utf-8?B?NUgyYU8yQm9VWWZLSHNjeGNpQWZoaWMxaHJPRXVra3FMem82d204eDNJRTNX?=
=?utf-8?B?dWtTa3VqeEVUT3dpbE1MSmNnTzdiOVdneHBEK3BWTzNDYjllTVJGUldDZm9a?=
=?utf-8?B?aWh4d3c2SnpSNGZGdDB4S1FPMy9KV2YvaUxhazlubkg3U1VoT3dOdDlWMml5?=
=?utf-8?B?NkNZdlBibXcrMmVORVVxUUYzdG9UZ244aWNjV0k4UFpBZEFvcStGNEZBOWxi?=
=?utf-8?B?TGVTa2FOZVF4VlgzTkxjUzhVU0RwUnVzQWhyMEZjMmhDL0tPYzlueC94SEsz?=
=?utf-8?B?c1cxSDNjMzZRPT0=?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR12MB9194.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(921020);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?aFZmQTBzZjJQYXdnaW9vdEJxL1hNV3BibW9SK1h3ZGVIbThHQmNPVVBjQldy?=
=?utf-8?B?RGVuYXFJSENiTEw1c0ttNTU5YnJpbTh0djR4anIyNy9hVFVNdnZ4YkhUZFl0?=
=?utf-8?B?RGhza0JTZ01CbzZIamhzSnBYUjBmTlFqTklUSWNhd05Ebm5ZYXZRZnRORlBy?=
=?utf-8?B?WjdEaGRhNlc4bEs0VEhyYlFqbDdXV0sxLyt6TmF1MkxMcVFhRjkxN2hqbXR3?=
=?utf-8?B?QWx0MHpJL01OK0xzdk1RcG1sb0tQOHZWVWNUYjZqWUx3cnMwdlFmY3pPb1Z6?=
=?utf-8?B?eUJtRXFwL2syQkg2bXdCaXBZaTIvWkFSRlk5b0FZQW13WG5CV0t1NndVbmVB?=
=?utf-8?B?VUV2RFloOEpRTDNRWlRoRzZBYzlKTEt2em13bEo3SStERlpsbnhnTlRudUV0?=
=?utf-8?B?aXNnSnlVYVhMQ0oyeC8xMnZNTzcyNlF5Q2RldlhMS1BEZ0NURzN5Wmx3d1lS?=
=?utf-8?B?QVNza3A0ejRFV2VmVTVVcnlGdmNhODcvc3Y3WmMwM0ZKVEJsLzRNTXZoUG5o?=
=?utf-8?B?TFlBaVJrOG8ydm8rYkliYzlCOWd2NDd5WVJEV1N3NThPb2xnWnRleHNaL2xG?=
=?utf-8?B?YmhLMlllVC9zNit0clhYRmFqMnp6clN6UWFJanNOdDJsek5GejRwUGkrL0Fl?=
=?utf-8?B?VUE4cm0zWEpWUEQzSk85MVordk1GNnczODRzVFN0ekNZRzhaZlFFbmFsRXJq?=
=?utf-8?B?RGs2YVFta3JYRTV3YTNlUzdYVGt6cUs1b3p1d2tPWlkxQXNzMlRmUmF5RjQx?=
=?utf-8?B?OG82dFJZREdINldPQ0xYRmdRMVh0dVN5ZTQ0MEVTRVZ3L2RzQjFPMVA4eTBD?=
=?utf-8?B?dFFuenh3RC95Y3NDQ0o1NU5SaHgyUmhhc2NCcmpUTHg0YmlZTFJYaGhSVkZE?=
=?utf-8?B?ZEZoaHZRcS9UVVhLdEZFdmYzbEczM1M0NHBIcTNZL3FZcnNjY1RUMTl5bk5U?=
=?utf-8?B?OFpvMWdrQklGbTFXLzdFb0N3UUk2eWZJVGVjOEx1UmRUZVZkUWlNMGIva29m?=
=?utf-8?B?d2FKby8wVm11aDVhRTBFelRyeUx0b1JpYXFaM20vM3drQXhIK2N5SS9taDVw?=
=?utf-8?B?d21JUjlua2VTNzVwRmQwOUtLMmdVNnFoNEFMMHBKTWNuZ2doZ3Jubnk1WHlC?=
=?utf-8?B?aXBLa2ZYRDR1YTdoRi9GWFN0Q0xsQ2xzU0I3NW9wNHFPZHJXN2dVMEMzMzhu?=
=?utf-8?B?MTVFUVRxOUdBK1ZXOGJwc0RSYVJpUE9ZeEN5RW1NVklKcUR5NFNib3FLTmxt?=
=?utf-8?B?cGtzYm8rV1hWajZ6ZGFBNHVwK0JsaWNtM0VJeDV5TkdweC9RVUpBMmNIQTF4?=
=?utf-8?B?NjFoS3BCZG9qSVY1blJkVmNoSnhQVTkvMTY3MlZxMWdhSnZ6cVpwVXBRRDVG?=
=?utf-8?B?VVd4QS9QaVd1NlV3NGRucEhucEMxVVJmNEZuZ0lBT3dVQnltT0h4N1B4RXBo?=
=?utf-8?B?VGdPVHl3UitGNnBwemNGVUxFVlNDTlFwYzVLNmoxaDIyRHkvNGEvWlRLdnFQ?=
=?utf-8?B?aFErckt4NFJLdGNOYnloL281S3d2dVhSYnlweW9wa3hHdm9rekJtcWMwSTZP?=
=?utf-8?B?SUcwQ0NQc2VzQW5GSTYyL1Yvc3RkdlRBOEduWSttb3BOM1dONEdUTnVkMzRv?=
=?utf-8?B?bDdUUVd6OFZEbnA0aHg1Z0xKL0t0Q3BLdzhBeWlKSHF3TjJxOW94cm1heEJO?=
=?utf-8?B?a1Z1MDF2VUxwL3c2NEtGMjRzQ2NvYUpOVkhod2lyNFN1THVLb3hoUzJDcVdU?=
=?utf-8?B?d05Ddm8xK21SMlZ0Q2NXWStTeitGSEtBNjZRRU9PQzJmMDM3MDNONElsc0NQ?=
=?utf-8?B?VFVsdzZTTUZhazcyNzVVSmxJQStBQkZPaFBFR1R4QjRoRTRaUDM5dDJMMnUr?=
=?utf-8?B?VGVXTUtta2xrT0VyWDBNRE9FQzJTcU9NWHYzSmZKWHBJZFRDdVJIcEd5NG9r?=
=?utf-8?B?QUM2NHJGL0ZjQVZRMytVMUQ0YWEvVjRsVG5LejdSQTFNa3VsSG1BZVB4cUJE?=
=?utf-8?B?ck5ZN2pQWlBVSEFqSkwwY3ZOOWtRVUwwa05BQmxUcTV3SVZ1c3NmSXA0U3Ra?=
=?utf-8?B?bUJERWFMTlhQTm00S3hLb3ovVUxlR3NnbkxPWVBQZUNKUEdRT0VMTnRoRUZU?=
=?utf-8?Q?OgsU8WSR/8GVsdTEpv5FWFlUy?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fe6c51ad-cc2d-477a-8230-08dda3faba9a
X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB9194.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 06:32:22.7741
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +JfvslevQP+S9gpnkA69isYtY7ZMhdPqKaJcs496HfgYbu311ml3D+NnCTcqWDiuVuR8jfc9qTeYwDZs3cf88A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7508
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 20/5/25 10:02, Ashish Kalra wrote:
> From: Ashish Kalra <ashish.kalra@xxxxxxx>
>
> Ciphertext hiding prevents host accesses from reading the ciphertext of
> SNP guest private memory. Instead of reading ciphertext, the host reads
> will see constant default values (0xff).
>
> The SEV ASID space is basically split into legacy SEV and SEV-ES+.
> CipherTextHiding further partitions the SEV-ES+ ASID space into SEV-ES
> and SEV-SNP.
>
> Add new module parameter to the KVM module to enable CipherTextHiding
> support and a user configurable system-wide maximum SNP ASID value. If
> the module parameter value is -1 then the ASID space is equally
> divided between SEV-SNP and SEV-ES guests.
>
> Suggested-by: Sean Christopherson <seanjc@xxxxxxxxxx>
> Signed-off-by: Ashish Kalra <ashish.kalra@xxxxxxx>
> ---
> .../admin-guide/kernel-parameters.txt | 10 ++++++
> arch/x86/kvm/svm/sev.c | 31 +++++++++++++++++++
> 2 files changed, 41 insertions(+)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 1e5e76bba9da..2cddb2b5c59d 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -2891,6 +2891,16 @@
> (enabled). Disable by KVM if hardware lacks support
> for NPT.
>
> + kvm-amd.ciphertext_hiding_nr_asids=
> + [KVM,AMD] Enables SEV-SNP CipherTextHiding feature and
> + controls show many ASIDs are available for SEV-SNP guests.
> + The ASID space is basically split into legacy SEV and
> + SEV-ES+. CipherTextHiding feature further splits the
> + SEV-ES+ ASID space into SEV-ES and SEV-SNP.
> + If the value is -1, then it is used as an auto flag
> + and splits the ASID space equally between SEV-ES and
> + SEV-SNP ASIDs.


Why in halves? 0 or max would make sense and I'd think the user wants all SEV-ES+ VMs be hidden by default so I'd name the parameter as no_hiding_nr_asids and make the default value of zero mean "every SEV-ES+ is hidden".

Or there is a downside of hiding all VMs?


> +
> kvm-arm.mode=
> [KVM,ARM,EARLY] Select one of KVM/arm64's modes of
> operation.
> diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
> index 383db1da8699..68dcb13d98f2 100644
> --- a/arch/x86/kvm/svm/sev.c
> +++ b/arch/x86/kvm/svm/sev.c
> @@ -59,6 +59,10 @@ static bool sev_es_debug_swap_enabled = true;
> module_param_named(debug_swap, sev_es_debug_swap_enabled, bool, 0444);
> static u64 sev_supported_vmsa_features;
>
> +static int ciphertext_hiding_nr_asids;
> +module_param(ciphertext_hiding_nr_asids, int, 0444);
> +MODULE_PARM_DESC(max_snp_asid, " Number of ASIDs available for SEV-SNP guests when CipherTextHiding is enabled");
> +
> #define AP_RESET_HOLD_NONE 0
> #define AP_RESET_HOLD_NAE_EVENT 1
> #define AP_RESET_HOLD_MSR_PROTO 2
> @@ -200,6 +204,9 @@ static int sev_asid_new(struct kvm_sev_info *sev, unsigned long vm_type)
> /*
> * The min ASID can end up larger than the max if basic SEV support is
> * effectively disabled by disallowing use of ASIDs for SEV guests.
> + * Similarly for SEV-ES guests the min ASID can end up larger than the
> + * max when CipherTextHiding is enabled, effectively disabling SEV-ES
> + * support.
> */
>
> if (min_asid > max_asid)
> @@ -2955,6 +2962,7 @@ void __init sev_hardware_setup(void)
> {
> unsigned int eax, ebx, ecx, edx, sev_asid_count, sev_es_asid_count;
> struct sev_platform_init_args init_args = {0};
> + bool snp_cipher_text_hiding = false;
> bool sev_snp_supported = false;
> bool sev_es_supported = false;
> bool sev_supported = false;
> @@ -3052,6 +3060,27 @@ void __init sev_hardware_setup(void)
> if (min_sev_asid == 1)
> goto out;
>
> + /*
> + * The ASID space is basically split into legacy SEV and SEV-ES+.
> + * CipherTextHiding feature further partitions the SEV-ES+ ASID space
> + * into ASIDs for SEV-ES and SEV-SNP guests.
> + */
> + if (ciphertext_hiding_nr_asids && sev_is_snp_ciphertext_hiding_supported()) {
> + /* Do sanity checks on user-defined ciphertext_hiding_nr_asids */
> + if (ciphertext_hiding_nr_asids != -1 &&
> + ciphertext_hiding_nr_asids >= min_sev_asid) {
> + pr_info("ciphertext_hiding_nr_asids module parameter invalid, limiting SEV-SNP ASIDs to %d\n",
> + min_sev_asid);
> + ciphertext_hiding_nr_asids = min_sev_asid - 1;
> + }
> +
> + min_sev_es_asid = ciphertext_hiding_nr_asids == -1 ? (min_sev_asid - 1) / 2 :
> + ciphertext_hiding_nr_asids + 1;
> + max_snp_asid = min_sev_es_asid - 1;
> + snp_cipher_text_hiding = true;
> + pr_info("SEV-SNP CipherTextHiding feature support enabled\n");


Can do "init_args.snp_max_snp_asid = max_snp_asid;" here (as max_snp_asid seems to not change between here and next hunk) and drop snp_cipher_text_hiding. Thanks,

> + }
> +
> sev_es_asid_count = min_sev_asid - 1;
> WARN_ON_ONCE(misc_cg_set_capacity(MISC_CG_RES_SEV_ES, sev_es_asid_count));
> sev_es_supported = true;
> @@ -3092,6 +3121,8 @@ void __init sev_hardware_setup(void)
> * Do both SNP and SEV initialization at KVM module load.
> */
> init_args.probe = true;
> + if (snp_cipher_text_hiding)
> + init_args.snp_max_snp_asid = max_snp_asid;
> sev_platform_init(&init_args);
> }
>

--
Alexey



Return-Path: <linux-kernel+bounces-674121-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8F42C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:33:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D1890189A3EC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:33:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 84B641F5838;
Thu, 5 Jun 2025 06:32:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="LCjCuYte"
Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51])
(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 5CD561F4C92
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:32:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105170; cv=none; b=CbnsK07NgoDnsrNt47u1L7Dmkt/eVmJQjaeGYmt2DO+Vpz57F9EJiDKCRA1ecyXfVaE9kStLAUvJ+M6ClYk7JhkYzjTbEmQjvAYc5q3QjBgyxbn4Fb+OxplORDhApb3znY71s4jRSSKlTFC1lUegV9+OspGGite4DPxXwCf8YfA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105170; c=relaxed/simple;
bh=1eNm4nmWAuJG/6zyOp6XMQPMZuWG7lF8of09bIGrDCk=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=VMotM3hlVVaZ/095mqoQpACQWPBfZk+KlEFg7zlwKbcXyqAm+HnSMzgfT+7DGRvBvyoYA7+D902XPsv/GJ+iljY/vUklnw2HgUrmWxDGU3lJpLoT3tpWrllvTObEzRiQQPvu1TttNOUI44MfG762RBlKj2+r1HeGqsOnzLWBwik=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=LCjCuYte; arc=none smtp.client-ip=209.85.218.51
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com
Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-acae7e7587dso97329666b.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:32:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=suse.com; s=google; t=1749105166; x=1749709966; 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=3lSOF0EtBbyqxKKcvWaFAuAauvCX/Qj9zdt2j6KevZM=;
b=LCjCuYte/NhD7G7BD/8tagE3e5tu9t9+sZlFCp6w9rHZUnAjVi4kK2opGjMIj/UmUP
GplLjUJ9DvGp88Kb0HtEZjRG1Oq9hoNSwo15fxB6GesGJKJieEHKjr1hX9dY69bOEiVp
nFPqPvwOAJRprepqSiYWgY+XvoF8lKvvxP6jne21CKQP8NEOVf0Y8cWiVF+feD3li24/
J31qlSHRIy0JtOEmWKSpSLeVJJXFwxyzJzoeaVVlkxAmNhz1M81xi2z7q8rt+TgyeZqF
ouNFu8zRuYr9/pLrLlKgZjzkvHMfcg07wa2l/+1DMlooYQCcxXtDX5/UF3DiREyBb62O
54gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749105166; x=1749709966;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=3lSOF0EtBbyqxKKcvWaFAuAauvCX/Qj9zdt2j6KevZM=;
b=CvTP4sLAOJ/4n0ocsAe2ev2iKzTPubSN+4I5M6fYFW+E35ScIEb9AgIpA8gr58ScGp
nOhIwn9M4FJXOZSb6cP/Zpp7sSzBn9UYHjL7gfINkvQ77Ct61v1sSlehkv4rqlYL+9kC
bc3FsoS8skD4g3y1pNSESPsL35wndcCqijiGH175vFag/QfLH6/yorL1+p8nz7mPxjeu
EQ3CVMjVZvu6F+REDi/ytwPJzR6Zty7lCDOKOEeuebU0Us9FLSQMVWDvQMdC1yVH+zWg
MW13xNYeYBHUg57GWNpyx5t47I5NqrVgT8w9NRkIb90FeQ05cqdoH13BDmDEJVA+A2F1
1p+A==
X-Forwarded-Encrypted: i=1; AJvYcCXlXWfsn5bPf1Xv+iYMWSprWCst89T5jbbteFjlYN7XbzCi0rLMYMNyi9lsgpD8BpBHHA2pOElHioBbpIc=@vger.kernel.org
X-Gm-Message-State: AOJu0YyjaxNlJTNgymrX3jPi190m4Iu53ZMxhWJY4mYyaFj3cNmLbAck
4DuLLTh3Xv8V3bN0KO4rB9qD32eRkzg4nkNJubkDBmYciMzmG17ykUiHLRm6pClmEUw=
X-Gm-Gg: ASbGncvsjmhNls/INvB4rY17BXm2FcwQmMXoZZWPKhVno/J61O0YDgHPb3Tk6VZUZ4t
aI7eTDVWwmsY4c8cVLHu7K65jBrAFg/1lEDLlPgO1nPBqk1AG47/kbF3TjUl1jSRJtSSkK8GJtu
LnTjyc7hToqP19UtWSfb0NEkrgE8upRtf/GubxwmHRLfSbh9Mi7bbR8ZnOUO1b+NssuUJbHtI1b
6QuNgYp7RoU3G7L7TBUzVwVnjGlBccM4/lrEm8VSWoZJVr0quD2Z54YMSaUUMp5BqKC5h7JP+3a
FK8ZqGYc+MnX83NV4omY5yJyNw0nr+ew6IQwfMupwvRsgX/InMygLH6E8hdSH4CS
X-Google-Smtp-Source: AGHT+IG6tFvgSjWU4ETeIFzDsF5SwAK4ctDL8+HRHWpaT2Wob1h8vxQM68Y5aUX0aVGhDQl+FZHLFA==
X-Received: by 2002:a17:907:3dab:b0:ad8:ae51:d16 with SMTP id a640c23a62f3a-addf8fc9887mr488019166b.55.1749105166500;
Wed, 04 Jun 2025 23:32:46 -0700 (PDT)
Received: from localhost (109-81-89-112.rct.o2.cz. [109.81.89.112])
by smtp.gmail.com with UTF8SMTPSA id a640c23a62f3a-ada5e2bf029sm1198020466b.115.2025.06.04.23.32.45
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:32:46 -0700 (PDT)
Date: Thu, 5 Jun 2025 08:32:45 +0200
From: Michal Hocko <mhocko@xxxxxxxx>
To: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
Cc: Shakeel Butt <shakeel.butt@xxxxxxxxx>, Vlastimil Babka <vbabka@xxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, david@xxxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx,
rppt@xxxxxxxxxx, surenb@xxxxxxxxxx, donettom@xxxxxxxxxxxxx,
aboorvad@xxxxxxxxxxxxx, sj@xxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] mm: fix the inaccurate memory statistics issue for users
Message-ID: <aEE6DW-Gjv95eBTj@tiehlicka>
References: <ef2c9e13-cb38-4447-b595-f461f3f25432@xxxxxxxxxxxxxxxxx>
<aD7OM5Mrg5jnEnBc@tiehlicka>
<7307bb7a-7c45-43f7-b073-acd9e1389000@xxxxxxxxxxxxxxxxx>
<aD8LKHfCca1wQ5pS@tiehlicka>
<obfnlpvc4tmb6gbd4mw7h7jamp3kouyhnpl4cusetyctswznod@yr6dyrsbay6w>
<250ec733-8b2d-4c56-858c-6aada9544a55@xxxxxxxxxxxxxxxxx>
<1aa7c368-c37f-4b00-876c-dcf51a523c42@xxxxxxx>
<d2b76402-7e1a-4b2d-892a-2e8ffe1a37a9@xxxxxxxxxxxxxxxxx>
<nohu552nfqkfumrj3zc7akbdrq3bzwexle3i6weyta76dltppv@txizmvtg3swd>
<985a92d4-e0d4-4164-88eb-dc7931e2c40c@xxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <985a92d4-e0d4-4164-88eb-dc7931e2c40c@xxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu 05-06-25 08:48:07, Baolin Wang wrote:
>
>
> On 2025/6/5 00:54, Shakeel Butt wrote:
> > On Wed, Jun 04, 2025 at 10:16:18PM +0800, Baolin Wang wrote:
> > >
> > >
> > > On 2025/6/4 21:46, Vlastimil Babka wrote:
> > > > On 6/4/25 14:46, Baolin Wang wrote:
> > > > > > Baolin, please run stress-ng command that stresses minor anon page
> > > > > > faults in multiple threads and then run multiple bash scripts which cat
> > > > > > /proc/pidof(stress-ng)/status. That should be how much the stress-ng
> > > > > > process is impacted by the parallel status readers versus without them.
> > > > >
> > > > > Sure. Thanks Shakeel. I run the stress-ng with the 'stress-ng --fault 32
> > > > > --perf -t 1m' command, while simultaneously running the following
> > > > > scripts to read the /proc/pidof(stress-ng)/status for each thread.
> > > >
> > > > How many of those scripts?
> > >
> > > 1 script, but will start 32 threads to read each stress-ng thread's status
> > > interface.
> > >
> > > > > From the following data, I did not observe any obvious impact of this
> > > > > patch on the stress-ng tests when repeatedly reading the
> > > > > /proc/pidof(stress-ng)/status.
> > > > >
> > > > > w/o patch
> > > > > stress-ng: info: [6891] 3,993,235,331,584 CPU Cycles
> > > > > 59.767 B/sec
> > > > > stress-ng: info: [6891] 1,472,101,565,760 Instructions
> > > > > 22.033 B/sec (0.369 instr. per cycle)
> > > > > stress-ng: info: [6891] 36,287,456 Page Faults Total
> > > > > 0.543 M/sec
> > > > > stress-ng: info: [6891] 36,287,456 Page Faults Minor
> > > > > 0.543 M/sec
> > > > >
> > > > > w/ patch
> > > > > stress-ng: info: [6872] 4,018,592,975,968 CPU Cycles
> > > > > 60.177 B/sec
> > > > > stress-ng: info: [6872] 1,484,856,150,976 Instructions
> > > > > 22.235 B/sec (0.369 instr. per cycle)
> > > > > stress-ng: info: [6872] 36,547,456 Page Faults Total
> > > > > 0.547 M/sec
> > > > > stress-ng: info: [6872] 36,547,456 Page Faults Minor
> > > > > 0.547 M/sec
> > > > >
> > > > > =========================
> > > > > #!/bin/bash
> > > > >
> > > > > # Get the PIDs of stress-ng processes
> > > > > PIDS=$(pgrep stress-ng)
> > > > >
> > > > > # Loop through each PID and monitor /proc/[pid]/status
> > > > > for PID in $PIDS; do
> > > > > while true; do
> > > > > cat /proc/$PID/status
> > > > > usleep 100000
> > > >
> > > > Hm but this limits the reading to 10 per second? If we want to simulate an
> > > > adversary process, it should be without the sleeps I think?
> > >
> > > OK. I drop the usleep, and I still can not see obvious impact.
> > >
> > > w/o patch:
> > > stress-ng: info: [6848] 4,399,219,085,152 CPU Cycles
> > > 67.327 B/sec
> > > stress-ng: info: [6848] 1,616,524,844,832 Instructions
> > > 24.740 B/sec (0.367 instr. per cycle)
> > > stress-ng: info: [6848] 39,529,792 Page Faults Total
> > > 0.605 M/sec
> > > stress-ng: info: [6848] 39,529,792 Page Faults Minor
> > > 0.605 M/sec
> > >
> > > w/patch:
> > > stress-ng: info: [2485] 4,462,440,381,856 CPU Cycles
> > > 68.382 B/sec
> > > stress-ng: info: [2485] 1,615,101,503,296 Instructions
> > > 24.750 B/sec (0.362 instr. per cycle)
> > > stress-ng: info: [2485] 39,439,232 Page Faults Total
> > > 0.604 M/sec
> > > stress-ng: info: [2485] 39,439,232 Page Faults Minor
> > > 0.604 M/sec
> >
> > Is the above with 32 non-sleeping parallel reader scripts?
>
> Yes.

Thanks, this seems much more representative. Please update the changelog
with this. With that feel free to add
Acked-by: Michal Hocko <mhocko@xxxxxxxx>

Thanks!

--
Michal Hocko
SUSE Labs


Return-Path: <linux-kernel+bounces-674122-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8183C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:33:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 90F0C3ABDF3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:33:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F0E881C6FF5;
Thu, 5 Jun 2025 06:33:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="f3Q/HbRX"
Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2073.outbound.protection.outlook.com [40.107.101.73])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA6E01E492D;
Thu, 5 Jun 2025 06:33:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.101.73
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105188; cv=fail; b=LtZ7QUEe627VGH01jCS50kMW/0j2ICpLhhOoAGSsC7bYKbVLKgSiXCP9Kh2CLBY+qFYU+KmgtlP9CepFwUxUDBkNBBpIZ+FY3VBUK1lPevZcpWb05ulcm17EILPn+6JHnqVGPiELabVvI1cnAgqDku//lGua72W2PF9hTRP7T3U=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105188; c=relaxed/simple;
bh=GBPYLwD4a8LLZDsBnOmAu5PYlrTaAAQXEYorSN4MoGM=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=bDwIm66gJbV8QPn8kcfWy7HutU4v+WWGDi5Gw8U4znas7xwnDarp1UtFjKm2/lbkGzxTUGeln61yYqreg4dHM08tOa35VIe20cdsBXBhgDv3oB4CUfS5OL1SXYUjqjP/KySv9H0IDF6g/BPjuImIkS57gurucV/DLKd8/vDpbDE=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=f3Q/HbRX; arc=fail smtp.client-ip=40.107.101.73
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=QWA/pEQ2qMPeDJyo3puAy34o1dT1z193rZUn/8esgDxlHjLjE80APX1ufxSFviqwKk4mAScxoN9DNxVsWOKo8SjDiTIfrLoJB40k17jtCPBGXqAzw17sfY3hH6jT5YpEsVRrNu5FqBAmq2Rz24jMP/tkbBMiFgAv+A55sfHb2miIsn0DIwhmpp9bSiAPenr+8ZrkZ2UVPPO12wPz0rnQsOdzQdMVwbwr+b2fW7/c+lvB+pu2FxLIGg7fa66iMDsjaWiEFr9eHPLrb1lZIVRH3sLsA6wM7XAQp+i1M8jgBcPL66i/eD50qsFYjY0JgStmTfN37dDKtmrpkYrFs2oZjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=r4C1w9lMjpihb51KrUkvvDb5KYriMsZ2w1j4LakGQ34=;
b=sXLGyxngtcmwPTi4shKZgIRo8rUnDt9WqMq1T9pQiMio0oHDvJ5b5I24JMsLIEPWUk+HA2YWe2I0H1LTBMt0OJpvm+oXoU6je5AIqi1KEhJiMdw7OllqY4nnw3eQwc7s4/f4sVjsNuQMAIIemCjY40aND/79xEBMv64X860ZyszwuNjLs0VKs79fSdfwfNhu8NES5qDC29MEwaoenqaDJ7fyyRy2hNpW/oCVpGNNWv6TWh4kjEjTOmdA6JTCVtqG0GNZro8/s2pAlg9BNRm2hVVmAkTWLRHl9dedb+wojsmVlDgRYsspNAaZHW/VXWhVcZ6NEL6W/Gdz8LwzXXjv4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=r4C1w9lMjpihb51KrUkvvDb5KYriMsZ2w1j4LakGQ34=;
b=f3Q/HbRX0pYjhifFEwzfcd01Qo3tQqQOK2ItJ1fMp2CJRpE1lcYjApf6AbfRZEyf3Iu+I+V57VAlMGY/JRCXerNC+anWJcMMYkJHNuLDGbyhqGZNnDWEnLO0KYRoWD/ckR3y0ecpXkKgAUBMq2Z0vFzN+WE6ivUFAH/p3Zqvalo=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from CH3PR12MB9194.namprd12.prod.outlook.com (2603:10b6:610:19f::7)
by IA0PR12MB7508.namprd12.prod.outlook.com (2603:10b6:208:440::7) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 06:33:05 +0000
Received: from CH3PR12MB9194.namprd12.prod.outlook.com
([fe80::53fb:bf76:727f:d00f]) by CH3PR12MB9194.namprd12.prod.outlook.com
([fe80::53fb:bf76:727f:d00f%5]) with mapi id 15.20.8769.037; Thu, 5 Jun 2025
06:33:04 +0000
Message-ID: <e59803e9-017a-4257-ac9c-7bdafbc624ff@xxxxxxx>
Date: Thu, 5 Jun 2025 16:32:57 +1000
User-Agent: Mozilla Thunderbird Beta
Subject: Re: [PATCH v4 3/5] crypto: ccp: Add support to enable
CipherTextHiding on SNP_INIT_EX
To: Ashish Kalra <Ashish.Kalra@xxxxxxx>, seanjc@xxxxxxxxxx,
pbonzini@xxxxxxxxxx, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, bp@xxxxxxxxx,
dave.hansen@xxxxxxxxxxxxxxx, hpa@xxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx
Cc: x86@xxxxxxxxxx, john.allen@xxxxxxx, davem@xxxxxxxxxxxxx,
thomas.lendacky@xxxxxxx, michael.roth@xxxxxxx, kvm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx
References: <cover.1747696092.git.ashish.kalra@xxxxxxx>
<0952165821cbf2d8fb69c85f2ccbf7f4290518e5.1747696092.git.ashish.kalra@xxxxxxx>
Content-Language: en-US
From: Alexey Kardashevskiy <aik@xxxxxxx>
In-Reply-To: <0952165821cbf2d8fb69c85f2ccbf7f4290518e5.1747696092.git.ashish.kalra@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SYCPR01CA0033.ausprd01.prod.outlook.com
(2603:10c6:10:e::21) To CH3PR12MB9194.namprd12.prod.outlook.com
(2603:10b6:610:19f::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PR12MB9194:EE_|IA0PR12MB7508:EE_
X-MS-Office365-Filtering-Correlation-Id: 5957e9c6-00b3-4414-df1a-08dda3fad3c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?REUxLzgrSThZVGVQaHN0Z3M4ZlFxY2w1SnpzdmJaeGwzaGp5cCtlU2xjWDVt?=
=?utf-8?B?YW56VTlMVWNuUXlMdDg1dHJxUE5FbzBDUEZtZDJGMmt4dnNkTGd1S1JBVXNL?=
=?utf-8?B?WUE5RU8xVzNzSjZYVmd3SWw0QjFtNVRDakNSUktnZUM1cXh1b0JEUHBhdyta?=
=?utf-8?B?YWVMRkNFZTJ2c0lZNnVmTmlKeXBsS0RteHdvN0IzK21QOWZZWURoOHV1WUNH?=
=?utf-8?B?Sk5QeFk2aEtOOXRqRnQ1aHd1ZmZJL2pwT0ZHdTBBMUxURFlibkZkUnRoMUtk?=
=?utf-8?B?T3VYM0JDTjh6Z1YwVzdRZEFkQmVOVlFGeGJEWjUya1NlUklJN0Y2T2lpM2dD?=
=?utf-8?B?UkVoNzZDczVRQnRwUkVBeWp3NW1TSFJuMmxOQStMZ0dtcjBrYUZ2UTBuR0lz?=
=?utf-8?B?Ty9BWStOSFBQSWIvVjhvT0tTcFB0RkFWa25Qd0lqQUhGNHZydXVtT0FCRFZQ?=
=?utf-8?B?UTZqVS92RVliayszd1djNU9ZSnhpRmZsY0RobzVMVnEzbDYvd0w4b2ZucktG?=
=?utf-8?B?YVZmbnFQUEltc3AxSnpqWnVzZDYxdk5OaHhvSjErYy9TNWFTN3pzL1ZGR0o1?=
=?utf-8?B?UEtUaFdieHN6MGwyTFBSOGZuQlJWSXNhRmNaeWcwZGJiUWxnQlBYR2NMZjB6?=
=?utf-8?B?UTR0UVF1UEgyYkVkdXVMeGdCVnl1V042SHR0bHAvdXdUSWx5TjhUMlRUNnNN?=
=?utf-8?B?d0xFU3FnZFBxUEMwTmVJSlY0YUI3SVRacWpZaXloY3MxeS9wcG9Zc05oanRP?=
=?utf-8?B?MUw5Y2w3ZllnaXFTNjZMYkprMjkvczdBaExlZ1BVcWt4MzhNKzFNQzdod0Zu?=
=?utf-8?B?SG9LMjRnUGNMb0hjZjFaU3ZHYUpZb2hqSDBrMG1pQVdEQ0lzL3FmNVVBZC9R?=
=?utf-8?B?MWhzZVJwSmc1clcrN2RmWUN1NUhadHgwcnMvcThwWTZIUlhGSnhZcFdYQi9u?=
=?utf-8?B?alY1ZnRZQU9FQ2xsOTVFTHNwMmVwQ3ZpZE1ua1J5MzJSbjdVS2k1RytYWW1H?=
=?utf-8?B?RFg1TUNrS3hCSzZnRG03dm1xdDJoRkpxZkNjSHBqSFBGTTVGOERIQS9jb2VU?=
=?utf-8?B?N2MzNWVFMHJMMVpDYitlVDBMN0NQTXNKYXp1cWhQNFlhMW1Za1MxOWIxYlRu?=
=?utf-8?B?cXhMU095eGZUbDAvSUxCcjZ2aXVvYXZvTllCUFVaeTZFMXJ6bzZUanFKalhv?=
=?utf-8?B?VDhKeENGQkYrbDluSkZWVERFdG9iWVFCQTZ2bDFnK3BYS0tIdE9wcGcyK3VO?=
=?utf-8?B?eDBBdks0SlNVNmlLMnJON055VE4wL25WMHpheHg4dld1SEo0M3NvWWpqSWlC?=
=?utf-8?B?ditFaGN1cVBxT3lSdko3L3pyUmZsU1lkcWZyM3BnV0xHeVpYRHpxV1Z1LzF2?=
=?utf-8?B?TlgwNGVtYjlVQjFTRU5PZ1ErS0F0VFpDWjk5aktYd3ZEZTF5TnkwMlN2SXQ1?=
=?utf-8?B?eThBUlo1R2pwMUNMS3Bndks5Vmk4clFHSVl4a0pNZHVneXJiS3BoRWtBWUlt?=
=?utf-8?B?VksxckVpVHowc29SbzJwVTZoTERYb3FDeWkycUNOMVJ2R1VqdG5NMlpJcDhL?=
=?utf-8?B?WnVWcjlLeDdPbWVrZzJVQlBQUSszQlRkVm5VZXc5THVDT2JKRWFtSSs3d0c2?=
=?utf-8?B?eTljTjg3YXBra0xDTWZYUkNxVDhocHdiVFhMdGlXbTdMSzBFQktRSW9Rajl5?=
=?utf-8?B?bVJDQ25oeTBOWmtzbmFYS2JWN2UxcjljTHM1aFRGWWZoakgwZUVBQUhkS3Nn?=
=?utf-8?B?aUJrNm5vZHN6VUYrbk95bjBCYXJ4V244SzNtbzlBODh4bTBHRzFBRzRhdHls?=
=?utf-8?B?b1lBa05UL1Nla0E5dU44eVBhZGVZc2YySmlTd05CakpkQ0xiREJ1OGNlNmQw?=
=?utf-8?B?S1hRQzNHMUlWZlExWUJ1UDhJODFXbURWcVNyWGxpQVlrWXBYaFRuY1RzZW9i?=
=?utf-8?Q?W3rUjoUCAjw=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR12MB9194.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?eXA3NDVReEdGZFNYZmlWVWtWeGpRZ1M1UTdRamtZV1E5UWJyTjZsTHRsbjRU?=
=?utf-8?B?a2wvajVDN0FDd05rSC9USk13djdCNTNiR04zZExyQmowb2oyU1JmcXorK1Jp?=
=?utf-8?B?NURCQUw2Yy90MExNcmZOUHZaQXFCS0xHRlBGVXNjZkw1R1VyRVpRVjV5K0NG?=
=?utf-8?B?WkwweVFjMHV6YTJoQ1lrUHB2S0p4WHZ0eUZKYWpMVk5OYnRMMEd3eXdrTFBJ?=
=?utf-8?B?RXdSTmpTVWVkVXpGL1ZSSStKSW03WlIxZ3JnbUYyWUNOTzhKMHNFNE1EVnQw?=
=?utf-8?B?czV1QWJ1UDJxRlBINXdXQVF0WTFNMm4rNnVFTTNRMkZncktDVk9KSFA5M0Vp?=
=?utf-8?B?UitZQkpuRWVHaUFEdFNvSHhkenJFNkNBQWdrNjRodE9pdHFrc0VHbUFrK2Mx?=
=?utf-8?B?ZklWMi9jaHE5UmpPZ0RjT1BjV21Db2llbE1xLytyOUtUbCt1T1lzOFRqWTJW?=
=?utf-8?B?VHFrVkZiSUdJQmxqbDV5akpSYmFHUld4dDR0RnAvUHRPNW5jaFg4Q08xM1dk?=
=?utf-8?B?bDRGSWdJQ0tkSlErYU1DdlphcVprbEhuUXJ4dWVZUWJtMEhHcG9WYjdpRkxi?=
=?utf-8?B?Q2RwRkdHQTR5TXRBU1VyVVcyY3R5c25jZWw0bjdELzFyVTdXd0R4bUwvOTRL?=
=?utf-8?B?YzNoc2x3UkhYa0UvWFVUSXVPR0l5WGlFaklwekdTS2c0Zk4yYXZtV1dUcDVV?=
=?utf-8?B?M3BHTUJGS0NidGZlN3ZmaEpMcWlsRTVMUEwvTS9ZN1JKVEY1SzFQT1RUK3ln?=
=?utf-8?B?VUgwUVVOenpxdUVjbTRkY0NaL3Z6UHVUR3Z0NHlmaU5tbytva0hXeGgySHM1?=
=?utf-8?B?VklPSmp1TGVtTlMvOEhHYk5KR0Zob0RGQ1lTMVpXeWh2R1g1N1IrWGd2blFI?=
=?utf-8?B?ajFidmtrR29KN3B4Z1l0L1ZnVUJqdHgvTytvbHFMTHRIeXFzMWxiOEkrS21p?=
=?utf-8?B?ZmphWnBVT0xsTTI0UlpkblNxVG8wSmZTbVgzSjBXYUFJVU54RFFteXExQ2lk?=
=?utf-8?B?Zy9rSXdEYktOTXRneEhSMW1DZDVrSkxQRFBhSTNyZmRTc3BFL2luWGxhaUZS?=
=?utf-8?B?ZmxZNk9QandLR0ZaZGw0RzRESWVhdnkvTVJrZnNSNVI4bWcyV0E3WEZETGx4?=
=?utf-8?B?bHNscldSdHpPcWlHVGhIZWEwN09oa0t4OFljdy84TjJ1eDB2TGsrWmoxY3Fw?=
=?utf-8?B?VTFLZWJxRWZsanFQY3V0OFJudmlQTHhYakc5SzRRSXZzdWNKTTQyTnE5VkVP?=
=?utf-8?B?SGV0MkJ4ajJwTmg2bFIvVFRBMi91eXUrR0M2R1JkampWZUdSNi9xSVhZUGVN?=
=?utf-8?B?OUVlKzU1ZWIrZVJUc3dVMHpIYlpXZDdFcTQwT3oxZ1dYMTJkcVgzaktpWktI?=
=?utf-8?B?Q3pFemN2TVh2OThmRUF4b0QxNzdHb3BXT3k0TjA3Y3pyN3QwTkFzZFJhOUNu?=
=?utf-8?B?SEVTV3BKcm82YVdKMGEvSWlKK3N4Nzd5SkZmL050U2k5ay9yMWRaQ1hsT1ZC?=
=?utf-8?B?SzFkamNib3FvZnV5bXVOcVEzS3N6VDNHbjV1cXgwcnNBckdIQ1l0dFFCV0N0?=
=?utf-8?B?Q3dIbkZOaG5keXNPc2Nield5amFKMW81bEZaVzBma0hiWW84UTRwNnVwazJV?=
=?utf-8?B?ZVQ1ME8veVlLZTNmQ0lYTGoxTVBJRmU3YWVhRXVNOGFRY1JEbkNtNmNUYXBx?=
=?utf-8?B?SEhrRVhRQTNQUTE1OFI0WHpGdlR2Z0RycllLcmNDZm14bitLOFhHcHErOFhm?=
=?utf-8?B?QUVaQU81ZklSczVqMWdRVkNmYVBXZDQzamR3cUJkRit0SW1CaWxjVWZydkZp?=
=?utf-8?B?ODlqb2krYmdJZEFQOGEzUE5ZejJ2Y1Y5cXhKUTNISHkzRWlXY0VWekFaS0RL?=
=?utf-8?B?UkpmWnd4QytnWFIwRnBVV2haUlk3NExTOEdNbW00T1pqS2hVYjNEeGNlUktL?=
=?utf-8?B?QXNKZzhXbkhMRTMzMlNhQURtV1Q3dGdwMjRwNFh1dDVadzY4WjdyQWQ4bEo3?=
=?utf-8?B?dUNtVWphWXdUQjR4Z0FVZ0FTa3N1c1dQN2cwZEtiMWlZNm5aUFNOZ3R4S0hR?=
=?utf-8?B?ZXZwS3ZXelN0MDUyZ2hZTndIa0JxWDZnTC9DU1FDWXZjanpqWms5NzQ2Z0s3?=
=?utf-8?Q?X5oJkrU4fE8hmL00l3gfrBKT8?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5957e9c6-00b3-4414-df1a-08dda3fad3c2
X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB9194.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 06:33:04.9143
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: U81HRWW5eVxALRpWnYM8j8t0ftotxsQarLWo7uj5mnsDQzTYpoSmrHXLJd99W9VlKAurScnkAeENQkiVXixmPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7508
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 20/5/25 09:57, Ashish Kalra wrote:
> From: Ashish Kalra <ashish.kalra@xxxxxxx>
>
> Ciphertext hiding needs to be enabled on SNP_INIT_EX.
>
> Add new argument to sev_platform_init_args to allow KVM module to
> specify during SNP initialization if CipherTextHiding feature is
> to be enabled and the maximum ASID usable for an SEV-SNP guest
> when CipherTextHiding feature is enabled.
>
> Add new API interface to indicate if SEV-SNP CipherTextHiding
> feature is supported by SEV firmware and additionally if
> CipherTextHiding feature is enabled in the Platform BIOS.
>
> Signed-off-by: Ashish Kalra <ashish.kalra@xxxxxxx>
> ---
> drivers/crypto/ccp/sev-dev.c | 30 +++++++++++++++++++++++++++---
> include/linux/psp-sev.h | 15 +++++++++++++--
> 2 files changed, 40 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/crypto/ccp/sev-dev.c b/drivers/crypto/ccp/sev-dev.c
> index b642f1183b8b..185668477182 100644
> --- a/drivers/crypto/ccp/sev-dev.c
> +++ b/drivers/crypto/ccp/sev-dev.c
> @@ -1074,6 +1074,24 @@ static void snp_set_hsave_pa(void *arg)
> wrmsrq(MSR_VM_HSAVE_PA, 0);
> }
>
> +bool sev_is_snp_ciphertext_hiding_supported(void)
> +{
> + struct psp_device *psp = psp_master;
> + struct sev_device *sev;
> +
> + sev = psp->sev_data;
> +
> + /*
> + * Feature information indicates if CipherTextHiding feature is
> + * supported by the SEV firmware and additionally platform status
> + * indicates if CipherTextHiding feature is enabled in the
> + * Platform BIOS.
> + */
> + return ((sev->feat_info.ecx & SNP_CIPHER_TEXT_HIDING_SUPPORTED) &&
> + sev->snp_plat_status.ciphertext_hiding_cap);
> +}
> +EXPORT_SYMBOL_GPL(sev_is_snp_ciphertext_hiding_supported);
> +
> static int snp_get_platform_data(struct sev_user_data_status *status, int *error)
> {
> struct sev_data_snp_feature_info snp_feat_info;
> @@ -1167,7 +1185,7 @@ static int snp_filter_reserved_mem_regions(struct resource *rs, void *arg)
> return 0;
> }
>
> -static int __sev_snp_init_locked(int *error)
> +static int __sev_snp_init_locked(int *error, unsigned int snp_max_snp_asid)
> {
> struct psp_device *psp = psp_master;
> struct sev_data_snp_init_ex data;
> @@ -1228,6 +1246,12 @@ static int __sev_snp_init_locked(int *error)
> }
>
> memset(&data, 0, sizeof(data));
> +
> + if (snp_max_snp_asid) {
> + data.ciphertext_hiding_en = 1;
> + data.max_snp_asid = snp_max_snp_asid;
> + }
> +
> data.init_rmp = 1;
> data.list_paddr_en = 1;
> data.list_paddr = __psp_pa(snp_range_list);
> @@ -1412,7 +1436,7 @@ static int _sev_platform_init_locked(struct sev_platform_init_args *args)
> if (sev->state == SEV_STATE_INIT)
> return 0;
>
> - rc = __sev_snp_init_locked(&args->error);
> + rc = __sev_snp_init_locked(&args->error, args->snp_max_snp_asid);
> if (rc && rc != -ENODEV)
> return rc;
>
> @@ -1495,7 +1519,7 @@ static int snp_move_to_init_state(struct sev_issue_cmd *argp, bool *shutdown_req
> {
> int error, rc;
>
> - rc = __sev_snp_init_locked(&error);
> + rc = __sev_snp_init_locked(&error, 0);
> if (rc) {
> argp->error = SEV_RET_INVALID_PLATFORM_STATE;
> return rc;
> diff --git a/include/linux/psp-sev.h b/include/linux/psp-sev.h
> index 0149d4a6aceb..66fecd0c0f88 100644
> --- a/include/linux/psp-sev.h
> +++ b/include/linux/psp-sev.h
> @@ -746,10 +746,13 @@ struct sev_data_snp_guest_request {
> struct sev_data_snp_init_ex {
> u32 init_rmp:1;
> u32 list_paddr_en:1;
> - u32 rsvd:30;
> + u32 rapl_dis:1;
> + u32 ciphertext_hiding_en:1;
> + u32 rsvd:28;
> u32 rsvd1;
> u64 list_paddr;
> - u8 rsvd2[48];
> + u16 max_snp_asid;
> + u8 rsvd2[46];
> } __packed;
>
> /**
> @@ -798,10 +801,13 @@ struct sev_data_snp_shutdown_ex {
> * @probe: True if this is being called as part of CCP module probe, which
> * will defer SEV_INIT/SEV_INIT_EX firmware initialization until needed
> * unless psp_init_on_probe module param is set
> + * @snp_max_snp_asid: maximum ASID usable for SEV-SNP guest if
> + * CipherTextHiding feature is to be enabled
> */
> struct sev_platform_init_args {
> int error;
> bool probe;
> + unsigned int snp_max_snp_asid;
> };
>
> /**
> @@ -841,6 +847,8 @@ struct snp_feature_info {
> u32 edx;
> } __packed;
>
> +#define SNP_CIPHER_TEXT_HIDING_SUPPORTED BIT(3)

SNP_FEATURE_CIPHER_TEXT_HIDING ?
or X86_FEATURE_CIPHER_TEXT_HIDING ?

In other words, mimic X86_FEATURE_SEV which is a real CPUID bit and FEATURE_INFO mimics CPUID. Thanks,


> +
> #ifdef CONFIG_CRYPTO_DEV_SP_PSP
>
> /**
> @@ -984,6 +992,7 @@ void *psp_copy_user_blob(u64 uaddr, u32 len);
> void *snp_alloc_firmware_page(gfp_t mask);
> void snp_free_firmware_page(void *addr);
> void sev_platform_shutdown(void);
> +bool sev_is_snp_ciphertext_hiding_supported(void);
>
> #else /* !CONFIG_CRYPTO_DEV_SP_PSP */
>
> @@ -1020,6 +1029,8 @@ static inline void snp_free_firmware_page(void *addr) { }
>
> static inline void sev_platform_shutdown(void) { }
>
> +static inline bool sev_is_snp_ciphertext_hiding_supported(void) { return false; }
> +
> #endif /* CONFIG_CRYPTO_DEV_SP_PSP */
>
> #endif /* __PSP_SEV_H__ */

--
Alexey



Return-Path: <linux-kernel+bounces-674123-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 00EA341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:34:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id EBD8A3ABD3C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:34:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 507531F7092;
Thu, 5 Jun 2025 06:34:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=foundries.io header.i=@foundries.io header.b="lpham7mT"
Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53])
(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 B1BAC8462
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:34:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.53
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105261; cv=none; b=cNhnbnIfXXfLUI+0oOJxKn6a4SV6GdFZvSo0bbk+LHxI/AHfhfzrQ/aIwhs2iqCpsjpWVAYLOrVLZJX1dT16b3Jog5sf0X8iCMbX7ZFIrNCHmhk54i79zJjQ+QzlSj+vpe9KyYJgYXTWzPiEP58u4bQ3pvKOMXCKdQKIVt/0r/E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105261; c=relaxed/simple;
bh=WBKeGzxGzzd9x0XUdV5HWMXtxw3JKDGOjRT4f4tNWF8=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=lb8jrklgwPv7agF40/4GgKWKq+a0yZ/xjVclSCrG0Z5NOfoZ5vj8nu3WjCdoGH1VgDMrfCNKVXo+ApYvSYcX2bfYGSbRUpE6NCGTq9VvaQzlEDzwIMt3cFHud5j8bPV7E1WSabUsW3LWzr5+zDB2cVns8I/Tu17kqeCW3HtA8kk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=foundries.io; spf=pass smtp.mailfrom=foundries.io; dkim=pass (2048-bit key) header.d=foundries.io header.i=@foundries.io header.b=lpham7mT; arc=none smtp.client-ip=209.85.167.53
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=foundries.io
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foundries.io
Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-5532a30ac41so681348e87.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:34:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=foundries.io; s=google; t=1749105258; x=1749710058; 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=FSYAF2WstzvPvCo4AlPKEcAwzeUBhl4r57KbdFFm/JE=;
b=lpham7mTESZl4ymp/NNBT2cDgtWiRaAzbJFkYJNvAOewq9680IxZM50qiej5AXg9SB
FuGm1mq2cBZd6Q+8FmsefN+ZpdmznhQfVXJGPPgCDL2QQ3J+JPD6QH68vrnPvqSDHYJz
qFGcqL7pnNkt+W+iOf8r3Vw2ARMUrj8d6NGO6YCxwCtOe0isA7x2ekwAKbKbdHPwFssl
UKIOrvLfVu4Y5uPCUy3VQhkGhCPcf/Xr8F4bQURwZw5IGLJjWh3Cs/R6bJhHygYogMV3
EaWdF4/jPOoAZlKxwvYIQ72FelITw+Z+f3yO0QQtC+J9W8+VE9KWYgfhAGmMOSMIHg7Q
4yEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749105258; x=1749710058;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=FSYAF2WstzvPvCo4AlPKEcAwzeUBhl4r57KbdFFm/JE=;
b=WljD7JsO42kcZvtttWWDJDW7mfUQGE8QPFIFZ/qYMbk0tZI91K4cDg4wynh7JCiiqE
vPhLVNMJI1ZUvGlOtapa2psVeBeM3a5UK4xjn4emxqnD7kvSvqc1dqO9AhkOxe5QBgrK
diksq1MLRTRgGszOeetU2bV6JfD6uRvtguW0jligfRrCeUn3TEbkz+4DVJ8+btwW0idE
OcpMSwqATcqaikWIH0r1T75lbUPzQJS/uIEB3fEj+AQSX1/L0WNeiF5ZPFDA+JBX7hBK
ucubxpGe3CzZ0zuQ5iLr6Wr1t8kh6KLlSOVffMUZOR0AGFplC5Wr6+c+rYVtpSl7Jwvc
yoUA==
X-Forwarded-Encrypted: i=1; AJvYcCWfwC1Y3Zb9niFMFw6QwiLC9wBvlG9EcCaPV0wzlrRde8frhry6umLqLUgXJ0l8w6Tm4BJt+80C6BIXsHk=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy5BToIy1YYO2L/L9DRbkQBWfw7Tjm2u7PO8YYb1bk8UfhdWXbd
fXCBPj1GILgf+sVyPf7e/RxkL6ActrdpGqTGPOUe5Axad/hz9dQVTz9iQH3aAvBjqXI=
X-Gm-Gg: ASbGncsGj/MZF1w+tHAa+8y3sFBnSlaSBMLtdI+3dfyqJY4ZM8qauhXnCJ+5Onhl/e0
sWrhuCJOhkJMPYgV9IU0fvdfDXT+eNIcGCj3BaOeisHeAgpelwHyLw5YKkoMrgbbN0y1cveJJB2
KqhLiXkWlB3A/WyKn9G0m43oRr5MUe43uajH48GsraL7CMY/blQ2qmsmjhT2ZR5ICXffo2qSheE
VVk00lYspEJ/CBBhhR00ziuTFBmMndvZCEbVucQBO1ekhRpzHO4kFwdpQ6lawvJYX15U9SEXzWw
hGJk8KsQ158eTn7IYq2cptdBUpcaI2nEU7Nny60/iYYcaMly51oGrNumeovgncejviwDhXvdKb2
Kq73P9DbTf2JIx5oClRl6wGM6j4lee1U1XEZK9qDshEaC
X-Google-Smtp-Source: AGHT+IEeoLpgJuAlO/Hd+Yo0ndJOTyX+6xSjbYLZNp63nindH9o3ENze5fCiwM3W+rGkVaSW9Rgplw==
X-Received: by 2002:ac2:4c4d:0:b0:54b:117b:b54b with SMTP id 2adb3069b0e04-55357bd6e59mr1492888e87.54.1749105257542;
Wed, 04 Jun 2025 23:34:17 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-553510f7402sm1025889e87.185.2025.06.04.23.34.15
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:34:17 -0700 (PDT)
Date: Thu, 5 Jun 2025 09:34:14 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxx>
To: Fenglin Wu <fenglin.wu@xxxxxxxxxxxxxxxx>
Cc: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>,
Sebastian Reichel <sre@xxxxxxxxxx>, Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>,
Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
Subbaraman Narayanamurthy <subbaraman.narayanamurthy@xxxxxxxxxxxxxxxx>, David Collins <david.collins@xxxxxxxxxxxxxxxx>,
linux-pm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx, linux-usb@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 2/8] power: supply: core: Add state_of_health power
supply property
Message-ID: <3ldf7w5cpv4wt63kvewl2a32abx4uohvir7zgefpqly5rytkcn@p5fslnvpnjn3>
References: <20250530-qcom_battmgr_update-v2-0-9e377193a656@xxxxxxxxxxxxxxxx>
<20250530-qcom_battmgr_update-v2-2-9e377193a656@xxxxxxxxxxxxxxxx>
<6oixvnhihgjucqaovkayzm6cpi35jfmtwmm67wa6h4nlmhr6w5@ggb7auvjzos2>
<cd2964b0-e28e-4ddb-b319-9b65fb78b73c@xxxxxxxxxxxxxxxx>
<p5nxjuexggzxttislcaum7vomawnq5fncos7itfib6ysvy6a4k@d5ywmfpqyk3s>
<994cb636-50b3-40f8-baaf-0b1afa2e7f53@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <994cb636-50b3-40f8-baaf-0b1afa2e7f53@xxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, Jun 05, 2025 at 02:08:30PM +0800, Fenglin Wu wrote:
>
> On 6/3/2025 6:35 PM, Dmitry Baryshkov wrote:
> > > > > +What: /sys/class/power_supply/<supply_name>/state_of_health
> > > > > +Date: May 2025
> > > > > +Contact: linux-arm-msm@xxxxxxxxxxxxxxx
> > > > > +Description:
> > > > > + Reports battery power supply state of health in percentage.
> > > > > +
> > > > > + Access: Read
> > > > > +
> > > > > + Valid values: 0 - 100 (percent)
> > > > What does it mean that battery has 77% of health?
> > > I will update this to explain it better:
> > >
> > > Reports battery power supply state of health in percentage, indicating that the maximum charge capacity has degraded to that percentage of its original designed capacity.
> > Which basically means that we don't need it in the first place, as we
> > can read capacity_full and capacity_full_design (or energy_full /
> > energy_full_design) and divide one onto another.
>
> Hmm, it is true in general to quantify how the battery performance has
> degraded over time. However, estimating and calculating for battery state of
> health is much more complicated I think. I am not an expert, but as far as I
> know, different battery management systems might have different algorithms
> to calculate the battery health and report it in as percentage. For example,
> in Qcom battery management firmware, a "soh" parameter is provided as the
> battery health percentage based on the real-time calculations from learning
> capacity, resistance estimation, etc.

Ack, this is more than just full / full_design. Please consider
expanding ABI description (though in the vendor-neutral way).

--
With best wishes
Dmitry


Return-Path: <linux-kernel+bounces-674124-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D78CE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:34:46 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 240103ABBE0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:34:25 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 45EB81F4CB2;
Thu, 5 Jun 2025 06:34:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="DIpn6Yhu"
Received: from fllvem-ot04.ext.ti.com (fllvem-ot04.ext.ti.com [198.47.19.246])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EBCC41876;
Thu, 5 Jun 2025 06:34:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.47.19.246
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105281; cv=none; b=WJ/54g8Dq9jWDb+DDrzR2vm0H3BZF+kqYkqKB5MPMwiwgU/Qk1AIxYxsWNP9tvPE6VUg8PvF7Rc9wV3l51Cwh1ymqBPgiv3GlkH76NNAe/Ch0ZNy/afqLVopDyoB/GttIJr/lsBYBVqKchtM+gPF0eeVKdQzhSpQs+cpOZDi49E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105281; c=relaxed/simple;
bh=HHWpE5lbbZL3wQiWIV78wYmIeZMoSTWyxTft+BH/zxM=;
h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=X1Thy0NQ/oEApdoHqyLTHQHCU/c54gNMsEj4E3/rU4megRer1s3xtgjtFecp3jZlu/fal3y31dwrIoiJsQ8UwV2tHBlMRakMWIQKDYESFdqWkpLAKgYuPPAZkuFA9+CEOAyjLQweSeYzF0QSmIEpGPzFLBf/RIwLVgYm2Rzuxsc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=DIpn6Yhu; arc=none smtp.client-ip=198.47.19.246
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com
Received: from fllvem-sh03.itg.ti.com ([10.64.41.86])
by fllvem-ot04.ext.ti.com (8.15.2/8.15.2) with ESMTP id 5556YPwI4016710;
Thu, 5 Jun 2025 01:34:25 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
s=ti-com-17Q1; t=1749105265;
bh=j8gvwH3NIbG+weltGI6t7kllgUJfe9fjGkzv21AdfIQ=;
h=From:To:CC:Subject:Date;
b=DIpn6YhuJ0VgtK51IzCVAhb8vyMWRtqp6V6+jdvFqK9CeAVTH3TprR/M2KYSgaUJq
7FXJmEvlpiCD9GF+hhDSEQdzNNWGO94LUf9DVjl+s/cKgrfcCZQkCkLnN32ugCRCKO
eLNvMhzzkHjkBFDp3760shM3fIiVMAd3moMQVmkY=
Received: from DFLE100.ent.ti.com (dfle100.ent.ti.com [10.64.6.21])
by fllvem-sh03.itg.ti.com (8.18.1/8.18.1) with ESMTPS id 5556YPFX622652
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=FAIL);
Thu, 5 Jun 2025 01:34:25 -0500
Received: from DFLE113.ent.ti.com (10.64.6.34) by DFLE100.ent.ti.com
(10.64.6.21) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Thu, 5
Jun 2025 01:34:24 -0500
Received: from lelvem-mr05.itg.ti.com (10.180.75.9) by DFLE113.ent.ti.com
(10.64.6.34) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via
Frontend Transport; Thu, 5 Jun 2025 01:34:24 -0500
Received: from localhost (chintan-thinkstation-p360-tower.dhcp.ti.com [172.24.227.220])
by lelvem-mr05.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5556YN7V3267399;
Thu, 5 Jun 2025 01:34:24 -0500
From: Chintan Vankar <c-vankar@xxxxxx>
To: Thorsten Blum <thorsten.blum@xxxxxxxxx>, Andrew Davis <afd@xxxxxx>,
Chintan Vankar <c-vankar@xxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>, Peter Rosin <peda@xxxxxxxxxx>
CC: <linux-kernel@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<s-vadapalli@xxxxxx>, <vigneshr@xxxxxx>, <nm@xxxxxx>,
<danishanwar@xxxxxx>
Subject: [PATCH 0/2] Add support for new property 'mux-reg-masks-state' for mmio mux
Date: Thu, 5 Jun 2025 12:04:20 +0530
Message-ID: <20250605063422.3813260-1-c-vankar@xxxxxx>
X-Mailer: git-send-email 2.34.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

This series extends mmio-mux driver's capability to configure driver in
with extended property.

In current driver implementation (mmio.c), driver is parsing register's
offset, mask and value from two different device tree property. In order
to configure mux register, these two properties should be synchronized
with each other, and this constraint makes it complex to modify or add
further entries for that memory region. To simplify this, add support for
a new property, "mux-reg-masks-state", which allows offset, mask, and
value to be specified together as a tuple, and remove the above
constraint.

This series is based on linux next tagged next-20250604.

Link to RFC series:
https://lore.kernel.org/r/20250304102306.2977836-1-c-vankar@xxxxxx/

Chintan Vankar (2):
devicetree: bindings: mux: reg-mux: Add support for new property
'mux-reg-masks-state'
mux: mmio: Extend mmio-mux driver to configure mux with
mux-reg-masks-state

.../devicetree/bindings/mux/reg-mux.yaml | 32 +++-
drivers/mux/mmio.c | 144 ++++++++++++++----
2 files changed, 148 insertions(+), 28 deletions(-)

--
2.34.1



Return-Path: <linux-kernel+bounces-674125-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7710C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:35:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E12D1189AE0D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:35:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B74511876;
Thu, 5 Jun 2025 06:34:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="xzPsG4NP"
Received: from lelvem-ot01.ext.ti.com (lelvem-ot01.ext.ti.com [198.47.23.234])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 15BF01F4C92;
Thu, 5 Jun 2025 06:34:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.47.23.234
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105284; cv=none; b=GMdj4/nXR6P9huZilt1AxchqoOS55z357fHFGY1fLZqzwit9ue4c0Do0g6rmjXvnQ5gOOPRmQBmzP2hoif0AxFCtl8VWQc/6YsQGCujJq7HowUyvcRLD/9+mx1STPO5uFAjZpk84o2mcqXkiSDcXtwZ9GXp1V/0tBGI5pKY731s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105284; c=relaxed/simple;
bh=K3vXgO1zlgvYeORcvU/rVn72uCLkgct3vUie0/EZOlk=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=Q4qMU3dXran8ZeRoIPfBNurn1/W6ViDCSaZqop3SILHcF56OA87Bko8jenA9Ww9NOL56n5rgk86TLVBW+nZY0TSf38F83Cr/UzwUAJj7N/SnKRqBqbFKpvSit63rk190OFQTNq8GdBDBf6yYqWvY8pBU3mKxw4CHdHfGcZ8UEJ4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=xzPsG4NP; arc=none smtp.client-ip=198.47.23.234
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com
Received: from fllvem-sh04.itg.ti.com ([10.64.41.54])
by lelvem-ot01.ext.ti.com (8.15.2/8.15.2) with ESMTP id 5556YQ1V985073;
Thu, 5 Jun 2025 01:34:26 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
s=ti-com-17Q1; t=1749105266;
bh=0g43eBPoit6Jtatj+4t9Bz21BhQHusi4cw3INLI08SM=;
h=From:To:CC:Subject:Date:In-Reply-To:References;
b=xzPsG4NPhHGGZh6VOAsaOPC5kuBSyLayiKf/oO2v4n3t/+wshW6p93ap5MFMubh9R
QE5CM6eGzL5V9Inp2dvObJOnTn3GgGsu7HxWFPVJGdSCXfFHbSeVn/E8PHw4a/n/yL
9vq8LxYGkg2enRWBrNckd77OeGk8uPc32fWe62OI=
Received: from DLEE113.ent.ti.com (dlee113.ent.ti.com [157.170.170.24])
by fllvem-sh04.itg.ti.com (8.18.1/8.18.1) with ESMTPS id 5556YQIn705750
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=FAIL);
Thu, 5 Jun 2025 01:34:26 -0500
Received: from DLEE113.ent.ti.com (157.170.170.24) by DLEE113.ent.ti.com
(157.170.170.24) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Thu, 5
Jun 2025 01:34:26 -0500
Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DLEE113.ent.ti.com
(157.170.170.24) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via
Frontend Transport; Thu, 5 Jun 2025 01:34:26 -0500
Received: from localhost (chintan-thinkstation-p360-tower.dhcp.ti.com [172.24.227.220])
by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5556YPlk3167878;
Thu, 5 Jun 2025 01:34:25 -0500
From: Chintan Vankar <c-vankar@xxxxxx>
To: Thorsten Blum <thorsten.blum@xxxxxxxxx>, Andrew Davis <afd@xxxxxx>,
Chintan Vankar <c-vankar@xxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>, Peter Rosin <peda@xxxxxxxxxx>
CC: <linux-kernel@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<s-vadapalli@xxxxxx>, <vigneshr@xxxxxx>, <nm@xxxxxx>,
<danishanwar@xxxxxx>
Subject: [PATCH 1/2] devicetree: bindings: mux: reg-mux: Add support for new property 'mux-reg-masks-state'
Date: Thu, 5 Jun 2025 12:04:21 +0530
Message-ID: <20250605063422.3813260-2-c-vankar@xxxxxx>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250605063422.3813260-1-c-vankar@xxxxxx>
References: <20250605063422.3813260-1-c-vankar@xxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

The DT binding for reg-mux currenly requires specifying register offset
and masks in the "mux-reg-masks" property, while corresponding register
values are defined in the "idle-states" property. This approach imposes a
constraint where "mux-reg-masks" and "idle-states" must remain
synchroniszed, adding complexity when configuring specific registers or a
set of registers with large memory spaces.

Add support of a new property "mux-reg-masks-state" to remove this
constraint, allowing offset, mask and value to be specified together as a
tuple.

Signed-off-by: Chintan Vankar <c-vankar@xxxxxx>
---
.../devicetree/bindings/mux/reg-mux.yaml | 32 +++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/mux/reg-mux.yaml b/Documentation/devicetree/bindings/mux/reg-mux.yaml
index dc4be092fc2f..b029e2f28df0 100644
--- a/Documentation/devicetree/bindings/mux/reg-mux.yaml
+++ b/Documentation/devicetree/bindings/mux/reg-mux.yaml
@@ -32,11 +32,39 @@ properties:
- description: pre-shifted bitfield mask
description: Each entry pair describes a single mux control.

- idle-states: true
+ idle-states:
+ description: Each entry describes mux register state.
+
+ mux-reg-masks-state:
+ $ref: /schemas/types.yaml#/definitions/uint32-matrix
+ items:
+ items:
+ - description: register offset
+ - description: pre-shifted bitfield mask
+ - description: register value to be set
+ description: This property is an extension of mux-reg-masks which
+ allows specifying register offset, mask and register
+ value to be set.
+
+allOf:
+ - oneOf:
+ - required: [mux-reg-masks]
+ - required: [mux-reg-masks-state]
+
+ - if:
+ required: [mux-reg-masks-state]
+ then:
+ not:
+ required: [idle-states]
+
+ - if:
+ required: [mux-reg-masks]
+ then:
+ properties:
+ idle-states: true

required:
- compatible
- - mux-reg-masks
- '#mux-control-cells'

additionalProperties: false
--
2.34.1



Return-Path: <linux-kernel+bounces-674126-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0867541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:35:11 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id C5474189B019
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:35:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B9B071FCCF8;
Thu, 5 Jun 2025 06:34:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="UFJEjFg/"
Received: from lelvem-ot02.ext.ti.com (lelvem-ot02.ext.ti.com [198.47.23.235])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2974F1F5851;
Thu, 5 Jun 2025 06:34:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.47.23.235
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105284; cv=none; b=An1oC490Rq29K7g/ECJmfn/RcNZGXrBGUt2xpVLwOzloIVWlW3m44I24JQMRW/w01uCyeYOHJchYMX1wEhQzNNG7Fn6Dxbmwgh+si2UqgtG1NJqjYsets7GFjZYOeiGDpJH7IlC2OKQ8d5R3kvcbtuXH9xhqFLvYW4QbFLZJh5E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105284; c=relaxed/simple;
bh=ErRqqOpxwfW0w7fNXw2IiWrQLMr6NeAPAay0w6kuoGI=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=omY/TQacF8Dj3FI8sszVR+swBjoK0jF2b/ZB5eFFbDG9b5713eT0I7DOM5rtmcbte4M+vhnBJFH13vDCaJg4DnV8w2q767ulbKG8H3Q3JN8LlweE1CVCtHB3lgh35c2fEvsVxSh4855EP7OiX8V8t0F/hj04nTWjCTKQpTa2fYE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=UFJEjFg/; arc=none smtp.client-ip=198.47.23.235
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com
Received: from lelvem-sh02.itg.ti.com ([10.180.78.226])
by lelvem-ot02.ext.ti.com (8.15.2/8.15.2) with ESMTP id 5556YS3U4007522;
Thu, 5 Jun 2025 01:34:28 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
s=ti-com-17Q1; t=1749105268;
bh=IPhBSTGoRyJcgG/sdbW/2eUB7XpXWt8lVYIybtfRXgo=;
h=From:To:CC:Subject:Date:In-Reply-To:References;
b=UFJEjFg/FjLdTVgfPr1hFvHe/u3v/ijr/APoEXTeEUNc7WtO5fAud9aIyEeR46/iU
EfODxF304M94H87/t/nLdJo73EjoZFydi4XV4511wZWVOqLuuHIjNyL0cAkrqG2B/b
QzoAPiZwihvk98OrUjRDZJrj1sLiraM/2JgUGbPw=
Received: from DLEE106.ent.ti.com (dlee106.ent.ti.com [157.170.170.36])
by lelvem-sh02.itg.ti.com (8.18.1/8.18.1) with ESMTPS id 5556YSC82575129
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=FAIL);
Thu, 5 Jun 2025 01:34:28 -0500
Received: from DLEE114.ent.ti.com (157.170.170.25) by DLEE106.ent.ti.com
(157.170.170.36) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Thu, 5
Jun 2025 01:34:27 -0500
Received: from lelvem-mr05.itg.ti.com (10.180.75.9) by DLEE114.ent.ti.com
(157.170.170.25) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via
Frontend Transport; Thu, 5 Jun 2025 01:34:27 -0500
Received: from localhost (chintan-thinkstation-p360-tower.dhcp.ti.com [172.24.227.220])
by lelvem-mr05.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5556YQUu3267438;
Thu, 5 Jun 2025 01:34:27 -0500
From: Chintan Vankar <c-vankar@xxxxxx>
To: Thorsten Blum <thorsten.blum@xxxxxxxxx>, Andrew Davis <afd@xxxxxx>,
Chintan Vankar <c-vankar@xxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>, Peter Rosin <peda@xxxxxxxxxx>
CC: <linux-kernel@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<s-vadapalli@xxxxxx>, <vigneshr@xxxxxx>, <nm@xxxxxx>,
<danishanwar@xxxxxx>
Subject: [PATCH 2/2] mux: mmio: Extend mmio-mux driver to configure mux with mux-reg-masks-state
Date: Thu, 5 Jun 2025 12:04:22 +0530
Message-ID: <20250605063422.3813260-3-c-vankar@xxxxxx>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250605063422.3813260-1-c-vankar@xxxxxx>
References: <20250605063422.3813260-1-c-vankar@xxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

MMIO mux driver is designed to parse "mux-reg-masks" and "idle-states"
property independently to configure mux. The current design is complex for
the devices with larger memory space, which requires synchronization
between the two properties.

Extend mmio-mux driver to support a single property, "mux-reg-masks-state"
which configures mux registers without above constraint.

Signed-off-by: Chintan Vankar <c-vankar@xxxxxx>
---
drivers/mux/mmio.c | 144 +++++++++++++++++++++++++++++++++++++--------
1 file changed, 118 insertions(+), 26 deletions(-)

diff --git a/drivers/mux/mmio.c b/drivers/mux/mmio.c
index 9993ce38a818..5ce9c16fd431 100644
--- a/drivers/mux/mmio.c
+++ b/drivers/mux/mmio.c
@@ -2,7 +2,7 @@
/*
* MMIO register bitfield-controlled multiplexer driver
*
- * Copyright (C) 2017 Pengutronix, Philipp Zabel <kernel@xxxxxxxxxxxxxx>
+ * Copyright (C) 2017-2025 Pengutronix, Philipp Zabel <kernel@xxxxxxxxxxxxxx>
*/

#include <linux/bitops.h>
@@ -39,10 +39,83 @@ static const struct regmap_config mux_mmio_regmap_cfg = {
.reg_stride = 4,
};

+static int reg_mux_get_controllers(const struct device_node *np, char *prop_name)
+{
+ int ret;
+
+ ret = of_property_count_u32_elems(np, prop_name);
+ if (ret == 0 || ret % 2)
+ ret = -EINVAL;
+
+ return ret;
+}
+
+static int reg_mux_get_controllers_extended(const struct device_node *np, char *prop_name)
+{
+ int ret;
+
+ ret = of_property_count_u32_elems(np, prop_name);
+ if (ret == 0 || ret % 3)
+ ret = -EINVAL;
+
+ return ret;
+}
+
+static int reg_mux_parse_dt(const struct device_node *np, bool *mux_reg_masks_state,
+ int *num_fields)
+{
+ int ret;
+
+ if (of_property_present(np, "mux-reg-masks-state")) {
+ *mux_reg_masks_state = true;
+ ret = reg_mux_get_controllers_extended(np, "mux-reg-masks-state");
+ if (ret < 0)
+ return ret;
+ *num_fields = ret / 3;
+ } else {
+ ret = reg_mux_get_controllers(np, "mux-reg-masks");
+ if (ret < 0)
+ return ret;
+ *num_fields = ret / 2;
+ }
+ return ret;
+}
+
+static int mux_reg_set_parameters(const struct device_node *np, char *prop_name, u32 *reg,
+ u32 *mask, int index)
+{
+ int ret;
+
+ ret = of_property_read_u32_index(np, prop_name, 2 * index, reg);
+ if (!ret)
+ ret = of_property_read_u32_index(np, prop_name, 2 * index + 1, mask);
+
+ return ret;
+}
+
+static int mux_reg_set_parameters_extended(const struct device_node *np, char *prop_name, u32 *reg,
+ u32 *mask, u32 *state, int index)
+{
+ int ret;
+
+ ret = of_property_read_u32_index(np, prop_name, 3 * index, reg);
+ if (ret < 0)
+ return ret;
+
+ ret = of_property_read_u32_index(np, prop_name, 3 * index + 1, mask);
+ if (ret < 0)
+ return ret;
+
+ ret = of_property_read_u32_index(np, prop_name, 3 * index + 2, state);
+
+ return ret;
+}
+
static int mux_mmio_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct device_node *np = dev->of_node;
+ bool mux_reg_masks_state = false;
struct regmap_field **fields;
struct mux_chip *mux_chip;
struct regmap *regmap;
@@ -70,15 +143,16 @@ static int mux_mmio_probe(struct platform_device *pdev)
return dev_err_probe(dev, PTR_ERR(regmap),
"failed to get regmap\n");

- ret = of_property_count_u32_elems(np, "mux-reg-masks");
- if (ret == 0 || ret % 2)
- ret = -EINVAL;
+ ret = reg_mux_parse_dt(np, &mux_reg_masks_state, &num_fields);
if (ret < 0) {
- dev_err(dev, "mux-reg-masks property missing or invalid: %d\n",
- ret);
+ if (mux_reg_masks_state)
+ dev_err(dev, "mux-reg-masks-state property missing or invalid: %d\n",
+ ret);
+ else
+ dev_err(dev, "mux-reg-masks property missing or invalid: %d\n",
+ ret);
return ret;
}
- num_fields = ret / 2;

mux_chip = devm_mux_chip_alloc(dev, num_fields, num_fields *
sizeof(*fields));
@@ -90,19 +164,25 @@ static int mux_mmio_probe(struct platform_device *pdev)
for (i = 0; i < num_fields; i++) {
struct mux_control *mux = &mux_chip->mux[i];
struct reg_field field;
- s32 idle_state = MUX_IDLE_AS_IS;
+ s32 state, idle_state = MUX_IDLE_AS_IS;
u32 reg, mask;
int bits;

- ret = of_property_read_u32_index(np, "mux-reg-masks",
- 2 * i, &reg);
- if (!ret)
- ret = of_property_read_u32_index(np, "mux-reg-masks",
- 2 * i + 1, &mask);
- if (ret < 0) {
- dev_err(dev, "bitfield %d: failed to read mux-reg-masks property: %d\n",
- i, ret);
- return ret;
+ if (!mux_reg_masks_state) {
+ ret = mux_reg_set_parameters(np, "mux-reg-masks", &reg, &mask, i);
+ if (ret < 0) {
+ dev_err(dev, "bitfield %d: failed to read mux-reg-masks property: %d\n",
+ i, ret);
+ return ret;
+ }
+ } else {
+ ret = mux_reg_set_parameters_extended(np, "mux-reg-masks-state", &reg,
+ &mask, &state, i);
+ if (ret < 0) {
+ dev_err(dev, "bitfield %d: failed to read custom-states property: %d\n",
+ i, ret);
+ return ret;
+ }
}

field.reg = reg;
@@ -126,16 +206,28 @@ static int mux_mmio_probe(struct platform_device *pdev)
bits = 1 + field.msb - field.lsb;
mux->states = 1 << bits;

- of_property_read_u32_index(np, "idle-states", i,
- (u32 *)&idle_state);
- if (idle_state != MUX_IDLE_AS_IS) {
- if (idle_state < 0 || idle_state >= mux->states) {
- dev_err(dev, "bitfield: %d: out of range idle state %d\n",
- i, idle_state);
- return -EINVAL;
+ if (!mux_reg_masks_state) {
+ of_property_read_u32_index(np, "idle-states", i,
+ (u32 *)&idle_state);
+ if (idle_state != MUX_IDLE_AS_IS) {
+ if (idle_state < 0 || idle_state >= mux->states) {
+ dev_err(dev, "bitfield: %d: out of range idle state %d\n",
+ i, idle_state);
+ return -EINVAL;
+ }
+
+ mux->idle_state = idle_state;
+ }
+ } else {
+ if (state != MUX_IDLE_AS_IS) {
+ if (state < 0 || state >= mux->states) {
+ dev_err(dev, "bitfield: %d: out of range idle state %d\n",
+ i, state);
+ return -EINVAL;
+ }
+
+ mux->idle_state = state;
}
-
- mux->idle_state = idle_state;
}
}

--
2.34.1



Return-Path: <linux-kernel+bounces-674127-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BE5FC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:35:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id AFCCD1660C7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:35:29 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 32EE61E2823;
Thu, 5 Jun 2025 06:35:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=canb.auug.org.au header.i=@canb.auug.org.au header.b="dvbccyEw"
Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D2F071876;
Thu, 5 Jun 2025 06:35:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=150.107.74.76
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105322; cv=none; b=tNZAJu7Z2jan+bIIheI1E0WgG/jQ2Gb4FiMEpwf06RceVD3ZkaUm5XEuhfZXmcjsWvsdkYF/Mt9gndelZhr02dZq+tDFupHrh/ixAsy3MHTWABLJDcGzkPAEz2zy7+Youd4YClg0nKYmkUHQyyslWn8u5W1/nAIQt2VM+yJK4eU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105322; c=relaxed/simple;
bh=xtl04Ru3+hySUvvsxwfudo+3sMxK5la2F+9A+Q0D4Vk=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type; b=EKbXXnXeECe+OlD9DKZdlSyY39M7tfd31QBxByvk3qRIurfRHCQjJSGuyn0wRBbTKB1SZQaZY0jb5QkMURM7IBTaYQBXRUXZ2mH6WbOrV1nuzoLP1MNWaUnopeKrME6adzA+9FHE57VXzh/iXODt8FXpkF8DYAgO4AlWt5uHxTs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canb.auug.org.au; spf=pass smtp.mailfrom=canb.auug.org.au; dkim=pass (2048-bit key) header.d=canb.auug.org.au header.i=@canb.auug.org.au header.b=dvbccyEw; arc=none smtp.client-ip=150.107.74.76
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canb.auug.org.au
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=canb.auug.org.au
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au;
s=202503; t=1749105315;
bh=Z0a5pRAqENCInUSAGi71Pcld7tarEoX9Yzz8XCJFZ8I=;
h=Date:From:To:Cc:Subject:From;
b=dvbccyEwRo3ZQLA8uRHDcmYpN1YYH+TFUl223JQOxjFhrwENVPHxnR7WAN4FG9Js5
GYXotnh6sS6gulktEqvPIFwAis/3eBCfoRbyXT7NbtIAOrhsQrtaT91hSxnMDy2EAm
7NFyJltpzN+igd090hiL4u4oO/82CzeVp9X5VPI6eeeZKJyEFLELyErAKvIFNH2lqP
fsEohmPxuPhC/NRdIbEmM/k1U3GzGfDN85ruy7Zw3HjQNup8Ix8IA7nnxVq7uGNmfD
MUjcYcy1Lfb+G2i8Y6e+VuzsjWhrZF8goYT09UzITzdOlobKdnHB+JTaviNLlIdz6y
2Nm5U5DdlAU2A==
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(Client did not present a certificate)
by mail.ozlabs.org (Postfix) with ESMTPSA id 4bCZSf0qbkz4wvb;
Thu, 5 Jun 2025 16:35:13 +1000 (AEST)
Date: Thu, 5 Jun 2025 16:35:13 +1000
From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
To: Palmer Dabbelt <palmer@xxxxxxxxxxx>, Paul Walmsley <paul@xxxxxxxxx>
Cc: Cyril Bur <cyrilbur@xxxxxxxxxxxxxxx>, Alexandre Ghiti
<alexghiti@xxxxxxxxxxxx>, Linux Kernel Mailing List
<linux-kernel@xxxxxxxxxxxxxxx>, Linux Next Mailing List
<linux-next@xxxxxxxxxxxxxxx>
Subject: linux-next: Fixes tag needs some work in the risc-v tree
Message-ID: <20250605163513.7cfb7f2b@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/1cRZFh3OSivbt/CiHWDPuSv";
protocol="application/pgp-signature"; micalg=pgp-sha256
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

--Sig_/1cRZFh3OSivbt/CiHWDPuSv
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hi all,

In commit

4e27ce58e7fa ("riscv: uaccess: Only restore the CSR_STATUS SUM bit")

Fixes tag

Fixes: 788aa64c0c01 ("riscv: save the SR_SUM status over switches")

has these problem(s):

- Target SHA1 does not exist

Maybe you meant

Fixes: b0feecf5b812 ("riscv: save the SR_SUM status over switches")
Fixes: 788aa64c01f1 ("riscv: save the SR_SUM status over switches")
or
Fixes: 8f9b274ad153 ("riscv: save the SR_SUM status over switches")

(yes, they are all the same patch ... and all ancestors of 4e27ce58e7fa)
--=20
Cheers,
Stephen Rothwell

--Sig_/1cRZFh3OSivbt/CiHWDPuSv
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmhBOqEACgkQAVBC80lX
0GxsMQf+MXtDlHfmRRDgOpGhXmwyGPpy4naV2ndns0BZklyUjuDpBlq5/TZLd4DC
WgYNGBw05mrgQJrDnJM61zraLNC4oljrMQWIR7NgTrSOqXQ44QLKunQL04M0JEAV
gVL/5cPbZsh1xlgr4WQGP5/SWr+VAt8N/KJ72hsSv0SZTUGmgjhs4mUkyZUFVeNc
52PmEua1mdjPB7jlI5CwrSzP1yxIYR+doZo4O4wiPaKTS/ROe8tUYvBp3OXIXS2y
6XVsDPKH+8QpmYF1XFiKLWdpgwgo9C9t2dEITT7+9pts0iBXGiXQDjGQY2Ups+e7
tWCqS+E4rO6MKGR3YhuP69YhK2G0AQ==
=Q/Uq
-----END PGP SIGNATURE-----

--Sig_/1cRZFh3OSivbt/CiHWDPuSv--


Return-Path: <linux-kernel+bounces-674128-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E2A8C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:35:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 88AB3189ABFC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:35:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9A3291F8BD6;
Thu, 5 Jun 2025 06:35:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="Y0GRIczJ"
Received: from fllvem-ot03.ext.ti.com (fllvem-ot03.ext.ti.com [198.47.19.245])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6CFBB1F4C92;
Thu, 5 Jun 2025 06:35:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.47.19.245
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105323; cv=none; b=B34WrqsZH48NRa9G/8FLKlB/cJ5wkSprKlWwYI+WaPSrvoTBIktQ6sp+9HXlj6FhWiaHHz+YlRiDy5nbowqulDbl/myIOpAwSLRbEjxwnwruMSAkBYcEworHFhADZYFOvOqhQaZw7snE4vSiiOVuD6Xm3C0oKBPS4f+MKlEfzR0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105323; c=relaxed/simple;
bh=cXr60sN9FBBYwGnGouNmKQYCshKBhQvfEy+CevEsWjU=;
h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=BGeSL3gldWQbn6jYFoRijvxQaNFqV4Zjgj17VPDB34g3uzE56jGv6rUkT+L0qWnCWBAKTOaWVF2D8BkFZODQHoBO814+Dm3UKneETt3AAOnQuIE7Z+NFMjwBLQs270NALTUle+6F5JeyvoBKccF7T1ANOuCWocVGBDm/FdZ0Xbo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=Y0GRIczJ; arc=none smtp.client-ip=198.47.19.245
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com
Received: from lelvem-sh01.itg.ti.com ([10.180.77.71])
by fllvem-ot03.ext.ti.com (8.15.2/8.15.2) with ESMTP id 5556ZBIG1031472;
Thu, 5 Jun 2025 01:35:11 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
s=ti-com-17Q1; t=1749105311;
bh=kbCOyIxCpnaE8Cfg+DoqPNyQm2IjwjvAEIhJ23+mq04=;
h=From:To:CC:Subject:Date;
b=Y0GRIczJqm0Ss3af5D4K+1T2sfQyU99zS98KTwu3Bq1XFLrVhudTTAs20QstMOtQH
wjRKNu/MNN0BiP7letipH1mb5lkwXqbo0wKLFRCaKnLQ8/PNY4L+iYy4K0IWvYuuG4
mjmbVUQrdtzDIWwswqXHd0r4Q30i4/J1apRpzppk=
Received: from DLEE108.ent.ti.com (dlee108.ent.ti.com [157.170.170.38])
by lelvem-sh01.itg.ti.com (8.18.1/8.18.1) with ESMTPS id 5556ZBFR948533
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=FAIL);
Thu, 5 Jun 2025 01:35:11 -0500
Received: from DLEE113.ent.ti.com (157.170.170.24) by DLEE108.ent.ti.com
(157.170.170.38) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Thu, 5
Jun 2025 01:35:11 -0500
Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DLEE113.ent.ti.com
(157.170.170.24) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via
Frontend Transport; Thu, 5 Jun 2025 01:35:11 -0500
Received: from a0497641-HP-Z2-Tower-G9-Workstation-Desktop-PC.dhcp.ti.com (a0497641-hp-z2-tower-g9-workstation-desktop-pc.dhcp.ti.com [10.24.69.37] (may be forged))
by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5556Z7VY3168702;
Thu, 5 Jun 2025 01:35:08 -0500
From: Neha Malcom Francis <n-francis@xxxxxx>
To: <nm@xxxxxx>, <vigneshr@xxxxxx>, <kristo@xxxxxxxxxx>, <robh@xxxxxxxxxx>,
<krzk+dt@xxxxxxxxxx>, <conor+dt@xxxxxxxxxx>
CC: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <u-kumar1@xxxxxx>, <n-francis@xxxxxx>
Subject: [PATCH v4 0/2] Add support for K3 BIST
Date: Thu, 5 Jun 2025 12:05:04 +0530
Message-ID: <20250605063506.2005637-1-n-francis@xxxxxx>
X-Mailer: git-send-email 2.34.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

BIST (Built-In Self Test) is an IP responsible for triggering hardware
circuitry tests on both logic as well as memory blocks. This driver is
currently being upstreamed in U-Boot [1] (on hold till the dt-binding
is approved here) and triggers these tests on cores. This patch series
adds the dt-binding as well as a node for BIST on J784S4 and J742S2.

Changes since v3:
https://lore.kernel.org/all/20250514072056.639346-1-n-francis@xxxxxx/
- Udit
- add support for J742S2

Changes since v2:
https://lore.kernel.org/all/20250328111439.374748-1-n-francis@xxxxxx/
- Krzysztof
- use existing common definition (ti,sci-dev-id) for grabbing
the device ID instead of redefining properties

Changes since v1:
https://lore.kernel.org/all/20241128140825.263216-1-n-francis@xxxxxx/
- Krzysztof
- move from misc/ to soc/ti/
- minor property changes
- drop ti,bist-instance and instead opt for ti,bist-under-test
- correct example dt

[1] https://lore.kernel.org/all/20250204123147.939917-1-n-francis@xxxxxx/

Neha Malcom Francis (2):
dt-bindings: soc: ti: bist: Add BIST for K3 devices
arm64: dts: ti: k3-j784s4-j742s2-main-common: Add PBIST_14 node

.../bindings/soc/ti/ti,j784s4-bist.yaml | 63 +++++++++++++++++++
.../dts/ti/k3-j784s4-j742s2-main-common.dtsi | 11 ++++
2 files changed, 74 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/ti/ti,j784s4-bist.yaml

--
2.34.1



Return-Path: <linux-kernel+bounces-674129-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7A63641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:35:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id C78E6168724
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:35:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 440711F4E48;
Thu, 5 Jun 2025 06:35:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="JHy/TmF+"
Received: from fllvem-ot03.ext.ti.com (fllvem-ot03.ext.ti.com [198.47.19.245])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 091F61F4626;
Thu, 5 Jun 2025 06:35:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.47.19.245
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105329; cv=none; b=D7mSBIm5vQpxON4NIZSjIKNSwtzckyV8oXV1U3jwoTTJk+XmAhj/7NOD+Zcc3vREpil69ngMqqFvAeKAMKg1GC4yttBN1eoVQ15/vy1vKZRK3yEG0d0MXdTeu/iW+XBMomHxDp1+su1lZHwgf0A8S/hxF9F0Xavq9xSGG7PNj1Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105329; c=relaxed/simple;
bh=0NDZlSjwj7JeXYucz/nNwwdorPxcDXzfwZb4HakkOQc=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=bzKZYbuqt2JTBP1yopZobfdgsPMF9HPMNb57IZ1XEg8gr95v1qVlIga4kkyM9mF/4eG1ppaskv+s72BDc1F20Ckg5DcWnsyQISENFR4D5hRkyyqJ0qr76jb/BDzR7DiND98ok0AscNUsGAPBKs0npTSsD3F1ijmo1GV3ivSOsaA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=JHy/TmF+; arc=none smtp.client-ip=198.47.19.245
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com
Received: from lelvem-sh01.itg.ti.com ([10.180.77.71])
by fllvem-ot03.ext.ti.com (8.15.2/8.15.2) with ESMTP id 5556ZJwj1031528;
Thu, 5 Jun 2025 01:35:19 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
s=ti-com-17Q1; t=1749105319;
bh=ZLwho06vrhR2st2QbPaI2lCYTW/PqUtL05pCheR4f6I=;
h=From:To:CC:Subject:Date:In-Reply-To:References;
b=JHy/TmF+N5zOIkgG/JkWvCtoShNuSUSQ4WJlDioN7kZzmDai/icZz1q1MkLQpIER/
+YrJpdo5B3rdtyjoEuHKFUjtY3zzoUvv2yZf+K+MKfZUVgBc5WRyf5V4gBJKGKNndQ
D5CDbJCVS0142sBuXczgvNaBOyK8NPXLfcn4iE0M=
Received: from DLEE100.ent.ti.com (dlee100.ent.ti.com [157.170.170.30])
by lelvem-sh01.itg.ti.com (8.18.1/8.18.1) with ESMTPS id 5556ZJY3948598
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=FAIL);
Thu, 5 Jun 2025 01:35:19 -0500
Received: from DLEE100.ent.ti.com (157.170.170.30) by DLEE100.ent.ti.com
(157.170.170.30) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Thu, 5
Jun 2025 01:35:18 -0500
Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DLEE100.ent.ti.com
(157.170.170.30) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via
Frontend Transport; Thu, 5 Jun 2025 01:35:18 -0500
Received: from a0497641-HP-Z2-Tower-G9-Workstation-Desktop-PC.dhcp.ti.com (a0497641-hp-z2-tower-g9-workstation-desktop-pc.dhcp.ti.com [10.24.69.37] (may be forged))
by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5556Z7Va3168702;
Thu, 5 Jun 2025 01:35:15 -0500
From: Neha Malcom Francis <n-francis@xxxxxx>
To: <nm@xxxxxx>, <vigneshr@xxxxxx>, <kristo@xxxxxxxxxx>, <robh@xxxxxxxxxx>,
<krzk+dt@xxxxxxxxxx>, <conor+dt@xxxxxxxxxx>
CC: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <u-kumar1@xxxxxx>, <n-francis@xxxxxx>
Subject: [PATCH v4 2/2] arm64: dts: ti: k3-j784s4-j742s2-main-common: Add PBIST_14 node
Date: Thu, 5 Jun 2025 12:05:06 +0530
Message-ID: <20250605063506.2005637-3-n-francis@xxxxxx>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250605063506.2005637-1-n-francis@xxxxxx>
References: <20250605063506.2005637-1-n-francis@xxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Add DT node for PBIST_14 that is responsible for triggering the PBIST
self-tests for the MAIN_R5_2_x cores.

Reviewed-by: Udit Kumar <u-kumar1@xxxxxx>
Signed-off-by: Neha Malcom Francis <n-francis@xxxxxx>
---
Changes since v3:
- add support for J742S2 as well by moving node to common DTSI

.../boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
index 1944616ab357..50954e9d5779 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
@@ -2670,4 +2670,15 @@ mcasp4: mcasp@2b40000 {
power-domains = <&k3_pds 269 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
};
+
+ bist_main14: bist@33c0000 {
+ compatible = "ti,j784s4-bist";
+ reg = <0x00 0x033c0000 0x00 0x400>,
+ <0x00 0x0010c1a0 0x00 0x01c>;
+ reg-names = "cfg", "ctrl_mmr";
+ clocks = <&k3_clks 237 7>;
+ power-domains = <&k3_pds 237 TI_SCI_PD_EXCLUSIVE>;
+ bootph-pre-ram;
+ ti,sci-dev-id = <234>;
+ };
};
--
2.34.1



Return-Path: <linux-kernel+bounces-674130-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4BFC241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:35:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id F3E90189AEDC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:36:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EFB6A1FF1AD;
Thu, 5 Jun 2025 06:35:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="T2LNqz+h"
Received: from fllvem-ot03.ext.ti.com (fllvem-ot03.ext.ti.com [198.47.19.245])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8749B1F4CB2;
Thu, 5 Jun 2025 06:35:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.47.19.245
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105330; cv=none; b=LnjjROOVeIAsuD4tviTvyefgHjRBfEJDTcMcV+3fXyTAfqbeU4PGsxF3TQSs75Q89hkMADk3Plr7U29czoVl1wdVPUNrb+A/zWYLyK/gw9QeZNW+g6bmJZMOGmRdsdyIj2Xo9SlvHEF9adp/5RygX1h0ezvzl84q6iVBzQojUMk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105330; c=relaxed/simple;
bh=ZJuuSfRbNuq0z7gSinlL+Y01t6POZtQPkzIccMqJB1s=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=Wu4YA1Ii3dGGCYWSMt87sWTr6b+FiyUdizpJxrngEsohcWsRBU9SS7BzN53WVPEFE7juuOyFdJManRe1KuKoE8KyEjxxWUdptdEBdVUC3t0LybosTSiSmpm8GQgoLS8RKZRI3PcUltRYzehcideoO01xQqjlptEP20XXNKUn2JQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=T2LNqz+h; arc=none smtp.client-ip=198.47.19.245
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com
Received: from lelvem-sh01.itg.ti.com ([10.180.77.71])
by fllvem-ot03.ext.ti.com (8.15.2/8.15.2) with ESMTP id 5556ZFPm1031508;
Thu, 5 Jun 2025 01:35:15 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
s=ti-com-17Q1; t=1749105315;
bh=8bbn5Q3XSuNaGGEOu1W5P3SYFc2Dd2MiUKvE+QwaI/c=;
h=From:To:CC:Subject:Date:In-Reply-To:References;
b=T2LNqz+hLs0EGw+wDrULIgS6CMdi2rxI7/A2VLKwYiDf6UwA0OXak9hrs18YTHL2R
ObelECI/VRXx8+6VUTsW+rnzznTdSZxzW/fVwWxMAZrLXgJCV4lazSy1bQzr2oGaFJ
tW6OoED8Awi4BmwrBwnLAKqYYrM5oBT61vHuZRFU=
Received: from DFLE109.ent.ti.com (dfle109.ent.ti.com [10.64.6.30])
by lelvem-sh01.itg.ti.com (8.18.1/8.18.1) with ESMTPS id 5556ZFXi948576
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=FAIL);
Thu, 5 Jun 2025 01:35:15 -0500
Received: from DFLE106.ent.ti.com (10.64.6.27) by DFLE109.ent.ti.com
(10.64.6.30) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Thu, 5
Jun 2025 01:35:15 -0500
Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DFLE106.ent.ti.com
(10.64.6.27) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via
Frontend Transport; Thu, 5 Jun 2025 01:35:14 -0500
Received: from a0497641-HP-Z2-Tower-G9-Workstation-Desktop-PC.dhcp.ti.com (a0497641-hp-z2-tower-g9-workstation-desktop-pc.dhcp.ti.com [10.24.69.37] (may be forged))
by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5556Z7VZ3168702;
Thu, 5 Jun 2025 01:35:11 -0500
From: Neha Malcom Francis <n-francis@xxxxxx>
To: <nm@xxxxxx>, <vigneshr@xxxxxx>, <kristo@xxxxxxxxxx>, <robh@xxxxxxxxxx>,
<krzk+dt@xxxxxxxxxx>, <conor+dt@xxxxxxxxxx>
CC: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <u-kumar1@xxxxxx>, <n-francis@xxxxxx>
Subject: [PATCH v4 1/2] dt-bindings: soc: ti: bist: Add BIST for K3 devices
Date: Thu, 5 Jun 2025 12:05:05 +0530
Message-ID: <20250605063506.2005637-2-n-francis@xxxxxx>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250605063506.2005637-1-n-francis@xxxxxx>
References: <20250605063506.2005637-1-n-francis@xxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Document the binding for TI K3 BIST (Built-In Self Test) block.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Signed-off-by: Neha Malcom Francis <n-francis@xxxxxx>
---
No change since v3

.../bindings/soc/ti/ti,j784s4-bist.yaml | 63 +++++++++++++++++++
1 file changed, 63 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/ti/ti,j784s4-bist.yaml

diff --git a/Documentation/devicetree/bindings/soc/ti/ti,j784s4-bist.yaml b/Documentation/devicetree/bindings/soc/ti/ti,j784s4-bist.yaml
new file mode 100644
index 000000000000..a73691cf5624
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/ti/ti,j784s4-bist.yaml
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2025 Texas Instruments Incorporated
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/ti/ti,j784s4-bist.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments K3 BIST
+
+maintainers:
+ - Neha Malcom Francis <n-francis@xxxxxx>
+
+allOf:
+ - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml#
+
+description:
+ The BIST (Built-In Self Test) module is an IP block present in K3 devices
+ that support triggering of BIST tests, both PBIST (Memory BIST) and LBIST
+ (Logic BIST) on a core. Both tests are destructive in nature. At boot, BIST
+ is executed by hardware for the MCU domain automatically as part of HW POST.
+
+properties:
+ compatible:
+ const: ti,j784s4-bist
+
+ reg:
+ maxItems: 2
+
+ reg-names:
+ items:
+ - const: cfg
+ - const: ctrl_mmr
+
+ clocks:
+ maxItems: 1
+
+ power-domains:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - ti,sci-dev-id
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/soc/ti,sci_pm_domain.h>
+ bus {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ safety-selftest@33c0000 {
+ compatible = "ti,j784s4-bist";
+ reg = <0x00 0x033c0000 0x00 0x400>,
+ <0x00 0x0010c1a0 0x00 0x01c>;
+ reg-names = "cfg", "ctrl_mmr";
+ clocks = <&k3_clks 237 7>;
+ power-domains = <&k3_pds 237 TI_SCI_PD_EXCLUSIVE>;
+ ti,sci-dev-id = <234>;
+ };
+ };
--
2.34.1



Return-Path: <linux-kernel+bounces-674131-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C974341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:36:17 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 4F4FB189A260
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:36:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 72F3F1F8AC8;
Thu, 5 Jun 2025 06:35:56 +0000 (UTC)
Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 07F881F2C44;
Thu, 5 Jun 2025 06:35:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.187
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105355; cv=none; b=Xn0Aotqeuk0ki72UwgFByTutyQeYaXTVj6RL/0EPvVgxMktzLK7WKOFLy/2zRYRXVx1PQk+m/rEC74z2EF7QjMTuiu7V8AmgLHhjMOK1pyV+uF7xLj81WOnChvJuETU7b+3IpmIcOM1sTgaqZxztTltts6dlOszkFDuBPZWynfM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105355; c=relaxed/simple;
bh=3fVTZQULmeSj1kaoUxmb+CsZJulw3kIUf6Ah34p9Y3E=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=cv5DnIbolo5Dmm6W/LMlIHKdbxim4NMKyPqYO5M32PV/p7A4dOdNrqFm5IdYDixuF2BsVQdtDkFNb3KiKlXrhjL7LafAlDCjY7hJx70fBLaUq1zppcRJYnz055FnpFcKGH7japDS3s4X6LiMJeenJrzDorZKYeap9Uv+FyW25wM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=45.249.212.187
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com
Received: from mail.maildlp.com (unknown [172.19.163.174])
by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4bCZR12SLJz13M0N;
Thu, 5 Jun 2025 14:33:49 +0800 (CST)
Received: from kwepemg500017.china.huawei.com (unknown [7.202.181.81])
by mail.maildlp.com (Postfix) with ESMTPS id D9458140203;
Thu, 5 Jun 2025 14:35:43 +0800 (CST)
Received: from [10.174.179.155] (10.174.179.155) by
kwepemg500017.china.huawei.com (7.202.181.81) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.11; Thu, 5 Jun 2025 14:35:42 +0800
Message-ID: <872dcf33-cc7e-48c0-810a-f27b59a603e1@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 14:35:42 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: =?UTF-8?B?TW96aWxsYSBUaHVuZGVyYmlyZCDmtYvor5XniYg=?=
Subject: Re: [PATCH] nfsd: Invoke tracking callbacks only after initialization
is complete
To: Jeff Layton <jlayton@xxxxxxxxxx>, <chuck.lever@xxxxxxxxxx>,
<neilb@xxxxxxx>, <neil@xxxxxxxxxx>, <okorniev@xxxxxxxxxx>,
<Dai.Ngo@xxxxxxxxxx>, <tom@xxxxxxxxxx>
CC: <linux-nfs@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<yukuai1@xxxxxxxxxxxxxxx>, <houtao1@xxxxxxxxxx>, <yi.zhang@xxxxxxxxxx>,
<yangerkun@xxxxxxxxxx>, <lilingfeng@xxxxxxxxxxxxxxx>
References: <20250513074305.3362209-1-lilingfeng3@xxxxxxxxxx>
<ae16dcf3d5c569bbff817ca442a7615e816a66e7.camel@xxxxxxxxxx>
From: Li Lingfeng <lilingfeng3@xxxxxxxxxx>
In-Reply-To: <ae16dcf3d5c569bbff817ca442a7615e816a66e7.camel@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: kwepems200002.china.huawei.com (7.221.188.68) To
kwepemg500017.china.huawei.com (7.202.181.81)
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Jeff,

Following our discussion, my colleague Yang Erkun proposed an alternative
solution: using the nfsd_mutex to prevent concurrency between
initialization/destruction and usage of client_tracking_ops.
Both our previous approaches (delayed pointer assignment and the
initialization flag) still leave a window where the issue could occur.
For example, after validating client_tracking_ops as non-NULL but before
invoking its callbacks, the pointer could be set to NULL during teardown.

I've prototyped the nfsd_mutex approach and confirmed it resolves the
problem. What are your thoughts on this solution?

Best regards,
Li Lingfeng

在 2025/5/13 20:34, Jeff Layton 写道:
> On Tue, 2025-05-13 at 15:43 +0800, Li Lingfeng wrote:
>> Checking whether tracking callbacks can be called based on whether
>> nn->client_tracking_ops is NULL may lead to callbacks being invoked
>> before tracking initialization completes, causing resource access
>> violations (UAF, NULL pointer dereference). Examples:
>>
>> 1) nfsd4_client_tracking_init
>> // set nn->client_tracking_ops
>> nfsd4_cld_tracking_init
>> nfs4_cld_state_init
>> nn->reclaim_str_hashtbl = kmalloc_array
>> ... // error path, goto err
>> nfs4_cld_state_shutdown
>> kfree(nn->reclaim_str_hashtbl)
>> write_v4_end_grace
>> nfsd4_end_grace
>> nfsd4_record_grace_done
>> nfsd4_cld_grace_done
>> nfs4_release_reclaim
>> nn->reclaim_str_hashtbl[i]
>> // UAF
>> // clear nn->client_tracking_ops
>>
>> 2) nfsd4_client_tracking_init
>> // set nn->client_tracking_ops
>> nfsd4_cld_tracking_init
>> write_v4_end_grace
>> nfsd4_end_grace
>> nfsd4_record_grace_done
>> nfsd4_cld_grace_done
>> alloc_cld_upcall
>> cn = nn->cld_net
>> spin_lock // cn->cn_lock
>> // NULL deref
>> // error path, skip init pipe
>> __nfsd4_init_cld_pipe
>> cn = kzalloc
>> nn->cld_net = cn
>> // clear nn->client_tracking_ops
>>
>> After nfsd mounts, users can trigger grace_done callbacks via
>> /proc/fs/nfsd/v4_end_grace. If resources are uninitialized or freed
>> in error paths, this causes access violations.
>>
>> Instead of adding locks for specific resources(e.g., reclaim_str_hashtbl),
>> introducing a flag to indicate whether tracking initialization has
>> completed and checking this flag before invoking callbacks may be better.
>>
>> Fixes: 52e19c09a183 ("nfsd: make reclaim_str_hashtbl allocated per net")
>> Signed-off-by: Li Lingfeng <lilingfeng3@xxxxxxxxxx>
>> ---
>> fs/nfsd/netns.h | 1 +
>> fs/nfsd/nfs4recover.c | 13 +++++++++----
>> 2 files changed, 10 insertions(+), 4 deletions(-)
>>
>> diff --git a/fs/nfsd/netns.h b/fs/nfsd/netns.h
>> index 3e2d0fde80a7..dbd782d6b063 100644
>> --- a/fs/nfsd/netns.h
>> +++ b/fs/nfsd/netns.h
>> @@ -113,6 +113,7 @@ struct nfsd_net {
>>
>> struct file *rec_file;
>> bool in_grace;
>> + bool client_tracking_init_done;
>> const struct nfsd4_client_tracking_ops *client_tracking_ops;
>>
>> time64_t nfsd4_lease;
>> diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
>> index c1d9bd07285f..6c27c1252c0e 100644
>> --- a/fs/nfsd/nfs4recover.c
>> +++ b/fs/nfsd/nfs4recover.c
>> @@ -2096,7 +2096,11 @@ nfsd4_client_tracking_init(struct net *net)
>> pr_warn("NFSD: Unable to initialize client recovery tracking! (%d)\n", status);
>> pr_warn("NFSD: Is nfsdcld running? If not, enable CONFIG_NFSD_LEGACY_CLIENT_TRACKING.\n");
>> nn->client_tracking_ops = NULL;
>> + nn->client_tracking_init_done = false;
>> + } else {
>> + nn->client_tracking_init_done = true;
>> }
>> +
> The problem seems real (theoretically at least), but I'm not a fan of
> this fix.
>
> If the problem is as you say, then why not just delay the setting of
> the client_tracking_ops until there is a method that works. IOW, set a
> temporary variable with an ops pointer and only assign
> client_tracking_ops at the end of the function/
>
> Would that also fix this issue?
>
>> return status;
>> }
>>
>> @@ -2105,6 +2109,7 @@ nfsd4_client_tracking_exit(struct net *net)
>> {
>> struct nfsd_net *nn = net_generic(net, nfsd_net_id);
>>
>> + nn->client_tracking_init_done = false;
>> if (nn->client_tracking_ops) {
>> if (nn->client_tracking_ops->exit)
>> nn->client_tracking_ops->exit(net);
>> @@ -2117,7 +2122,7 @@ nfsd4_client_record_create(struct nfs4_client *clp)
>> {
>> struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
>>
>> - if (nn->client_tracking_ops)
>> + if (nn->client_tracking_ops && nn->client_tracking_init_done)
>> nn->client_tracking_ops->create(clp);
>> }
>>
>> @@ -2126,7 +2131,7 @@ nfsd4_client_record_remove(struct nfs4_client *clp)
>> {
>> struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
>>
>> - if (nn->client_tracking_ops)
>> + if (nn->client_tracking_ops && nn->client_tracking_init_done)
>> nn->client_tracking_ops->remove(clp);
>> }
>>
>> @@ -2135,7 +2140,7 @@ nfsd4_client_record_check(struct nfs4_client *clp)
>> {
>> struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
>>
>> - if (nn->client_tracking_ops)
>> + if (nn->client_tracking_ops && nn->client_tracking_init_done)
>> return nn->client_tracking_ops->check(clp);
>>
>> return -EOPNOTSUPP;
>> @@ -2144,7 +2149,7 @@ nfsd4_client_record_check(struct nfs4_client *clp)
>> void
>> nfsd4_record_grace_done(struct nfsd_net *nn)
>> {
>> - if (nn->client_tracking_ops)
>> + if (nn->client_tracking_ops && nn->client_tracking_init_done)
>> nn->client_tracking_ops->grace_done(nn);
>> }
>>


Return-Path: <linux-kernel+bounces-674132-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DC13941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:36:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 09B983AAEEB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:36:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 40EF31F181F;
Thu, 5 Jun 2025 06:36:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="c1zmh8cK"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 869911876
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:36:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105412; cv=none; b=eAJSdtmx5gVoQ071daKT2uov0Na3TO662hklAss42wV6w/Uhq23VdFDyQIgfj2XsR2dPOEQnpfasjS8yXoZCAwnB82nytsD8JTjh7sNrFffQSb0hMERKwNSFr3iYxJ9ueUP7odqvx19ohs8WEo0TpH44HxSQiwDf/mL0hlM6Amo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105412; c=relaxed/simple;
bh=lexn+3RvTYohQzS2vm1pNRLFzrcMJVmP0yTe8m0a7eQ=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=VT28Wb3nf/cw5v96vn6GQd80OxwFVYSE2JOXxipH+jF9wa7myPswJEuRVdhOub/BFOO8I1Jny0WfdeOwKjmY6ZzlCUmBqnQCsYVHuDNKm4+ftf6GyoDOSouY3A85KMqs+q1E97QKS3r2NdlsEh3XPq6iOIfRjvfq98d7Ct+wfHk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=c1zmh8cK; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 609C5C4CEE7;
Thu, 5 Jun 2025 06:36:48 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749105412;
bh=lexn+3RvTYohQzS2vm1pNRLFzrcMJVmP0yTe8m0a7eQ=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=c1zmh8cK3yfu4BaW+JXF+XxG4WJymnndlXcaPg//PPRYuItmYoX3DSLV6tAslJN1V
lS59assDhKUuUq6M2hE/0u5f6Q/LmtsniUdNfDFv2GXYrtA+OLMD0I9laIYE4SR9Uj
QAvq4FuwmeVWoZdQ3aSvVfmC9Hx3xTFvpIbNTr7HBxC98VlQJBzOb+KQBw4oyjeeJJ
niQXV4JfQo3x/s7OaJkigJ3jsPIbM8kDg0E3KYDFhXrHRrdhlNix6wNBvI5/tQm5gy
bruvUwxYI2jzIHzzjX4xAWZf1i0+hllcRJUjEZTr8xt9uDIfJQGqUEGfOMi05YMphz
wc2H2eMN2ER4w==
Date: Thu, 5 Jun 2025 08:36:45 +0200
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: Em Sharnoff <sharnoff@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx, linux-mm@xxxxxxxxx,
Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>,
Andy Lutomirski <luto@xxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>,
"H. Peter Anvin" <hpa@xxxxxxxxx>,
"Edgecombe, Rick P" <rick.p.edgecombe@xxxxxxxxx>,
Oleg Vasilev <oleg@xxxxxxxxx>,
Arthur Petukhovsky <arthur@xxxxxxxxx>,
Stefan Radig <stefan@xxxxxxxxx>, Misha Sakhnov <misha@xxxxxxxxx>
Subject: Re: [PATCH] x86/mm: Handle alloc failure in phys_*_init()
Message-ID: <aEE6_S2a-1tk1dtI@xxxxxxxxx>
References: <9f4c0972-a123-4cc3-89f2-ed3490371e65@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <9f4c0972-a123-4cc3-89f2-ed3490371e65@xxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


* Em Sharnoff <sharnoff@xxxxxxxxx> wrote:

> tl;dr:
>
> * When setting up page table mappings for physical addresses after boot,
> alloc_low_page() uses GFP_ATOMIC, which is allowed to fail.
> * This isn't currently handled, and results in a null pointer
> dereference when it occurs.
> * This allocation failure can happen during memory hotplug.
>
> To handle failure, change phys_pud_init() and similar functions to
> return zero if allocation failed (either directly or transitively), and
> convert that to -ENOMEM in arch_add_memory().

> + /*
> + * Bail only after updating pgd/p4d to keep progress from p4d across retries.
> + */
> + if (!paddr_last)
> + return 0;
> +
> pgd_changed = true;

> - init_memory_mapping(start, start + size, params->pgprot);
> + if (!init_memory_mapping(start, start + size, params->pgprot))
> + return -ENOMEM;

I agree that it makes total sense to fix all this (especially since you
are actively triggering it), but have you tried also changing it away
from GFP_ATOMIC? There's no real reason why it should be GFP_ATOMIC
AFAICS, other than some historic inertia that nobody bothered to fix.

Plus, could you please change the return flow from this zero
special-case over to something like ERR_PTR(-ENOMEM) and IS_ERR()?

*Technically* zero is a valid physical address, although we
intentionally never use it in the kernel AFAIK and wouldn't ever put a
page table there either. ERR_PTR()/IS_ERR() is much easier on the eyes
than the zero special-case.

Finally, could you make this a 2-patch fix series: first one to fix the
error return path to not crash, and the second one to change it away
from GFP_ATOMIC?

Thanks,

Ingo


Return-Path: <linux-kernel+bounces-674133-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0EC4741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:37:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7FFA93ABA2E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:36:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B95CB1F4C92;
Thu, 5 Jun 2025 06:37:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="khEbarQ7"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E8BAF73451;
Thu, 5 Jun 2025 06:37:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105424; cv=none; b=KwbEc9VR6RhavyI2Jg212RxMHLW5dsxJp8dQVfM0QXCtoXqKeV6gwQrtltZ00U5ZMU0qAGlYJrsKjuUJBz3x+I/A7bNH7D+OMwvW5jQngEZqBpDsFGltguP3/CxIqK3K1fXGrZGNuCCNEDCCPWFLaU2jnJbtTTPo0C/pzPPXZ/s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105424; c=relaxed/simple;
bh=qu4LK0P6e5nwTKgfvuleaPWWg4bssF8PcUZqVNg53Gw=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=IW5P8xB0+NEK6V5kaJ+azYqtSC25jYQiaxC2LRW4LYcLmBa/qk0YZaLVIMIEzBRW/9B0bpkuHkQt1l5psY28cOMdAgKH2RmpXwaNIz6u5yZyJZ6+P2o/TISVjLQk/ddB9/r4p6D40rb68K/9Cg61iyD91UtzTjMIRJxlXzw2Kbc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=khEbarQ7; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8429AC4CEE7;
Thu, 5 Jun 2025 06:37:00 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749105423;
bh=qu4LK0P6e5nwTKgfvuleaPWWg4bssF8PcUZqVNg53Gw=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=khEbarQ7SYt5qpAAUbH3W/JEY48833GIuK5vh6cEdihZI1Lp+GT3jTH0MJq/nQOoZ
qbTewRwBGgtJOmGwC2Dkc3puRYfXtLuIplXXJaO0JGEwOjCDkqr2CGJQwIq29cClKX
AwPwqJgcMSTi/HD7+7DaJUl0Mwerjz/iwgpq56dAYcggJIehlmnnXvKSQsP0kIPq9P
YvCHIr4ejOuJrYoGEnT+XzdkItqxgTvHDQePz/+Mc0x3TgLyMYW6GcVSKXNLzh0m1q
y+qKRbHWACv0SodANgD+AyKWzzpn1S7eRnapjEETqN31fCG41zqYzy27P+71+mThAR
8rw9/2vCii+Qg==
Message-ID: <c343c5d1-9f8c-4bb3-a98e-af144ace7bfa@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 08:36:58 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] mux: mmio: Extend mmio-mux driver to configure mux
with mux-reg-masks-state
To: Chintan Vankar <c-vankar@xxxxxx>, Thorsten Blum
<thorsten.blum@xxxxxxxxx>, Andrew Davis <afd@xxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Peter Rosin <peda@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
s-vadapalli@xxxxxx, vigneshr@xxxxxx, nm@xxxxxx, danishanwar@xxxxxx
References: <20250605063422.3813260-1-c-vankar@xxxxxx>
<20250605063422.3813260-3-c-vankar@xxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250605063422.3813260-3-c-vankar@xxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 05/06/2025 08:34, Chintan Vankar wrote:
> MMIO mux driver is designed to parse "mux-reg-masks" and "idle-states"
> property independently to configure mux. The current design is complex for
> the devices with larger memory space, which requires synchronization
> between the two properties.
>
> Extend mmio-mux driver to support a single property, "mux-reg-masks-state"
> which configures mux registers without above constraint.
>
> Signed-off-by: Chintan Vankar <c-vankar@xxxxxx>
> ---
> drivers/mux/mmio.c | 144 +++++++++++++++++++++++++++++++++++++--------
> 1 file changed, 118 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/mux/mmio.c b/drivers/mux/mmio.c
> index 9993ce38a818..5ce9c16fd431 100644
> --- a/drivers/mux/mmio.c
> +++ b/drivers/mux/mmio.c
> @@ -2,7 +2,7 @@
> /*
> * MMIO register bitfield-controlled multiplexer driver
> *
> - * Copyright (C) 2017 Pengutronix, Philipp Zabel <kernel@xxxxxxxxxxxxxx>
> + * Copyright (C) 2017-2025 Pengutronix, Philipp Zabel <kernel@xxxxxxxxxxxxxx>

Why are you updating someone's copyrights?


Best regards,
Krzysztof


Return-Path: <linux-kernel+bounces-674134-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 170F441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:37:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id E3A467A2921
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:36:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1699E1F7092;
Thu, 5 Jun 2025 06:37:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=foundries.io header.i=@foundries.io header.b="EJRGD/bV"
Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46])
(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 97F9C1BE238
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:37:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105443; cv=none; b=n/jGEL7v8pJTKf852axZQNIznfX6Sqz1/MYa5XUx2/ByOW+t77+Pz0BFUiupQYac27vlRVQKKlrPRBP/gizYl1uqnRyNX1A6Ogf0HF6nTbO0ZDIRNH9MiD83VTnPNdoN2AAL6SDQlq5GONfNlmX+0kT/ltsaBFpLCVb+avTL9Sc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105443; c=relaxed/simple;
bh=SC5uOR2LzUcO4kdEG48K4T3TVmr8gOGZc2vFzWgfAzk=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=L0yX83S7b+kye4j83Fo+AmWkNGfhBynMMTqdiuG/VFj/oF5H/7d6tYgqYlBxQwzl6XjCaTZk+krblBYB//DTZXBAcI6d1iVRP2On+nZKI9+b5kEHFEUPDO3wd3xEI+1umL+KBCWZhYhV9FGzJTVwtIOy6dL4qICAhM/1mq99eo0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=foundries.io; spf=pass smtp.mailfrom=foundries.io; dkim=pass (2048-bit key) header.d=foundries.io header.i=@foundries.io header.b=EJRGD/bV; arc=none smtp.client-ip=209.85.167.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=foundries.io
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foundries.io
Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-55324e35f49so639849e87.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:37:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=foundries.io; s=google; t=1749105439; x=1749710239; 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=Kzft8fvBUk0mEm9pC+ysiqHnRwtZTTlz9Fajud+lXJk=;
b=EJRGD/bVelkkdClmSgRGyOSyzvbuGUzfJvPzRHOuLDKd7PreoUYTRIDklWjAe/8FNz
TixsoZi1cRzRm40tNBefCdJw7ksHfh2vU/qvdIiO+bC1EQvyYuAivwZZCBRJ2zQVf1ip
db1TAZLXCylY8eAOBLD/TyCiCdW/AVjo9og4Zn8yQlmWjIiUGwTYLW/B7JfVmv8rmOF0
eawTm+MYyM+wAU3p7BAc7mKq+wmyWww/n+xplMPJpguJ8AwdKW67Fsdn/LC8AOAnlt8d
/4iYJ8ZIPvRI89l6yqZccwDDeNzDmD9JS1KqJQ+pefDjeC1VSzY1+1GdSJNTNQCl1qfA
g2sg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749105439; x=1749710239;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=Kzft8fvBUk0mEm9pC+ysiqHnRwtZTTlz9Fajud+lXJk=;
b=nlal1YpZ0jPGpF+PmTTj3q5wYAZJjTu5DFTxGeDQPxAsl9+Ra/oY61EkdmbjUtlUB7
SdwcNZSkohmGyJQofmwRCImDvrk7K447VRQu2ZKYqkyGTD6VR0NstAvrcSqjnS870T9W
24CJ6VCOLzWrFezOz832JtJUk2b34lvTXcjWjih7eR0v5XcBry2dPzfpUzwKhXaBFkwq
bCqNmouRaEMek5pAkAQCwCOV3I7M3/YwBrwL2VNOzYxJAkfrVXOImcEciOBSAhlP3P6T
GEz3UoolaPPystn+HhKaFAhOfLgdKBuw7NaCPoOUz50eb//B8eiB4gBcLozkb7Ix/wzo
df3g==
X-Forwarded-Encrypted: i=1; AJvYcCWFry0b3r8qaxms+ndv26ReRflwzRTsgEL33ryagT+k9HWEnrW3n8FauGAM9nRBK00JU07Tmza7STFMYAo=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw+omD3CQKfxneIzwn0KEZNiAVJf8T+Y/waVm4rHAfbJugo9qxl
FxzQHlgH4CxaBq/t964g5oVOuhAdV7UUShWi1JoDFdI3buGLQbDROhlfJNoJrtTeTx0=
X-Gm-Gg: ASbGncuPjZxI1yB47L6e89Xu42ISPUtrcQzOmg1UJBpJ4wxT8K7ts/kHCTkISHokK6j
7LZ2mj5SmpFk/OqeIeyXLsG7K6EpHUcW/4qTkDDFfXIQ2FHb+KPhJ+XKuIExqyWjvISX+Uwz0XZ
x2XZ3x28Xueyf64k5zqGx/ClUgcs5oyx+Ysj3Mzo1fbaPL56cyRyv+UJ/OwyS6qYNIymokDc+ZH
OVjJE4W6dbF6FFXdrjYdeEYT3wjMJgE3SOY1Z7EPO1C+kuQGVd5mdBlzhRJnOGptFqbQV6JgrKf
2ABR2iKdDMpWYsz6zMW4xHHUyE/26rcer9Sh3G2sOgC6mY6Y16DxUEYyKy42VgYqiNINKX1fI2q
Y3ynxLKFuEc/903RXaHMFiHQ0tCuLQiNvqg==
X-Google-Smtp-Source: AGHT+IEh5kFBu9DwokZIMmdtqcjl/Iw20bSuedPbGD+ucOARVvJC2ImNqGXKQRyRhDnKRnsBLSyo6Q==
X-Received: by 2002:a05:6512:b86:b0:553:25b2:357d with SMTP id 2adb3069b0e04-55357bd6f7fmr1435916e87.52.1749105439330;
Wed, 04 Jun 2025 23:37:19 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-55350cab5b7sm1043831e87.52.2025.06.04.23.37.17
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:37:17 -0700 (PDT)
Date: Thu, 5 Jun 2025 09:37:16 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxx>
To: Pengyu Luo <mitltlatltl@xxxxxxxxx>
Cc: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] arm64: dts: qcom: sc8280xp: Add GPI DMA configuration
Message-ID: <3vwz6bzllvhtwcfs34ofygayiquxptu467i7hej2potqsss5k2@phxby4uvhiho>
References: <20250605054208.402581-1-mitltlatltl@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250605054208.402581-1-mitltlatltl@xxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, Jun 05, 2025 at 01:42:07PM +0800, Pengyu Luo wrote:
> SPI on SC8280XP requires DMA (GSI) mode to function properly. Without it,
> SPI controllers fall back to FIFO mode, which causes:
>
> [ 0.901296] geni_spi 898000.spi: error -ENODEV: Failed to get tx DMA ch
> [ 0.901305] geni_spi 898000.spi: FIFO mode disabled, but couldn't get DMA, fall back to FIFO mode
> ...
> [ 45.605974] goodix-spi-hid spi0.0: SPI transfer timed out
> [ 45.605988] geni_spi 898000.spi: Can't set CS when prev xfer running
> [ 46.621555] spi_master spi0: failed to transfer one message from queue
> [ 46.621568] spi_master spi0: noqueue transfer failed
> [ 46.621577] goodix-spi-hid spi0.0: spi transfer error: -110
> [ 46.621585] goodix-spi-hid spi0.0: probe with driver goodix-spi-hid failed with error -110
>
> Therefore, add GPI DMA controller nodes for qup{0,1,2}, and add DMA
> channels for SPI and I2C, UART is excluded for now, as it does not
> yet support this mode.
>
> Note that, since there is no public schematic, this configuration
> is derived from Windows drivers. The drivers do not expose any DMA
> channel mask information, so all available channels are enabled.
>
> Signed-off-by: Pengyu Luo <mitltlatltl@xxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 368 +++++++++++++++++++++++++
> 1 file changed, 368 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> index 87555a119..ff93ef837 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> @@ -10,6 +10,7 @@
> #include <dt-bindings/clock/qcom,rpmh.h>
> #include <dt-bindings/clock/qcom,sc8280xp-camcc.h>
> #include <dt-bindings/clock/qcom,sc8280xp-lpasscc.h>
> +#include <dt-bindings/dma/qcom-gpi.h>
> #include <dt-bindings/interconnect/qcom,osm-l3.h>
> #include <dt-bindings/interconnect/qcom,sc8280xp.h>
> #include <dt-bindings/interrupt-controller/arm-gic.h>
> @@ -912,6 +913,32 @@ gpu_speed_bin: gpu-speed-bin@18b {
> };
> };
>
> + gpi_dma2: dma-controller@800000 {
> + compatible = "qcom,sc8280xp-gpi-dma", "qcom,sm6350-gpi-dma";

This will cause warnings when validating against DT schema. Please
extend Documentation/devicetree/bindings/dma/qcom,gpi.yaml and repost
(as separate patches in a series).


--
With best wishes
Dmitry


Return-Path: <linux-kernel+bounces-674135-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 47A1F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:37:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 7B777165EB8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:37:42 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8C4D61FBEB1;
Thu, 5 Jun 2025 06:37:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="StpzOx/L"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EB7251F91F6
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:37:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105447; cv=none; b=a148rdOrkjBTOkOKPBTyiizZ6G/USl+wFI7cXMHuItvtYJijO3mPptAj8KQf7H3SRokn4WW5657NeCq4d3BM1Q21OyjfQGG2J84AZL0UaNaqT6XnOMdQR1oaG6Okn6h1wMH4pye16beG+HQFUp70CClxJIQyDZuWuM4RZFUBGTI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105447; c=relaxed/simple;
bh=rDyOKtCQS8e7aGXgxvChEYdJZqGjA66bV7YpMtMh6dc=;
h=Message-ID:Date:MIME-Version:Subject:From:To:References:
In-Reply-To:Content-Type; b=Huj6Kgsnaq2s8uHrqtQ8UiDAr1gFSMvZKqJDcclhPsLrWUFy5+wwMxEX5YzHPBycqKovAddNAT9Gc0bDsgzANtRIt3nTTegmECaevQsAT+H/OSCGag0pL3sCN+yQKZMjAkmqyrJc21BRK5cVUsyhdtTJP/U2oFNGrABqnBm49DA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=StpzOx/L; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1749105444;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=qUNsKL2WG//LWRyl0dxuNhJtaytSDeJbo81cMVktrmg=;
b=StpzOx/L6dOIWaGYUhrDWtrU/OESGNrt8p8lGXUVMl6PIhdIcLVlyiGWT847MUq4GkmVqU
zXWbE1BssilOXbqU7YYf8OCnpg0+7yVD7pLMzvbZCUMdirK/LUFeSmcvg8Rm241UMdQVs7
378hBPgQHECP9/c4GZYVACCHjQpczEw=
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
[209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-17-zsS_2yq-NcKggsOKgLqsbg-1; Thu, 05 Jun 2025 02:37:23 -0400
X-MC-Unique: zsS_2yq-NcKggsOKgLqsbg-1
X-Mimecast-MFC-AGG-ID: zsS_2yq-NcKggsOKgLqsbg_1749105442
Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-450d64026baso2747655e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:37:23 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749105442; x=1749710242;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:references:to:from:subject:user-agent:mime-version
:date:message-id:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=qUNsKL2WG//LWRyl0dxuNhJtaytSDeJbo81cMVktrmg=;
b=HtdpgTYpARORO5YyqtUUUUX69hlIKml30TJoy5gwGG4mAPnKGvp//vQWxEv9vCjmeV
BzrvW90RsNCBWBFwan55B6NXsntgwJIEKx8bKp5bLG0rk+9KRMFKk4yulkK2QkjDVQX5
f+Vq3EbhMKWZm4+WHlmGqwYtgO7OBtJzSKE3I7ML/MLyoDaU+ONjBOnjnKtLbD7vvQdK
3mnUg5QiK85w7R8kOsutnLE4EoRhVKhHXbco0nOAbDKWvcppDHRaEdetuutLNEvP51ln
cEltxyW3KSiePWb5nwC1kX7pypvO72ag/SoJiVUnoq2Mup2ZNY4IqAEn5q8I3NuEpx+T
3LxQ==
X-Forwarded-Encrypted: i=1; AJvYcCWmC6SPg1O+nxJ/Z5yCt7ikrfHKuyh2u0uqMBQX5eCGCvXCD8S3lgduJSoCpHYpZ9LQuuAZ21KaOoU5aJc=@vger.kernel.org
X-Gm-Message-State: AOJu0YxWrDXg6b52oof5XSfLl/WPpZjamRFpL2CkgzOa35mu1V4xdnEL
9Uj4DBciW6SzhoTf2n3PC48DKIV3vcEc4ibzXtFd0UlMvOc6QfLnL+AHP6avT9a2XHL6DkiHdiS
//u7sWrXdXPaGm756Jx1IkBLVHkY9m8LR1BetKddhaQTZKKOKcgDRJKNUp6Vv4ve6jg==
X-Gm-Gg: ASbGncsZyzKKuh5W15u2aDhI/2shMovJPSQWN6VBhzANyeIg5FUR9MdPAppeLpc8dAV
ZArtBCoRaLYtGxO88kR9omYCVpFuAHNc+95kQPRV8+KYUL55IKKaGLwY8TP9PHol/mMTLmc/JR9
JXwawIaLgob6LkjLL73YiOH8U/mCZc6FNokKnAa7RKn3gVUBrNH/rxql4Szl7s14b9+6JuUFKbC
pwxnHwj5hgVshhBXCTaDA71yFoE9nmmjZqAFFvTCUBvw9kffK/xiFHiFGfpV2SRV4B8c7kG+hws
7pOzd2fzyH/HAgZpO7O8c04SS3X1dVn16yOybCu99/tBPayP1sbqK3vHQt134fEJA0ApWCYGWKf
REv7jjE1EyTyELPckAMsAiICHBE6AxUj1hIg2
X-Received: by 2002:a05:600c:8b53:b0:450:d386:1afb with SMTP id 5b1f17b1804b1-451f0a77343mr52623635e9.9.1749105441990;
Wed, 04 Jun 2025 23:37:21 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IG+f1lvX+Z3d8WumrJl3Iyi8gGNCfiBGN2gsZh5A6452LXk2A+DQXyVzXvsRVFg/Tior3zQjA==
X-Received: by 2002:a05:600c:8b53:b0:450:d386:1afb with SMTP id 5b1f17b1804b1-451f0a77343mr52623295e9.9.1749105441591;
Wed, 04 Jun 2025 23:37:21 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f27:ec00:4f4d:d38:ba97:9aa2? (p200300d82f27ec004f4d0d38ba979aa2.dip0.t-ipconnect.de. [2003:d8:2f27:ec00:4f4d:d38:ba97:9aa2])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-451fb1861d5sm7633885e9.17.2025.06.04.23.37.19
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 04 Jun 2025 23:37:21 -0700 (PDT)
Message-ID: <b9a43f6d-1865-4074-b91c-a5bd7e10f2a9@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 08:37:19 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [syzbot] [mm?] kernel BUG in try_to_unmap_one (2)
From: David Hildenbrand <david@xxxxxxxxxx>
To: syzbot <syzbot+3b220254df55d8ca8a61@xxxxxxxxxxxxxxxxxxxxxxxxx>,
Liam.Howlett@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, harry.yoo@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx, riel@xxxxxxxxxxx,
syzkaller-bugs@xxxxxxxxxxxxxxxx, vbabka@xxxxxxx, Jens Axboe
<axboe@xxxxxxxxx>, Catalin Marinas <catalin.marinas@xxxxxxx>,
Jinjiang Tu <tujinjiang@xxxxxxxxxx>
References: <68412d57.050a0220.2461cf.000e.GAE@xxxxxxxxxx>
<4fc2c008-2384-4d94-b1bf-f0a076585a4a@xxxxxxxxxx>
<fda7a3e3-1711-4f1b-a0bb-6a4369aa80ab@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <fda7a3e3-1711-4f1b-a0bb-6a4369aa80ab@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 05.06.25 08:27, David Hildenbrand wrote:
> On 05.06.25 08:11, David Hildenbrand wrote:
>> On 05.06.25 07:38, syzbot wrote:
>>> Hello,
>>>
>>> syzbot found the following issue on:
>>>
>>> HEAD commit: d7fa1af5b33e Merge branch 'for-next/core' into for-kernelci
>>
>> Hmmm, another very odd page-table mapping related problem on that tree
>> found on arm64 only:
>
> In this particular reproducer we seem to be having MADV_HUGEPAGE and
> io_uring_setup() be racing with MADV_HWPOISON, MADV_PAGEOUT and
> io_uring_register(IORING_REGISTER_BUFFERS).
>
> I assume the issue is related to MADV_HWPOISON, MADV_PAGEOUT and
> io_uring_register racing, only. I suspect MADV_HWPOISON is trying to
> split a THP, while MADV_PAGEOUT tries paging it out.
>
> IORING_REGISTER_BUFFERS ends up in
> io_sqe_buffers_register->io_sqe_buffer_register where we GUP-fast and
> try coalescing buffers.
>
> And something about THPs is not particularly happy :)
>

Not sure if realted to io_uring.

unmap_poisoned_folio() calls try_to_unmap() without TTU_SPLIT_HUGE_PMD.

When called from memory_failure(), we make sure to never call it on a large folio: WARN_ON(folio_test_large(folio));

However, from shrink_folio_list() we might call unmap_poisoned_folio() on a large folio, which doesn't work if it is still PMD-mapped. Maybe passing TTU_SPLIT_HUGE_PMD would fix it.


Likely the relevant commit is:

commit 1b0449544c6482179ac84530b61fc192a6527bfd
Author: Jinjiang Tu <tujinjiang@xxxxxxxxxx>
Date: Tue Mar 18 16:39:39 2025 +0800

mm/vmscan: don't try to reclaim hwpoison folio

Syzkaller reports a bug as follows:

Injecting memory failure for pfn 0x18b00e at process virtual address 0x20ffd000
Memory failure: 0x18b00e: dirty swapcache page still referenced by 2 users
Memory failure: 0x18b00e: recovery action for dirty swapcache page: Failed
page: refcount:2 mapcount:0 mapping:0000000000000000 index:0x20ffd pfn:0x18b00e
memcg:ffff0000dd6d9000
anon flags: 0x5ffffe00482011(locked|dirty|arch_1|swapbacked|hwpoison|node=0|zone=2|lastcpupid=0xfffff)
raw: 005ffffe00482011 dead000000000100 dead000000000122 ffff0000e232a7c9
raw: 0000000000020ffd 0000000000000000 00000002ffffffff ffff0000dd6d9000
page dumped because: VM_BUG_ON_FOLIO(!folio_test_uptodate(folio))

CCing Jinjiang Tu

--
Cheers,

David / dhildenb



Return-Path: <linux-kernel+bounces-674136-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 71C6841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:40:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D1079189A355
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:40:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AAF881F5617;
Thu, 5 Jun 2025 06:40:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="GmtXKMGo"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC0256D17;
Thu, 5 Jun 2025 06:40:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105606; cv=none; b=jTw0G7RrtYr9PFduuyAxhmDakBsXITx25mrM7sVLT/ZavxniswSbqIFV+mG3dFrxjHyoHGMWsHuaSYGJuLHZE5lzvpn8XbBX1zOjncFwTOADuZ/TZ+OI7Oxa0f3leIImKD/WOx7Wz4/mMVgUldrsTP61lE3KXkb6p69b1NNyCGs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105606; c=relaxed/simple;
bh=hm4ir1iJh/8wNf3RCcJDbD6E9SByD9vdEn922y5Hvj8=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=iHwTYOoIT8yks0JyVpb5133iQ2+gf7xLCNl01kSxYyH2rXzF9xFc+n6/QuaOvKJmMPrMFPSrjOaArhpZMXc5wBqDCzEwySRW0clLeoIislckW7AMC7ZjxbYelFS6VzWv6MY9PzDYBHiqhQQhzC4Zxk9KisQx3tlq+Y97amrvcd4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GmtXKMGo; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1C172C4CEF0;
Thu, 5 Jun 2025 06:40:01 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749105605;
bh=hm4ir1iJh/8wNf3RCcJDbD6E9SByD9vdEn922y5Hvj8=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=GmtXKMGoXr50ominqCNQNwUwKGIpLkFEgYQW1S3b2op9CUqla4NBqxSApT7DHQ20t
g1ZexsbkaEiQOFFpk+mtuPtYAifpG0YMGSNM2kpbyhpSy83qZ3DkjAjFeINuN1wux/
ie2SixbkChSFFwdHFkzGCxLWeSS8S3V4Lm40/KmHMirsoVk4EG4/36O5Yd3uWNOCxk
3J5MkMmOIO3V+Qvfrzs5Sgygi81PFpq6LkuaUhsnA4zUfBg2Doky0bWnUDLPUZx1l5
h8fzTmpi9lWIgDlwbR+1VgqvRGmhBvsFxhq50BmFTBA2r/O+ElV3LVbd6SmdeM1FrM
mMdL8dOiRlAzA==
Date: Thu, 5 Jun 2025 08:39:54 +0200
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: kan.liang@xxxxxxxxxxxxxxx
Cc: peterz@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, namhyung@xxxxxxxxxx,
irogers@xxxxxxxxxx, mark.rutland@xxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-perf-users@xxxxxxxxxxxxxxx,
eranian@xxxxxxxxxx, ctshao@xxxxxxxxxx, tmricht@xxxxxxxxxxxxx,
Leo Yan <leo.yan@xxxxxxx>, Aishwarya TCV <aishwarya.tcv@xxxxxxx>,
Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>,
Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx>
Subject: Re: [PATCH V3] perf: Fix the throttle error of some clock events
Message-ID: <aEE7ug56bPS_ZJUQ@xxxxxxxxx>
References: <20250604171554.3909897-1-kan.liang@xxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250604171554.3909897-1-kan.liang@xxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


* kan.liang@xxxxxxxxxxxxxxx <kan.liang@xxxxxxxxxxxxxxx> wrote:

> From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
>
> Both ARM and IBM CI reports RCU stall, which can be reproduced by the
> below perf command.
> perf record -a -e cpu-clock -- sleep 2
>
> The issue is introduced by the generic throttle patch set, which
> unconditionally invoke the event_stop() when throttle is triggered.
>
> The cpu-clock and task-clock are two special SW events, which rely on
> the hrtimer. The throttle is invoked in the hrtimer handler. The
> event_stop()->hrtimer_cancel() waits for the handler to finish, which is
> a deadlock. Instead of invoking the stop(), the HRTIMER_NORESTART should
> be used to stop the timer.
>
> There may be two ways to fix it.
> - Introduce a PMU flag to track the case. Avoid the event_stop in
> perf_event_throttle() if the flag is detected.
> It has been implemented in the
> https://lore.kernel.org/lkml/20250528175832.2999139-1-kan.liang@xxxxxxxxxxxxxxx/
> The new flag was thought to be an overkill for the issue.
> - Add a check in the event_stop. Return immediately if the throttle is
> invoked in the hrtimer handler. Rely on the existing HRTIMER_NORESTART
> method to stop the timer.
>
> The latter is implemented here.
>
> Move event->hw.interrupts = MAX_INTERRUPTS before the stop(). It makes
> the order the same as perf_event_unthrottle(). Except the patch, no one
> checks the hw.interrupts in the stop(). There is no impact from the
> order change.
>
> Reported-by: Leo Yan <leo.yan@xxxxxxx>
> Reported-by: Aishwarya TCV <aishwarya.tcv@xxxxxxx>
> Closes: https://lore.kernel.org/lkml/20250527161656.GJ2566836@xxxxxxxxxxxxxxx/
> Reported-by: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>
> Closes: https://lore.kernel.org/lkml/djxlh5fx326gcenwrr52ry3pk4wxmugu4jccdjysza7tlc5fef@ktp4rffawgcw/
> Reported-by: Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx>
> Closes: https://lore.kernel.org/lkml/8e8f51d8-af64-4d9e-934b-c0ee9f131293@xxxxxxxxxxxxx/
> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>

Any idea which commit introduced this bug?

Was it:

9734e25fbf5a perf: Fix the throttle logic for a group

plus the followup driver updates?

Thanks,

Ingo


Return-Path: <linux-kernel+bounces-674137-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6D9A541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:42:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 24B41189A35E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:42:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 033AB1F4CB2;
Thu, 5 Jun 2025 06:42:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=zytor.com header.i=@zytor.com header.b="p10Hzjlt"
Received: from mail.zytor.com (terminus.zytor.com [198.137.202.136])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2068B6D17
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:42:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.136
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105727; cv=none; b=mMC6FLT0Gj/P8jmASI6fHJkFJmH+ZBSiD2GAtKFp1vDOVbjl1gDp4MWObUW+WenidNhOdjDI1IzizjkxAdsY53BGTjDgjLoSz6OPJzec11gjHo3zfmJIerNOhpdk7aXsKDyOwnFQM6dFx1I/AVT1mKJHSEy64mtlogiBVlqA8Lk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105727; c=relaxed/simple;
bh=CWwilyd8DsatWcvNuR/Q5R3fwbO2qSva5uLdXp2uX+Y=;
h=Date:From:To:CC:Subject:In-Reply-To:References:Message-ID:
MIME-Version:Content-Type; b=ODgrLfoAFPG2qsZgF+TBS6KCL85B4znf2R/TZOaIEAjFE8Qxu8Q7HmVSCdTCTwatd7GJa6/Ba4RmMpBtwsuk2pGI9fRxdn2RMDffga3Pzs37Q3b9N/xj5uBOZqjRZfIQ/RY6bOqyB3ErBv/XwQEAjkkwN9iN1fX2y4fT0sswezQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zytor.com; spf=pass smtp.mailfrom=zytor.com; dkim=pass (2048-bit key) header.d=zytor.com header.i=@zytor.com header.b=p10Hzjlt; arc=none smtp.client-ip=198.137.202.136
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zytor.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zytor.com
Received: from [127.0.0.1] (c-76-133-66-138.hsd1.ca.comcast.net [76.133.66.138])
(authenticated bits=0)
by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 5556fM2D357827
(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
Wed, 4 Jun 2025 23:41:23 -0700
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 5556fM2D357827
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
s=2025052101; t=1749105683;
bh=Lj0QPMaoNN//NUIcs8+QZOBIqJ8N8XAmiP0Wm85OEsM=;
h=Date:From:To:CC:Subject:In-Reply-To:References:From;
b=p10Hzjlt+lsneXYm78u39WHR//VRbrhyRwOYFOUk6ED7VJO2/hJVHLq0h/tzLRVVS
XnTiP63Cz0gVkslIwOS2pIoHighsyvErcQNWugRWF4WUwIVxf/c/yfbx4CpnKcZy3k
hlIo7o+7U6fKnYhKgQXGZjb4TqGEKFtlj/FC4A5hFrxKbEIgQuos3XWwM88RjD4nLR
Yy4rDK+PN7jspvSd9i3MY/jKEtJ/JSVbSDNn15EBZn5idf6w8gjKXUBk7vsclkHScK
Tm3pAXJFV6Q9HwwTF6HVmT8lN4wFqwK0Wh8KHsqKLI5BbttxHb1lVpbjs9fo/0ahbG
MyjLGe6/sMYFg==
Date: Wed, 04 Jun 2025 23:41:21 -0700
From: "H. Peter Anvin" <hpa@xxxxxxxxx>
To: Ingo Molnar <mingo@xxxxxxxxxx>, Em Sharnoff <sharnoff@xxxxxxxxx>
CC: linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx, linux-mm@xxxxxxxxx,
Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>,
Andy Lutomirski <luto@xxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>,
Borislav Petkov <bp@xxxxxxxxx>,
"Edgecombe, Rick P" <rick.p.edgecombe@xxxxxxxxx>,
Oleg Vasilev <oleg@xxxxxxxxx>, Arthur Petukhovsky <arthur@xxxxxxxxx>,
Stefan Radig <stefan@xxxxxxxxx>, Misha Sakhnov <misha@xxxxxxxxx>
Subject: Re: [PATCH] x86/mm: Handle alloc failure in phys_*_init()
User-Agent: K-9 Mail for Android
In-Reply-To: <aEE6_S2a-1tk1dtI@xxxxxxxxx>
References: <9f4c0972-a123-4cc3-89f2-ed3490371e65@xxxxxxxxx> <aEE6_S2a-1tk1dtI@xxxxxxxxx>
Message-ID: <70530630-6781-485C-9F2A-531E121692D1@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain;
charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On June 4, 2025 11:36:45 PM PDT, Ingo Molnar <mingo@kernel=2Eorg> wrote:
>
>* Em Sharnoff <sharnoff@neon=2Etech> wrote:
>
>> tl;dr:
>>=20
>> * When setting up page table mappings for physical addresses after boot=
,
>> alloc_low_page() uses GFP_ATOMIC, which is allowed to fail=2E
>> * This isn't currently handled, and results in a null pointer
>> dereference when it occurs=2E
>> * This allocation failure can happen during memory hotplug=2E
>>=20
>> To handle failure, change phys_pud_init() and similar functions to
>> return zero if allocation failed (either directly or transitively), and
>> convert that to -ENOMEM in arch_add_memory()=2E
>
>> + /*
>> + * Bail only after updating pgd/p4d to keep progress from p4d across=
retries=2E
>> + */
>> + if (!paddr_last)
>> + return 0;
>> +
>> pgd_changed =3D true;
>
>> - init_memory_mapping(start, start + size, params->pgprot);
>> + if (!init_memory_mapping(start, start + size, params->pgprot))
>> + return -ENOMEM;
>
>I agree that it makes total sense to fix all this (especially since you=
=20
>are actively triggering it), but have you tried also changing it away=20
>from GFP_ATOMIC? There's no real reason why it should be GFP_ATOMIC=20
>AFAICS, other than some historic inertia that nobody bothered to fix=2E
>
>Plus, could you please change the return flow from this zero=20
>special-case over to something like ERR_PTR(-ENOMEM) and IS_ERR()?
>
>*Technically* zero is a valid physical address, although we=20
>intentionally never use it in the kernel AFAIK and wouldn't ever put a=20
>page table there either=2E ERR_PTR()/IS_ERR() is much easier on the eyes=
=20
>than the zero special-case=2E
>
>Finally, could you make this a 2-patch fix series: first one to fix the=
=20
>error return path to not crash, and the second one to change it away=20
>from GFP_ATOMIC?
>
>Thanks,
>
> Ingo

Specifically, zero is a valid *user space* address=2E


Return-Path: <linux-kernel+bounces-674138-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6461F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:42:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 16463189A2A3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:42:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DA1801FBCBE;
Thu, 5 Jun 2025 06:42:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="I04OTXgX"
Received: from lelvem-ot02.ext.ti.com (lelvem-ot02.ext.ti.com [198.47.23.235])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6964A1F8676;
Thu, 5 Jun 2025 06:42:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.47.23.235
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105731; cv=none; b=fIzSNoHnsy7H1CedSmP00NGRIEKgIoyUKuBw2j0a8sFI0ZyGKNht212Kz0GyuA7an4Pa554gRV8Z8xVfk/e0tnYoLuIYh2qMiq6KbqfTcqSLR2F3rTA1prFgZgYVe4INmCAV8gVoGeFiffkVe79kQLZuGDOUWail4gp5uBxzaCY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105731; c=relaxed/simple;
bh=rU/1YIoV2CLoSuMbCiI2MlnXgOapUv8HsWBJc0q5cto=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=p38DxQXeufMMcQoovh2Ed05GQy937m33LiVh+/4TcLAHopM2tIAH0w2R/rUSwkWXX5UvPxlX9cpolKyDWNmeZUNc6AUCu8dTJIlcXMxZE9La+PUoJCLFqQJasLZdofvBVVP7kgoJlVcofMlneh6NYOIdrDmxwsT7VJyzn9e6cyo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=I04OTXgX; arc=none smtp.client-ip=198.47.23.235
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com
Received: from lelvem-sh01.itg.ti.com ([10.180.77.71])
by lelvem-ot02.ext.ti.com (8.15.2/8.15.2) with ESMTP id 5556g0I14008507;
Thu, 5 Jun 2025 01:42:00 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
s=ti-com-17Q1; t=1749105720;
bh=OrukiiR7vvWd7A9qLRhkqN2uK3tuulRr807NT8fSWc8=;
h=Date:Subject:To:CC:References:From:In-Reply-To;
b=I04OTXgXjr04Ra9WAredg55I4gqGQwkOFx7U5jZLJ7CqhTPCQFMnUtwfU3c1aayhe
/jItUn4dlnRHc9+eHJ1M1txtLQwx4ja48CPgtCNhOovxBqy8KzBN5pTr+x8VHuDoAW
IeEgr7BYwpfCimrWe+utf1uYc+qWYyB471UUNY/M=
Received: from DLEE107.ent.ti.com (dlee107.ent.ti.com [157.170.170.37])
by lelvem-sh01.itg.ti.com (8.18.1/8.18.1) with ESMTPS id 5556g07o952009
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=FAIL);
Thu, 5 Jun 2025 01:42:00 -0500
Received: from DLEE109.ent.ti.com (157.170.170.41) by DLEE107.ent.ti.com
(157.170.170.37) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Thu, 5
Jun 2025 01:41:59 -0500
Received: from lelvem-mr05.itg.ti.com (10.180.75.9) by DLEE109.ent.ti.com
(157.170.170.41) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via
Frontend Transport; Thu, 5 Jun 2025 01:41:59 -0500
Received: from [172.24.227.220] (chintan-thinkstation-p360-tower.dhcp.ti.com [172.24.227.220])
by lelvem-mr05.itg.ti.com (8.18.1/8.18.1) with ESMTP id 5556ftHe3275682;
Thu, 5 Jun 2025 01:41:56 -0500
Message-ID: <e70f685c-ec03-4e87-8e5b-963bd9ebb2f1@xxxxxx>
Date: Thu, 5 Jun 2025 12:11:54 +0530
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] mux: mmio: Extend mmio-mux driver to configure mux
with mux-reg-masks-state
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Thorsten Blum
<thorsten.blum@xxxxxxxxx>, Andrew Davis <afd@xxxxxx>,
Conor Dooley
<conor+dt@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Rob Herring
<robh@xxxxxxxxxx>, Peter Rosin <peda@xxxxxxxxxx>
CC: <linux-kernel@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<s-vadapalli@xxxxxx>, <vigneshr@xxxxxx>, <nm@xxxxxx>,
<danishanwar@xxxxxx>
References: <20250605063422.3813260-1-c-vankar@xxxxxx>
<20250605063422.3813260-3-c-vankar@xxxxxx>
<c343c5d1-9f8c-4bb3-a98e-af144ace7bfa@xxxxxxxxxx>
Content-Language: en-US
From: Chintan Vankar <c-vankar@xxxxxx>
In-Reply-To: <c343c5d1-9f8c-4bb3-a98e-af144ace7bfa@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hello Krzysztof,

On 05/06/25 12:06, Krzysztof Kozlowski wrote:
> On 05/06/2025 08:34, Chintan Vankar wrote:
>> MMIO mux driver is designed to parse "mux-reg-masks" and "idle-states"
>> property independently to configure mux. The current design is complex for
>> the devices with larger memory space, which requires synchronization
>> between the two properties.
>>
>> Extend mmio-mux driver to support a single property, "mux-reg-masks-state"
>> which configures mux registers without above constraint.
>>
>> Signed-off-by: Chintan Vankar <c-vankar@xxxxxx>
>> ---
>> drivers/mux/mmio.c | 144 +++++++++++++++++++++++++++++++++++++--------
>> 1 file changed, 118 insertions(+), 26 deletions(-)
>>
>> diff --git a/drivers/mux/mmio.c b/drivers/mux/mmio.c
>> index 9993ce38a818..5ce9c16fd431 100644
>> --- a/drivers/mux/mmio.c
>> +++ b/drivers/mux/mmio.c
>> @@ -2,7 +2,7 @@
>> /*
>> * MMIO register bitfield-controlled multiplexer driver
>> *
>> - * Copyright (C) 2017 Pengutronix, Philipp Zabel <kernel@xxxxxxxxxxxxxx>
>> + * Copyright (C) 2017-2025 Pengutronix, Philipp Zabel <kernel@xxxxxxxxxxxxxx>
>
> Why are you updating someone's copyrights?
>

Yes, I forgot to modify from the RFC series. I will keep it unmodified
in the next version.

Regards,
Chintan.

>
> Best regards,
> Krzysztof


Return-Path: <linux-kernel+bounces-674139-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5818E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:46:08 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 9D86A189A865
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:46:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7019F1A00F0;
Thu, 5 Jun 2025 06:46:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PCTFx4wH"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B73E02114
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:45:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749105959; cv=none; b=gqNsS3U4VD5vrHVEpJf3iy53A7sZCF0qwp2EQLwEdnxCh4xlw0LOgca1kbMRpaLD0eHYUe26Yifr0+5tWzYWTK/+Rmf6I+GurNCOdDFFxABmwMrUlbmTJfDnbm4qHLyNeNfI2ycHnwfdSLbSm5SXZo398R2Rmulnz+j58xuvWZY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749105959; c=relaxed/simple;
bh=cyduzTdGidhSuuj7X92xRstIuhvQeMVv9pQcr2FaBIU=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=aHlNvvk4VlriR2rPsYFDdkztFuRtccczPDHf9ugNsqv1ITN7G1v9p7rJgWORmQIxaBxHNTFbwFnzyiVJoHGYDZ7kk1pYEhi4NiqztTy3rxXnN/Cwd6lDAUgl2tz6xM3S8As0azhUuFJPl7TMVhtpzykKnMo2LxMcpljH6ySreYk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PCTFx4wH; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8AFAC4CEE7;
Thu, 5 Jun 2025 06:45:58 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749105959;
bh=cyduzTdGidhSuuj7X92xRstIuhvQeMVv9pQcr2FaBIU=;
h=Date:From:To:Cc:Subject:From;
b=PCTFx4wHgqGTWPOLIP3vBHiWOoqIWpr5+wJ7lKMPVxP03gDDn7nbgZWHdGU/WqMPF
5srLqbTz4+dq8Mrq6dhEv1deQfE0tkZcLZZeS29H87+zczcYa0fTrAOrvmm2EZCSzD
HcoWX3IWU885bdG8auINWOrxh7CHKDwd+fX3nfLlq8SsAqtAFCygw/XR9SNrBxjz6p
LeHL9mYJXqHKyJg2a0+EHUrrWnnZeAx2B6G0zEASnoL0U8jZLy50QaGX8DIXnWtVlg
ORkzwEZ1TEiezjdAzAh24HFDSeIO0ALKGHVjX3JBdk5LvJESdoWgF3xxDFHOWxSXRB
5hOTxJDgwQj2w==
Date: Thu, 5 Jun 2025 12:15:55 +0530
From: Vinod Koul <vkoul@xxxxxxxxxx>
To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>
Subject: [GIT PULL]: Soundwire updates for v6.16
Message-ID: <aEE9IwuPcjYyMSLu@vaman>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="AvpxzHzZNNLAKbFV"
Content-Disposition: inline
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


--AvpxzHzZNNLAKbFV
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hello Linus,

Please pull to receive a small pull request for soundwire subsystem for
v6.16. This includes couple of core changes and an Intel driver change.

The following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8:

Linux 6.15-rc1 (2025-04-06 13:11:33 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git tags/so=
undwire-6.16-rc1

for you to fetch changes up to 62ada17a6217a50fbd1b23f10899890f56effc97:

soundwire: only compute port params in specific stream states (2025-05-14=
12:44:01 +0100)

----------------------------------------------------------------
soundwire updates for 6.16

Couple of small core changes for
- sdw_assign_device_num() logic simplification, using internal slave id
for irqs and optimizing computing of port params in specific stream
states
- Intel driver updates for ACE3+ microphone privacy status reporting
and enabling the status in HDA Intel driver

----------------------------------------------------------------
Bard Liao (1):
soundwire: only compute port params in specific stream states

Charles Keepax (2):
soundwire: bus: Simplify sdw_assign_device_num()
soundwire: bus: Add internal slave ID and use for IRQs

Peter Ujfalusi (2):
soundwire: intel: Add awareness of ACE3+ microphone privacy
ASoC: SOF: Intel: hda: Set the mic_privacy flag for soundwire with AC=
E3+

drivers/soundwire/bus.c | 31 +++++++++++---------=
----
drivers/soundwire/bus_type.c | 10 ++++++++
drivers/soundwire/generic_bandwidth_allocation.c | 7 ++++++
drivers/soundwire/intel.h | 2 ++
drivers/soundwire/intel_ace2x_debugfs.c | 6 +++++
drivers/soundwire/intel_init.c | 1 +
drivers/soundwire/irq.c | 6 ++---
include/linux/soundwire/sdw.h | 6 +++++
include/linux/soundwire/sdw_intel.h | 5 ++++
sound/soc/sof/intel/hda.c | 3 +++
10 files changed, 57 insertions(+), 20 deletions(-)

--=20
~Vinod

--AvpxzHzZNNLAKbFV
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmhBPSMACgkQfBQHDyUj
g0dLsBAAozrJNeiebA+OTagpdFOL3af4AB0C4z/rGf9xSZiEBdkAuw0ByaS/NoqK
660icxrshrnPLcqdifhWQSiys/q864zfdsoQOKz2MXZPSKMZjDzxKYQ9lEJ3N34Q
OPbuu3xhgymZeirgkNn//C/vd3/Z4PYoQosBDxKmGJa8uxqc0DdJR17eiexNYmDB
jOZqDe3BtI9URD8WbgYzp8wp8ZyIRtkPThdh6aIeTr8NZRG2am2G1aJHQToWnmE8
b4uP3rBhtc1O4sQe22VrRClPFynwxevDp/VqlfyQ6B81YrFjEc93L6WHh/wtJL0+
tCgTIDZ5XyCPpeYRcmqIP2od2ffhvBuCDUX9MCAWftmsyacCbqd3ResQjjfdkNsx
r/MpHCS2EeJnHQwQMxdzCNGBIjtzu2IZhZR/3IUctsqyQ/CRgt7899lGZZ3mk0DQ
kJ0+ucep5VPH80VBT8hS18zv0MzkULziVloCC0KLOOK3BNnfFSd2b/nu363iPZ8T
CroFQKkUwElXOgKeAjo8SBYJ0XqlY14+Okq4dPBaw/N7EcHOMhWlJvd2Q+RtwWj3
3wehYbQ8QCLpG0QIrxzm5YY7Oo0q0Jj/BOOU5JY9kGvSVFQXaUqOyovdKI4jGwyr
1c6fTcZd8eT0DCTbisWlZLy6TNACz8vxcuZXyuAJLGGCav+anIY=
=y68A
-----END PGP SIGNATURE-----

--AvpxzHzZNNLAKbFV--


Return-Path: <linux-kernel+bounces-674140-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AD3A241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:46:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 83278189A6EA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:47:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 83E441EF0B0;
Thu, 5 Jun 2025 06:46:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="NLwSt/rX"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC27D2114;
Thu, 5 Jun 2025 06:46:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106010; cv=none; b=SEo8l0u8ms9Rs5pcCd6uOZ5jDluC/2KKHzax7FLvxINLu8XLUh+KQpYjprVztsyIswe1TsMpspMjWA/QAOso/+kkmfFKd+zv7Z8SIbXUTplXmfvT9OSEx3DiW8Bk6n+oEYTFiTSSniwiREfQkjNsmrU7c1fRymEDFJow2US62pY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106010; c=relaxed/simple;
bh=TkwPaC5LkiD2AzRfVu53V8vYeTTkIIo3sfS9ma0nNMo=;
h=Date:Message-ID:From:To:Cc:Subject:In-Reply-To:References:
MIME-Version:Content-Type; b=MT/bkBVu9RHiABTI9rqEV3d26L+GJ+cMfeK8Q/W2e61E1fPIw/Am9qfeGcwB2HO8Cs95jwsPFFx8g7Vz4XUznurHQiKNHO1G4BuhKrAXOdoFJiJFb96pHB3W+eIumWtZuUeYhlzbXE5450zimPhL2qT6TqhPrH2Z3akGujvw6QA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NLwSt/rX; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 26139C4CEE7;
Thu, 5 Jun 2025 06:46:50 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749106010;
bh=TkwPaC5LkiD2AzRfVu53V8vYeTTkIIo3sfS9ma0nNMo=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=NLwSt/rXojX3cThmkkKEtcWLjAXAPd5COS5p+Snz0xS/Qt8dFWs9aFgZTSynHEUYt
0WOgzX/u8wBdR1j6HqyW778WPuvy9f3QYkxnimgdhuDMOygd9mYMAWGifExKCLCd2C
6Dpws77QthBmsN2YZHenwEBVBlrMaVwWZcxCwoBQVttY5qYr16STOTp/MFQjmBft6o
tGT/3MadWrMWAQ7QZcFsjcmMNtj6NDoE6bqtXzRZGcm5zqbZBnI7ZgSiqHahi3K7az
odhwsr187j3x+jQY/oGDRNaQDwepertrh9W+B4O7Xuvtv5v+l4mT0CU/n9uuSEVSAP
pGnZ4w/x9+jyw==
Received: from [149.88.19.236] (helo=lobster-girl.misterjones.org)
by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
(Exim 4.95)
(envelope-from <maz@xxxxxxxxxx>)
id 1uN4ND-0049uH-Cb;
Thu, 05 Jun 2025 07:46:47 +0100
Date: Thu, 05 Jun 2025 07:46:45 +0100
Message-ID: <875xhaeld6.wl-maz@xxxxxxxxxx>
From: Marc Zyngier <maz@xxxxxxxxxx>
To: Sebastian Ott <sebott@xxxxxxxxxx>
Cc: Zenghui Yu <yuzenghui@xxxxxxxxxx>,
Oliver Upton <oliver.upton@xxxxxxxxx>,
Colton Lewis <coltonlewis@xxxxxxxxxx>,
Ricardo Koller <ricarkol@xxxxxxxxxx>,
Joey Gouly <joey.gouly@xxxxxxx>,
Suzuki K Poulose <suzuki.poulose@xxxxxxx>,
Shuah Khan <shuah@xxxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
kvmarm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 0/3] KVM: arm64: selftests: arch_timer_edge_cases fixes
In-Reply-To: <9b9f7099-4e81-9b74-a1ac-37cd4965675b@xxxxxxxxxx>
References: <20250527142434.25209-1-sebott@xxxxxxxxxx>
<adf8b877-7ca2-f60b-fb59-578c70d0e3c0@xxxxxxxxxx>
<9b9f7099-4e81-9b74-a1ac-37cd4965675b@xxxxxxxxxx>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue)
FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/30.1
(aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII
X-SA-Exim-Connect-IP: 149.88.19.236
X-SA-Exim-Rcpt-To: sebott@xxxxxxxxxx, yuzenghui@xxxxxxxxxx, oliver.upton@xxxxxxxxx, coltonlewis@xxxxxxxxxx, ricarkol@xxxxxxxxxx, joey.gouly@xxxxxxx, suzuki.poulose@xxxxxxx, shuah@xxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, kvmarm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx
X-SA-Exim-Mail-From: maz@xxxxxxxxxx
X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Wed, 04 Jun 2025 21:58:48 +0100,
Sebastian Ott <sebott@xxxxxxxxxx> wrote:
>
> Hi Zenghui,
>
> On Tue, 3 Jun 2025, Zenghui Yu wrote:
> > On 2025/5/27 22:24, Sebastian Ott wrote:
> >> Some small fixes for arch_timer_edge_cases that I stumbled upon
> >> while debugging failures for this selftest on ampere-one.
> >>
> >> Changes since v1: modified patch 3 based on suggestions from Marc.
> >>
> >> I've done some tests with this on various machines - seems to be all
> >> good, however on ampere-one I now hit this in 10% of the runs:
> >> ==== Test Assertion Failure ====
> >> arm64/arch_timer_edge_cases.c:481: timer_get_cntct(timer) >= DEF_CNT + (timer_get_cntfrq() * (uint64_t)(delta_2_ms) / 1000)
> >> pid=166657 tid=166657 errno=4 - Interrupted system call
> >> 1 0x0000000000404db3: test_run at arch_timer_edge_cases.c:933
> >> 2 0x0000000000401f9f: main at arch_timer_edge_cases.c:1062
> >> 3 0x0000ffffaedd625b: ?? ??:0
> >> 4 0x0000ffffaedd633b: ?? ??:0
> >> 5 0x00000000004020af: _start at ??:?
> >> timer_get_cntct(timer) >= DEF_CNT + msec_to_cycles(delta_2_ms)
> >>
> >> This is not new, it was just hidden behind the other failure. I'll
> >> try to figure out what this is about (seems to be independent of
> >> the wait time)..
> >
> > Not sure if you have figured it out. I can easily reproduce it on my box
> > and I *guess* it is that we have some random XVAL values when we enable
> > the timer..
>
> Yes, I think so, too.
>
> > test_reprogramming_timer()
> > {
> > local_irq_disable();
> > reset_timer_state(timer, DEF_CNT);
>
> My first attempt was to also initialize cval here

Note that CVAL and TVAL are two views of the same thing. It should be
enough to initialise one of them (though TVAL is stupidly narrow).

>
> >
> > /* Program the timer to DEF_CNT + delta_1_ms. */
> > set_tval_irq(timer, msec_to_cycles(delta_1_ms), CTL_ENABLE);
> >
> > [...]
> > }
> >
> > set_tval_irq()
> > {
> > timer_set_ctl(timer, ctl);
> >
> > // There is a window that we enable the timer with *random* XVAL
> > // values and we may get the unexpected interrupt.. And it's
> > // unlikely that KVM can be aware of TVAL's change (and
> > // re-evaluate the interrupt's pending state) before hitting the
> > // GUEST_ASSERT().
> >
> > timer_set_tval(timer, tval_cycles);
>
> Yes, I stumbled over this as well. I've always assumed that this order is
> becauase of this from the architecture "If CNTV_CTL_EL0.ENABLE is 0,
> the value returned is UNKNOWN." However re-reading that part today I
> realized
> that this only concerns register reads.
>
> Maybe somone on cc knows why it's in that order?

I can't think of a valid reason. Enabling the timer without having set
the deadline first is just silly.

> I'm currently testing this with the above swapped and it's looking good,
> so far.

The swapped version (set xVAL, then enable the timer) is the only one
that makes any sense.

Thanks,

M.

--
Jazz isn't dead. It just smells funny.


Return-Path: <linux-kernel+bounces-674141-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B036441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:47:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id DA7611748DC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:47:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DDE781F5842;
Thu, 5 Jun 2025 06:47:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="plwJplOI"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 083162114;
Thu, 5 Jun 2025 06:47:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106023; cv=none; b=nwXG7h7ywbDdMH3UxxGrybX0Lpmn/9iswvEibTSfHmtIhJu9f3h3UkWBPOWjIcPpXW4vEWPnHQZbY+jAQdJkN59psyOJ+sgI+5u8VmSawgxK3dWn7OdDXfQs2+gBvPJL9YzkvVfpCllXt6A65B6INn6rOODxK1Ba8OFH9hZahdM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106023; c=relaxed/simple;
bh=eCUjOx4w5jRxLq4+wJFYHnxODTQe3MFcxVYHstsW84o=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=nYhi3K9YqZoNM+cbnMg2LndA7yE7iquuYNWcDgCzOWkYzc0MZ2oDZLo+xOSyWh1jm3NL+XOJg+x6QbZQ0TzCCVppeUvTge2XG+g0jW5UkJPuyQq93hQgUlZvs5AjBA+hHK2JOSOqkXrwtkVwVz+0YWWTKcR6Ug3XtM4d6/YpcRc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=plwJplOI; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 70EABC4CEE7;
Thu, 5 Jun 2025 06:46:59 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749106022;
bh=eCUjOx4w5jRxLq4+wJFYHnxODTQe3MFcxVYHstsW84o=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=plwJplOIO5WfFxoe86W030lbE74oVfEAQ9ASKf19kAmqN11LAJahjrS5uNW2Xa4hH
+ldLzT5SYcb6kWzcve5T8qZWxvHp921mW/Y1eP2f+PWfDL4IibPzDrGgjSrIIU4QxL
bqPHQbB1xokvg7FT7ewyO7IMmRzjdNheqdCKj+7Dr96CVzETjWFyA2/7tIFJBOwl6q
w9qODWhjISnmffhYGR3+8q0iSIgf4l6Ag2G1SPerH99Em7AdnYZLJMCvmprEX4wsxO
Y75/iDN7HQ6f7LMBfdy/sg3R8u4PA/Qe9+Ooc/yk+XDlOE+HK7PH0ywSqNShh6K5Kn
C7ohC5+038Nmw==
Message-ID: <01538054-c50f-4dc3-ac2a-37b594940e6e@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 08:46:57 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] devicetree: bindings: mux: reg-mux: Add support for
new property 'mux-reg-masks-state'
To: Chintan Vankar <c-vankar@xxxxxx>, Thorsten Blum
<thorsten.blum@xxxxxxxxx>, Andrew Davis <afd@xxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Peter Rosin <peda@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
s-vadapalli@xxxxxx, vigneshr@xxxxxx, nm@xxxxxx, danishanwar@xxxxxx
References: <20250605063422.3813260-1-c-vankar@xxxxxx>
<20250605063422.3813260-2-c-vankar@xxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250605063422.3813260-2-c-vankar@xxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 05/06/2025 08:34, Chintan Vankar wrote:
> The DT binding for reg-mux currenly requires specifying register offset
> and masks in the "mux-reg-masks" property, while corresponding register
> values are defined in the "idle-states" property. This approach imposes a
> constraint where "mux-reg-masks" and "idle-states" must remain
> synchroniszed, adding complexity when configuring specific registers or a

Typo

> set of registers with large memory spaces.
>
> Add support of a new property "mux-reg-masks-state" to remove this
> constraint, allowing offset, mask and value to be specified together as a
> tuple.
>

Please use subject prefixes matching the subsystem. You can get them for
example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
your patch is touching. For bindings, the preferred subjects are
explained here:
https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters


> Signed-off-by: Chintan Vankar <c-vankar@xxxxxx>
> ---
> .../devicetree/bindings/mux/reg-mux.yaml | 32 +++++++++++++++++--
> 1 file changed, 30 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mux/reg-mux.yaml b/Documentation/devicetree/bindings/mux/reg-mux.yaml
> index dc4be092fc2f..b029e2f28df0 100644
> --- a/Documentation/devicetree/bindings/mux/reg-mux.yaml
> +++ b/Documentation/devicetree/bindings/mux/reg-mux.yaml
> @@ -32,11 +32,39 @@ properties:
> - description: pre-shifted bitfield mask
> description: Each entry pair describes a single mux control.
>
> - idle-states: true
> + idle-states:
> + description: Each entry describes mux register state.
> +
> + mux-reg-masks-state:
> + $ref: /schemas/types.yaml#/definitions/uint32-matrix
> + items:
> + items:
> + - description: register offset
> + - description: pre-shifted bitfield mask
> + - description: register value to be set
> + description: This property is an extension of mux-reg-masks which

How one is supposed to use both (since this is extension)?

> + allows specifying register offset, mask and register
> + value to be set.

Anyway, this is getting too complex (next will be
mux-reg-masks-enable-state and mux-reg-masks-foo-state), just define
your own device schema.

> +
> +allOf:
> + - oneOf:
> + - required: [mux-reg-masks]
> + - required: [mux-reg-masks-state]

So not an extension but replacement?

> +
> + - if:
> + required: [mux-reg-masks-state]
> + then:
> + not:
> + required: [idle-states]

You cannot un-require a field. Where was it made required?

> +
> + - if:
> + required: [mux-reg-masks]
> + then:
> + properties:
> + idle-states: true

This is no-op. I have no clue what you wanted to express here.


>
> required:
> - compatible
> - - mux-reg-masks
> - '#mux-control-cells'
>
> additionalProperties: false


Best regards,
Krzysztof


Return-Path: <linux-kernel+bounces-674142-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A2F0D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:49:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 028C51884F5F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:49:29 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5D2381F8ADD;
Thu, 5 Jun 2025 06:47:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="P3yKLe9f"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A47A0141987
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:47:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106074; cv=none; b=kUGsDJd0rBbI6t7v1qIOZK8TAXf01rBhumdVIA12HqqzNh3sW2Kb2WY/nwlKtDK++/T/Fh2lAl3nKFJnFB0N/bhyS+bA10fqKssGbcL0G4rM5dk0MGUyqK6jl4cnph09SIJKOVCmjLoiem3Elq0bsfoJJM95l8qiqC+9nh1wLBg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106074; c=relaxed/simple;
bh=LphIixm2U6bTC8EwIvMeBprro1C4ApSqd9LbcXniXGg=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=Ek/H+A55yWnFU4q8S7kBJHKxFhwBFWYGPtuwMFzgpWYD/f2CQ2NcCgyeJXa/+SbH1y3xK6kPNuTB3oMPjjJE0FcXihoxzw5tutsJjjNisCVKoYnacGmDcn9K9uQcr9HphQomfXU2hJro7x0x/dWa5PmTYD47uEphfHtqHu9Fj1E=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=P3yKLe9f; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 96FC8C4CEE7;
Thu, 5 Jun 2025 06:47:50 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749106074;
bh=LphIixm2U6bTC8EwIvMeBprro1C4ApSqd9LbcXniXGg=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=P3yKLe9f2CWW02MQUZgkLMtuVa//3TWcD/mGeKP+RB9o0wOjfYB4ujOXX792t/rJJ
skpC54U7LcXjRrBznKnaDnF3luNPRwmLAqrm8ohnBPltBtU0a+jTZ+qcxInVGryRR/
Vr5GA8r953s/M78NPihLhyhVeoLD2dwb3/B4h7yGB5l9BBGjlH09oAnwasNc6wo7+q
HnD/hG8Ui0pMBF+sG9ji6DGcGhOwqCVavywqf1ywRibRzK8KSIllwQjVdQACd9OoKk
HCQPRebtcVC7q/cZYWkFwenzyUb4qEpF7zZYvEAc7Xg5zSOSCziyCV80Ovl5mw5ChP
BEPANb+Eq75Mw==
Date: Thu, 5 Jun 2025 08:47:47 +0200
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: Em Sharnoff <sharnoff@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx, linux-mm@xxxxxxxxx,
Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>,
Andy Lutomirski <luto@xxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>,
"H. Peter Anvin" <hpa@xxxxxxxxx>,
"Edgecombe, Rick P" <rick.p.edgecombe@xxxxxxxxx>,
Oleg Vasilev <oleg@xxxxxxxxx>,
Arthur Petukhovsky <arthur@xxxxxxxxx>,
Stefan Radig <stefan@xxxxxxxxx>, Misha Sakhnov <misha@xxxxxxxxx>
Subject: Re: [PATCH] x86/mm: Handle alloc failure in phys_*_init()
Message-ID: <aEE9k5XLBWPnHJbu@xxxxxxxxx>
References: <9f4c0972-a123-4cc3-89f2-ed3490371e65@xxxxxxxxx>
<aEE6_S2a-1tk1dtI@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <aEE6_S2a-1tk1dtI@xxxxxxxxx>
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


* Ingo Molnar <mingo@xxxxxxxxxx> wrote:

>
> * Em Sharnoff <sharnoff@xxxxxxxxx> wrote:
>
> > tl;dr:
> >
> > * When setting up page table mappings for physical addresses after boot,
> > alloc_low_page() uses GFP_ATOMIC, which is allowed to fail.
> > * This isn't currently handled, and results in a null pointer
> > dereference when it occurs.
> > * This allocation failure can happen during memory hotplug.
> >
> > To handle failure, change phys_pud_init() and similar functions to
> > return zero if allocation failed (either directly or transitively), and
> > convert that to -ENOMEM in arch_add_memory().
>
> > + /*
> > + * Bail only after updating pgd/p4d to keep progress from p4d across retries.
> > + */
> > + if (!paddr_last)
> > + return 0;
> > +
> > pgd_changed = true;
>
> > - init_memory_mapping(start, start + size, params->pgprot);
> > + if (!init_memory_mapping(start, start + size, params->pgprot))
> > + return -ENOMEM;
>
> I agree that it makes total sense to fix all this (especially since you
> are actively triggering it), but have you tried also changing it away
> from GFP_ATOMIC? There's no real reason why it should be GFP_ATOMIC
> AFAICS, other than some historic inertia that nobody bothered to fix.
>
> Plus, could you please change the return flow from this zero
> special-case over to something like ERR_PTR(-ENOMEM) and IS_ERR()?
>
> *Technically* zero is a valid physical address, although we
> intentionally never use it in the kernel AFAIK and wouldn't ever put a
> page table there either. ERR_PTR()/IS_ERR() is much easier on the eyes
> than the zero special-case.

Small correction: since this is a PTE pointer, this is a kernel virtual
address, which can never be zero - only physical addresses can be zero
(but even they aren't in practice.).

My main point wrt. using ERR_PTR()/IS_ERR() instead of 0 remains.

Thanks,

Ingo


Return-Path: <linux-kernel+bounces-674143-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7A5A541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:49:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id B3812165033
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:49:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A084C1F4177;
Thu, 5 Jun 2025 06:48:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b="LI9scScH"
Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 060571A00F0;
Thu, 5 Jun 2025 06:48:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=168.119.41.54
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106122; cv=none; b=PDDkIVIy7+Ihc18L2T8+Gv450pVK1QXKyEIm/dn9ZF05/KbIW6SGhsiRFnpyJvcCSfR9mxWamQludZrkkTHlkuseFCCAZ5uThiq8XROav/V9vr+8i038eUH3/F/1dC7JvoLHHo9g2Smw9UT4KyXDP7uUXvzIJgTXBXX0MThoGDs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106122; c=relaxed/simple;
bh=v1VbwHn9X/vcgpehSlsORSX2h1I1ZC7wmEKLIY4Dtio=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=Y6y3EVDFQbadbw1XuShlyU87tA5XntbN7QmxA3PLbrJWAWjs6CEgc1+wRCftE4eOhj5oAoPrBcVPmWYCi9Te+4TAmOnmo34I6sun+ZZQUmG3Kec609x0rxaHj0b4GngLjh+uLpt/XJIQ4ReuDQpXrldGa27C8IAjZcpekGAjtSs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at; spf=pass smtp.mailfrom=emfend.at; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b=LI9scScH; arc=none smtp.client-ip=168.119.41.54
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=emfend.at
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at;
s=mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References
:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:Content-ID:
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
List-Post:List-Owner:List-Archive;
bh=vw3Uk3105LnqEXM8kkjyZCQuG6ZyTrE+YY65qSzjcI0=; b=LI9scScHpRzQVwEG4A4uDjhr49
6LbDw9dbugxOSGcz/8BfYC1xZqGbW8II8ipnio9no12FR8hV8l9NPyW8nxD4pNvPaxFRt9IN9UTE2
7uX122hebeivEf4yr/bsLoXxhYxV0VZrMwJkZw1LBOMDUdvINYVQ6A7grHBq5G71yEMw=;
Received: from 194-208-208-245.tele.net ([194.208.208.245]:62185 helo=[192.168.0.218])
by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
(Exim 4.93)
(envelope-from <matthias.fend.oss@xxxxxxxxx>)
id 1uN47t-00BsXS-Cj; Thu, 05 Jun 2025 08:30:57 +0200
Message-ID: <ea382833-3782-4203-b31c-7f1a364f671d@xxxxxxxxx>
Date: Thu, 5 Jun 2025 08:30:55 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MAINTAINERS: adjust file entry in TPS6131X FLASH LED
DRIVER
To: Lukas Bulwahn <lbulwahn@xxxxxxxxxx>,
Matthias Fend <matthias.fend@xxxxxxxxx>, Lee Jones <lee@xxxxxxxxxx>,
Pavel Machek <pavel@xxxxxxxxxx>, linux-leds@xxxxxxxxxxxxxxx
Cc: kernel-janitors@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Lukas Bulwahn <lukas.bulwahn@xxxxxxxxxx>
References: <20250527065434.202622-1-lukas.bulwahn@xxxxxxxxxx>
Content-Language: de-DE
From: Matthias Fend <matthias.fend.oss@xxxxxxxxx>
In-Reply-To: <20250527065434.202622-1-lukas.bulwahn@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score:
X-Spam-Bar:
X-Spam-Report:
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Lukas,

thanks for the patch!
The filename changed during the review and I actually forgot to update
it at this point.

Am 27.05.2025 um 08:54 schrieb Lukas Bulwahn:
> From: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxxx>
>
> Commit 0d12bb1a7fb6 ("dt-bindings: leds: Add Texas Instruments TPS6131x
> flash LED driver") adds the device-tree binding file ti,tps61310.yaml,
> whereas the commit b338a2ae9b31 ("leds: tps6131x: Add support for Texas
> Instruments TPS6131X flash LED driver") from the same patch series adds the
> section TEXAS INSTRUMENTS TPS6131X FLASH LED DRIVER in MAINTAINERS,
> referring to the file ti,tps6131x.yaml. Note the subtle difference between
> the two file names. Hence, ./scripts/get_maintainer.pl --self-test=patterns
> complains about a broken reference.
>
> Adjust the file reference to the intended file.
>
> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxxx>

Reviewed-by: Matthias Fend <matthias.fend@xxxxxxxxx>

Thanks
~Matthias

> ---
> MAINTAINERS | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index e20de38ffa54..0c4f0eb7f49c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -24518,7 +24518,7 @@ TEXAS INSTRUMENTS TPS6131X FLASH LED DRIVER
> M: Matthias Fend <matthias.fend@xxxxxxxxx>
> L: linux-leds@xxxxxxxxxxxxxxx
> S: Maintained
> -F: Documentation/devicetree/bindings/leds/ti,tps6131x.yaml
> +F: Documentation/devicetree/bindings/leds/ti,tps61310.yaml
> F: drivers/leds/flash/leds-tps6131x.c
>
> TEXAS INSTRUMENTS' DAC7612 DAC DRIVER



Return-Path: <linux-kernel+bounces-674144-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3F77341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:49:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 40ED03A7274
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:49:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A3C761EF0B0;
Thu, 5 Jun 2025 06:49:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oz+o/pj2"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 91AE754723
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:49:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106164; cv=none; b=tJ5pUmKrcuVJ5hMZbP99+DdnUVog29ksxBWOz1smD8O3P1TvIs6k2Qi09UEHgeeYVrSezb1t/YV8t2SiqNzq2Gkm/ciQXX1ml3BqLqNhg6QDZnjEU3RgcZuDsToPHDR6S205w0T0Qg+VUtPZs9B294CiGRaomqeeUsg5Z94fhpE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106164; c=relaxed/simple;
bh=0flKWdU5WcZcp5IYJPEq42tGtbhhbKKKw7f9XGBgskQ=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=RDPOyTvyzkxQUtEMfV1weGYwmadZQ/8PB2V1umyI/tjdP3aNAhAb5KIMncqJd6x+7L3PfwbJXhDHefOmvfehdLjNR+awEdfWzzts66zEz4+Gp2BiUoXHXV4f5ID1C0jvhbwRM3ITEQZYYAdnIHpgNTJC8uK24uDoIQBgjcly5ic=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oz+o/pj2; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 09CE6C4CEE7;
Thu, 5 Jun 2025 06:49:22 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749106163;
bh=0flKWdU5WcZcp5IYJPEq42tGtbhhbKKKw7f9XGBgskQ=;
h=Date:From:To:Cc:Subject:From;
b=oz+o/pj2jf5jI/GShc+/riX9HTbeJbpMQk6t3v2u/j43Jtq21aoB/l4iFso+fu9ck
ZdTFlNFusfd/tfKMY3FPVPY56SheXHMmpFFU4YdWlA2bIdLpGW1P7XlTcNTX4/1dwg
z7N9WhM0WwOWPkP4k0hbSklTNzJmECBnyAz5KoqkCcIOh5ony4dJNI0fDHM8YuryW9
xJw9WwfTECc+9sak15GmajCM9IaEsT86Xz7HVxbgtNjnIKefh5WNCF/HQ5xTXyTr5a
oQVkVyIn4JF9Ps+wjVEdB4ih7NhaA6GuNDcBLR0x5dyMHJdu5KWTrYwvZRWFq43ShU
41hIBV5Mwr3Xg==
Date: Thu, 5 Jun 2025 12:19:20 +0530
From: Vinod Koul <vkoul@xxxxxxxxxx>
To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>
Subject: [GIT PULL]: Generic phy updates for v6.16
Message-ID: <aEE98PP0Mpz4a0v+@vaman>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="YBi6uhclkiTWubx2"
Content-Disposition: inline
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


--YBi6uhclkiTWubx2
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hello Linus,

Please pull to receive generic phy updates as usual featuring couple of
new driver and bunch of new device support and some driver changes to
Freescale, rockchip driver along with couple of yaml binding
conversions.

This might create conflict while merging and am sure it would be
resolved. linux-next has resolutions as well

The following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8:

Linux 6.15-rc1 (2025-04-06 13:11:33 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git tags/phy-=
for-6.16

for you to fetch changes up to 0c22287319741b4e7c7beaedac1f14fbe01a03b9:

phy: tegra: p2u: Broaden architecture dependency (2025-05-14 12:28:04 +01=
00)

----------------------------------------------------------------
phy-for-6.16

- New Support
- Qualcomm IPQ5424 qusb2 support, IPQ5018 uniphy-pcie driver
- Rockchip usb2 support for RK3562, RK3036 usb2 phy support
- Samsung exynos2200 eusb2 phy support and driver refactoring for this
support, exynos7870 USBDRD support
- Mediatek MT7988 xs-phy support
- Broadcom BCM74110 usb phy support
- Renesas RZ/V2H(P) usb2 phy support

- Updates
- Freescale phy rate claculation updates, i.MX95 tuning support
- Better error handling for amlogic pcie phy
- Rockchip color depth configuration and management support
- Yaml binding conversion for RK3399 Type-C and PCIe Phy

----------------------------------------------------------------
Adam Ford (3):
phy: freescale: fsl-samsung-hdmi: Rename phy_clk_round_rate
phy: freescale: fsl-samsung-hdmi: Refactor finding PHY settings
phy: freescale: fsl-samsung-hdmi: Improve LUT search for best clock

Alexander Stein (1):
phy: freescale: imx8m-pcie: Simplify with dev_err_probe()

Anand Moon (6):
phy: amlogic: phy-meson-gxl-usb2: Simplify error handling with dev_er=
r_probe()
phy: amlogic: phy-meson-g12a-usb2: Simplify error handling with dev_e=
rr_probe()
phy: amlogic: phy-meson-axg-mipi-pcie-analog: Simplify error handling=
with dev_err_probe()
phy: amlogic: phy-meson-axg-mipi-dphy: Simplify error handling with d=
ev_err_probe()
phy: amlogic: phy-meson-axg-pcie: Simplify error handling with dev_er=
r_probe()
phy: amlogic: phy-meson-axg-pcie: Fix PHY creation order in axg-pcie =
probe

Andr=E9 Draszik (2):
phy: exynos5-usbdrd: fix setting LINKSYSTEM_FLADJ on exynos7870
phy: exynos5-usbdrd: s/FIELD_PREP_CONST/FIELD_PREP where appropriate

AngeloGioacchino Del Regno (2):
dt-bindings: phy: mediatek,dsi-phy: Add support for MT6893
dt-bindings: phy: mediatek,tphy: Add support for MT6893

Chen Ni (1):
phy: rockchip: samsung-hdptx: Remove unneeded semicolon

Chenyuan Yang (1):
phy: qcom-qmp-usb: Fix an NULL vs IS_ERR() bug

Cristian Ciocaltea (13):
phy: hdmi: Add color depth configuration
phy: rockchip: samsung-hdptx: Fix clock ratio setup
phy: rockchip: samsung-hdptx: Do no set rk_hdptx_phy->rate in case of=
errors
phy: rockchip: samsung-hdptx: Drop unused struct lcpll_config
phy: rockchip: samsung-hdptx: Drop unused phy_cfg driver data
phy: rockchip: samsung-hdptx: Drop superfluous cfgs driver data
phy: rockchip: samsung-hdptx: Avoid Hz<->hHz unit conversion overhead
phy: rockchip: samsung-hdptx: Setup TMDS char rate via phy_configure_=
opts_hdmi
phy: rockchip: samsung-hdptx: Provide config params validation support
phy: rockchip: samsung-hdptx: Restrict altering TMDS char rate via CCF
phy: rockchip: samsung-hdptx: Rename ambiguous rk_hdptx_phy->rate
phy: rockchip: samsung-hdptx: Optimize internal rate handling
phy: rockchip: samsung-hdptx: Add high color depth management

Daniel Golle (1):
phy: mediatek: xsphy: support type switch by pericfg

Frank Wang (1):
phy: rockchip: inno-usb2: Add usb2 phy support for rk3562

Frank Wunderlich (2):
dt-bindings: phy: mtk-xs-phy: Add mt7988 compatible
dt-bindings: phy: mtk-xs-phy: support type switch by pericfg

Heiko Stuebner (2):
dt-bindings: phy: rockchip,inno-usb2phy: add rk3036 compatible
phy: rockchip: inno-usb2: add phy definition for rk3036

Ivaylo Ivanov (10):
dt-bindings: phy: add exynos2200 eusb2 phy support
dt-bindings: phy: samsung,usb3-drd-phy: add exynos2200 support
phy: move phy-qcom-snps-eusb2 out of its vendor sub-directory
phy: phy-snps-eusb2: refactor constructs names
phy: phy-snps-eusb2: split phy init code
phy: phy-snps-eusb2: make repeater optional
phy: phy-snps-eusb2: make reset control optional
phy: phy-snps-eusb2: refactor reference clock init
phy: phy-snps-eusb2: add support for exynos2200
phy: exynos5-usbdrd: support Exynos USBDRD 3.2 4nm controller

Johan Hovold (1):
phy: qcom: qmp-pcie: drop bogus x1e80100 qref supply

Justin Chen (2):
dt-bindings: phy: brcmstb-usb-phy: Add support for bcm74110
phy: usb: add support for bcm74110

Kathiravan Thirumoorthy (2):
Revert "phy: qcom-qusb2: add QUSB2 support for IPQ5424"
phy: qcom-qusb2: reuse the IPQ6018 settings for IPQ5424

Kaustabh Chakraborty (3):
phy: exynos5-usbdrd: use GENMASK and FIELD_PREP for Exynos5 PHY regis=
ters
dt-bindings: phy: samsung,usb3-drd-phy: add exynos7870-usbdrd-phy com=
patible
phy: exynos5-usbdrd: add exynos7870 USBDRD support

Kever Yang (1):
dt-bindings: phy: rockchip,inno-usb2phy: add rk3562

Konrad Dybcio (1):
phy: qcom: pcie: Determine has_nocsr_reset dynamically

Krzysztof Kozlowski (2):
phy: marvell: Do not enable by default during compile testing
phy: samsung: Do not enable PHY_EXYNOS5_USBDRD by default during comp=
ile testing

Lad Prabhakar (4):
dt-bindings: phy: renesas,usb2-phy: Add clock constraint for RZ/G2L f=
amily
dt-bindings: phy: renesas,usb2-phy: Document RZ/V2H(P) SoC
phy: renesas: phy-rcar-gen3-usb2: Sort compatible entries by SoC part=
number
phy: renesas: phy-rcar-gen3-usb2: Add USB2.0 PHY support for RZ/V2H(P)

Martin Blumenstingl (2):
phy: amlogic: meson8b-usb2: Use FIELD_PREP instead of _SHIFT macros
phy: amlogic: meson8b-usb2: Use the regmap_{clear,set}_bits helpers

Mike Looijmans (1):
phy-zynqmp: Postpone getting clock rate until actually needed

Nitheesh Sekar (2):
dt-bindings: phy: qcom: uniphy-pcie: Add ipq5018 compatible
phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018

Qiang Yu (1):
phy: qcom: qmp-pcie: Add PHY register retention support

Rob Herring (Arm) (3):
dt-bindings: phy: rockchip: Add missing "phy-supply" property
dt-bindings: phy: rockchip: Convert RK3399 Type-C PHY to schema
dt-bindings: phy: rockchip: Convert RK3399 PCIe PHY to schema

Sandor Yu (1):
phy: Add HDMI configuration options

Siddharth Vadapalli (1):
dt-bindings: phy: cadence-torrent: enable PHY_TYPE_USXGMII

Vidya Sagar (1):
phy: tegra: p2u: Broaden architecture dependency

Xu Yang (4):
dt-bindings: phy: imx8mq-usb: fix fsl,phy-tx-vboost-level-microvolt p=
roperty
dt-bindings: phy: imx8mq-usb: add imx95 tuning support
phy: fsl-imx8mq-usb: fix phy_tx_vboost_level_from_property()
phy: fsl-imx8mq-usb: add i.MX95 tuning support

.../bindings/phy/brcm,brcmstb-usb-phy.yaml | 5 +-
.../bindings/phy/fsl,imx8mq-usb-phy.yaml | 37 +-
.../devicetree/bindings/phy/mediatek,dsi-phy.yaml | 1 +
.../devicetree/bindings/phy/mediatek,tphy.yaml | 1 +
.../devicetree/bindings/phy/mediatek,xsphy.yaml | 16 +
.../bindings/phy/phy-cadence-torrent.yaml | 3 +-
.../bindings/phy/phy-rockchip-naneng-combphy.yaml | 3 +
.../devicetree/bindings/phy/phy-rockchip-typec.txt | 84 ---
.../bindings/phy/phy-rockchip-usbdp.yaml | 3 +
.../bindings/phy/qcom,ipq5332-uniphy-pcie-phy.yaml | 49 +-
.../devicetree/bindings/phy/renesas,usb2-phy.yaml | 8 +-
.../bindings/phy/rockchip,inno-usb2phy.yaml | 4 +
.../bindings/phy/rockchip,pcie3-phy.yaml | 3 +
.../bindings/phy/rockchip,rk3399-pcie-phy.yaml | 45 ++
.../bindings/phy/rockchip,rk3399-typec-phy.yaml | 116 ++++
.../devicetree/bindings/phy/rockchip-pcie-phy.txt | 36 --
.../bindings/phy/samsung,exynos2200-eusb2-phy.yaml | 80 +++
.../bindings/phy/samsung,usb3-drd-phy.yaml | 40 +-
.../devicetree/bindings/soc/rockchip/grf.yaml | 13 +-
.../devicetree/bindings/usb/rockchip,dwc3.yaml | 2 +-
drivers/phy/Kconfig | 8 +
drivers/phy/Makefile | 1 +
drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c | 10 +-
.../phy/amlogic/phy-meson-axg-mipi-pcie-analog.c | 10 +-
drivers/phy/amlogic/phy-meson-axg-pcie.c | 14 +-
drivers/phy/amlogic/phy-meson-g12a-usb2.c | 10 +-
drivers/phy/amlogic/phy-meson-gxl-usb2.c | 11 +-
drivers/phy/amlogic/phy-meson8b-usb2.c | 35 +-
drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c | 61 ++
drivers/phy/broadcom/phy-brcm-usb-init.h | 1 +
drivers/phy/broadcom/phy-brcm-usb.c | 14 +
drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 21 +-
drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 84 ++-
drivers/phy/freescale/phy-fsl-samsung-hdmi.c | 119 ++--
drivers/phy/marvell/Kconfig | 4 +-
drivers/phy/mediatek/phy-mtk-xsphy.c | 85 ++-
drivers/phy/phy-snps-eusb2.c | 627 +++++++++++++++++=
++++
drivers/phy/qualcomm/Kconfig | 9 -
drivers/phy/qualcomm/Makefile | 1 -
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 90 ++-
drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 6 +-
drivers/phy/qualcomm/phy-qcom-qusb2.c | 27 +-
drivers/phy/qualcomm/phy-qcom-snps-eusb2.c | 442 ---------------
drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c | 45 ++
drivers/phy/renesas/phy-rcar-gen3-usb2.c | 38 +-
drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 81 +++
drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 292 ++++++----
drivers/phy/samsung/Kconfig | 2 +-
drivers/phy/samsung/phy-exynos5-usbdrd.c | 617 +++++++++++++++++=
---
drivers/phy/tegra/Kconfig | 2 +-
drivers/phy/xilinx/phy-zynqmp.c | 70 +--
include/linux/phy/phy-hdmi.h | 21 +
include/linux/phy/phy.h | 7 +-
include/linux/soc/samsung/exynos-regs-pmu.h | 5 +
54 files changed, 2386 insertions(+), 1033 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/phy/phy-rockchip-type=
c.txt
create mode 100644 Documentation/devicetree/bindings/phy/rockchip,rk3399-p=
cie-phy.yaml
create mode 100644 Documentation/devicetree/bindings/phy/rockchip,rk3399-t=
ypec-phy.yaml
delete mode 100644 Documentation/devicetree/bindings/phy/rockchip-pcie-phy=
=2Etxt
create mode 100644 Documentation/devicetree/bindings/phy/samsung,exynos220=
0-eusb2-phy.yaml
create mode 100644 drivers/phy/phy-snps-eusb2.c
delete mode 100644 drivers/phy/qualcomm/phy-qcom-snps-eusb2.c
create mode 100644 include/linux/phy/phy-hdmi.h

--=20
~Vinod

--YBi6uhclkiTWubx2
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmhBPfAACgkQfBQHDyUj
g0f/Bw/+LhX81YT3b8Z7Ymx5CulWDBE7e74bs8iD8H/IfHEb0vSTdBxhQ7/qM1/V
UFlEtiCJeEd0GJzAW0jqg9iZN0SBJpvayt7kgLEsx6+EwRencWvKjAoKEcXn44Ty
bWTO3sT2NIX60km05hRtnwl69t5/Db0FZAxfD5mubtzqiPPJf3rxaBmmrvSA2LGq
UI/WPMZmQzQRMdzZ/pJ/9kuKQSf58Tbo1IyVxmUn+z1J/IVycrfMAKwaHMt0Swia
5Ip99R1Qja+Mq64NuV6GeQcmswloN9Ob6linOLmQYUzgfWYpUVhYd4+x473w3V4i
5Kxv+5n/4yb5LBuqhqS0H6phip6zr7wFqB5//mkhCqSx0oGVYmlwBl3IbvibJBtl
oT9ZNxwYAUWoHGOly0TJsQA1t87IreQPDQaNAQExiLCU3UjgGDqtO1sTfLB7Wot9
l6UmcMg8+H0v9UtJey5rKOY9oeYkJwqUx7kbegmP9dgSW4/n3URmw/8gQxGApFDd
qeb2tBVn+T/kxXs+JZitNDvtAKpnaILWboW4cYSD6ZEw4xl2BXXdDsvys8viGtxi
0JRSp/YpfbsGmRo8jinMbsxKll495L8Nmcb87E4MpoyMUqBaUxo7tMoVptGTgptb
bvS5Jzvqzni4MoM7rFtfWx1cSVThSX+vdPqVI5O7lMAzc9OuBPY=
=jidL
-----END PGP SIGNATURE-----

--YBi6uhclkiTWubx2--


Return-Path: <linux-kernel+bounces-674145-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4172441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:51:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 691C7168C8E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:51:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 44F251F5851;
Thu, 5 Jun 2025 06:51:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="AOdNvhqU"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E80AE2114;
Thu, 5 Jun 2025 06:51:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.13
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106272; cv=none; b=LlPecBHGe9c73gZgM2k9BNy7mfoMZUmMm92ooVgAG9AMXkQr4SQBoShwLjZ3i9peYzefx/WurIx6UVOQRpWn3I530ru5gqBzg4RN3FTNI6qcunU37SKS0rNdltZJYkNJf607WImEsag8Gn3jJpE7QH/tJAOcBvn7yFjILcVDjOI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106272; c=relaxed/simple;
bh=4u0cpenPUYwUhEIn7H4Eq3mCfXok80FoEd4oOTI+Xe4=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=HONxHcKVlpqussfFVQf5H5gzcOCxZopnZJAbCg1/K1lbXtIMzkypDnJDiOeoRi8rUJGhRK+C8I/x3s7Z5mkwS33Z5xeD3Y2g0USM7hgcj9+H8FTrXwRcti1HtwwE2eyC2LquMirpm0r9IKb7MqdWUFDifBb8N+IauUOEL0Bbeq8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=AOdNvhqU; arc=none smtp.client-ip=198.175.65.13
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749106268; x=1780642268;
h=date:from:to:cc:subject:message-id:references:
mime-version:content-transfer-encoding:in-reply-to;
bh=4u0cpenPUYwUhEIn7H4Eq3mCfXok80FoEd4oOTI+Xe4=;
b=AOdNvhqUwpVOkn0xNFteCZ/9uty3Gv3mwdxS8zVr0ZM+EpKqfHSOmkba
Zs0dWoVsiTj8vpWXDNyB0VXyK7VPLAgTNwRl2TGr9bF1IP2TjM+O9DCPT
3ejD3KT814PwMG6N4V8LX7FHv1oi+qu62ys76JXwd5JnausLUPnZzEHwM
0pyo1g5CvtvmHXqTjEVMTfwuh+T0lmGd7RCD2zYT8XeszTzuR2bCJ1P+T
PNQAetcsq+5TwydY5tIM77nAfrHifQ9FT8cF0S7aELIKH6OZMcyO45TMW
to5IgVKK/4F303miIRNv/jW4yIVIAVSi7aDRbOAJMAzhJ37UioYhQUJCB
A==;
X-CSE-ConnectionGUID: kVvLDWavQbSbaHL4xCrBEA==
X-CSE-MsgGUID: YzlEtEPBRL2CRiQZTfjSZQ==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="62262541"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="62262541"
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:51:07 -0700
X-CSE-ConnectionGUID: xu2tSk4iTv2MRpKjasZFEA==
X-CSE-MsgGUID: oJ/ST0IjQoWa8lS+Ksbi+A==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="150569068"
Received: from cpetruta-mobl1.ger.corp.intel.com (HELO kekkonen.fi.intel.com) ([10.245.244.16])
by fmviesa004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:51:03 -0700
Received: from kekkonen.localdomain (localhost [127.0.0.1])
by kekkonen.fi.intel.com (Postfix) with ESMTP id 8AECE12023B;
Thu, 5 Jun 2025 09:51:00 +0300 (EEST)
Date: Thu, 5 Jun 2025 06:51:00 +0000
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
From: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
To: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>,
Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>,
Hans Verkuil <hverkuil@xxxxxxxxx>,
Tiffany Lin <tiffany.lin@xxxxxxxxxxxx>,
Andrew-CT Chen <andrew-ct.chen@xxxxxxxxxxxx>,
Yunfei Dong <yunfei.dong@xxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, kernel@xxxxxxxxxxxxx,
linux-media@xxxxxxxxxxxxxxx,
Sebastian Fricke <sebastian.fricke@xxxxxxxxxxxxx>
Subject: Re: [PATCH v3 1/5] media: mc: add manual request completion
Message-ID: <aEE-VFfJDhUbM2nA@kekkonen.localdomain>
References: <20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-0-603db4749d90@xxxxxxxxxxxxx>
<20250604-sebastianfricke-vcodec_manual_request_completion_with_state_machine-v3-1-603db4749d90@xxxxxxxxxxxxx>
<aEC05991kEIIifDB@kekkonen.localdomain>
<1ccaaec7f782afc71bae5c3b0f60a786a907555c.camel@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1ccaaec7f782afc71bae5c3b0f60a786a907555c.camel@xxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi Nicolas,

On Wed, Jun 04, 2025 at 07:19:27PM -0400, Nicolas Dufresne wrote:
> Le mercredi 04 juin 2025 �1:04 +0000, Sakari Ailus a �it�:
> > Hi Nicolas,
> >
> > Thanks for the update.
> >
> > On Wed, Jun 04, 2025 at 04:09:35PM -0400, Nicolas Dufresne wrote:
> > > From: Hans Verkuil <hverkuil@xxxxxxxxx>
> > >
> > > By default when the last request object is completed, the whole
> > > request completes as well.
> > >
> > > But sometimes you want to delay this completion to an arbitrary point in
> > > time so add a manual complete mode for this.
> > >
> > > In req_queue the driver marks the request for manual completion by
> > > calling media_request_mark_manual_completion, and when the driver
> > > wants to manually complete the request it calls
> > > media_request_manual_complete().
> > >
> > > Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> > > Signed-off-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> > > ---
> > > �drivers/media/mc/mc-request.c | 38 ++++++++++++++++++++++++++++++++++++--
> > > �include/media/media-request.h | 38 +++++++++++++++++++++++++++++++++++++-
> > > �2 files changed, 73 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/media/mc/mc-request.c b/drivers/media/mc/mc-request.c
> > > index 5edfc2791ce7c7485def5db675bbf53ee223d837..398d0806d1d274eb8c454fc5c37b77476abe1e74 100644
> > > --- a/drivers/media/mc/mc-request.c
> > > +++ b/drivers/media/mc/mc-request.c
> > > @@ -54,6 +54,7 @@ static void media_request_clean(struct media_request *req)
> > > � req->access_count = 0;
> > > � WARN_ON(req->num_incomplete_objects);
> > > � req->num_incomplete_objects = 0;
> > > + req->manual_completion = false;
> > > � wake_up_interruptible_all(&req->poll_wait);
> > > �}
> > > �
> > > @@ -313,6 +314,7 @@ int media_request_alloc(struct media_device *mdev, int *alloc_fd)
> > > � req->mdev = mdev;
> > > � req->state = MEDIA_REQUEST_STATE_IDLE;
> > > � req->num_incomplete_objects = 0;
> > > + req->manual_completion = false;
> > > � kref_init(&req->kref);
> > > � INIT_LIST_HEAD(&req->objects);
> > > � spin_lock_init(&req->lock);
> > > @@ -459,7 +461,7 @@ void media_request_object_unbind(struct media_request_object *obj)
> > > �
> > > � req->num_incomplete_objects--;
> > > � if (req->state == MEDIA_REQUEST_STATE_QUEUED &&
> > > - ��� !req->num_incomplete_objects) {
> > > + ��� !req->num_incomplete_objects && !req->manual_completion) {
> > > � req->state = MEDIA_REQUEST_STATE_COMPLETE;
> > > � completed = true;
> > > � wake_up_interruptible_all(&req->poll_wait);
> > > @@ -488,7 +490,7 @@ void media_request_object_complete(struct media_request_object *obj)
> > > � ��� WARN_ON(req->state != MEDIA_REQUEST_STATE_QUEUED))
> > > � goto unlock;
> > > �
> > > - if (!--req->num_incomplete_objects) {
> > > + if (!--req->num_incomplete_objects && !req->manual_completion) {
> > > � req->state = MEDIA_REQUEST_STATE_COMPLETE;
> > > � wake_up_interruptible_all(&req->poll_wait);
> > > � completed = true;
> > > @@ -499,3 +501,35 @@ void media_request_object_complete(struct media_request_object *obj)
> > > � media_request_put(req);
> > > �}
> > > �EXPORT_SYMBOL_GPL(media_request_object_complete);
> > > +
> > > +void media_request_manual_complete(struct media_request *req)
> > > +{
> > > + unsigned long flags;
> >
> > I'd declare flags as last.
> >
> > > + bool completed = false;
> > > +
> > > + if (WARN_ON(!req))
> > > + return;
> > > + if (WARN_ON(!req->manual_completion))
> > > + return;
> >
> > I think I'd use WARN_ON_ONCE() consistently: this is a driver (or
> > framework) bug and telling once about it is very probably enough.
>
> Just to be sure, you only mean for the two checks above ? Or did
> you mean for the entire function ?

For the entire function. I thought that if this is user-triggerable, the
amount of data ending up in logs could be very large.

>
> >
> > > +
> > > + spin_lock_irqsave(&req->lock, flags);
>
> In practice, if you call this specific function from two places at the same
> time you have a bug, but I realize that moving the the warning on the check
> manual_completion inside that lock would massively help detect that case.
>
> What do you think ?

Seems reasonable to me.

>
> > > + if (WARN_ON(req->state != MEDIA_REQUEST_STATE_QUEUED))
> > > + goto unlock;
> > > +
> > > + req->manual_completion = false;
> > > + /*
> > > + * It is expected that all other objects in this request are
> > > + * completed when this function is called. WARN if that is
> > > + * not the case.
> > > + */
> > > + if (!WARN_ON(req->num_incomplete_objects)) {
> > > + req->state = MEDIA_REQUEST_STATE_COMPLETE;
> > > + wake_up_interruptible_all(&req->poll_wait);
> > > + completed = true;
> > > + }
> >
> > A newline would be nice here.
> >
> > > +unlock:
> > > + spin_unlock_irqrestore(&req->lock, flags);
> > > + if (completed)
> > > + media_request_put(req);
> > > +}
> > > +EXPORT_SYMBOL_GPL(media_request_manual_complete);
> > > diff --git a/include/media/media-request.h b/include/media/media-request.h
> > > index d4ac557678a78372222704400c8c96cf3150b9d9..7f9af68ef19ac6de0184bbb0c0827dc59777c6dc 100644
> > > --- a/include/media/media-request.h
> > > +++ b/include/media/media-request.h
> > > @@ -56,6 +56,9 @@ struct media_request_object;
> > > � * @access_count: count the number of request accesses that are in progress
> > > � * @objects: List of @struct media_request_object request objects
> > > � * @num_incomplete_objects: The number of incomplete objects in the request
> > > + * @manual_completion: if true, then the request won't be marked as completed
> > > + * when @num_incomplete_objects reaches 0. Call media_request_manual_complete()
> > > + * to complete the request after @num_incomplete_objects == 0.
> > > � * @poll_wait: Wait queue for poll
> > > � * @lock: Serializes access to this struct
> > > � */
> > > @@ -68,6 +71,7 @@ struct media_request {
> > > � unsigned int access_count;
> > > � struct list_head objects;
> > > � unsigned int num_incomplete_objects;
> > > + bool manual_completion;
> > > � wait_queue_head_t poll_wait;
> > > � spinlock_t lock;
> > > �};
> > > @@ -218,6 +222,38 @@ media_request_get_by_fd(struct media_device *mdev, int request_fd);
> > > �int media_request_alloc(struct media_device *mdev,
> > > � int *alloc_fd);
> > > �
> > > +/**
> > > + * media_request_mark_manual_completion - Enable manual completion
> > > + *
> > > + * @req: The request
> > > + *
> > > + * Mark that the request has to be manually completed by calling
> > > + * media_request_manual_complete().
> > > + *
> > > + * This function shall be called in the req_queue callback.
> > > + */
> > > +static inline void
> > > +media_request_mark_manual_completion(struct media_request *req)
> > > +{
> > > + req->manual_completion = true;
> > > +}
> > > +
> > > +/**
> > > + * media_request_manual_complete - Mark the request as completed
> > > + *
> > > + * @req: The request
> > > + *
> > > + * This function completes a request that was marked for manual completion by an
> > > + * earlier call to media_request_mark_manual_completion(). The request's
> > > + * @manual_completion flag is reset to false.
> >
> > s/flag/field/
> >
> > > + *
> > > + * All objects contained in the request must have been completed previously. It
> > > + * is an error to call this function otherwise. If such an error occurred, the
> > > + * function will WARN and the object completion will be delayed until
> > > + * @num_incomplete_objects is 0.
> > > + */
> > > +void media_request_manual_complete(struct media_request *req);
> > > +
> > > �#else
> > > �
> > > �static inline void media_request_get(struct media_request *req)
> > > @@ -336,7 +372,7 @@ void media_request_object_init(struct media_request_object *obj);
> > > � * @req: The media request
> > > � * @ops: The object ops for this object
> > > � * @priv: A driver-specific priv pointer associated with this object
> > > - * @is_buffer: Set to true if the object a buffer object.
> > > + * @is_buffer: Set to true if the object is a buffer object.
> > > � * @obj: The object
> > > � *
> > > � * Bind this object to the request and set the ops and priv values of
> > >

--
Kind regards,

Sakari Ailus


Return-Path: <linux-kernel+bounces-674146-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 482B741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:51:46 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 86D72164A0D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:51:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 548401F582A;
Thu, 5 Jun 2025 06:51:39 +0000 (UTC)
Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF2F51F03D9;
Thu, 5 Jun 2025 06:51:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.188
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106298; cv=none; b=OI00yswVq+JAc7I1CrBZQdOChFO7m7gF+sb/AVQalqkx0x7vVMx4+a4N/RFiIHNafwJXi0WPs8YWEcrSfTNEDXtGeepk+4Vo5TDpkXE5jXR7D4dROFHtz7DTDnSe4KJdjHtulKeC/vBavEbF5udfHUqt5LoW4uXqCaYRaz7vkk4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106298; c=relaxed/simple;
bh=hS1CBvwCFC9uRduSLLx0Ti6WROWYkF8xkTzwy5DuWaI=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=NFSMmm/cpIhZ3EYN9AkheJzbJH4ovtY+Fw9lKjJ77AKY7HzD5R77lo9Pe0jfuGv87y9J9hsb0nYLDFzuE3LFhGJ9gE7MZRU9y67Dmimrq6gC/VDRPKp4w/U6rKiH5HPr0wo40SbCjg7Z7PRw4oUYUh/H3eiAu/JYlt/CTzu2COI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=45.249.212.188
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com
Received: from mail.maildlp.com (unknown [172.19.163.174])
by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4bCZp434jZztS1K;
Thu, 5 Jun 2025 14:50:20 +0800 (CST)
Received: from kwepemg500017.china.huawei.com (unknown [7.202.181.81])
by mail.maildlp.com (Postfix) with ESMTPS id 3C3051402FC;
Thu, 5 Jun 2025 14:51:33 +0800 (CST)
Received: from [10.174.179.155] (10.174.179.155) by
kwepemg500017.china.huawei.com (7.202.181.81) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.11; Thu, 5 Jun 2025 14:51:32 +0800
Message-ID: <b023bb1f-4c1c-49dc-8842-0b2f1cfbbee0@xxxxxxxxxx>
Date: Thu, 5 Jun 2025 14:51:31 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: =?UTF-8?B?TW96aWxsYSBUaHVuZGVyYmlyZCDmtYvor5XniYg=?=
Subject: Re: [PATCH] nfs: fix the race of lock/unlock and open
To: <trondmy@xxxxxxxxxx>, <anna@xxxxxxxxxx>, <jlayton@xxxxxxxxxx>,
<bcodding@xxxxxxxxxx>
CC: <linux-nfs@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<yukuai1@xxxxxxxxxxxxxxx>, <houtao1@xxxxxxxxxx>, <yi.zhang@xxxxxxxxxx>,
<yangerkun@xxxxxxxxxx>, <lilingfeng@xxxxxxxxxxxxxxx>
References: <20250419085709.1452492-1-lilingfeng3@xxxxxxxxxx>
From: Li Lingfeng <lilingfeng3@xxxxxxxxxx>
In-Reply-To: <20250419085709.1452492-1-lilingfeng3@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: kwepems500001.china.huawei.com (7.221.188.70) To
kwepemg500017.china.huawei.com (7.202.181.81)
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Friendly ping..

Thanks

在 2025/4/19 16:57, Li Lingfeng 写道:
> LOCK may extend an existing lock and release another one and UNLOCK may
> also release an existing lock.
> When opening a file, there may be access to file locks that have been
> concurrently released by lock/unlock operations, potentially triggering
> UAF.
> While certain concurrent scenarios involving lock/unlock and open
> operations have been safeguarded with locks – for example,
> nfs4_proc_unlckz() acquires the so_delegreturn_mutex prior to invoking
> locks_lock_inode_wait() – there remain cases where such protection is not
> yet implemented.
>
> The issue can be reproduced through the following steps:
> T1: open in read-only mode with three consecutive lock operations applied
> lock1(0~100) --> add lock1 to file
> lock2(120~200) --> add lock2 to file
> lock3(50~150) --> extend lock1 to cover range 0~200 and release lock2
> T2: restart nfs-server and run state manager
> T3: open in write-only mode
> T1 T2 T3
> start recover
> lock1
> lock2
> nfs4_open_reclaim
> clear_bit // NFS_DELEGATED_STATE
> lock3
> _nfs4_proc_setlk
> lock so_delegreturn_mutex
> unlock so_delegreturn_mutex
> _nfs4_do_setlk
> recover done
> lock so_delegreturn_mutex
> nfs_delegation_claim_locks
> get lock2
> rpc_run_task
> ...
> nfs4_lock_done
> locks_lock_inode_wait
> ...
> locks_dispose_list
> free lock2
> use lock2
> // UAF
> unlock so_delegreturn_mutex
>
> Get so_delegreturn_mutex before calling locks_lock_inode_wait to fix this
> issue.
>
> Fixes: c69899a17ca4 ("NFSv4: Update of VFS byte range lock must be atomic with the stateid update")
> Signed-off-by: Li Lingfeng <lilingfeng3@xxxxxxxxxx>
> ---
> fs/nfs/nfs4proc.c | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
> index 970f28dbf253..297ee2442c02 100644
> --- a/fs/nfs/nfs4proc.c
> +++ b/fs/nfs/nfs4proc.c
> @@ -7112,13 +7112,16 @@ static void nfs4_locku_done(struct rpc_task *task, void *data)
> .inode = calldata->lsp->ls_state->inode,
> .stateid = &calldata->arg.stateid,
> };
> + struct nfs4_state_owner *sp = calldata->ctx->state->owner;
>
> if (!nfs4_sequence_done(task, &calldata->res.seq_res))
> return;
> switch (task->tk_status) {
> case 0:
> renew_lease(calldata->server, calldata->timestamp);
> + mutex_lock(&sp->so_delegreturn_mutex);
> locks_lock_inode_wait(calldata->lsp->ls_state->inode, &calldata->fl);
> + mutex_unlock(&sp->so_delegreturn_mutex);
> if (nfs4_update_lock_stateid(calldata->lsp,
> &calldata->res.stateid))
> break;
> @@ -7375,6 +7378,7 @@ static void nfs4_lock_done(struct rpc_task *task, void *calldata)
> {
> struct nfs4_lockdata *data = calldata;
> struct nfs4_lock_state *lsp = data->lsp;
> + struct nfs4_state_owner *sp = data->ctx->state->owner;
>
> if (!nfs4_sequence_done(task, &data->res.seq_res))
> return;
> @@ -7386,8 +7390,12 @@ static void nfs4_lock_done(struct rpc_task *task, void *calldata)
> data->timestamp);
> if (data->arg.new_lock && !data->cancelled) {
> data->fl.c.flc_flags &= ~(FL_SLEEP | FL_ACCESS);
> - if (locks_lock_inode_wait(lsp->ls_state->inode, &data->fl) < 0)
> + mutex_lock(&sp->so_delegreturn_mutex);
> + if (locks_lock_inode_wait(lsp->ls_state->inode, &data->fl) < 0) {
> + mutex_unlock(&sp->so_delegreturn_mutex);
> goto out_restart;
> + }
> + mutex_unlock(&sp->so_delegreturn_mutex);
> }
> if (data->arg.new_lock_owner != 0) {
> nfs_confirm_seqid(&lsp->ls_seqid, 0);
> @@ -7597,11 +7605,14 @@ static int _nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock
> int status;
>
> request->c.flc_flags |= FL_ACCESS;
> - status = locks_lock_inode_wait(state->inode, request);
> - if (status < 0)
> - goto out;
> mutex_lock(&sp->so_delegreturn_mutex);
> down_read(&nfsi->rwsem);
> + status = locks_lock_inode_wait(state->inode, request);
> + if (status < 0) {
> + up_read(&nfsi->rwsem);
> + mutex_unlock(&sp->so_delegreturn_mutex);
> + goto out;
> + }
> if (test_bit(NFS_DELEGATED_STATE, &state->flags)) {
> /* Yes: cache locks! */
> /* ...but avoid races with delegation recall... */


Return-Path: <linux-kernel+bounces-674147-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AA41E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:53:11 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id D33AD16FF73
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:53:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 010221F4295;
Thu, 5 Jun 2025 06:53:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JyoiJ74m"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 316861A00F0
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:53:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106385; cv=none; b=KAlw1FWzrMgy3yOY7nDSVYv2cz4Himo96cNP6EC4uCxDmxi/L553yluK9tZifVuD1zVLX988itQ58b9zdCujPTbKqOpGUMPoB4/iZkuzuZ1aG8Haj6Q9ZjQqhyFz8J7sEVyQtPydVrmt4MflT0PyVkozyp/owWr9EGnqdpP6b10=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106385; c=relaxed/simple;
bh=vA8D3g3vJIvtt27o9aE9Vd7o6hUsfSfRZcwpsMs6PUM=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=L0rC0htTW4b6Cip5va973j+1ztV+Z11lrPWCavmDCnP4ZrLiQf6YaoO0HPwZq7bmtldDbnt4uGT0EoX0AftNRMTAbbWDlT9MnoCc2EZ9f4mKKtKgoWsJQkTlQVX0tMff+VNZBzzl9f/TbKYb1aMnXi3XrYafSUWKcXILHUUHAOY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JyoiJ74m; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 287F8C4CEE7;
Thu, 5 Jun 2025 06:53:03 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1749106384;
bh=vA8D3g3vJIvtt27o9aE9Vd7o6hUsfSfRZcwpsMs6PUM=;
h=Date:From:To:Cc:Subject:From;
b=JyoiJ74mDsUqco4MoQePxzTe0fLPkY+rRhbzDvWoXMd8i6CdW5QiUCkbdsO/d1lE2
tAGiHcbNonarbnOwFIOoRIksyOXnlm1MENJBnQ8QqfQG9dZ/82BSFFiPFfnTxP+Xkc
ByUCubkb7JgyfhmluSyeC4AyUNaYI1897rmcr/c59VIjIFBHG3Zr52vAMd+ssvwLyk
VNgGFXW+qInrgn6F3RD9rBxxqO7ZLatPXoMO1R54T+cG1eRSQVmBm15gv+UzXPjTg3
RafINg8K5At0534Cda+z8GpzEbBHv7Cm7UiS/pRv7xgg6cTye7FTZ8ORrO37mXHxrp
rNYQXGuC+nTEQ==
Date: Thu, 5 Jun 2025 12:23:01 +0530
From: Vinod Koul <vkoul@xxxxxxxxxx>
To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>
Subject: [GIT PULL]: dmaengine updates for v6.16
Message-ID: <aEE+za1ox/mlTs1D@vaman>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="CVfQPmQrWZRrfKJW"
Content-Disposition: inline
X-Spam-Status: No, score=-3.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu


--CVfQPmQrWZRrfKJW
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hello Linus,

Please pull to receive a fairly small (compared to older requests) pull
request for dmaengine subsystem. This has a new ARM dmaengine driver and
couple of new device support and few driver changes.


The following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8:

Linux 6.15-rc1 (2025-04-06 13:11:33 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git tags/dm=
aengine-6.16-rc1

for you to fetch changes up to 3c018bf5a0ee3abe8d579d6a0dda616c3858d7b2:

dmaengine: idxd: Remove unused pointer and macro (2025-05-14 16:00:30 +01=
00)

----------------------------------------------------------------
dmaengine updates for v6.16

New support:
- Renesas RZ/V2H(P) dma support for r9a09g057
- Arm DMA-350 driver
- Tegra Tegra264 ADMA support

Updates:
- AMD ptdma driver code removal and optimizations
- Freescale edma error interrupt handler support

----------------------------------------------------------------
Ben Collins (1):
fsldma: Set correct dma_mask based on hw capability

Devendra K Verma (1):
dmaengine: dw-edma: Add HDMA NATIVE map check

Eder Zulian (3):
dmaengine: ptdma: Remove unused pointer dma_cmd_cache
dmaengine: ptdma: Remove dead code from pt_dmaengine_register()
dmaengine: idxd: Remove unused pointer and macro

Fabrizio Castro (6):
dt-bindings: dma: rz-dmac: Restrict properties for RZ/A1H
dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
irqchip/renesas-rzv2h: Add rzv2h_icu_register_dma_req()
dmaengine: sh: rz-dmac: Allow for multiple DMACs
dmaengine: sh: rz-dmac: Add RZ/V2H(P) support
arm64: dts: renesas: r9a09g057: Add DMAC nodes

Geert Uytterhoeven (1):
dmaengine: ARM_DMA350 should depend on ARM/ARM64

Henry Martin (1):
dmaengine: ti: Add NULL check in udma_probe()

Jie Hai (1):
MAINTAINERS: Maintainer change for hisi_dma

Joy Zou (2):
dt-bindings: dma: fsl-edma: increase maxItems of interrupts and inter=
rupt-names
dmaegnine: fsl-edma: add edma error interrupt handler

Kaushal Kumar (1):
dt-bindings: dma: qcom,bam: Document dma-coherent property

Nathan Lynch (1):
Documentation: dmaengine: Correct reference to glReadPixels()

Robin Murphy (2):
dt-bindings: dma: Add Arm DMA-350
dmaengine: Add Arm DMA-350 driver

Sakari Ailus (1):
dmaengine: at_xdmac: Use pm_runtime_put_noidle() with many usage_coun=
ts

Sheetal (2):
dt-bindings: Document Tegra264 ADMA support
dmaengine: tegra210-adma: Add Tegra264 support

Thomas Gessler (2):
dmaengine: xilinx_dma: Set max segment size
dmaengine: xilinx_dma: Set dma_device directions

Vinicius Costa Gomes (1):
dmaengine: idxd: Narrow the restriction on BATCH to ver. 1 only

Yi Sun (1):
dmaengine: idxd: Check availability of workqueue allocated by idxd wq=
driver before using

.../devicetree/bindings/dma/arm,dma-350.yaml | 44 ++
.../devicetree/bindings/dma/fsl,edma.yaml | 4 +-
.../bindings/dma/nvidia,tegra210-adma.yaml | 2 +
.../devicetree/bindings/dma/qcom,bam-dma.yaml | 2 +
.../devicetree/bindings/dma/renesas,rz-dmac.yaml | 107 +++-
Documentation/driver-api/dmaengine/provider.rst | 4 +-
MAINTAINERS | 2 +-
arch/arm64/boot/dts/renesas/r9a09g057.dtsi | 165 ++++++
drivers/dma/Kconfig | 8 +
drivers/dma/Makefile | 1 +
drivers/dma/amd/ptdma/ptdma-dmaengine.c | 23 +-
drivers/dma/amd/ptdma/ptdma.h | 1 -
drivers/dma/arm-dma350.c | 660 +++++++++++++++++=
++++
drivers/dma/at_xdmac.c | 6 +-
drivers/dma/dw-edma/dw-edma-pcie.c | 5 +-
drivers/dma/fsl-edma-common.c | 30 +-
drivers/dma/fsl-edma-common.h | 18 +
drivers/dma/fsl-edma-main.c | 114 +++-
drivers/dma/fsldma.c | 20 +-
drivers/dma/fsldma.h | 1 +
drivers/dma/idxd/cdev.c | 10 +-
drivers/dma/idxd/idxd.h | 2 -
drivers/dma/idxd/sysfs.c | 6 +-
drivers/dma/sh/rz-dmac.c | 84 ++-
drivers/dma/tegra210-adma.c | 185 +++++-
drivers/dma/ti/k3-udma.c | 3 +-
drivers/dma/xilinx/xilinx_dma.c | 4 +
drivers/irqchip/irq-renesas-rzv2h.c | 35 ++
include/linux/irqchip/irq-renesas-rzv2h.h | 23 +
29 files changed, 1463 insertions(+), 106 deletions(-)
create mode 100644 Documentation/devicetree/bindings/dma/arm,dma-350.yaml
create mode 100644 drivers/dma/arm-dma350.c
create mode 100644 include/linux/irqchip/irq-renesas-rzv2h.h

--=20
~Vinod

--CVfQPmQrWZRrfKJW
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmhBPswACgkQfBQHDyUj
g0fy5A/+NHsVQrNtFbaicz9wsR8A7dbyFapw1f9LTp0bFmBArNxhsemu0Pymcf30
BCaXJO89hUd1uAborZjdIzH3gnSiWnQqS/dj2evXmOuR5iyia7faUi1ti3TgoH1C
h+cFbnVJwjVUzXR8fhlCANVmxnNw0PTQGXkc+9lWPLxTEzx+JOiEBdCI6DFxN7aX
W2p3HjvfkuairoCqvW4C3EF9MIwE5ImSOrmY5UUvTmkke9LaZJnz8Ib9KnwwJmgo
SHtVm3a9JRrFJDtPmGEEEy+jUGz3xKeO2I37G8l8PG9azV9JESQA1fiAv2nf6D55
pr++VCQ/wY3W5/yzpynHn/9YX8n+DIDIZ54Bidx8VV8KpnOZ3bbOEMA7WqAfIlvb
dK+QEHDHn3KP0hu/801Aw6h3JKoc9NgGEB9dEb+TauRfBJZRbyo/MNKNAPhipTML
bWw+cPL2gNcclOppRmo41XArwCr81xgWmwHW3u1bkUKChs4pcK/3BzE8IwHjVk1O
Y3fpEFWIBOdSAGP0R089sXhk7AyNcgLq+LmH5bVcrm5hFKirclmieTXjtj5nTQIY
tTGeddKVVgCntfow6pJag4lzKLLA5g2vAXOuHQMBnMEYM5bVtEfOzV4U9u9iN00M
TWFC9qKj3fhg7IoNhoP7UavIq8zbO3Ep/JULo8EJVciu8gCzlCA=
=ALqe
-----END PGP SIGNATURE-----

--CVfQPmQrWZRrfKJW--


Return-Path: <linux-kernel+bounces-674148-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F236241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:55:49 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 78796189685B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:56:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 53D2A1F582A;
Thu, 5 Jun 2025 06:55:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="qCRbOSVD"
Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53])
(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 A903C2114
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:55:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106542; cv=none; b=iMlJR5F/bALPj9zP+BswT35O0C2GqkRTIGg68sLVFAaDSY/Cz7wnAFMvwZxBBCJVzfUMi5T7w4q1wbPg7WkLZjXSzAEL++qESnDyUbNnk9Xt7gomPqy8TCLoDpe5ZSljfWBaq4TXvs/wyiUfI74LCjU4+QPAO4ZN+SGApgCToFs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106542; c=relaxed/simple;
bh=vobjxL9Ht4Ga7OLtAsuCI355VhyiFKLCWny1WNKsZac=;
h=From:To:In-Reply-To:References:Subject:Message-Id:Date:
MIME-Version:Content-Type; b=dPp9KRg0VDqzuKY0dj7Ov04HOzOxvFeJyoh9XE/j4eWnLxeACPU3wRMdm9X8+g4a10QPe8w1Ax1h/Nx6PhVpY3JAtp42sbPlNrNcZg3kPj0N0bwwdDu06dgvvDLWqt+Uyb9riZ5uKU9DIGL97VSIGbtPm1dCNuPH2jxKWXWsxJY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=qCRbOSVD; arc=none smtp.client-ip=209.85.221.53
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3a50956e5d3so528376f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:55:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1749106539; x=1749711339; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:date:message-id:subject
:references:in-reply-to:to:from:from:to:cc:subject:date:message-id
:reply-to;
bh=x+ITcmCm4NZfY1wv7zR2Bon8G4iRiVfF37KR7g/6b48=;
b=qCRbOSVDaGx8ds21gSr2r3MmosbiuOMk5GYM4yOwt6D74B6I3qUAq3nW49VhewewLX
NNP4Khw3sX+8NPoQi6dWnJBAxVhAZgT1o+yU4lqZoYFzJ5Igy665z9HHKUCWZN5Kqj3p
M17xjE3tyjrYDDNeVMaMRhqYR4J/7EEhZ22qC+C0mydyPVI7aXlRyI/uMPMzFzkInO28
XbvSxMyzQAIJqpF6hK207TrT2Es+Tl6OvsMKQ1jmLIX+GuBMQM9p/8SRxjL1ridIq8zY
aM/yTPN0G9pfxEEOkjxesF2ZZCG75WLbxmygKHxmpN0Zvr1/uf4qXVmRVkaHPwGI/RLC
VHfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749106539; x=1749711339;
h=content-transfer-encoding:mime-version:date:message-id:subject
:references:in-reply-to:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=x+ITcmCm4NZfY1wv7zR2Bon8G4iRiVfF37KR7g/6b48=;
b=TTcekL31zMN8vCUAuwnTryn/2wCLwcFGi5ApCBBWLJCLcGcX5/lVkzCVxmL/yQug2/
pD/GrUFy+8MC6RxoC49+crP3PwfSgE3hH3amqfiwt46h65hgjEzvMXWJVeZ3RLiE8PRH
VX00kCMAaVAddIBUUYtCp7GEa3jg8qGcxIvyTKKD+3C5lxBJJuCTGSqb7TrCrn9F369J
SIZvXB1wnLwB2PTYRoGnOboPaaF1QJ2BcCgmA70zPVDjAG13HEs53mlSLQHdxjRraiYb
QvfgOL0HsbLFcsCbmCd6O51/qKgH1YMAeRNYu4MdgXV4BY/BnmSJ6DabgMpk8LDzAygK
behA==
X-Gm-Message-State: AOJu0YzBOiH3lujea8e9zdVfMVy7P7ybw4XCRdkBSmGXzBD3V7Pipt8b
xv0pR1aGvDpkctj82a/789AhefB6GCNX2XvdQE26VIUeDL6vVk4qGhEImPFwpAFUuyuMD0z/kS9
LjhPM
X-Gm-Gg: ASbGnctc9Tp1a3bRugoisqIbD0sNmJWLQysjrQ5LWtQcshi7paQq6b5VOX+yXA/dpRJ
/A5lWKONruMZcN7T7BGyNYY0aFuRR73vEk2UQIfXVxlG0n5jQ/74nyYEfe1tIiXFbD52IqPcoL6
CQpDWHbgqSQEJYPzub4A1HCr8kpZxnS0wF/SVgpTiuEm5eM0YAdLnTa0VaFld+uHePE6GSpvI1c
3U3gVAjXqbCCCgDcsRgpbjmC6R1Z/DWvZCB05YP9Gv/xZSxodUVs801mZjRmwp6C113HHjjFLiD
1znLEngzbtTfSeIG1KQ6Om1/2ZWwVcHA4JIU3/NUgis/FSh3wEcj7OB9CwhoKTpSLDCbCVms
X-Google-Smtp-Source: AGHT+IGvH0unBBb8BFeOY9or4/awz4JHNnzBl0l/lhPxlzs/lpXvQgIr0gIyRm/BP5BVqpz4jE2S5A==
X-Received: by 2002:adf:e512:0:b0:3a5:243c:6058 with SMTP id ffacd0b85a97d-3a5243c622amr2333567f8f.4.1749106538894;
Wed, 04 Jun 2025 23:55:38 -0700 (PDT)
Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:8261:5fff:fe11:bdda])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a526057278sm1910099f8f.63.2025.06.04.23.55.38
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:55:38 -0700 (PDT)
From: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx,
Jessica Zhang <jessica.zhang@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250603-panel-maintainer-update-v1-1-224aaa222d99@xxxxxxxxxxxxxxxx>
References: <20250603-panel-maintainer-update-v1-1-224aaa222d99@xxxxxxxxxxxxxxxx>
Subject: Re: [PATCH] MAINTAINERS: Update my email address for DRM Panel
reviews
Message-Id: <174910653841.1422723.16468836897937113572.b4-ty@xxxxxxxxxx>
Date: Thu, 05 Jun 2025 08:55:38 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Mailer: b4 0.14.2
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi,

On Tue, 03 Jun 2025 18:18:35 -0700, Jessica Zhang wrote:
> Update my email with *.qualcomm.com address
>
>

Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-next)

[1/1] MAINTAINERS: Update my email address for DRM Panel reviews
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/48d39ed4586b35d37d7c7439588bdbc1d9fa5674

--
Neil



Return-Path: <linux-kernel+bounces-674149-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 922E341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:55:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 56087189882A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:56:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1BD311F9406;
Thu, 5 Jun 2025 06:55:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="TggLlj92"
Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48])
(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 A4CAE1DE3DB
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:55:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106543; cv=none; b=V46a8f7L5kzg2+ZcLxsJy+5A+Tz5GlFZSFusllBqVGjymesHiOU4NNvc4aIzIYdq2ZMonVTG0YIrTY4TBwrLGzyCm7voDiNnlUTIOs+kUUkTUWxWSUV66sX1wdjTP5G//TttIYAyHA0sWMltz3yiEvK20QbVp2+cUpiplkutU7w=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106543; c=relaxed/simple;
bh=BNT2EU7DDjsNuCPdkeDmo7wds9jKjVE7XJWO06NNEcE=;
h=From:To:Cc:In-Reply-To:References:Subject:Message-Id:Date:
MIME-Version:Content-Type; b=sisY+gKfyqb0rnqkp7jjQzQHor3hPsEeqq53jeIQd09c9QzmsdpOseVaB/tMj1/uMxVpmfg/nlbMpnc6vfzcVfKiXXIhtm4rf2SzwRCvibp1wmjGPi5FlkZJc91N0rlSuWj6qfx0/6QPcI8jmTq9rKQRgY9CbKTlDBCpCLH+Nqg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=TggLlj92; arc=none smtp.client-ip=209.85.221.48
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3a35c894313so519827f8f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:55:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1749106540; x=1749711340; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:date:message-id:subject
:references:in-reply-to:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=Oyx0ftJ64FlzpC17BLoghE0ntQMOF4o150mtfRdZYiw=;
b=TggLlj92uqBqazF7/rtmwKy1oGR0SpCXGIyEaSpGtM4LkAC7gyAuhOwMCukNjiV4JT
1X9jyzfB6UB7GawCbfBH0aegxasemTQWvg7lKRgQpVGS8t1okCqvr0XsuWMz1UOAhQ4y
PthPXrjS3whPb5iPG228PWER01oKKn1lGXDdq7LOsFIA4Yb0G3mRQZWr6HfEi7WeZhQn
KLaNLaz8qt1e5uV/zg+FiNutqw6jj2xf7XmSOlIR9nT5v1hGhdCN3MRc6O1ZFBwlX+z7
aWyNEBKqcICKwgdck32EKp/HtsVi4FBUZxYFoBmNDlOVntZzAsECGSANQTCh8OfbVDs2
pKAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749106540; x=1749711340;
h=content-transfer-encoding:mime-version:date:message-id:subject
:references:in-reply-to:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=Oyx0ftJ64FlzpC17BLoghE0ntQMOF4o150mtfRdZYiw=;
b=Y5mngo1SDoVD+ZiIa1zBGUj3lRRp4e9gH90Vlk/JgnJZQdMxhJTPeZ/sjb1FGM9vZX
vciPqO2HV+v9yYJ+YxqfhONyI8CRTcIVgMU+cYUkxNHn05vLEy/dsM+Afcc6MFG6Ukba
NWvqnAsXtZ/nAV+DMqp6aR/V6VLsg4YLWygzCTbS08Q15cDJ4+OToWglwpm7VZ6OKJuT
9FJ4zXkQ3XzsUAPMt85Qz6YWtL7JBGae2qvGueRuJWAvhPihpqjvluKCnEILf6r6gXH4
SSkOjt6EDY12AWqAETmCuOlThU67/+xW0ESP//50SiV5MjFR9HDEJL/15VcnlxJVlN/g
0h8Q==
X-Forwarded-Encrypted: i=1; AJvYcCVdSxLk8RAW0bKX4Q5yejVINNq7Yy3ty8vUt8aAZ7VCgr3E3yiQcAkyowTIbwoMiDIrMmyzFcI92faP+jA=@vger.kernel.org
X-Gm-Message-State: AOJu0YxNzyjlBJcmgbtybA1Q+aV7MLAeXeETOO2SQgy73itxg816fe55
8zf2w92nyKUHfWs1ryTxdVIKppMp5xkzkHKHXF+uqW9jaS4U6Hhst5fpgEMHzqrNAap7Z0C1tlz
OIc6O
X-Gm-Gg: ASbGncswiiEcTYqf3kMWfwYpGrBizdYiW7USJkE4EDv/j+snr9YxajaaqOqcmqu0DA9
PadI3iMeMDfUg/oDM0ibEcwDooG+W9UfwL+bZ/8OiWnG74U2ia940shem2aNo7AMPM7+7bJFUya
qdg/aMAhumzyLN0Y6hBNNlGGoiV52qOjhKysMqi4SfOmH3X77O47WvY8Da2rs+675vqlhwoCXYl
LS9eKi5jHxdLK2Nv46yUG9Po1r4+7xlTtDo15sOK1kJFkhLLV41DjWsLZ6FBrdQMAoSCn5Hbqrl
pDAhng2N5W3oV8GXk1/++isasOeuLYszdNFtK1J0qB8MhJsPpLTSMgZTS7egORXJ1lM4I4Kp
X-Google-Smtp-Source: AGHT+IFrS7bC9yM6c1Umhr2I5M7bqyTsyWg+etIUGp1hD7NgyJNk9bH2qumwy99MkZcbUNMkog9zVA==
X-Received: by 2002:a05:6000:2504:b0:3a4:d64a:3df6 with SMTP id ffacd0b85a97d-3a51d8efcc8mr4223971f8f.3.1749106539874;
Wed, 04 Jun 2025 23:55:39 -0700 (PDT)
Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:8261:5fff:fe11:bdda])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a526057278sm1910099f8f.63.2025.06.04.23.55.39
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:55:39 -0700 (PDT)
From: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
To: Abhishek Tamboli <abhishektamboli9@xxxxxxxxx>,
dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Cc: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>
In-Reply-To: <20250519133345.257138-1-andriy.shevchenko@xxxxxxxxxxxxxxx>
References: <20250519133345.257138-1-andriy.shevchenko@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH v1 1/1] drm/panel: ili9341: Remove unused member from
struct ili9341
Message-Id: <174910653899.1422723.14584247273343467171.b4-ty@xxxxxxxxxx>
Date: Thu, 05 Jun 2025 08:55:38 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Mailer: b4 0.14.2
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi,

On Mon, 19 May 2025 16:33:45 +0300, Andy Shevchenko wrote:
> struct device *dev from struct ili9341 is not used anywhere, remove it.
>
>

Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-next)

[1/1] drm/panel: ili9341: Remove unused member from struct ili9341
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/0f9c561a7a63ec0a7d69c227b090ee6defa45d35

--
Neil



Return-Path: <linux-kernel+bounces-674150-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 95BBA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:56:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 169197A6548
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:54:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BD8061FCFEF;
Thu, 5 Jun 2025 06:55:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="bQPEMzmx"
Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42])
(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 6860A1F03D9
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:55:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106544; cv=none; b=GKyjwwyyory84bwldVNo+gx0h/HPTL70FjJARm/nQ9ZCXnEkPXkwWGOq1AoEiVbC5XMCgUaxsb7eFnffJ2PLSb8kkweK8WYQ9h5CtTDcAeFrMohI3CLriBVmT9N1ye0eMZlQxxP5J4QuXzfpn7uZmz8iQHQoqNlvEzV2u69Won8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106544; c=relaxed/simple;
bh=0j5gYjKOZOgxpjecfrLGjbWTh//vv70qPSNPVWr+hWY=;
h=From:To:Cc:In-Reply-To:References:Subject:Message-Id:Date:
MIME-Version:Content-Type; b=HBVgkfklcVQLxT7n4vqlGA3D/1Rm2blI2jPfXVMglallm1/lvvvOnw0c/rWWnZgy+68ZQId2wFSBSmwnDMQd3fkO90wq/0C9MsUT7PS3eSeSR7oVKPMyFtl+layFTUEAFtO5x8mgEpxa36JemIDU+On0j6Ntw52UHOBoF4s4JcE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=bQPEMzmx; arc=none smtp.client-ip=209.85.221.42
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-3a5257748e1so416437f8f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:55:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1749106541; x=1749711341; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:date:message-id:subject
:references:in-reply-to:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=YTgawIlCqa6snL5rle0l3SP+UrYy+5hrMdq2H5aZTbg=;
b=bQPEMzmxt7JvWAxj9AecUYFR4daTtIaeBimU08YHU7p3GokGadfOko4cP4webaiu4G
y5Tt77h35icOEQcZSUChqGwxRDNwNUDdMueGnUIWtL/TDcqDORrkZPhVxiQa41CfTZtb
A7ULEdwp98Dmwo8Us6tcZ310y2NZxM61ygmo5Yt6vpP5kkHmJuuTYzG66apRkgHrqMfy
skUzN1qCoc1d+QVZTfwIiUf1WR5REZteVoFaeG8c0EZa8nG5q95DZSzECthEHUIyMxF1
kgYbJ+99m3Zqc8+UfuFgRX4ECLPO709qh2X4s4Kr4Mv8TJ5ON+/rMlyLAEn4vHauRhtO
NsgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749106541; x=1749711341;
h=content-transfer-encoding:mime-version:date:message-id:subject
:references:in-reply-to:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=YTgawIlCqa6snL5rle0l3SP+UrYy+5hrMdq2H5aZTbg=;
b=Vm6d08k8MIJTZFAnoQ6OZM90ux+HsoFOPmPcZZ+a7dYhxBMTK6KLosfgVPpVe/MR8b
pePlog2BROrnBQZtHrCAgx6XkpdXC0qljNBUBDoBsJbYG5wHM3AdAq6h0XTg58zsCeAt
m1tykeLnMPsVCrWkWw+GiRoTnWBj27LeTt2IEs0HdlZYful/4xW8SRO9pTRG5Sw8g+3Z
HYOiMpUnr0eeguaWKpnRHS12inbU3S9Fq4qJNp3FbJ/D/yry2WQYV9jvev5lHXVHnFX+
ub9PvjDC1GIEf9nMJRiIm31R/vhkLLE4Dp6eivswGiO7tWkURBeed9mdDqy8WTDuh9W0
dFQQ==
X-Forwarded-Encrypted: i=1; AJvYcCUhbdsMC5hJXYAkgeSb3d1ccHCTFvBXzB4uE2q3xTh/eydsMIoU1ywsCkP46ho2T7kXb0gyki95sinYEnM=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw9C9BXgytxeam+zo7f1efvO3qNonPi4vB52nxwyS1GdONlnd71
hWmKGWBg//gADV5x1Xv41rF95gzvJi+H7MqUlb/mO3vT3eJxFBqw8Ub1vKKruhbKNR0=
X-Gm-Gg: ASbGncvQmMGQEnk1IpJ0vVg2Z3ctoS31ahnBzgvbzp2KN4RT7AqCbvOiTlVcNJ2Ugl9
EAeT5YWkOmacEWRWrGjrIiU9Cf4g2xadq9vc/1ZgCuWhD8xsJPCCyaj23lPv+f9HAZe7MbOhuVC
q+MFrJJr+YqSll87R10trX7kKt14AbSvo3XXJBH0ZXZsXOmifzcWC+E7fd2rVEmtRKxqOxfISMh
17nMEPLQT4TPz6j7YM/FweK4cOQG6KLvShF57qwHcRZkC9x4ThG9QWd6RlFCzJIPq9ksTnp1G3P
MjGAflyDTGGEkk3SnuvYWdSy7/AgCUBKPkbP8xVtbCPQK1s84gxyMBUxcrH0ITt8I5iKteaL
X-Google-Smtp-Source: AGHT+IEL+6tBVVRvp0xx1uUE5vKVrbbEUAQcz4JgR/37DUDVvCUG2yUMzTiEh2o7sHCW73N+Ae3r9Q==
X-Received: by 2002:a05:6000:26d3:b0:3a3:7387:3078 with SMTP id ffacd0b85a97d-3a51d8f8ff8mr4161811f8f.4.1749106540703;
Wed, 04 Jun 2025 23:55:40 -0700 (PDT)
Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:8261:5fff:fe11:bdda])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a526057278sm1910099f8f.63.2025.06.04.23.55.40
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:55:40 -0700 (PDT)
From: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
To: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Thierry Reding <thierry.reding@xxxxxxxxx>, Sam Ravnborg <sam@xxxxxxxxxxxx>,
Michael Walle <mwalle@xxxxxxxxxx>
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
In-Reply-To: <20250520074439.655749-1-mwalle@xxxxxxxxxx>
References: <20250520074439.655749-1-mwalle@xxxxxxxxxx>
Subject: Re: [PATCH 1/2] dt-bindings: display: simple: add AUO P238HAN01
panel
Message-Id: <174910654001.1422723.810101462867818295.b4-ty@xxxxxxxxxx>
Date: Thu, 05 Jun 2025 08:55:40 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Mailer: b4 0.14.2
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi,

On Tue, 20 May 2025 09:44:38 +0200, Michael Walle wrote:
> Add AUO P238HAN01 23.8" 1920x1080 LVDS panel compatible string.
>
>

Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-next)

[1/2] dt-bindings: display: simple: add AUO P238HAN01 panel
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/a3bc2ee00b488bb7a90770447a886c678d64756a
[2/2] drm/panel-simple: add AUO P238HAN01 panel entry
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/8a45632ed3179995b2956cfbf140655701301471

--
Neil



Return-Path: <linux-kernel+bounces-674151-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 52CC241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:57:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0B1F53A974E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:56:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4DCB51F582A;
Thu, 5 Jun 2025 06:57:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="A2jx7igy";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="oP1XkW7f";
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="A2jx7igy";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="oP1XkW7f"
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
(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 9CC072114
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:57:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106623; cv=none; b=ouMWJw0qJof/o62ozHrCcxf6HUb8lXbPH++FTFbVVBZhXkO0PbeGKUvvyQ27rqeWf78PvZskyspi2fj4rOSftn2fswN0wUKb8wF+LPaHOa9cw/k+lxfnOBY8tL5nWE+rnbsC6uTA3jsPrQc4nI0FMtK03LnGMWqkZ/lFw94Jf9o=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106623; c=relaxed/simple;
bh=q79+Um1+HXmTCuXp48qIXfskJas9hJ2zahTLYz1FM4k=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=GqqrWY+WevtrON0KbENYkpv3QR4UUlEVqAg18i5AX405ukDMrKT3gfMcV4X/6lM3ymzRBi81dJoyHc6loMuXAcV93kSo0G3eDMCBzB871hCXAjwomESD689D+IHIwzZIRSDZj86J7eCaER7XiUV9pzf1RSiuiYwrY+f7IP57WS4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz; spf=pass smtp.mailfrom=suse.cz; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=A2jx7igy; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=oP1XkW7f; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=A2jx7igy; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=oP1XkW7f; arc=none smtp.client-ip=195.135.223.130
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.cz
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out1.suse.de (Postfix) with ESMTPS id C0BBA344E8;
Thu, 5 Jun 2025 06:56:59 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1749106619; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=wPI4ofmTk/E4f6+NaUnYTS8dt4fvqBsAjz20vg9T5ho=;
b=A2jx7igySZ/yVPwubUtmc7FJFO1ugw0ElRhqfchp0SdKNCeUtSR13WYTlt36wn3Z0yy8c/
uEq4rvyK5bL5tG2N8p0l4fcHmncC2QgtJsmP6mIpD3kTJKD3W6EG0yPNBLPGsIgkC+zRfy
gtu6v9p8OpykT91eIoJ5ZE5/yTpz17U=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1749106619;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=wPI4ofmTk/E4f6+NaUnYTS8dt4fvqBsAjz20vg9T5ho=;
b=oP1XkW7fUFiGZ+uMI0VOtQkeBavyIGTALJn0hqDpVUGgKl5G800tbwPqlrnhNvpsAz4wbg
A76527JC5m4PWdDQ==
Authentication-Results: smtp-out1.suse.de;
none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1749106619; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=wPI4ofmTk/E4f6+NaUnYTS8dt4fvqBsAjz20vg9T5ho=;
b=A2jx7igySZ/yVPwubUtmc7FJFO1ugw0ElRhqfchp0SdKNCeUtSR13WYTlt36wn3Z0yy8c/
uEq4rvyK5bL5tG2N8p0l4fcHmncC2QgtJsmP6mIpD3kTJKD3W6EG0yPNBLPGsIgkC+zRfy
gtu6v9p8OpykT91eIoJ5ZE5/yTpz17U=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1749106619;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=wPI4ofmTk/E4f6+NaUnYTS8dt4fvqBsAjz20vg9T5ho=;
b=oP1XkW7fUFiGZ+uMI0VOtQkeBavyIGTALJn0hqDpVUGgKl5G800tbwPqlrnhNvpsAz4wbg
A76527JC5m4PWdDQ==
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 9008B137FE;
Thu, 5 Jun 2025 06:56:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id 0wrcIrs/QWiwIgAAD6G6ig
(envelope-from <vbabka@xxxxxxx>); Thu, 05 Jun 2025 06:56:59 +0000
Message-ID: <536f5ffd-b4cf-4f35-970c-ad3a7593af2f@xxxxxxx>
Date: Thu, 5 Jun 2025 08:56:59 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] mm/pagewalk: split walk_page_range_novma() into
kernel/user parts
Content-Language: en-US
To: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Barry Song <baohua@xxxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>,
"Liam R . Howlett" <Liam.Howlett@xxxxxxxxxx>, Mike Rapoport
<rppt@xxxxxxxxxx>, Suren Baghdasaryan <surenb@xxxxxxxxxx>,
Michal Hocko <mhocko@xxxxxxxx>, Muchun Song <muchun.song@xxxxxxxxx>,
Oscar Salvador <osalvador@xxxxxxx>, Huacai Chen <chenhuacai@xxxxxxxxxx>,
WANG Xuerui <kernel@xxxxxxxxxx>, Jonas Bonn <jonas@xxxxxxxxxxxx>,
Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx>,
Stafford Horne <shorne@xxxxxxxxx>, Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>, Albert Ou <aou@xxxxxxxxxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>, Jann Horn <jannh@xxxxxxxxxx>,
loongarch@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-openrisc@xxxxxxxxxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx
References: <20250604141958.111300-1-lorenzo.stoakes@xxxxxxxxxx>
From: Vlastimil Babka <vbabka@xxxxxxx>
Autocrypt: addr=vbabka@xxxxxxx; keydata=
xsFNBFZdmxYBEADsw/SiUSjB0dM+vSh95UkgcHjzEVBlby/Fg+g42O7LAEkCYXi/vvq31JTB
KxRWDHX0R2tgpFDXHnzZcQywawu8eSq0LxzxFNYMvtB7sV1pxYwej2qx9B75qW2plBs+7+YB
87tMFA+u+L4Z5xAzIimfLD5EKC56kJ1CsXlM8S/LHcmdD9Ctkn3trYDNnat0eoAcfPIP2OZ+
9oe9IF/R28zmh0ifLXyJQQz5ofdj4bPf8ecEW0rhcqHfTD8k4yK0xxt3xW+6Exqp9n9bydiy
tcSAw/TahjW6yrA+6JhSBv1v2tIm+itQc073zjSX8OFL51qQVzRFr7H2UQG33lw2QrvHRXqD
Ot7ViKam7v0Ho9wEWiQOOZlHItOOXFphWb2yq3nzrKe45oWoSgkxKb97MVsQ+q2SYjJRBBH4
8qKhphADYxkIP6yut/eaj9ImvRUZZRi0DTc8xfnvHGTjKbJzC2xpFcY0DQbZzuwsIZ8OPJCc
LM4S7mT25NE5kUTG/TKQCk922vRdGVMoLA7dIQrgXnRXtyT61sg8PG4wcfOnuWf8577aXP1x
6mzw3/jh3F+oSBHb/GcLC7mvWreJifUL2gEdssGfXhGWBo6zLS3qhgtwjay0Jl+kza1lo+Cv
BB2T79D4WGdDuVa4eOrQ02TxqGN7G0Biz5ZLRSFzQSQwLn8fbwARAQABzSBWbGFzdGltaWwg
QmFia2EgPHZiYWJrYUBzdXNlLmN6PsLBlAQTAQoAPgIbAwULCQgHAwUVCgkICwUWAgMBAAIe
AQIXgBYhBKlA1DSZLC6OmRA9UCJPp+fMgqZkBQJnyBr8BQka0IFQAAoJECJPp+fMgqZkqmMQ
AIbGN95ptUMUvo6aAdhxaOCHXp1DfIBuIOK/zpx8ylY4pOwu3GRe4dQ8u4XS9gaZ96Gj4bC+
jwWcSmn+TjtKW3rH1dRKopvC07tSJIGGVyw7ieV/5cbFffA8NL0ILowzVg8w1ipnz1VTkWDr
2zcfslxJsJ6vhXw5/npcY0ldeC1E8f6UUoa4eyoskd70vO0wOAoGd02ZkJoox3F5ODM0kjHu
Y97VLOa3GG66lh+ZEelVZEujHfKceCw9G3PMvEzyLFbXvSOigZQMdKzQ8D/OChwqig8wFBmV
QCPS4yDdmZP3oeDHRjJ9jvMUKoYODiNKsl2F+xXwyRM2qoKRqFlhCn4usVd1+wmv9iLV8nPs
2Db1ZIa49fJet3Sk3PN4bV1rAPuWvtbuTBN39Q/6MgkLTYHb84HyFKw14Rqe5YorrBLbF3rl
M51Dpf6Egu1yTJDHCTEwePWug4XI11FT8lK0LNnHNpbhTCYRjX73iWOnFraJNcURld1jL1nV
r/LRD+/e2gNtSTPK0Qkon6HcOBZnxRoqtazTU6YQRmGlT0v+rukj/cn5sToYibWLn+RoV1CE
Qj6tApOiHBkpEsCzHGu+iDQ1WT0Idtdynst738f/uCeCMkdRu4WMZjteQaqvARFwCy3P/jpK
uvzMtves5HvZw33ZwOtMCgbpce00DaET4y/UzsBNBFsZNTUBCACfQfpSsWJZyi+SHoRdVyX5
J6rI7okc4+b571a7RXD5UhS9dlVRVVAtrU9ANSLqPTQKGVxHrqD39XSw8hxK61pw8p90pg4G
/N3iuWEvyt+t0SxDDkClnGsDyRhlUyEWYFEoBrrCizbmahOUwqkJbNMfzj5Y7n7OIJOxNRkB
IBOjPdF26dMP69BwePQao1M8Acrrex9sAHYjQGyVmReRjVEtv9iG4DoTsnIR3amKVk6si4Ea
X/mrapJqSCcBUVYUFH8M7bsm4CSxier5ofy8jTEa/CfvkqpKThTMCQPNZKY7hke5qEq1CBk2
wxhX48ZrJEFf1v3NuV3OimgsF2odzieNABEBAAHCwXwEGAEKACYCGwwWIQSpQNQ0mSwujpkQ
PVAiT6fnzIKmZAUCZ8gcVAUJFhTonwAKCRAiT6fnzIKmZLY8D/9uo3Ut9yi2YCuASWxr7QQZ
lJCViArjymbxYB5NdOeC50/0gnhK4pgdHlE2MdwF6o34x7TPFGpjNFvycZqccSQPJ/gibwNA
zx3q9vJT4Vw+YbiyS53iSBLXMweeVV1Jd9IjAoL+EqB0cbxoFXvnjkvP1foiiF5r73jCd4PR
rD+GoX5BZ7AZmFYmuJYBm28STM2NA6LhT0X+2su16f/HtummENKcMwom0hNu3MBNPUOrujtW
khQrWcJNAAsy4yMoJ2Lw51T/5X5Hc7jQ9da9fyqu+phqlVtn70qpPvgWy4HRhr25fCAEXZDp
xG4RNmTm+pqorHOqhBkI7wA7P/nyPo7ZEc3L+ZkQ37u0nlOyrjbNUniPGxPxv1imVq8IyycG
AN5FaFxtiELK22gvudghLJaDiRBhn8/AhXc642/Z/yIpizE2xG4KU4AXzb6C+o7LX/WmmsWP
Ly6jamSg6tvrdo4/e87lUedEqCtrp2o1xpn5zongf6cQkaLZKQcBQnPmgHO5OG8+50u88D9I
rywqgzTUhHFKKF6/9L/lYtrNcHU8Z6Y4Ju/MLUiNYkmtrGIMnkjKCiRqlRrZE/v5YFHbayRD
dJKXobXTtCBYpLJM4ZYRpGZXne/FAtWNe4KbNJJqxMvrTOrnIatPj8NhBVI0RSJRsbilh6TE
m6M14QORSWTLRg==
In-Reply-To: <20250604141958.111300-1-lorenzo.stoakes@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spamd-Result: default: False [-4.30 / 50.00];
BAYES_HAM(-3.00)[100.00%];
NEURAL_HAM_LONG(-1.00)[-1.000];
NEURAL_HAM_SHORT(-0.20)[-1.000];
MIME_GOOD(-0.10)[text/plain];
RCVD_VIA_SMTP_AUTH(0.00)[];
ARC_NA(0.00)[];
MIME_TRACE(0.00)[0:+];
RCVD_TLS_ALL(0.00)[];
RCPT_COUNT_TWELVE(0.00)[25];
MID_RHS_MATCH_FROM(0.00)[];
FREEMAIL_ENVRCPT(0.00)[gmail.com];
DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
FROM_HAS_DN(0.00)[];
FREEMAIL_CC(0.00)[kernel.org,redhat.com,oracle.com,google.com,suse.com,linux.dev,suse.de,xen0n.name,southpole.se,saunalahti.fi,gmail.com,sifive.com,dabbelt.com,eecs.berkeley.edu,ghiti.fr,lists.linux.dev,vger.kernel.org,lists.infradead.org,kvack.org];
TO_DN_SOME(0.00)[];
FROM_EQ_ENVFROM(0.00)[];
TO_MATCH_ENVRCPT_ALL(0.00)[];
RCVD_COUNT_TWO(0.00)[2];
FUZZY_BLOCKED(0.00)[rspamd.com];
DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo]
X-Spam-Level:
X-Spam-Score: -4.30
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On 6/4/25 16:19, Lorenzo Stoakes wrote:
> The walk_page_range_novma() function is rather confusing - it supports two
> modes, one used often, the other used only for debugging.
>
> The first mode is the common case of traversal of kernel page tables, which
> is what nearly all callers use this for.
>
> Secondly it provides an unusual debugging interface that allows for the
> traversal of page tables in a userland range of memory even for that memory
> which is not described by a VMA.
>
> It is far from certain that such page tables should even exist, but perhaps
> this is precisely why it is useful as a debugging mechanism.
>
> As a result, this is utilised by ptdump only. Historically, things were
> reversed - ptdump was the only user, and other parts of the kernel evolved
> to use the kernel page table walking here.
>
> Since we have some complicated and confusing locking rules for the novma
> case, it makes sense to separate the two usages into their own functions.
>
> Doing this also provide self-documentation as to the intent of the caller -
> are they doing something rather unusual or are they simply doing a standard
> kernel page table walk?
>
> We therefore establish two separate functions - walk_page_range_debug() for
> this single usage, and walk_kernel_page_table_range() for general kernel
> page table walking.
>
> We additionally make walk_page_range_debug() internal to mm.
>
> Note that ptdump uses the precise same function for kernel walking as a

IMHO it's not clear at this point what "the precise same function" means.

> convenience, so we permit this but make it very explicit by having
> walk_page_range_novma() invoke walk_kernel_page_table_range() in this case.

^ walk_page_range_debug()

Maybe this could be reworded in the sense (AFAIU) that
walk_page_range_debug() can be used for both user space page table walking
or kernel depending on what mm is passed, so in the case of init_mm it
invokes walk_kernel_page_table_range() internally.

>
> Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> Acked-by: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>
> ---
> v2:
> * Renamed walk_page_range_novma() to walk_page_range_debug() as per David.
> * Moved walk_page_range_debug() definition to mm/internal.h as per Mike.
> * Renamed walk_page_range_kernel() to walk_kernel_page_table_range() as
> per David.
>
> v1 resend:
> * Actually cc'd lists...
> * Fixed mistake in walk_page_range_novma() not handling kernel mappings and
> update commit message to referene.
> * Added Mike's off-list Acked-by.
> * Fixed up comments as per Mike.
> * Add some historic flavour to the commit message as per Mike.
> https://lore.kernel.org/all/20250603192213.182931-1-lorenzo.stoakes@xxxxxxxxxx/
>
> v1:
> (accidentally sent off-list due to error in scripting)
>
> arch/loongarch/mm/pageattr.c | 2 +-
> arch/openrisc/kernel/dma.c | 4 +-
> arch/riscv/mm/pageattr.c | 8 +--
> include/linux/pagewalk.h | 7 ++-
> mm/hugetlb_vmemmap.c | 2 +-
> mm/internal.h | 4 ++
> mm/pagewalk.c | 98 ++++++++++++++++++++++++------------
> mm/ptdump.c | 3 +-
> 8 files changed, 82 insertions(+), 46 deletions(-)
>
> diff --git a/arch/loongarch/mm/pageattr.c b/arch/loongarch/mm/pageattr.c
> index 99165903908a..f5e910b68229 100644
> --- a/arch/loongarch/mm/pageattr.c
> +++ b/arch/loongarch/mm/pageattr.c
> @@ -118,7 +118,7 @@ static int __set_memory(unsigned long addr, int numpages, pgprot_t set_mask, pgp
> return 0;
>
> mmap_write_lock(&init_mm);
> - ret = walk_page_range_novma(&init_mm, start, end, &pageattr_ops, NULL, &masks);
> + ret = walk_kernel_page_table_range(start, end, &pageattr_ops, NULL, &masks);
> mmap_write_unlock(&init_mm);

You've removed init_mm from walk_page_range_novma() but I see most callers
do the locking of init_mm immediately around it. This suggests a version
handling that automatically? A bit complicated by the read/write
possibilities, so maybe not worth wrapping? Just a thought, as David says ;)

>
> flush_tlb_kernel_range(start, end);
> diff --git a/arch/openrisc/kernel/dma.c b/arch/openrisc/kernel/dma.c
> index 3a7b5baaa450..af932a4ad306 100644
> --- a/arch/openrisc/kernel/dma.c
> +++ b/arch/openrisc/kernel/dma.c
> @@ -72,7 +72,7 @@ void *arch_dma_set_uncached(void *cpu_addr, size_t size)
> * them and setting the cache-inhibit bit.
> */
> mmap_write_lock(&init_mm);
> - error = walk_page_range_novma(&init_mm, va, va + size,
> + error = walk_kernel_page_table_range(va, va + size,
> &set_nocache_walk_ops, NULL, NULL);
> mmap_write_unlock(&init_mm);
>
> @@ -87,7 +87,7 @@ void arch_dma_clear_uncached(void *cpu_addr, size_t size)
>
> mmap_write_lock(&init_mm);
> /* walk_page_range shouldn't be able to fail here */
> - WARN_ON(walk_page_range_novma(&init_mm, va, va + size,
> + WARN_ON(walk_kernel_page_table_range(va, va + size,
> &clear_nocache_walk_ops, NULL, NULL));
> mmap_write_unlock(&init_mm);
> }
> diff --git a/arch/riscv/mm/pageattr.c b/arch/riscv/mm/pageattr.c
> index d815448758a1..3f76db3d2769 100644
> --- a/arch/riscv/mm/pageattr.c
> +++ b/arch/riscv/mm/pageattr.c
> @@ -299,7 +299,7 @@ static int __set_memory(unsigned long addr, int numpages, pgprot_t set_mask,
> if (ret)
> goto unlock;
>
> - ret = walk_page_range_novma(&init_mm, lm_start, lm_end,
> + ret = walk_kernel_page_table_range(lm_start, lm_end,
> &pageattr_ops, NULL, &masks);

Note this and other places break the second line's arguments alignment on
the opening bracket. Maybe it just shows it's a bit fragile style...




Return-Path: <linux-kernel+bounces-674152-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 78E9F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:59:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 962243AA328
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:59:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AB2EE1F4177;
Thu, 5 Jun 2025 06:59:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="pqVDtx50"
Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41])
(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 404C11C84D9
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:59:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106764; cv=none; b=A4/wbHdwO/CUPI/BBZKlaiagp3qlUY+p7HVXDeg0rrWRjEXFFbpZQ8E4QNKzh22ZBDrR1q9jiCFRIYanYsFjY9p4f9RByjgu92/Sqsid2O21xo9eEoi8xXd6FEV+kEZDHYxvnBYQmILwEaaLc1GiuBmywujC4RcXKR/9QiH7UJI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106764; c=relaxed/simple;
bh=LMQwdkqBvo1tgNzwCTCypcT9U1AB6t94rtPJi2KqwuA=;
h=From:To:Cc:In-Reply-To:References:Subject:Message-Id:Date:
MIME-Version:Content-Type; b=Yn/eGUWT7a+FOyoP7mr5kpKeW+vuFnq2QFMNQcKDM44YpElu8hlKU8WmK49JMLIpgKXNCCZk92s+rWa5NpWN/U46UEXvM7vSB2UIEPcFUFgRyajrAMWIEK3ZszPM6gRmAtAFv0+0P8Ht0DQTOyCgtOQW/p1QJuQbJ/gdvePzBus=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=pqVDtx50; arc=none smtp.client-ip=209.85.221.41
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3a52874d593so452354f8f.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 04 Jun 2025 23:59:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1749106760; x=1749711560; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:date:message-id:subject
:references:in-reply-to:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=C2+w5qDlvAp457KpMnxq0u5sHkVOO1dTs6W/hmm8fgY=;
b=pqVDtx50eg4XXhJCUm3djyF3foLOQV3Kc6T1PdcAfTobwBftf/4FWuz7MuafZnX1Vc
BVDiIoWxpL+oPDM53yArchhmh0m5IKL7UgbQYpvV46+DRWl3wZqGJI0eeLWrH6xXlJbX
09pRRq9ZNZGWZt0k8K4n27c3Oh67G6QSqLnIsVlo3t574zibwqx6IbS2Ji9GW0uoA5ir
vf9KBP/5QZstF5ky503fvCvOA3pDOEZKSOnTTFKRd8TS3jIpjtfe2Yatvtr9W/jyQ6X4
61rz92/UqXg18jNXy5DW7boHoeDW6L6ZyZjJ1+FKoLg5pI5ohJLf+f+/Ox0DVqeYYZDI
GiLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749106760; x=1749711560;
h=content-transfer-encoding:mime-version:date:message-id:subject
:references:in-reply-to:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=C2+w5qDlvAp457KpMnxq0u5sHkVOO1dTs6W/hmm8fgY=;
b=uRapc9nuOwfQQjz/4pNd2Ysv4rjxScfEAU8PGIRNBeDX2uTsJbokV67Aj0oUVIYRAq
ZPt2CtLQmPZConrcHZfKYLZAhPdwtzxsFGHkwJzaKA3GVEVG9nN6C9CAqxae/EdRnJAl
W9ijsla7DrHRkj6Y66IVoNlyxNOXNFUaDJa87FsTgn091BRUDilbKqaHFpduOwj6u0AO
kCVdb/sPirn396jgp8Q6no17Y83rPUVvJGaXhi1MXw9g+2zYJYtyzAXUpbhMC073O7gd
myf1BYJ2U0OMpBnOT5JJoR8qDq+M6j3ZdLnLfWi2QBNoSAV9UbO6WfV0UJ6arz+pUIST
eb6w==
X-Forwarded-Encrypted: i=1; AJvYcCWCRVvm/4ixDq6Hoasz+YHUYfYfCI7wMSuuTNcanW1HD62OnLDH4jzTXNW/4NNLcFb/nE5kiSGAkD49Nyo=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw7X86QHDr9lS2VrLKyynJU9XX5vNiueX5zgP8wbIXCmoU47MB1
D1Sk/ImgrxWYpfXaR6ot/pYYC/OuzsWkxQoQiCXE0tH3iIsGcoUdiugEGhVaxmpiKIE=
X-Gm-Gg: ASbGncsjOiAT0FHW0Sb/iPOB3qsV+yxOl92et1k3xGsyx50G+5UxTYS9BZqY16M1dM1
cEWUM3yzbE1P0KtXF2Q2mtDptr2FZ1mudl6E8nQ9ecWLhWWAc0vZC9UFYTglgxCDpCVt7R3ooll
6cTVil774tLwWWIH+HF23+k7NpGmfxiIA4Aco+EwVIer6Nl9ckIMucLwg1qbTkoViCYzDpyPuUI
m/5Z2ODfdK54f0j9MesUXfxrsAbd/Nogd9yflGbFdqChNGgWY2MVgZjyHbWkf8R8c1mSUVeq7S6
xUdaSy/dWG7MKfi/w54qug/zVg/HvxGx6WCv0E7kUJLbxuMjCzAWDCvGPiA3oU1/f1kkxi7mhr8
8DAxer2yS5fa+kqlitg==
X-Google-Smtp-Source: AGHT+IGESUUU1RW1xUlGowA7kg5K9C6Ccu9saFql9en1faQOIZ4stoUT+cAx7nQdlpFweYLRlEcrSg==
X-Received: by 2002:a5d:5f95:0:b0:3a4:efbb:6df3 with SMTP id ffacd0b85a97d-3a51d8f5e25mr4573586f8f.10.1749106760421;
Wed, 04 Jun 2025 23:59:20 -0700 (PDT)
Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:8261:5fff:fe11:bdda])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4efe73f3csm23245470f8f.42.2025.06.04.23.59.19
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 04 Jun 2025 23:59:19 -0700 (PDT)
From: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
To: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Michael Walle <mwalle@xxxxxxxxxx>
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
In-Reply-To: <20250520074110.655114-1-mwalle@xxxxxxxxxx>
References: <20250520074110.655114-1-mwalle@xxxxxxxxxx>
Subject: Re: [PATCH] drm/panel-simple: fix the warnings for the Evervision
VGG644804
Message-Id: <174910675945.1443717.10418020148498727713.b4-ty@xxxxxxxxxx>
Date: Thu, 05 Jun 2025 08:59:19 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Mailer: b4 0.14.2
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi,

On Tue, 20 May 2025 09:41:10 +0200, Michael Walle wrote:
> The panel lacked the connector type which causes a warning. Adding the
> connector type reveals wrong bus_flags and bits per pixel. Fix all of
> it.
>
>

Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-fixes)

[1/1] drm/panel-simple: fix the warnings for the Evervision VGG644804
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/5dc1ea903588a73fb03b3a3e5a041a7c63a4bccd

--
Neil



Return-Path: <linux-kernel+bounces-674153-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2994B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 02:59:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 47B883AA967
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:59:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 807C61FC0E3;
Thu, 5 Jun 2025 06:59:34 +0000 (UTC)
Received: from out28-197.mail.aliyun.com (out28-197.mail.aliyun.com [115.124.28.197])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C1CB51C84D9;
Thu, 5 Jun 2025 06:59:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.28.197
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106774; cv=none; b=HrUiNA2uofwf7B2XkWCQRhPXJ57OYaogDVfowyVRwOpjZ5xFUSueH7YSXu29lrbOVl7c9HhexPV3WBwh/Ln4aPhUaNH5DWrAgb3UrS3dcfUbKvf3GgL1cZomNwBYHwIIqKhxWB42eRus2iQAjm9zttE49oO9esGAMZ6jUTaOxWI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106774; c=relaxed/simple;
bh=Th8cpMh0swdJHkc4hP6J8Je8ONA76xwO1Xsebxi5l+g=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=CelC8vqI/kqmv4UjY+TE5qI3tSbYLefGeJHLdT1a9ZILaQwFXlvbEeenxo0Zc5q46iWo1QrpXqy3w58A11BqprwG9Qozj3URo6mmZZ2Rz/cLzQmO7Q5xcapqsomPpnsoIAK8dMPirS5DAB1XUw+n8iK3hWeu4sJLnZC6QfDDXl0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ttyinfo.com; spf=pass smtp.mailfrom=ttyinfo.com; arc=none smtp.client-ip=115.124.28.197
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ttyinfo.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ttyinfo.com
Received: from tzl..(mailfrom:zhoushengqing@xxxxxxxxxxx fp:SMTPD_---.dBaQkI6_1749106758 cluster:ay29)
by smtp.aliyun-inc.com;
Thu, 05 Jun 2025 14:59:19 +0800
From: Zhou Shengqing <zhoushengqing@xxxxxxxxxxx>
To: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>,
Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>,
linux-acpi@xxxxxxxxxxxxxxx,
linux-pci@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
zhoushengqing@xxxxxxxxxxx
Subject: [PATCH v6 0/2] Revise some PCI _DSM method implement
Date: Thu, 5 Jun 2025 06:58:12 +0000
Message-Id: <20250605065814.41298-1-zhoushengqing@xxxxxxxxxxx>
X-Mailer: git-send-email 2.39.2
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

[1/2]PCI/ACPI: Add rev 2 check for PRESERVE_BOOT_CONFIG function
[2/2]PCI/ACPI: Add acpi_check_dsm() for PCI _DSM definitions

drivers/pci/pci-acpi.c | 58 ++++++++++++++++++++++++++++++++----------
1 file changed, 44 insertions(+), 14 deletions(-)

--
2.39.2



Return-Path: <linux-kernel+bounces-674154-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2D5EE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:00:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 69CC53AA244
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 06:59:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 72CB81FDE39;
Thu, 5 Jun 2025 06:59:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="CG9Ad01p"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AC0F91F4CAE;
Thu, 5 Jun 2025 06:59:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.13
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106781; cv=fail; b=Py2lhZfscw3ENMad6hOidx2YwV/iZ/RuObsVMto2+OTRBCAEbhss6HAm35yVkfT5GCPEFztWBbLQdvrETmP7pGwmyXzttyU1xJHJIiXpiWkmpD9O9+UE8DoOoD9UQ+sz6VvPKk6/t4mz0O7tlC057cacBOobdHmPKQNWo4dTrkw=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106781; c=relaxed/simple;
bh=id1UVJCSqqlJtjHMxefHoSpFCitPRmI/dmjefPNL3EI=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=fumTWg4jQJTUptxy2IA7/HQXWPJO4i6YI4eId9vYnGfIkpJrs3bszn6Rhw5Jh99epPo/ZhOrNHgRXpaaDhnbbanFwgJMTqC37rshzHdnZ7vBHhD+I755ii69QgAcx41yAWkPv4VvnYiZD31AYJBMZS9cWGrHr9n7sFaBUtip8So=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=CG9Ad01p; arc=fail smtp.client-ip=192.198.163.13
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1749106780; x=1780642780;
h=date:from:to:cc:subject:message-id:references:
in-reply-to:mime-version;
bh=id1UVJCSqqlJtjHMxefHoSpFCitPRmI/dmjefPNL3EI=;
b=CG9Ad01pTWuty1aUJRrB8gV0Q2jEGWTQIyxfLslqtq6DJG3g8KC1EZmM
zY0xNakg2uSsRWLaMF7c3mgtkn1Y1lspJxowvVmMYUCCOyA2ZDT3c/xD2
WNj05290sst3t9tiTR7v2l3FaYRNRgw3V0mE2r2IftSqr4nZM3vs7UNVr
67rlLRjLd7EsAgkCxVcNQHA7X48+N5VgqosJ/jfFNgdvTUitIfoYbLmbV
lV5GC9Vsj6485136yWgiPaSqwKZCyxV1TpreS2XZoVakKhpF7auSBwFgp
GItT3m9InFmb9jZJb094MhnFpui/zrc29wfQl/gf7UVCxcAWVD0bSFhKv
A==;
X-CSE-ConnectionGUID: pz0+k2PXTjuPUne/pQ2Zsw==
X-CSE-MsgGUID: z/sHP/4kQsiM+IMzwUrRhg==
X-IronPort-AV: E=McAfee;i="6800,10657,11454"; a="53840372"
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="53840372"
Received: from orviesa007.jf.intel.com ([10.64.159.147])
by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:59:39 -0700
X-CSE-ConnectionGUID: +HiCt2obQgqrovtVaVX83A==
X-CSE-MsgGUID: zD5+33KkQJCmTyelGJUljw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.16,211,1744095600";
d="scan'208";a="146011018"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by orviesa007.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2025 23:59:39 -0700
Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 4 Jun 2025 23:59:38 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 4 Jun 2025 23:59:38 -0700
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (40.107.244.73)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 4 Jun 2025 23:59:37 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=jBtNkRj6TdDYfWRrtyrmg2wnDUUL9j//bm7V2nrOVdmcKXQ0WZB35SIOvHa9cl/QpfvsdYAj2A6wm7kMEgOZ3p3wLSDmBd/sgXdl+xtIVuJ9fAwoSObaNeGeZMOn/qbz/YxBPeg2n7ZHWs4IWTIgI6jses5r7FEFuNgqSB6VWZFiq/N3uZaP+3VNgXSqbRk8uVkDUEeQ1djbkmqD/MA5VojatxIXcI25rIn2pESnXVXd1oV08PsXDdLNNA8Lyr5Az5TAXchzGqsD1wguIfVi0iD8G/BvzqVAdiD8ILsSLe0W5QDBWV99Ow69nvbfvZ+pr5KIheIL30LxGHIpyFBirg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=6wlhPlQ0xvgWBZj3jit9F8CyYhkLC6UhcItBfdhIldQ=;
b=KEHk1IbnqxU1kf4D7zvdUKJKQ8xz/+KRVtJ0ItXs/UFcMb4vItZnD/NtrU+u54uhpILTpuIlTWBWF7EpyL/rPjUCzXFUIMFgRvft+Wg9zRn2jxyYrM7X4rBitYHdPulblfWo4BXtJXt8rWJMI227EFwkI8pc4rtaAY9D2TIpkfChA/s7QigIpVQxChW+FgCOlu5/GG8hjIc8fPRCxPOxgGgQUZkxmOsa9jkUJuGI2R2XdeEx5cm6LsjIlsaqFP8+ip+VCIjFG6j2gULFoh5p8n0ws1Ylvs9k9jdv0Z5MTNDZc5Zocq4SKIIn82oqbJOu93FZc4ZjR+GsjnUgDDZLOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from CH3PR11MB8660.namprd11.prod.outlook.com (2603:10b6:610:1ce::13)
by IA3PR11MB9086.namprd11.prod.outlook.com (2603:10b6:208:57b::5) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.37; Thu, 5 Jun
2025 06:59:22 +0000
Received: from CH3PR11MB8660.namprd11.prod.outlook.com
([fe80::cfad:add4:daad:fb9b]) by CH3PR11MB8660.namprd11.prod.outlook.com
([fe80::cfad:add4:daad:fb9b%4]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
06:59:22 +0000
Date: Thu, 5 Jun 2025 14:59:13 +0800
From: Chao Gao <chao.gao@xxxxxxxxx>
To: Sean Christopherson <seanjc@xxxxxxxxxx>
CC: Paolo Bonzini <pbonzini@xxxxxxxxxx>, <kvm@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>, Xin Li
<xin@xxxxxxxxx>, Dapeng Mi <dapeng1.mi@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH 16/28] KVM: VMX: Manually recalc all MSR intercepts on
userspace MSR filter change
Message-ID: <aEFAQW2HxUu0ynVr@xxxxxxxxx>
References: <20250529234013.3826933-1-seanjc@xxxxxxxxxx>
<20250529234013.3826933-17-seanjc@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20250529234013.3826933-17-seanjc@xxxxxxxxxx>
X-ClientProxiedBy: SI2PR02CA0022.apcprd02.prod.outlook.com
(2603:1096:4:195::23) To CH3PR11MB8660.namprd11.prod.outlook.com
(2603:10b6:610:1ce::13)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PR11MB8660:EE_|IA3PR11MB9086:EE_
X-MS-Office365-Filtering-Correlation-Id: 57fea47d-324f-43cb-5453-08dda3fe8026
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?3svIr0Fuy2QiGlw8DpidmMSlepiwrRhJ1Ko1xNhniumrGYrXsbWh9kM6d0za?=
=?us-ascii?Q?y1f8NEUbdGMJv50YJdTZrRh6J8J7qN1OXqX1zw7mHtFDyzqCg3Ooy/xRVjms?=
=?us-ascii?Q?jLFnvWq2fWPmaeMzWhllYNK+6un04J3nPlgQhFkfRNNHXLy2n5DQSHFAERBK?=
=?us-ascii?Q?O5ypjtdF7LQNBR6hojYscvNFP1NY4npE/BmpHyx7QqCvJdUzq1SWKzaF9f4u?=
=?us-ascii?Q?A6qRPkLe155LhmBtkm2kiqU3APt0SLC1ifp+Bqbp0Ws9vzLuRfhO42VoaP9V?=
=?us-ascii?Q?Ebtcl4oaCoPXz7QvAd1vEj4DMZYWs1Fqi1DDtcvbU+nSgybHu66wgahPSAOR?=
=?us-ascii?Q?N5LTzo9eMlhCW5u6Bb6aO3dP8XFs+P3IN1uCLZ19AayL1XoVGlkoUYocya1H?=
=?us-ascii?Q?VCl1IDshVlBJPHOXgPOpcIKE8pLSQJOkZddp5HpXkkrMtuWODBgXF1wRRZlN?=
=?us-ascii?Q?NCTaecBWF5bcR4qduYGEsstn6ixu/VVY/EPo9CFk2M47oUmDugQdStX0U+rt?=
=?us-ascii?Q?BYSb7cc89zOg2rCXh8Wq5uInsbCKIY1wZ+VE6ma/FTbR+QRDazFp1qgucaSf?=
=?us-ascii?Q?LzMxNTov0KwcNpF7ozEWenA/ck04SuZmEx0hlNMd8klnZaUy/dgCgvHUSfpF?=
=?us-ascii?Q?kjr0yWCiG8MOTHEWiGAsTDCygiyqPRtJLzfDfRh2R6UuLzOMtqDI8o5Pj+UN?=
=?us-ascii?Q?Q4PWobT3PPBJOSO8GYUlloD5R/lHkZJ5ujA+IFtqNLyEu6EUaBhWHp3bkqp8?=
=?us-ascii?Q?7qI/KPytxr9cL5AdZ40D56GpPC0W3Bbk7XT4SHPfzn3h2RZuFtgaaMbjCaf/?=
=?us-ascii?Q?eeJEggAMnuxSU+kcOlhi2V2b+D8pTvetDRCQcALpN/xNSiPf55rVg3r4TsWk?=
=?us-ascii?Q?ZLhZC5NeYSV7rn1M8Bko03ABeKEYvgd6Izp2nzY8sxUFlSFmL7iOsHiJzg3F?=
=?us-ascii?Q?DAopmwMqxRaAnpfaLro+cUabvL80lvcefA7Icaodbp/TEktyeLtWFoXfwe9t?=
=?us-ascii?Q?3qsB0aE9nYiKI6BNXJ8+YRzQD2Xcn0jfURqoxSa3y2bUiOKL3zH/bOkv8c0f?=
=?us-ascii?Q?7CCTfUBKg7m1J5XrWVi6I5T2b1d6DoNsecm2e5a9Unzj69ztJ7+foPFlbHgn?=
=?us-ascii?Q?V6MX7GeL8diOD/gNagB01sWETTunRmp0FD4piWnN10KzRDyo19VT0vxFqBW3?=
=?us-ascii?Q?EJmKD7Mvpwe2b8cZVgxvQpt5YR2yJ3uoI0G7klie/tY8Vj3/aCbFsb+fntEX?=
=?us-ascii?Q?UzGHAeysbzlHW5TtqEHeoMJK5ZgYpM7xzxlUgXHfA/A17aJowrZKu43J5Q0E?=
=?us-ascii?Q?0BoQvJz0ZY1Ue7PAGyLgbAdYdtrYQZ/OtdoWG3MzBH+MoYIOrydv7KdIwh3f?=
=?us-ascii?Q?u0Fal0FBq8X3CmQFXeW5uEbmEkZ1?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR11MB8660.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?cnrDs/TuseVcsSpkLEONXV31WUBmth5uZ3w3OuZh0LvfVsSKv1wjNC3+ulzH?=
=?us-ascii?Q?sp6TNSUGj4703P4F2olKzU3H1jdO0qGf+AME+/vsORER4pc8gSfDi0kHxL7j?=
=?us-ascii?Q?SHv0wR3Fe9J+Bi8uevYESmKISOcyQovSpRW4pJT6yaP5/tYjkCVBDNo4RhUh?=
=?us-ascii?Q?ixjHiG/R0f9x4nZ3aYifgRqNia2M1zcWoRMH97BN+6y6pDOiiIo3PS8nXnCX?=
=?us-ascii?Q?NpgPJZnHvUArAQp2mH8k4LIgfsagJD7ZA7CziaXI29w4tXpR6s/pxBvbv8Hw?=
=?us-ascii?Q?zIPtkscog8UVTDLwfwSquEGjX5T5D4L985dj7ekj/q7DYjomQ9iiSGCo60VZ?=
=?us-ascii?Q?T1KjkTl5gOBwUqCzYOVzPXgGU88sqMd/9nR4vaY7VKTCKW6jqSa4VXETuuhQ?=
=?us-ascii?Q?6GVYSU4jcmc+w0S5S6VzV5HblxMHc+p2M0ER27COWFS7TiOzdB0fjLO9X/dr?=
=?us-ascii?Q?dnk2ZQZF8YY1ze7xIobAL8RDzUDFtSgck5brUIcFiE6Wp9fKX0+i6vZBtGHx?=
=?us-ascii?Q?T80OmY1GjiP3Gw4/U3yLm3MzyL33xfmDUVeyo+zi5/NJGFpf3dspeQuEuBkh?=
=?us-ascii?Q?thiCQfIMz4OsiVygpY/qYiCOUkRX7epWi7qv0GnHaw6z3l383VkYoSNVNCBb?=
=?us-ascii?Q?UnNyfAXBNohxwpY9k7NwLYExk8DIQWkFVdGCYW/wg+/c3rAi96r9SR5rx9Iq?=
=?us-ascii?Q?b4nLsnxwmKA4QUHvEdk5v2RcmXZpusLLeeyutZSTlNmCCpXEV+YkfS42oD6N?=
=?us-ascii?Q?kFx1NEFNE7zBb6oqOb4iCZJjwJuOe6XZErTMwJ9GMqB73iBZOm1Zuu2rEVUW?=
=?us-ascii?Q?e0vhgHdMCE1/hlGqU6Veue/v8G9agErM6O4/ugTwCa4IGSkUuslWMQrxDKP0?=
=?us-ascii?Q?rbJk5F8kbVsvP3EyhCvVIIFBO0EAwMODjH/rfK1w6/jvMn7vtkSnZlkMgoR0?=
=?us-ascii?Q?mGaPx6l97U/576X8mcnBE996xZAXfnNHH93omAEsvhGVYYStqjNQYTJxUlEU?=
=?us-ascii?Q?projHeV2xKYxJOvBBGyMHPlWJyEldSwQmn1CqvIWpcYwLR8H/3Dbqjdj5i1w?=
=?us-ascii?Q?c67IhuXIUJsl0QjnVmcH8Y4JRh+kL4kBDLNZoiRN96Hvcb/wyzw7CgoH82M0?=
=?us-ascii?Q?aP72wmNRdpIzVaK+jUInSN/IhAMcdAmYjOlGImMW9TNXrjEsdl/71XryjJX7?=
=?us-ascii?Q?JS+hUTtOV4BpglbmQYDbzFO17c+wzDGUKOWsxmaaDvR0AS9sibh6QdD6gsUV?=
=?us-ascii?Q?SVDIVKix53ywnzF6tztiAQkvtx5khY3y0N9DP3lk8ft66FZ0OQNI7aFoIS4f?=
=?us-ascii?Q?2EhfrxT3PHnf4oLX1qCPigms7rkFZQ7sFTnd0ydoyAufEGVH8bHRTFkWFOfp?=
=?us-ascii?Q?Ghm09wlJBM20mKno4Mk6z6aGXT/yA8tT4uEZCK8lFEpbhagO0lTQUAI++yWe?=
=?us-ascii?Q?UOkz4aADZ0T2Gc1pb8qlV968Hpa0+QlZYcxtgolsfb08YsFtBUN3FFJOsKz/?=
=?us-ascii?Q?CzGyin3BSIXxvGFlWCcZMQnc4Vof4O2lstlj+iJf1XLk0OqK1oHdjv7b/vNR?=
=?us-ascii?Q?bgql/NbsY8mbHDIEnEUkEWDNq5cZ8MsHgVFBux64?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 57fea47d-324f-43cb-5453-08dda3fe8026
X-MS-Exchange-CrossTenant-AuthSource: CH3PR11MB8660.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 06:59:22.4749
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YeuMZc6jvP1rlxWmtwAL2MLCvtr/OS2jPeWLLxaKSal3NOIS8PzQ4L2tN/Jw2BweD58guODS0mP0iW65XydOFQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR11MB9086
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

On Thu, May 29, 2025 at 04:40:01PM -0700, Sean Christopherson wrote:
>On a userspace MSR filter change, recalculate all MSR intercepts using the
>filter-agnostic logic instead of maintaining a "shadow copy" of KVM's
>desired intercepts. The shadow bitmaps add yet another point of failure,
>are confusing (e.g. what does "handled specially" mean!?!?), an eyesore,
>and a maintenance burden.
>
>Given that KVM *must* be able to recalculate the correct intercepts at any
>given time, and that MSR filter updates are not hot paths, there is zero
>benefit to maintaining the shadow bitmaps.
>
>Link: https://lore.kernel.org/all/aCdPbZiYmtni4Bjs@xxxxxxxxxx
>Link: https://lore.kernel.org/all/20241126180253.GAZ0YNTdXH1UGeqsu6@fat_crate.local
>Cc: Borislav Petkov <bp@xxxxxxxxx>
>Cc: Xin Li <xin@xxxxxxxxx>
>Cc: Chao Gao <chao.gao@xxxxxxxxx>
>Cc: Dapeng Mi <dapeng1.mi@xxxxxxxxxxxxxxx>
>Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>

Reviewed-by: Chao Gao <chao.gao@xxxxxxxxx>

one nit below,

>+
>+ if (vcpu->arch.xfd_no_write_intercept)
>+ vmx_disable_intercept_for_msr(vcpu, MSR_IA32_XFD, MSR_TYPE_RW);
>+
>+

Remove one newline here.


Return-Path: <linux-kernel+bounces-674155-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 861B741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:00:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 24E6118973EA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:00:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E25C91FFC45;
Thu, 5 Jun 2025 06:59:42 +0000 (UTC)
Received: from out28-173.mail.aliyun.com (out28-173.mail.aliyun.com [115.124.28.173])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 10E121C84D9;
Thu, 5 Jun 2025 06:59:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.28.173
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106782; cv=none; b=iZZXtAkdlADDqI7HA29lbpE8Z8KR5kWbTiW6XvRITlHRfsC1HJNNJPVFv92bQmFBUO+Ok9YE4/Jii2wPqQCUaagqY2B3Ms48KhJ6bXGI0O4F2wNOpoionugcoS4wz6yIDKFz5mSHxhssEGIiJaDuLw/xpNOyTPPbMqDYmWbhUmw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106782; c=relaxed/simple;
bh=4hPtXI/lyb7DqoRkDNQNpa41b8fqt7lcwCiqE+1QotY=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=HBO7jeTjEj0M4S1gLKA29rorxl3jxWLer8NNyXV/2wgS3Mvyd4c4/O5GPGPQ5Js1X2RCu9XIeqOeMMfme7Q6D+qitA+Yb9+Y01SUwrHHf9nKA+YmjuTLDLMIbxDMu4prCXFBydpCsorlu2qEeRVAZzq8MZ7a0Tc1FcYLQoxMmdk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ttyinfo.com; spf=pass smtp.mailfrom=ttyinfo.com; arc=none smtp.client-ip=115.124.28.173
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ttyinfo.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ttyinfo.com
Received: from tzl..(mailfrom:zhoushengqing@xxxxxxxxxxx fp:SMTPD_---.dBaQkKN_1749106759 cluster:ay29)
by smtp.aliyun-inc.com;
Thu, 05 Jun 2025 14:59:28 +0800
From: Zhou Shengqing <zhoushengqing@xxxxxxxxxxx>
To: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>,
Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>,
linux-acpi@xxxxxxxxxxxxxxx,
linux-pci@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
zhoushengqing@xxxxxxxxxxx
Subject: [PATCH v6 1/2] PCI/ACPI: Add rev 2 check for PRESERVE_BOOT_CONFIG function
Date: Thu, 5 Jun 2025 06:58:13 +0000
Message-Id: <20250605065814.41298-2-zhoushengqing@xxxxxxxxxxx>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20250605065814.41298-1-zhoushengqing@xxxxxxxxxxx>
References: <20250605065814.41298-1-zhoushengqing@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Per PCI Firmware Specification Revision 3.3 Table 4-7 _DSM Definitions
for PCI. Preserve PCI Boot Configuration Initial Revision ID changed to 2.

So add rev2 check and add acpi_check_dsm() for DSM_PCI_PRESERVE_BOOT_CONFIG.

Signed-off-by: Zhou Shengqing <zhoushengqing@xxxxxxxxxxx>
---
v6:follow Rafael advice, revise code style(use for-loop to check revision).
v5:follow Bjorn advice, add acpi_check_dsm for PCI _DSM.
v4:Initialize *obj to NULL.
v3:try revision id 1 first, then try revision id 2.
v2:add Fixes tag.

Fixes: 9d7d5db8e78e ("PCI: Move PRESERVE_BOOT_CONFIG _DSM evaluation to pci_re")
---
drivers/pci/pci-acpi.c | 42 ++++++++++++++++++++++++++++++------------
1 file changed, 30 insertions(+), 12 deletions(-)

diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index b78e0e417324..c49abd03daf0 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -122,22 +122,40 @@ phys_addr_t acpi_pci_root_get_mcfg_addr(acpi_handle handle)

bool pci_acpi_preserve_config(struct pci_host_bridge *host_bridge)
{
- if (ACPI_HANDLE(&host_bridge->dev)) {
- union acpi_object *obj;
+ bool rc = false;
+ u64 rev;
+ union acpi_object *obj;
+
+ if (!ACPI_HANDLE(&host_bridge->dev))
+ return false;
+
+ /*
+ * Evaluate the "PCI Boot Configuration" _DSM Function. If it
+ * exists and returns 0, we must preserve any PCI resource
+ * assignments made by firmware for this host bridge.
+ *
+ * Per PCI Firmware r3.2, released Jan 26, 2015,
+ * DSM_PCI_PRESERVE_BOOT_CONFIG Revision ID is 1. But PCI Firmware r3.3,
+ * released Jan 20, 2021, changed sec 4.6.5 to say
+ * "lowest valid Revision ID value: 2". So check rev 1 first, then rev 2.
+ */
+ for (rev = 1; rev <= 2; rev++) {
+ if (!acpi_check_dsm(ACPI_HANDLE(&host_bridge->dev),
+ &pci_acpi_dsm_guid, rev, BIT(DSM_PCI_PRESERVE_BOOT_CONFIG)))
+ continue;

- /*
- * Evaluate the "PCI Boot Configuration" _DSM Function. If it
- * exists and returns 0, we must preserve any PCI resource
- * assignments made by firmware for this host bridge.
- */
obj = acpi_evaluate_dsm_typed(ACPI_HANDLE(&host_bridge->dev),
- &pci_acpi_dsm_guid,
- 1, DSM_PCI_PRESERVE_BOOT_CONFIG,
- NULL, ACPI_TYPE_INTEGER);
+ &pci_acpi_dsm_guid, rev,
+ DSM_PCI_PRESERVE_BOOT_CONFIG,
+ NULL, ACPI_TYPE_INTEGER);
if (obj && obj->integer.value == 0)
- return true;
+ rc = true;
+
ACPI_FREE(obj);
- }
+
+ if (rc)
+ return true;
+ }

return false;
}
--
2.39.2



Return-Path: <linux-kernel+bounces-674156-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id ADD7641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:00:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id CE17D3AC0C1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:00:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 89CAD1FC0FC;
Thu, 5 Jun 2025 07:00:00 +0000 (UTC)
Received: from out198-16.us.a.mail.aliyun.com (out198-16.us.a.mail.aliyun.com [47.90.198.16])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DAEF91F3FE8;
Thu, 5 Jun 2025 06:59:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=47.90.198.16
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106800; cv=none; b=Vt5hH1voogN/xWbR9mmYThtF06Nl/FYOA9ppmMUVgXZudn1UZ14n0rFa/FqeR5PxTEqs31YJSKC4oUTHQPKg6koiu6lPoCGrtXFrQxKsaDb3BBYkIKUdkVoSs0FMl6P8/07OuYHnXSEw3yq9C7khMPi9DE+TKESHYKvTpV3YCWM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106800; c=relaxed/simple;
bh=5azRthlIMduipu4bhlXqqDMNc7jlGc6VSUxKhy2xwXk=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
MIME-Version; b=S8QbreuZIdXI++AVShiFoDRk5x1sX5biGLHVH1NDr79rJBo0x5kUN8vgTVYtI/ffpxTn/geq2Qr5eaH8JiRvgU+RAkmGM436heh+ohxqWj4aOKiK7FXQXYjGMM88OlhoGqhb5okP+RJJcl5sTJOa1+F6Qx9fS91TJ0+WCnUqR+s=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ttyinfo.com; spf=pass smtp.mailfrom=ttyinfo.com; arc=none smtp.client-ip=47.90.198.16
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ttyinfo.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ttyinfo.com
Received: from tzl..(mailfrom:zhoushengqing@xxxxxxxxxxx fp:SMTPD_---.dBaQkh5_1749106768 cluster:ay29)
by smtp.aliyun-inc.com;
Thu, 05 Jun 2025 14:59:35 +0800
From: Zhou Shengqing <zhoushengqing@xxxxxxxxxxx>
To: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>,
Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: Len Brown <lenb@xxxxxxxxxx>,
linux-acpi@xxxxxxxxxxxxxxx,
linux-pci@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
zhoushengqing@xxxxxxxxxxx
Subject: [PATCH v6 2/2] PCI/ACPI: Add acpi_check_dsm() for PCI _DSM definitions
Date: Thu, 5 Jun 2025 06:58:14 +0000
Message-Id: <20250605065814.41298-3-zhoushengqing@xxxxxxxxxxx>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20250605065814.41298-1-zhoushengqing@xxxxxxxxxxx>
References: <20250605065814.41298-1-zhoushengqing@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Add acpi_check_dsm() for DSM_PCI_POWER_ON_RESET_DELAY and
DSM_PCI_DEVICE_READINESS_DURATIONS.

Signed-off-by: Zhou Shengqing <zhoushengqing@xxxxxxxxxxx>
---
drivers/pci/pci-acpi.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index c49abd03daf0..e3680448b6a1 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -1240,6 +1240,7 @@ bool acpi_pci_need_resume(struct pci_dev *dev)

void acpi_pci_add_bus(struct pci_bus *bus)
{
+ u64 rev;
union acpi_object *obj;
struct pci_host_bridge *bridge;

@@ -1256,7 +1257,12 @@ void acpi_pci_add_bus(struct pci_bus *bus)
if (!pci_is_root_bus(bus))
return;

- obj = acpi_evaluate_dsm_typed(ACPI_HANDLE(bus->bridge), &pci_acpi_dsm_guid, 3,
+ rev = 3;
+ if (!acpi_check_dsm(ACPI_HANDLE(bus->bridge), &pci_acpi_dsm_guid, rev,
+ BIT(DSM_PCI_POWER_ON_RESET_DELAY)))
+ return;
+
+ obj = acpi_evaluate_dsm_typed(ACPI_HANDLE(bus->bridge), &pci_acpi_dsm_guid, rev,
DSM_PCI_POWER_ON_RESET_DELAY, NULL, ACPI_TYPE_INTEGER);
if (!obj)
return;
@@ -1412,12 +1418,18 @@ static void pci_acpi_optimize_delay(struct pci_dev *pdev,
{
struct pci_host_bridge *bridge = pci_find_host_bridge(pdev->bus);
int value;
+ u64 rev;
union acpi_object *obj, *elements;

if (bridge->ignore_reset_delay)
pdev->d3cold_delay = 0;

- obj = acpi_evaluate_dsm_typed(handle, &pci_acpi_dsm_guid, 3,
+ rev = 3;
+ if (!acpi_check_dsm(handle, &pci_acpi_dsm_guid, rev,
+ BIT(DSM_PCI_DEVICE_READINESS_DURATIONS)))
+ return;
+
+ obj = acpi_evaluate_dsm_typed(handle, &pci_acpi_dsm_guid, rev,
DSM_PCI_DEVICE_READINESS_DURATIONS, NULL,
ACPI_TYPE_PACKAGE);
if (!obj)
--
2.39.2



Return-Path: <linux-kernel+bounces-674157-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 585BB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:00:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2D0C63ABFC0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:00:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 01DE61D5AC6;
Thu, 5 Jun 2025 07:00:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="HCJyoHHE"
Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54])
(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 7CE11136349
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:00:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106841; cv=none; b=I+oQ1fbrsnlLcnN+DfHbdKcykQDdG8kjdyguUq3NZG3YEX4ed9zQYzlhCNDc+S7rkPge4Go4HT1A/2hrptnNNxH0lXhAic1jzLzqOSO2xPzkOev6W37rSobKq0tFzb8sPvERdFvhLssZyeaDwA2BnGCLsWKs0yRL66FokPjJQsc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106841; c=relaxed/simple;
bh=3rnYonGtJFZXruHaMe9ZO5GVQEAUIhG9h2AP+LhsiM4=;
h=From:To:Cc:In-Reply-To:References:Subject:Message-Id:Date:
MIME-Version:Content-Type; b=itUQxlqZUCMwTIYCF8aOF5jerkmArkYNiW90/Vo7i5z1E9tiMliPQkCLf6w1j/vwEjfWwjb8QpHc35wlt7JF0MmDoKm/aWhayFrRAoysAZMCXMGqXsp25lCbf4yM78YcLltMfJ8ZyBK2CYmHeJFzQzSqr+c9dIwynEQebwhUq1M=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=HCJyoHHE; arc=none smtp.client-ip=209.85.221.54
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3a52874d593so453563f8f.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 05 Jun 2025 00:00:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1749106838; x=1749711638; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:date:message-id:subject
:references:in-reply-to:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=rlK7s9hxYkP0fqG8NeRDwRlzrAkK56Jhj+uxNhhkaGY=;
b=HCJyoHHE3ytKlceY2kaf+eDmc8i4hvj2hLh1eN7TvLxzZtqgqsTLSG7T1tC0SB5sgR
0Ft5rwAw8o3Rgn+8Lzh7uj75D6RRf8wKEv+yrdc3gq1LDgRXJJVAjZQqGVIjupGqjC3C
lKIEgXAAIbUpWee9rpgiJ2CFCgJYTWogU4GFcGXJO7O2KH8xjwoNYp5Da6iplxOLnp6Q
FDtA5BBZPXWcP46/scEvKOUnxO4NqljGcqteJvW+U1iN/R1pNYgTujYvAwnlN6gL9D7l
4UZao+ffbHoqgNsmP81AHdNMkqjwgdqv4iXWvBBybThR+rmaIPUQEtDqhWXXGJpKtpqi
UU1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1749106838; x=1749711638;
h=content-transfer-encoding:mime-version:date:message-id:subject
:references:in-reply-to:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=rlK7s9hxYkP0fqG8NeRDwRlzrAkK56Jhj+uxNhhkaGY=;
b=ftykph3pKyO+WxS4Z7WDD8tRgUpRVslr4M6pKcoAarL3KIRZ0I6z7xKqRjuN2WkeiO
y/5bvTcHPSDsLry9351FSGbp0udGRhYS34nLfMYytQ9eSm1P2OWOsn0FJdSmIkDTwMDC
NqYFYicxCWYgv2tBM8yDoplUGS1yZKK9/Ra1l4MrvugPtCnTXRpvPGO614gXJ+j5IcqD
V9DxWYcEjD/jUxMwCpKHn0flsS4oWxV/6QaMon9u7CI+IGDSZABwEJ9qK999Hs1MeK/Q
sc9BLgAJ7z6fNjSg/FT52FKzqUmvnks21eHpOISJtEX4vUm714l9mfAm/0LBwRHegO9O
JUyA==
X-Forwarded-Encrypted: i=1; AJvYcCVzXKbLYlkybI4EuPxEfBUBO8LPJzQQ8HydruwczU9nt+gTpFg8rDV4/J6dDaPKAZkbFVClf/tjEdofICM=@vger.kernel.org
X-Gm-Message-State: AOJu0YwtXYkC8mKS4R9/Yrzr30WHky25FhagXm7Jw/wU8cWcOz08eXT1
cPJlRZ+GTTZqzC2+WbTRPz8ADx1PYWVrrbZet3hTOXDZ8REKsyvy6YkhGecMlIfMwmk=
X-Gm-Gg: ASbGncvnRHwm9t6pxbOtcFhlXJg1tHJWau4m9m3N3puoe4cXGaQdvZ5NVoo4eMIbtI8
3IzQCYAY3uv60dOxhb8NZ/QoOWFWjU8WDTPmWvHHGBZew5F9dsJWe24i5vgC/ha7Z9kdGRA505i
tA80fQM3/dH0ryGIDgoPrYYQ63mQV8Lcxb2FmZ69MUe89yiTWFzPWQpZIm3E9x7u6OgO23h2cLe
7ARlnVtTDp6cIST6AZ4gxD56yHdUzw9rEopqZKd03wpAQCgFrFB6ExM6L7H3JDNshginAfcVmqo
YR2o7PPqDXGBEKFPvBt/qFx+qJPoyVTTyhPqxwaWj9+uxV+y0hom7UnXPlQhdyF1KMlm2sYD
X-Google-Smtp-Source: AGHT+IHRa5OR95z8ChTOsgh6ZF0ULPxGBqO+Qh7XGD0tx0MVnd3aFcSf2jaAuKX7fF2f7gm0uQ1fwQ==
X-Received: by 2002:a05:6000:381:b0:3a0:b940:d479 with SMTP id ffacd0b85a97d-3a51d97982amr4562193f8f.53.1749106837754;
Thu, 05 Jun 2025 00:00:37 -0700 (PDT)
Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-451f97f79b4sm14517935e9.2.2025.06.05.00.00.37
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 05 Jun 2025 00:00:37 -0700 (PDT)
From: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
To: dri-devel@xxxxxxxxxxxxxxxxxxxxx,
Douglas Anderson <dianders@xxxxxxxxxxxx>
Cc: Rob Clark <robdclark@xxxxxxxxx>, David Airlie <airlied@xxxxxxxxx>,
Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Thomas Zimmermann <tzimmermann@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx
In-Reply-To: <20250521173204.1.Ic0375a9360698592f27afbf1f60f4996d504ed4f@changeid>
References: <20250521173204.1.Ic0375a9360698592f27afbf1f60f4996d504ed4f@changeid>
Subject: Re: [PATCH] drm/panel-edp: Clarify the `prepare_to_enable`
description in comments
Message-Id: <174910683704.1447880.16330281361195978590.b4-ty@xxxxxxxxxx>
Date: Thu, 05 Jun 2025 09:00:37 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Mailer: b4 0.14.2
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Hi,

On Wed, 21 May 2025 17:32:05 -0700, Douglas Anderson wrote:
> It's unclear why I originally wrote in the description of
> `prepare_to_enable` that "This is not specified in a standard way on
> eDP timing diagrams" and then also wrote "It is effectively the time
> from HPD going high till you can turn on the backlight." It seems
> pretty clear that it's (T4+T5+T6+T8)-min. Either I was confused when I
> wrote this or I was looking at some strange panel datasheet that I can
> no longer find.
>
> [...]

Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-next)

[1/1] drm/panel-edp: Clarify the `prepare_to_enable` description in comments
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/0b3d99425891e3c4a87259afb88fbd1168dc7707

--
Neil



Return-Path: <linux-kernel+bounces-674158-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EC98C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:02:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 9A2393A4D64
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:01:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 32A3C1D5AC6;
Thu, 5 Jun 2025 07:01:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="YlLpWaYF"
Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3770B2C3242
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:01:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.254.224.25
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749106915; cv=none; b=ALIFmZJjnvKbYqJTBeCPtDHavOafAQNi0ENV54QJxcfWDPLlVUUTMhvYyYzFoUDqh242Z3nxCnDM+LVSnyha1aQywr0tIm/j0JAXYS5Mo2lSWkdGUoeEoRl6PyBglMW44YzdeEmIbzmDIGnkqAqY1aWNy22ibNygbRoc38nwMmY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749106915; c=relaxed/simple;
bh=/n+2rnWWXed5mSDKIdbxwsvVrRRZfjs9qi15dEL/cEc=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:In-Reply-To:
Content-Type:References; b=ZQxmvlLgKT5CC3xNkGPgbyrqQPOgvFE/zfrARgU9sh7amvv1YrX530n9nnPP+k+5LAuJMw65+XqBpU8jbuIjSMNbhAniy0yLkUd1Ys9aU62AJyFpt1o9MFtKLp/JnSE4zLZ2u6g+AiF0CuZJNJCHxnQidjUmcLzAwq5cy6ac7Pk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=YlLpWaYF; arc=none smtp.client-ip=203.254.224.25
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com
Received: from epcas2p4.samsung.com (unknown [182.195.41.56])
by mailout2.samsung.com (KnoxPortal) with ESMTP id 20250605070149epoutp029fb81a800e6c8aac67f40681ba4a7395~GE3emAK1u1731517315epoutp02C
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:01:49 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20250605070149epoutp029fb81a800e6c8aac67f40681ba4a7395~GE3emAK1u1731517315epoutp02C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
s=mail20170921; t=1749106909;
bh=juWpwMCYYA8ie+48ojJr38xgptZSqgOPV6ZW7qY+lwk=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=YlLpWaYFfCe4vauaYh0dYgf/8ZzfCf2INW443F9trN082QaDRkfxM1XhSmeYsL5bU
tzJRc0dyzT517W58/ciSyjlr6Cpm15yGUz1+Yf91gBsBUpOn5d9Dc3NTD0hp8sduxU
ceTL/EViQO0JWv+k6KFt2GgvSouEDoUiXA734oLU=
Received: from epsnrtp01.localdomain (unknown [182.195.42.153]) by
epcas2p3.samsung.com (KnoxPortal) with ESMTPS id
20250605070149epcas2p3d0c1eb806235acac945eb32c3c6127e9~GE3d6wXbV2972529725epcas2p3n;
Thu, 5 Jun 2025 07:01:49 +0000 (GMT)
Received: from epcas2p4.samsung.com (unknown [182.195.36.92]) by
epsnrtp01.localdomain (Postfix) with ESMTP id 4bCb3J41bZz6B9mT; Thu, 5 Jun
2025 07:01:48 +0000 (GMT)
Received: from epsmtip2.samsung.com (unknown [182.195.34.31]) by
epcas2p3.samsung.com (KnoxPortal) with ESMTPA id
20250605070147epcas2p3cafdf3d7a160ba01b763449873a3d2c4~GE3cgZ7_T2972529725epcas2p3g;
Thu, 5 Jun 2025 07:01:47 +0000 (GMT)
Received: from tiffany (unknown [10.229.95.142]) by epsmtip2.samsung.com
(KnoxPortal) with ESMTPA id
20250605070147epsmtip2db1c635974005d8dd679fbff9654e5e7~GE3ccv0Jr2418224182epsmtip28;
Thu, 5 Jun 2025 07:01:47 +0000 (GMT)
Date: Thu, 5 Jun 2025 15:59:59 +0900
From: Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx>
To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: janghyuck.kim@xxxxxxxxxxx, zhaoyang.huang@xxxxxxxxxx,
jaewon31.kim@xxxxxxxxx, david@xxxxxxxxxx, Jason Gunthorpe <jgg@xxxxxxxx>,
John Hubbard <jhubbard@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 2/2] mm: gup: avoid CMA page pinning by retrying
migration if no migratable page
Message-ID: <20250605065959.GA3678683@tiffany>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
In-Reply-To: <20250604222400.63203f9b10ae5b4c25f6de0b@xxxxxxxxxxxxxxxxxxxx>
X-CMS-MailID: 20250605070147epcas2p3cafdf3d7a160ba01b763449873a3d2c4
X-Msg-Generator: CA
Content-Type: multipart/mixed;
boundary="----bfByJ-ZIY6BJv7sVO1BMUP1RgQAR8Q.m4BWNyUsw_2ev9GnZ=_3385f_"
X-Sendblock-Type: AUTO_CONFIDENTIAL
CMS-TYPE: 102P
cpgsPolicy: CPGSC10-234,Y
X-CFilter-Loop: Reflected
X-CMS-RootMailID: 20250605033432epcas2p4c024a9d05246b18c217f3562b3f53551
References: <20250605033210.3184521-1-hyesoo.yu@xxxxxxxxxxx>
<CGME20250605033432epcas2p4c024a9d05246b18c217f3562b3f53551@xxxxxxxxxxxxxxxxxxxx>
<20250605033210.3184521-3-hyesoo.yu@xxxxxxxxxxx>
<20250604204323.95a646ae67f6800069a11e36@xxxxxxxxxxxxxxxxxxxx>
<20250605051131.GA3407065@tiffany>
<20250604222400.63203f9b10ae5b4c25f6de0b@xxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

------bfByJ-ZIY6BJv7sVO1BMUP1RgQAR8Q.m4BWNyUsw_2ev9GnZ=_3385f_
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline

On Wed, Jun 04, 2025 at 10:24:00PM -0700, Andrew Morton wrote:
> On Thu, 5 Jun 2025 14:11:31 +0900 Hyesoo Yu <hyesoo.yu@xxxxxxxxxxx> wrote:
>
> > We have confirmed that this regression causes CMA pages to be pinned
> > in our kernel 6.12-based environment.
> >
> > In addition to CMA allocation failures, we also observed GUP longterm
> > failures in cases where the same VMA was accessed repeatedly.
> >
> > Specifically, the first GUP longterm call would pin a CMA page, and a second
> > call on the same region would fail the migration due to the cma page already
> > being pinned.
> >
> > After reverting commit 1aaf8c122918, the issue no longer reproduced.
> >
> > Therefore, this fix is important to ensure reliable behavior of GUP longterm
> > and CMA-backed memory, and should be backported to stable.
>
> Great, thanks. Please add this to the patch's changelog.
>
>
> The problem is, this series combines a non-urgent cleanup with an
> important, backportable regression fix. We shouldn't backport the
> cleanup into earlier kernels - that just adds undesirable noise.
>
> So can I ask you to prepare a single standalone fix for the regression
> against current -linus and to later propose the cleanup patch for
> 6.17-rc1?
>
> In other words, pleas reverse the patching order, send the patches
> separately and test the regression fix without the presence of the
> cleanup?
>
> (I could do these manipulations locally but then what I have for the
> regression fix wasn't standalone tested by yourself).
>
> Thanks.
>

Thanks for the clarification. I'll prepare a standalone v3 patch with just the fix,
and send the cleanup separately for 6.17-rc1 as suggested.

Thanks,
Regards.

------bfByJ-ZIY6BJv7sVO1BMUP1RgQAR8Q.m4BWNyUsw_2ev9GnZ=_3385f_
Content-Type: text/plain; charset="utf-8"


------bfByJ-ZIY6BJv7sVO1BMUP1RgQAR8Q.m4BWNyUsw_2ev9GnZ=_3385f_--


Return-Path: <linux-kernel+bounces-674159-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0F1D241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:09:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 43DAD7A43E1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:08:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6644F1EFF96;
Thu, 5 Jun 2025 07:09:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=technexion.onmicrosoft.com header.i=@technexion.onmicrosoft.com header.b="IG0aSeEx"
Received: from OS8PR02CU002.outbound.protection.outlook.com (mail-japanwestazon11022132.outbound.protection.outlook.com [40.107.75.132])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B75ED1C84D9;
Thu, 5 Jun 2025 07:09:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.75.132
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749107391; cv=fail; b=BCLr3cn507IWFJQtfCvaAXV7y9ga4OcZ2YyWuUOky44CzZVxtlt3Jb/ZrRorymT7Gs1HEIe28AfQGQNQ75jvrjklNbBLGAs70TiJweUP5AaHQK6MWeuedmyhNqBjV62cKa7ymh/lNewpB1BY3uKkENL6mv+h8kbUpwLBc03frQE=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749107391; c=relaxed/simple;
bh=L2U3AfkB0581D3UlLzytSlib+hv7BAyQuhGAtlFyIeI=;
h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To:
To:Cc:MIME-Version; b=WmWjrx2+vL55aUNn+MjB/9YNYre+HeR9B030kAzVfG1esdFwwm1PtWgD7cxqY4lR+XCp3iHX694Jm9ujJOPmKv4sCr1DBOAf/8Dr/X6HRo5MfdsvGHd+Gj2Mj0usNoPnnT8Lk+Xo6Roq747eqMXnCSEp3PGfTIbg8PG3CqUW8Ng=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=technexion.com; spf=pass smtp.mailfrom=technexion.com; dkim=pass (1024-bit key) header.d=technexion.onmicrosoft.com header.i=@technexion.onmicrosoft.com header.b=IG0aSeEx; arc=fail smtp.client-ip=40.107.75.132
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=technexion.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=technexion.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=riNQRQqECixGWSY3+UwU739E0wTtZJAICrnQzMYrHCcWsJtVaX/89xV2W3ivMPIHkgvaU6BzKXAMfrGrd/+c2mlNj0ibjrNR5K3aFqP0DL+jnYAuOsCw3o3QvpDNE3DiS7y9Ip0IF40dQ/p1KrJxbZGBy30jOFWUeimuJ3aoKuZ0WtXSTlgbKm/ZuuP3N39ze2Iysj3J3+B+XqC8D3jG8a4Gh0TBb8x+0dBbU12TOqpEIhhTNL9itkKCn194QNf5t2m8x6KpPF3IiseonSdANsI/d1q1OZlFPru8BCdIIqrfiJFB2FEkXEIcFMrgV6qVUjvR3Kwq1LtXtFYIh0pecQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=rEz6T0rwGuFy0+gzW4ROaLMGZedszCt4+kjvdR0KDaQ=;
b=Pk8QTAmhiWFppQcSUyDnDE5O2b6WULJLMxgETSYweCTmiKWAjyL2/GHmHhe6lqYjsypPg/WFtG9mD1nrGVoW8ZKRiwV1wA0lzNy1wq9m3VFCPUul6uO2e5O6GiiGA+GxMUexmkfQQrT2F9YpwiUUbGRJS9bKEGETL5/GJmTq0iijJDZRWY8INLEg3ploePFUHTklV8/DJOHTsuVnVAslyBDKetHJmUuGVt8E5jeRnJvQ0C6EEzq+ldGIKrSSKwMdF4ZS1iJrJpCypTR9K42m+TZrQSOO1FzKZpQrASa6yVtHF9rSDoI8PTS598En4OzKxWZ7qF07Ujz0A9ayLNC8kA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=technexion.com; dmarc=pass action=none
header.from=technexion.com; dkim=pass header.d=technexion.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=technexion.onmicrosoft.com; s=selector2-technexion-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=rEz6T0rwGuFy0+gzW4ROaLMGZedszCt4+kjvdR0KDaQ=;
b=IG0aSeExmFMj4k0xlyuR7A1Gc3KnexW5rpFM7FOWyUCcZReQ9EpXsCqYR/NKZXqV1vL1234XZ7JtUvloqbXagD0VAOLtvY3GFfYaE6IvcE8CYQmg0QlRFYI2Oy8q9hcek/VQmFYr4FXHqaxQ6gKrbQy4QUNkyPss34+mgsXwIkE=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=technexion.com;
Received: from KL1PR03MB7454.apcprd03.prod.outlook.com (2603:1096:820:ed::7)
by TYZPR03MB8034.apcprd03.prod.outlook.com (2603:1096:400:463::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 07:09:46 +0000
Received: from KL1PR03MB7454.apcprd03.prod.outlook.com
([fe80::980e:3c71:3a5b:6404]) by KL1PR03MB7454.apcprd03.prod.outlook.com
([fe80::980e:3c71:3a5b:6404%4]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
07:09:46 +0000
From: Richard Hu <richard.hu@xxxxxxxxxxxxxx>
Date: Thu, 05 Jun 2025 15:09:41 +0800
Subject: [PATCH v2 1/2] dt-bindings: arm: fsl: Add EDM-G-IMX8M-PLUS SOM and
WB-EDM-G carrier board
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250605-add-technexion-edm-g-imx8m-plus-som-v2-1-db5a7bbe3c84@xxxxxxxxxxxxxx>
References: <20250605-add-technexion-edm-g-imx8m-plus-som-v2-0-db5a7bbe3c84@xxxxxxxxxxxxxx>
In-Reply-To: <20250605-add-technexion-edm-g-imx8m-plus-som-v2-0-db5a7bbe3c84@xxxxxxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
Richard Hu <richard.hu@xxxxxxxxxxxxxx>,
Ray Chang <ray.chang@xxxxxxxxxxxxxx>
X-Mailer: b4 0.13.0
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749107384; l=1183;
i=richard.hu@xxxxxxxxxxxxxx; s=20250604; h=from:subject:message-id;
bh=5FpoZ2s84dZoSUmvYTuRL2xXk/Ef0wNpduDEiDDYLGY=;
b=tmJMp8CBSDxHybtmnKtItA5unt42RxsjWYqQqSt4UFUFf4vErCuOzADnK2Nuaj+8fo77n6Nvy
kmxvNFtefJ0DBFVkAwMTzKU5AMEtlzt8zMOkTFMqPD2POIrm/k+LUEq
X-Developer-Key: i=richard.hu@xxxxxxxxxxxxxx; a=ed25519;
pk=MKoW0/U0r4MjJdRNaq37Tb25KE1fzJUdMN0pa8XBJSA=
X-ClientProxiedBy: TPYP295CA0017.TWNP295.PROD.OUTLOOK.COM (2603:1096:7d0:a::9)
To KL1PR03MB7454.apcprd03.prod.outlook.com (2603:1096:820:ed::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: KL1PR03MB7454:EE_|TYZPR03MB8034:EE_
X-MS-Office365-Filtering-Correlation-Id: d62fd411-3679-4f8d-cc42-08dda3fff41e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|366016|52116014|376014|7416014|1800799024|38350700014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?MFhrb2crNllXZDVycU1QM2F2L000SFloVEwzbTc3V2EvN3dzODk0cjVud2c5?=
=?utf-8?B?RW1HK05uNlZHNnlnd2lvaXgrWS90S3ZUbHh0dEorNlVKTEFLMTFrSUZDOTEz?=
=?utf-8?B?cTZNdlVrSXQvZkt0QWtMcHFEazJxMUkyQzlReXRhSG12b0pXb01DVDVYZnVL?=
=?utf-8?B?WnAwZFBOZFV0V3BBcWx0MzByVTdEazl4dzdPYkJmM3FhTjBiQkI1bGtDaTNi?=
=?utf-8?B?RmJ0WG83clFSaGtzNnRBVi96aWNLbWt3ZzFram5xUS9Ka1pZQjZhSkNuck56?=
=?utf-8?B?TmQrQWQ3Q1RLeCtXdDVuaHR0aFdDbk1HTUM5SW1sZHFpS29QRTZ6RU5ZNnVD?=
=?utf-8?B?anFyeTdENTAzaHhadnVsTFZyVzhJYnk5L0xvQUJXY2U0UHFRb2NRLzhzeXVR?=
=?utf-8?B?UHR6VWNneWpwOWR1R0FhQ0dzaEJJYi9mVG1BTTFva1UyWFZuallZZThhNUlF?=
=?utf-8?B?S28yOVRpQ3FzMlNJVitiQStIanp1TGFSKzFzNithRmQ5S2h6MVBML2UvcG1o?=
=?utf-8?B?T1Y5b2FTc0UveVVTRXpHNXQ3YmtFaTBrdzRubXpLbitDSGNLWW1iU3h2R2Y4?=
=?utf-8?B?eS9wbWw1dE5oMmx1cm1OckFsVmhqbEZlYTdaSGhkN3lWTjZ5cHVaSEFRelEr?=
=?utf-8?B?ZjMwNHIrZHp3eGVQS3ZWeW1UbjRsUlJHZC9zMmsyOHhVNUozMVVXZm1mbmlr?=
=?utf-8?B?RkQ0emFUZXQvQjV6bDczbG5MY29WWWp0cFFJbXVQdnEzSjNsMUwwcTRXSE84?=
=?utf-8?B?YVNhNjl2N0NUbHJ1a0hVRERKZkcyaHlBb2VWa0x6ejc4SDZiVk0xNzBRR1lQ?=
=?utf-8?B?MmlLWUt2OTJ2T2hLYTJJQzJJczQ3enIwZTNvTXpQNytsM3loOXBTQmtNR2JC?=
=?utf-8?B?Ny84cWZla1p1TFRZd3dRNUVQb09iUDlzRGprbTdkaURaWTZMSnZ4bzFOekMz?=
=?utf-8?B?VGErdCtHNlFzaWlVaDVYY3UyZXJ6WkkrVkNld2pTTFEyOXE3NVhmWkhBaXRW?=
=?utf-8?B?ZnV4Z2hRWk03ejRRK1V0QmN1aDBnU3VZdFlFOWxJK0JlKzNWcHR4TWlkNThW?=
=?utf-8?B?M1NhZGIrRnBzTnhVYnBzWTJmVFFER1oxYTY5TVdlMHBRc21qZ1VRK0crdkVh?=
=?utf-8?B?QUpDUmJzejRsazNUQzdua0pKVEhhZ3VhQytmMjRQbUd4WW5Kb0VJODl6R2I5?=
=?utf-8?B?YytmaVBQS2NTQzBZejhRV1lVR05pOUs5K3pUS3lSeU9jYUE2Y2lPU3dsaFJN?=
=?utf-8?B?Zm9qOEUrbTROYWdjeVZ1SWFHYit3cWdTZzZsanYycW4xUDZNNU9XemhPcGlH?=
=?utf-8?B?UTl0VnlpSW5FcURZOWd3N09vS2hLT0ROOVcyakR5dWZwTjZXcU5xc1VLY1Rq?=
=?utf-8?B?MEYzNmhuQmFuUTBQTUQ2Q3FLdUZ2UzJta0hRNjZYcWdVMGVUQlRLdEc4UVgy?=
=?utf-8?B?MWxzZTBMTmppOWJZcm4wWG1VaTQ3UmRmM0VCSzUySWFYamxKQ0F6TnhZMkN2?=
=?utf-8?B?YWsvczRZVStVQjFVcFhoUjFuMTZidE04T2VRb1ZPVkFRSlRPK3Juc3BTVFRQ?=
=?utf-8?B?emQwRStoUDNlb25SMWlwcVZrTTBTMldBS1kvb1F4MVZZV3M4N3lLdHBIdWZ3?=
=?utf-8?B?L2VpSXlBVzJyNWZNS3pEQW9QUnhFUTBiUGZCSk4zM05rRkFHWWMrUk9ONWlO?=
=?utf-8?B?WEVHVnBleXVKUkd5cDkrbEhvNG5mMlg2R2RsYVY2UThDejNHZVpLV0NkMThJ?=
=?utf-8?B?V0NFd2FZMjRlUzFpcE9YVmZPMjhpWW5pdnJQU1cvNWQzUisyVnpBbDBUMnRn?=
=?utf-8?B?Vk0xNWpwNDZCM3MzOXQ0Nm9ONk9Kall6b2hSOUsxZDcwNWRlQitmT0pHbGs2?=
=?utf-8?B?ZUs4RXpTbk5aTFJmRk9XWWJzSi84ZHRZVzVQYTBrcG53R2cxY0FoVnd2TGRJ?=
=?utf-8?B?ZkZYNHpEL0orZFVITWs3UmlReFdjd3l6ZDVjbGZqZDB3czE0ZlBFUGtEd2ZG?=
=?utf-8?B?YWs5bkphaEJBPT0=?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:KL1PR03MB7454.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(52116014)(376014)(7416014)(1800799024)(38350700014);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?cnpRaVZPYTE0aHBkMFhqWkluN0srQUtCSWZ4ajc5a2c3T3NiWkFNcFlPTTBt?=
=?utf-8?B?OHFKRmo4RHpCbzlxVlFNRjBiTk4yc2svQ25aOXZWLzhuZWpldm51bkx0VzlX?=
=?utf-8?B?VmFkeURYWDV5cFRUWEpRTWRFN2c1TTRscXBZMG40Nkx1WWRFdXI0QlFNZllt?=
=?utf-8?B?bFEyZitCcXVuRisyUy96K24zSTIyVXl4L3dLNUNuVjluVEJZRUN3ZlR1VEhC?=
=?utf-8?B?bFY2NlJvM0QyTHZPRHlLS2FicXdOL0hvQm5FMW5pOTFSQmVaamMvVFNnbHVX?=
=?utf-8?B?WDdVMkZzZ1dWRDk2d3dpaENxR2FERSt0QklFY2VUVGN4QTFERHlmaktzck10?=
=?utf-8?B?WXI4b0xQTWgyYWk1djVNeExrWWI1OGtDc2F0VVluNkVMZEF0WThTV2daMFRz?=
=?utf-8?B?SGwyVE9SNFB1cVh5Sld6VVpjdHI1WUdybE5rRzlMSWwwUXZZWVJuYk5kdHl6?=
=?utf-8?B?bFBGUHNQUjZXRWtpVUptNERpMHdnejRNaU9tVGp5YTIwb0VWVjdDNnQ4Smhj?=
=?utf-8?B?Nk1yM0xueDhQQXNDT3VkTHNZNDFma20rYjdFeGJwTEE4TEl1Y1dwNG9NUnV4?=
=?utf-8?B?RFpqakRrMk1aNG1tMnNNb0RuMU0wWWV6a240WDVEdW1pOUQvM3Rhc0I3VENk?=
=?utf-8?B?SmRiay9uOHdPdGJJUVluMDFHRUVYcHJhb3hsTHAzdUVjMUZZTWFoN3ZwMjRt?=
=?utf-8?B?ai9rY3VHenVtV2lhN3VoT3M4a0dib0daclJMZlpMV1BNUVpmZzZlVWExTUtS?=
=?utf-8?B?QWJOcGd0aW5haWEvb3liWXJqVGJ0bmtteUFLcmdGT3pwdFhVajUwSW9yeFBN?=
=?utf-8?B?amVJUXM1V3FLL2YyQlV6Q2h2aVdvYU9iK0gxQmdoc01sMXdSakVKcEQ0Szdi?=
=?utf-8?B?UnlyOW5UZGlGR1BINEI1MjdkUUpsd1dQTERwVk13UzZaTVJkWnNwRnVEOC9S?=
=?utf-8?B?RnF2YkR5U3dNR3FLbnE2azl4T25PWHRma2ZiYVBiZGtNSExPZ1djcFJGSjhp?=
=?utf-8?B?aUtFTWtWemFaN2J4emdGeTgzOXh0aVMzOGVWaTJZSW9RRDJSZ25NZGxLcEh2?=
=?utf-8?B?bE1SNWJZbzV6dnY0UkhvWlhtZ0g4US8vTFB6NjJIYmJzTHhCc090dkNtbjQ3?=
=?utf-8?B?aDdoaGlDQUMvNUZqZnpSK2Y5N3ZSdWNzcmY3eExybGxSTkk4L0tjSnlhcUcw?=
=?utf-8?B?WWEzZnV0REZ4b1l3cFdURlJBaXh2QXVPYTBvbDJUTm5vZmRqckVXWEVIaita?=
=?utf-8?B?L2Y3bHpPYUJuZjBzOUk1OExLazg1S1llYVc3OUVhaGFnZVFJUEZ3dUk0VDAw?=
=?utf-8?B?WXNQKy9PZUlwK2pnb3VRU1FjQ3VLaTFoTGdOYTFjRWdWWXlpL0FOblhURXNV?=
=?utf-8?B?VTRXcm9NMEI1Z0tJWWgvWEVQOTV2bnhEVjRQdzZrL0w2UnVXSnZwOTRKOC9u?=
=?utf-8?B?NnVhZ2pLMTBSZGl5YmplcElFZWt4SU95Z3cvL21odTduSVRkaFJSN1F6cFo3?=
=?utf-8?B?aVNSSjIxVXRWcnRJMUd5WTZzUVNlR0ZmaWdKbHdMRVh3U1ZoV0lzWGFIdGdY?=
=?utf-8?B?MEJpay94eWQyYjNobFVXd3d3ajdLdWJtc3NFdUF6dVZrU2VsT1FsMVZTUmRX?=
=?utf-8?B?UW5kcU9ueDhIMVV2eDRGYXM5aWFFT2ZzVnJzRnIxeTV1UE41TWtFTTZybHZP?=
=?utf-8?B?d0VSaEY0V0hWTHRQZm1mYkVJUEsrQlRSVElycUhQaWl6QUZvQi9FTzhsZDFh?=
=?utf-8?B?aWpHOGJITnczYkptTEV3U09nZTJjN3VLd1U5UDNkZHE1WXpVMHlpK0RmOXI4?=
=?utf-8?B?YzdGVCs4bGVuRmhGeERXQ2xERTJnV2NkQVlDNVZiUmQxRi9xYUh3SkV6WDYr?=
=?utf-8?B?NXJKWVluRkNuMnBQemMwS0xISHE5bmJINnE5MFozckx1czY5YUFXSW12WlBH?=
=?utf-8?B?S3lSaFJ4ZWI0YXdheGdLQzVLc056YmpkL1ZTYmc1cHE3Y0x5S2NTcnhoeTZH?=
=?utf-8?B?Z0pkTjFmRVlrY0c1U2ZCeGV2RkhNY2s5VFFiQllnd1Q0clJsb2tLb1pHdC9I?=
=?utf-8?B?L0trQVBEVFRvYVNqdzdGUk1MclIvZ1Z5empOODQvbENxUjBrQ1Vydm9hbUdW?=
=?utf-8?B?VlJHU21IK210N2cvZXJ2MTRYditJejBpcVpFclZoVEEzVWhld3AyOTlhdys0?=
=?utf-8?B?MUE9PQ==?=
X-OriginatorOrg: technexion.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d62fd411-3679-4f8d-cc42-08dda3fff41e
X-MS-Exchange-CrossTenant-AuthSource: KL1PR03MB7454.apcprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 07:09:46.6321
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 5ee19679-b9a6-4497-8ed2-1eda849e753b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PBqMxodhk8/8ZgeQeS0Lv02b8U9tEQH1/4TnPBNEJVbLoMlA0KYxaotcUKmvvRbEWYKZolctGmieFUhynw3b3ZTsF6cknMBH5u8fUXZQsX0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR03MB8034
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

From: Ray Chang <ray.chang@xxxxxxxxxxxxxx>

Add support for TechNexion EDM-G-IMX8M-PLUS SOM and WB-EDM-G carrier board.

Signed-off-by: Ray Chang <ray.chang@xxxxxxxxxxxxxx>
Signed-off-by: Richard Hu <richard.hu@xxxxxxxxxxxxxx>
Acked-by: Rob Herring (Arm) <robh@xxxxxxxxxx>
---
Documentation/devicetree/bindings/arm/fsl.yaml | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 1b90870958a2..ca0bc46a6f8b 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -1176,6 +1176,13 @@ properties:
- const: polyhex,imx8mp-debix-som-a # Polyhex Debix SOM A
- const: fsl,imx8mp

+ - description: TechNexion EDM-G-IMX8M-PLUS SoM based boards
+ items:
+ - enum:
+ - technexion,edm-g-imx8mp-wb # TechNexion EDM-G-IMX8MP SOM on WB-EDM-G
+ - const: technexion,edm-g-imx8mp # TechNexion EDM-G-IMX8MP SOM
+ - const: fsl,imx8mp
+
- description: Toradex Boards with Verdin iMX8M Plus Modules
items:
- enum:

--
2.43.0



Return-Path: <linux-kernel+bounces-674160-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A30F141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:10:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 208697A45CA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:08:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 84DD01FC0ED;
Thu, 5 Jun 2025 07:09:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=technexion.onmicrosoft.com header.i=@technexion.onmicrosoft.com header.b="Lo1F4lLS"
Received: from OS8PR02CU002.outbound.protection.outlook.com (mail-japanwestazon11022132.outbound.protection.outlook.com [40.107.75.132])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A241A1F4C8E;
Thu, 5 Jun 2025 07:09:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.75.132
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749107393; cv=fail; b=V6jgmgpSfVE2pT63NyamiyVKHEZ7zcgTc/DDd/2H77R+1zwwiXx1a92GARS65jRvhrqabJ+fWRH05LbEKUlIBdmo0ujAbjCtL3HDmCVtJxrHZbUHr5AJ3u+XpQoX1Rj36VtvYspnrrHgXmzlXlHdZZJt8tSmdYeaggwKxsiIEbc=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749107393; c=relaxed/simple;
bh=j18rU/EAWnc0cwkL5AVyaRm6iw1s6u/ZcBnqyeWIX80=;
h=From:Subject:Date:Message-Id:Content-Type:To:Cc:MIME-Version; b=cjHn5gMWVqT8SUHHx5IqOFqPK/30ZlJoyc2pV4XIvdvn1b0KKcMwYWkLmq297gPa7P5wdIbzyeF1P113Noo1sMUGUhWGabgyyUnUGHw1ClPxqatNLckFKsWxFvPxs7T2F778hObGQpzK9BSh99m3evjbdD2RAr5mZcf0BnxsMbw=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=technexion.com; spf=pass smtp.mailfrom=technexion.com; dkim=pass (1024-bit key) header.d=technexion.onmicrosoft.com header.i=@technexion.onmicrosoft.com header.b=Lo1F4lLS; arc=fail smtp.client-ip=40.107.75.132
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=technexion.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=technexion.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=sKKu72OCtFmmnwJQJvgHeF2Eb9Z3+859o2lFO7BQsOYJNCZJXGz/rBl9HW8pjdrRogIrrvYZ6QJt/GTX/xHwM4yfjr91M3nEOO68+ijclJZ88Cwj6aceO+cONstg5zaLG8LazdRkqHdjvFHBd0TxUDyz3vGPvhEYPK6dM2qXDYjDbFHRwIuWToiwTLF7bEelM5XtXyX2s2KvouZlxfa3/s6ij8ZcOOfiJ2Yo7f5I9BYIVjR8B2zl19O+C0tDYgZlLe0PLrKXstL4c6hb9cxaIeKP9cekpbbVcw8CaWv5E89gyc3RxQMJ8re2gN2YIA9Bo5t0lb9obt3irU8oLdZysw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=7R80tlAr1hBeVr2Fv3yzaBoKOFRbIfVkyEM2SOzciiw=;
b=sXGZg4goU2Fx2czPOnNgSkw9/BB5OKIKO16xJMujGIDlSPAV/gqiitq4k5ATFfON9IIKPKWVwnHks242qghVhTnVcFIPBAJE15VbL8P8f37LN0QKbTC7Rg2H8lUmvjuBJCju4yQO3Zvi/Afs2YQssoNd5ZrtsAcfbgTCC/1Ml6p2LKxSRNYMcgjFmYaAvIXENSmbPNyyCgXhOW2rQg16jyAfNgPKaXrArX2WAXeENA8yr+Xpft6Yw6Vvkgig8OMgC0zi5nBMGOzoMokff+4iioTzcvdhWP1wWiyCl9n13F4jEtCg3+iaT7x8jU3XN1M42GZgR5LtebatEvN0+5duUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=technexion.com; dmarc=pass action=none
header.from=technexion.com; dkim=pass header.d=technexion.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=technexion.onmicrosoft.com; s=selector2-technexion-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=7R80tlAr1hBeVr2Fv3yzaBoKOFRbIfVkyEM2SOzciiw=;
b=Lo1F4lLSfCfwyD6GJJ2vImant4LxaYepOrUle2PbVH7MrM/aataKzoDFvNPMyQKgYrCtbrXV0JMoXlG4meOOuHvlFSFL0IXaSJq5w1M8VeQ5qTfDSbXKU3E+28lsCnS/7arRX5RP9mvrRPUhpcyLZ9Z3jdreNkcJkO1CgVMQQFI=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=technexion.com;
Received: from KL1PR03MB7454.apcprd03.prod.outlook.com (2603:1096:820:ed::7)
by TYZPR03MB8034.apcprd03.prod.outlook.com (2603:1096:400:463::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 07:09:45 +0000
Received: from KL1PR03MB7454.apcprd03.prod.outlook.com
([fe80::980e:3c71:3a5b:6404]) by KL1PR03MB7454.apcprd03.prod.outlook.com
([fe80::980e:3c71:3a5b:6404%4]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
07:09:45 +0000
From: Richard Hu <richard.hu@xxxxxxxxxxxxxx>
Subject: [PATCH v2 0/2] Add TechNexion EDM-G-IMX8M-PLUS SOM and WB-EDM-G
carrier board support
Date: Thu, 05 Jun 2025 15:09:40 +0800
Message-Id: <20250605-add-technexion-edm-g-imx8m-plus-som-v2-0-db5a7bbe3c84@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIALRCQWgC/x2NzQqDMBAGX0X23A9C+mPtq5QeorvqQhMla0tAf
PeGHgeGmZ1MsorRo9kpy1dNl1TBnxoa5pAmgXJl8s5f3c1dEJixyTAnKVWFcMQEjeUesb4/Bls
i2i7w6Ppz10pPtbRmGbX8L8/XcfwAUd/JyXUAAAA=
To: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
Richard Hu <richard.hu@xxxxxxxxxxxxxx>,
Ray Chang <ray.chang@xxxxxxxxxxxxxx>
X-Mailer: b4 0.13.0
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749107384; l=1618;
i=richard.hu@xxxxxxxxxxxxxx; s=20250604; h=from:subject:message-id;
bh=j18rU/EAWnc0cwkL5AVyaRm6iw1s6u/ZcBnqyeWIX80=;
b=s29Xkw1FmPS54x7TdvtNueBr0+jI9K1IxWGxcgiBMUrpR+s+UQsSVjq52Jf437L/xSzPJo3W2
ApUS6F8jXIvCpxyb5sfMgjWSdFJkGKMB2VDmNmYLrCp1+zXVDW4oSlN
X-Developer-Key: i=richard.hu@xxxxxxxxxxxxxx; a=ed25519;
pk=MKoW0/U0r4MjJdRNaq37Tb25KE1fzJUdMN0pa8XBJSA=
X-ClientProxiedBy: TPYP295CA0017.TWNP295.PROD.OUTLOOK.COM (2603:1096:7d0:a::9)
To KL1PR03MB7454.apcprd03.prod.outlook.com (2603:1096:820:ed::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: KL1PR03MB7454:EE_|TYZPR03MB8034:EE_
X-MS-Office365-Filtering-Correlation-Id: 6fa891a8-ea84-4c39-b60a-08dda3fff36f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|366016|52116014|376014|7416014|1800799024|38350700014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?UG1JUXV6UmFuS2JNTjNnRkhISXpXUWxQWUZxZzRHQ2xNZjV2TGxHa2pkZGpF?=
=?utf-8?B?U3BPN1VINmhKWUtQV0tnUXhJTG9CS2FNR2x1aldHd0lHdGFDeGpEVnFOUWdZ?=
=?utf-8?B?Y05zK21VOVVnSVRsSmNkanVKekxaU21heXB3UFZJQnlJWG95RG1lbzZIK2lQ?=
=?utf-8?B?b0ZrZ2JyWW9melRrTUZWZXNtazFlblliYmI4aGJhanNBSHMwZ3NRbXlhYlZJ?=
=?utf-8?B?aHVMQVFTdkZaQ3BNcE5JTGN2U3NKM1VUR2tYTFJUM2NHTlNCODZxY1NlMUNJ?=
=?utf-8?B?aVlpc1VNUGhHZkduc0tsV04rU2JlaTNkTzk3NStqTEFvbmViWGZQcm1TMUMy?=
=?utf-8?B?SUdkcVU3c1FQTzllTWNNRjIvL0V3YkZZcWlPTjdIN3Y5cnA0V2FLV0tVdlE4?=
=?utf-8?B?Vkt1L2NhZ1c0SUorSXNSbjRqTS9JdTZNUmkrNmpsTTY4bEg5YmhRcVNxcWZB?=
=?utf-8?B?b25zNk1kUU5zcnIzbWZqNE51bGJ5U01zYXVGYW9rcFJJUGhWVTFSTms5U0pV?=
=?utf-8?B?Ti9ac3Y0Znp3V1BRSWx5c3V0RzR4SGgzMHdoN2N4OXhGSVhOaUZmMkJVdG1E?=
=?utf-8?B?THpTa0ZnMDZBekZhNGhqakZURk1GN1cwYjU5UndmNGV3ZkVxUjc3My8rMW50?=
=?utf-8?B?bWZ0WFpKRXJlNkhRRnFUK0pYbVBvc2hnN2pHQkdoZlB0NjVNYWtPTHVJRzhR?=
=?utf-8?B?VGFJUExPUm5OMWJyVXlyOUVmakQ2SHYrQk4rT3RZbmtqY2UzKy91ZzAzL2ZB?=
=?utf-8?B?cWF5NTQzVWpQUndqMVlPYjQrdGFUbS9IbEFMcG80c0lKbVBRYXNtdWt2a3ky?=
=?utf-8?B?Z2xEdFN6SmJSMmF5ZmhUVEZWRFRLaFZ2cWQ3M1RDSTlITE41YTh5d2pGdk1N?=
=?utf-8?B?Mnh2eWxvVGRZd0Z0OVVWYU5LY05odVRHcUpnVTMrRkMvRkQ2d1VmdFpFWUg5?=
=?utf-8?B?aWpwdFlMK2R6aGovbHNYYWdWVkExdVdra2ZzM3I5R2JrZlppdG5BQ3BRSVJy?=
=?utf-8?B?Zmw3eUJVSk93MkNiZTNQaGg5QS9YWTkwZDJGVTFJMDFiUTJrUkRsM0R4QTZj?=
=?utf-8?B?RmJGS2FKMFdNT3BzZTFjemdrYkM0Q0E4R0RCVW45SDQ4M21tV0ZuSitsRXBB?=
=?utf-8?B?Wk1UYUhjaGRYZlNIdldLQTJpTHh4QUFvdU1zQWpsdG96RmJKTUJobGdrSmc0?=
=?utf-8?B?bGpMd2taRGsyWG9wSnR0d1FFZ0FxOFJzcEpob01meVB1bU9rTmI5ZWtqSUVS?=
=?utf-8?B?V3I2YWE2c0hZeWpDcHpzbHVVeHByc2VLUEdvRzRUZTBkdElaM0YxRE9NZGpL?=
=?utf-8?B?MDBiY1JReUthTURKRTVCOVpEY012MXlPWHJXYVA0UWdEY1FKMm5tVmpLUXdN?=
=?utf-8?B?LzNHRUZBTXJpRVJ0NFpaVmV5c2VhWWRsNnhqcWpwZDFBdUkzN2ozVUZ0VnQ2?=
=?utf-8?B?V3B1Z2NDbzJtb0cxcnlIdUthdVNYTHRuQkFDSnVRdWtVM2lZQStqRXRQSERP?=
=?utf-8?B?UnNSUnZLb2xtdFNHWkNJTmpOSzlST3ZyenNobDFLUTFQdE9RM0Y1QnVPZEMx?=
=?utf-8?B?Y1RVZHFkZGpienVSRjZyeWErTTZDRmpHT3NTZE1EeVJ5WldtbXRCcjFYSTZh?=
=?utf-8?B?QTJUTzlXamJGcll3RGVtSWN5Vldzbk53c21BdloydzhVYzBPc3BBVG9UeEUz?=
=?utf-8?B?NXNBS0RPeklRU1plaU0va2NDdDJXQUlZVzd4d1k2RmRZdFhNNXZMazBVNnVL?=
=?utf-8?B?VW80WEh2cmw2dU9kZDlvN3VaZzRPN3BRSFUxT3dBaFVkWVltYW5GZ3hOQmRx?=
=?utf-8?B?N2IwUnJHRFhTSjlQdEIrdkZrdENxUkdHV3VuQU9xdTRhUjFUUDRDbGY2Ui9r?=
=?utf-8?B?bHdTWGVJMjdvWkFBMkVscVdxMEVCaFE4ci9jdEZkMnRwSlR2RHpPNVE0RW9G?=
=?utf-8?B?WWJKcU8zRDRxc2gvYUtWOG5XK2hUOWgzKzJFYXFPS1RVaUFnQVFqVkFwaUhv?=
=?utf-8?B?eFU4V0swNC9RPT0=?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:KL1PR03MB7454.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(52116014)(376014)(7416014)(1800799024)(38350700014);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?aytUNEszbUFpd1F5TUpzUlh2Wmo0VFJlOVZEaFBBUitZOU1JVXlUNmlXR2Ex?=
=?utf-8?B?K2RwRnlVaVlGZVlEeWkxMU1sY25ybkF1L0poc2ZZalptNUpIMXlHWFIySEk4?=
=?utf-8?B?S1FUSnludmNhcFcrYUNZYzlSU1F4TmFtVWMrcWo4UmpJcFFHZGwxeFRFTks3?=
=?utf-8?B?UVYvcWFNelJHQiszTlE0SnR6TjFsdEVPaGFpSzI2alNsMUl5VDN0R0s5bEdx?=
=?utf-8?B?SmJJeGhES1hjYkw3cW9laTNpNzF0OGFrMW8yMzBWanN5V3JySkltT1drUGU0?=
=?utf-8?B?aXhuMEpTaTVlUW9FQmJteDZJYUVINHQyb1FUOHhTM0k5dVNwUHR3aE5iNWlv?=
=?utf-8?B?UFN3S1NubTJQQ09OUitORmNxcitvbVhQZGpBMjZjTFJQdWwrWkMycTVNeU1T?=
=?utf-8?B?L1RHTVJwRVNXc2NTY2svUFRvZGdmRXhGbHh3M2lKMWNFckdvWkVBa2lsZWRT?=
=?utf-8?B?T0dKOFRvWXp6dktNUUxWNHZNU2FWWGluOE54M0VhNmJuNzRSViswRnMxOGtq?=
=?utf-8?B?bU51WFdjcVJHYzRtdkg0aitMVXZwaHlGTExWSlc5b05PUHpEZlBjN1JsbGhU?=
=?utf-8?B?UXVMdUxOQjdSMnhUSVc2eERsMHN3QUlTNXVpSnlYY0ovR2tqczN5ZXhhT1lC?=
=?utf-8?B?N1EwdWxtc3haYTRtVFFhMkY0WG1xNzRCKzFYMktoZ1dhZW5yQ1o3RTBIeDBR?=
=?utf-8?B?STJTNEYxd0hJMmExckJ5Q1h0RjhkVE9KSFJ6RkFRYkswWGI3dmtTVVVKdUhs?=
=?utf-8?B?V2hSNjFaRTNiZ00zajVQNThySTNwMWRLK1MrNUNnaUFnVzNSTjY0WW9tWjVW?=
=?utf-8?B?b3lEc1VPczk2ZFM0MGFkZlUwWUdKUy9tcnd5L0h0Zm00OUNLV1RRNVJDd1ZI?=
=?utf-8?B?bTJvdGIrWUlKemtMMVJDVHB4ODloZk52N1ZtMEZ6SGlKVms0WTh0ODRtNkpa?=
=?utf-8?B?cEFCeG04SklOZ0NyNDhTQ20wek8yaldqZ0g2d1pDa0NUS1F6T0dKeVFqZ1Nv?=
=?utf-8?B?YXJZWnRxYldJclZzcS83ak9xQUlMTzg0R2tVeW9YSTFESEh6bTBqWllnUDhw?=
=?utf-8?B?L2ZCOERoWDBlUVZscUFrSnN1K2UxZnBMcUowWGdsUW1iYzhpQkpQbXh1RTBM?=
=?utf-8?B?bE03QkFkNVFiV1FST3FRWGs0U0VVRkFONjhMY3lPYWo2Wkl0K3JTRU51ajJM?=
=?utf-8?B?TjBvVzhwS04wSVprbXhpdWZQWllFUW1Bd20zRTZmdEFBUUdSa2hObVp3R3dy?=
=?utf-8?B?N3Y0SzdIZEEzWlNxV05nNmFlWml5T3lybVhFZ3A1eEZ6ZXlXcHFaY0g0K0JE?=
=?utf-8?B?MlNYVHdJRjFKUUxVU3hPTmpvSXdvek81cWFiRmFzZGFaUG1xZ00rTnJRUEJ2?=
=?utf-8?B?aHZPbjF2ZE43MTFGeEgxek9OQmdlWlJVWmlGV0NGT3RPR1ZmSTd4TmM5Q0c1?=
=?utf-8?B?SHpiUFNYVnNQRnZQMEoyYkpsd3c4MFVLbC9xejg1NWhEbTFCKzlyQjRYREVD?=
=?utf-8?B?K1d5NHU2K1N5OUpEWWxtUVhMem5BWFdydjdCRWdoWG9nb2R6Sk9URUwyRllu?=
=?utf-8?B?ZVJCanFLdmFaRjFLbGVtU0RCNURiaVIwNjh0RzJuUUN3bFF0aUsrSFZpWVo4?=
=?utf-8?B?Y3BFU05UZWhLa0xBQnZ1ais0Q3owWm5JVWE1L21tZWR4Ylh6SnJQNklEN2xT?=
=?utf-8?B?ZjArMnRNTDJScER3NEJTZVoyeGc0Z3lESDVERzQ3SUpqazc0TUlkbFBKZWVB?=
=?utf-8?B?cTRTOXhoQ0JuV3c0YzVkTDlwc0xheTdPbC9UbXhHNW1SYjllRTF4UG9jajU3?=
=?utf-8?B?VWk2VVdaUllNYzhNdlVELzlHSlFNNFRKcUQvVmZXc0lzMnVuNnpXc1p6MlN0?=
=?utf-8?B?WnJJK1VsNThNU3NtcnMzeFlPc25qZG9LVGFZbjNmTVc3NmtCZlVGRitlRGZh?=
=?utf-8?B?elhtbFZWNnM5WUNzOFNCaVZQWkNVVEdJSklUY04vbUI2RlVwcTh6TTVTMlVY?=
=?utf-8?B?aEJXbTByKzhmQTg5NFJqR2lsZWc4SmhrTU9ZRGZlTTFvaHQwL1JNUHhnd0tE?=
=?utf-8?B?SVVSMTBSZ0hDSXdpZHhEUmZGV1ZtSFN6TnY0WW5SanUrZ0EzQjk1SEVxMHhS?=
=?utf-8?B?VldjcStyejdOQkZBQjhPZlcwWkVQZnRCRnZWaVNBMzh2SHpxSUxxbldwMC9Y?=
=?utf-8?B?WXc9PQ==?=
X-OriginatorOrg: technexion.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6fa891a8-ea84-4c39-b60a-08dda3fff36f
X-MS-Exchange-CrossTenant-AuthSource: KL1PR03MB7454.apcprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 07:09:45.4352
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 5ee19679-b9a6-4497-8ed2-1eda849e753b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zrYXj2q7ZLUzWMUsEJmACepcAiEz5zjcAQLr6tSTOdFVSyO0aKfeQ+CFsTebqbdildeeIl1EJkLQs5IscutZtmXz6GG5nI7VmUk/91bKYFQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR03MB8034
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Add initial support for TechNexion EDM-G-IMX8M-PLUS SOM and WB-EDM-G
carrier board.

Change in V2:
- Ensured accurate `To:` and `Cc:` addresses by utilizing
`b4 prep --auto-to-cc`. (Thanks to Krzysztof Kozlowski for the
tip on this command and helpful suggestion from Rob Herring)

in patch 1/2:
- Add Acked-by tag

in patch 2/2:
- Generic Node Naming: Refactored device tree node names for I2C
GPIO expanders, the USB Type-C controller, and the PMIC to adhere
to generic naming conventions (e.g., `gpio@21`, `usb-typec@67`,
`pmic@25`).

- Removed Unused SPI Node: Eliminated the `spidev1` node due to an
incorrect and non-existent compatible string (`rohm,dh2228fv`).

- Minor formatting improvements (e.g., whitespace, indentation).

Signed-off-by: Richard Hu <richard.hu@xxxxxxxxxxxxxx>
---
Ray Chang (1):
dt-bindings: arm: fsl: Add EDM-G-IMX8M-PLUS SOM and WB-EDM-G carrier board

Richard Hu (1):
arm64: dts: imx8mp: Add TechNexion EDM-G-IMX8M-PLUS SOM on WB-EDM-G carrier board

Documentation/devicetree/bindings/arm/fsl.yaml | 7 +
arch/arm64/boot/dts/freescale/Makefile | 1 +
arch/arm64/boot/dts/freescale/imx8mp-edm-g-wb.dts | 403 +++++++++++
arch/arm64/boot/dts/freescale/imx8mp-edm-g.dtsi | 839 ++++++++++++++++++++++
4 files changed, 1250 insertions(+)
---
base-commit: 0ff41df1cb268fc69e703a08a57ee14ae967d0ca
change-id: 20250604-add-technexion-edm-g-imx8m-plus-som-79adf0b397eb

Best regards,
--
Richard Hu <richard.hu@xxxxxxxxxxxxxx>



Return-Path: <linux-kernel+bounces-674161-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DDA2341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:10:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id DF890189B6F3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:10:32 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8A67B1F8BD6;
Thu, 5 Jun 2025 07:09:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=technexion.onmicrosoft.com header.i=@technexion.onmicrosoft.com header.b="bdojQfOd"
Received: from OS8PR02CU002.outbound.protection.outlook.com (mail-japanwestazon11022132.outbound.protection.outlook.com [40.107.75.132])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4D421FBC92;
Thu, 5 Jun 2025 07:09:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.75.132
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749107396; cv=fail; b=VV3eHQvwsAnRoBLnu5oXfSsJV4cohU04WKk7adH8VcJKA0zFjcxMttikSrZSz/MkJeTN1MIaTb7MddDGDWm3q7k7GrULSc8sSztt64Ksu2AYVBHlSVLmY8KR3RcKk24WKQdYwOFrfNNTj5V9zsrEAKl43DdVEsh9QaAd6m3XsbM=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749107396; c=relaxed/simple;
bh=yVRu6eZoQnKO+9DNjtEwi8uOEODI7uGWKXY4D7ylvEo=;
h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To:
To:Cc:MIME-Version; b=do0SoV0NLnRai1nwu8JXJmXxRGc/B1mdRPJChcwrwhHWcrQ+LQfrFDSguD+xTvtqa0VxsXlKmcowIckt2YqzRW1kA+79t7e5t/m72S4ijth9ys+MJq3qX3P+tIeNUKaAF9sDqg3QEqpbmi0SETgnpA8hmE5yaACQvaD6idudCfQ=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=technexion.com; spf=pass smtp.mailfrom=technexion.com; dkim=pass (1024-bit key) header.d=technexion.onmicrosoft.com header.i=@technexion.onmicrosoft.com header.b=bdojQfOd; arc=fail smtp.client-ip=40.107.75.132
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=technexion.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=technexion.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=VQCIdjJmvXbDPxKVbioTZ+zbwULrsQRpELvOyiXH1J03t0T5VsCn9LTOasHrGvTtsAhmAblJ3wUIod/dZXNy/FaHeCvIa0Tew6ZUIjotmoUurnbtjSscQFmKXh3xMQgmfBPiUD5yCaxbeUipYNp1uqU3tymdVKhkWZQFfeiBvgvqhli51c7jK575tTdg7fHgRIxKgGGgAtOMavsG8mvhSpBot/6qlllYLwLC5m0hGxsJIHpD3apVnhIrEXOJUAZLYI43P+U+1K2eBNSrT6GcIeLgrBI8br2AIvcbFsXHU4N51p6JvBIhfCHE6kBOAqb8c4QVVPP5t6QP6wPzkh88SA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=7N8WrQFbPQsqKBCFaHFjjezt/Ts9Si42yKMoNWD5YrI=;
b=o1SwE7uaOsEyp1PdlwD5fo8UW+9OcrsuE0FV9KFniNhC8ba+oVMAqrF1/UUUQZ7B8WrCwXntJgRyFpSEJWEWkBogUmrO2LZKqVHGFPudvjl2sEEYNbY4HiM6cQ4AnsnUF42GKHZsEEQ/KIwKBvZvYNiRcvYnZwBtCkeVBJRwlx92j1U2xaiWqw4ul0sXibCj/kQE1FVmQScVT77DX7ZIed7M1qt2tDHToKNt4fyXYvUtKEotAqXFrjSh15rEws/iZ2nHUjIOSDnojtDWkS3hB/08Iv3hroGkwpRPEUHrGqhGKV5YXaUx0jyEToI1bbBuDQ7drum/GMYGyDeV1r/Ztw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=technexion.com; dmarc=pass action=none
header.from=technexion.com; dkim=pass header.d=technexion.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=technexion.onmicrosoft.com; s=selector2-technexion-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=7N8WrQFbPQsqKBCFaHFjjezt/Ts9Si42yKMoNWD5YrI=;
b=bdojQfOd280gQCmQhnLFHey9wwoFMzy0MkCZ+ID1imC0FfEN8ZHXUahfSZ0BMZ2mooav1Wa20BFF2ILPKk1LQK/MvP3/jYX8tPXY9s3AUJCIbTfwDNbxhKCYHGfy4XhfAWNO2KKoEKlkql9Db0yyndRdLBHPqXyOiVJ+60JgNHg=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=technexion.com;
Received: from KL1PR03MB7454.apcprd03.prod.outlook.com (2603:1096:820:ed::7)
by TYZPR03MB8034.apcprd03.prod.outlook.com (2603:1096:400:463::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Thu, 5 Jun
2025 07:09:47 +0000
Received: from KL1PR03MB7454.apcprd03.prod.outlook.com
([fe80::980e:3c71:3a5b:6404]) by KL1PR03MB7454.apcprd03.prod.outlook.com
([fe80::980e:3c71:3a5b:6404%4]) with mapi id 15.20.8769.031; Thu, 5 Jun 2025
07:09:47 +0000
From: Richard Hu <richard.hu@xxxxxxxxxxxxxx>
Date: Thu, 05 Jun 2025 15:09:42 +0800
Subject: [PATCH v2 2/2] arm64: dts: imx8mp: Add TechNexion EDM-G-IMX8M-PLUS
SOM on WB-EDM-G carrier board
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250605-add-technexion-edm-g-imx8m-plus-som-v2-2-db5a7bbe3c84@xxxxxxxxxxxxxx>
References: <20250605-add-technexion-edm-g-imx8m-plus-som-v2-0-db5a7bbe3c84@xxxxxxxxxxxxxx>
In-Reply-To: <20250605-add-technexion-edm-g-imx8m-plus-som-v2-0-db5a7bbe3c84@xxxxxxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
Richard Hu <richard.hu@xxxxxxxxxxxxxx>,
Ray Chang <ray.chang@xxxxxxxxxxxxxx>
X-Mailer: b4 0.13.0
X-Developer-Signature: v=1; a=ed25519-sha256; t=1749107384; l=32363;
i=richard.hu@xxxxxxxxxxxxxx; s=20250604; h=from:subject:message-id;
bh=yVRu6eZoQnKO+9DNjtEwi8uOEODI7uGWKXY4D7ylvEo=;
b=f2ctZ4mxeZR33tSdmB00wHFmBJ+FaWtqZU0+KMlKjEj7NyxDjpMSFFOBisXr1r2Q/BjMP+V44
J544mnJ3vuYCuiZBiioDPl7eETHzu2ZAbTK6OmPvTw29Xud7UXH1qII
X-Developer-Key: i=richard.hu@xxxxxxxxxxxxxx; a=ed25519;
pk=MKoW0/U0r4MjJdRNaq37Tb25KE1fzJUdMN0pa8XBJSA=
X-ClientProxiedBy: TPYP295CA0017.TWNP295.PROD.OUTLOOK.COM (2603:1096:7d0:a::9)
To KL1PR03MB7454.apcprd03.prod.outlook.com (2603:1096:820:ed::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: KL1PR03MB7454:EE_|TYZPR03MB8034:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b3e55f9-5fc7-4e86-6d3f-08dda3fff4d4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|366016|52116014|376014|7416014|1800799024|38350700014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?SGlxN3V3cXhlSXVYczhtSWlKWWxmQkdQVXBTT0xCaDR3cEVEZms4alc2WDJB?=
=?utf-8?B?MFo0aVdWMVhISjhVZm1Wc2FkYlJJcGpCa0FJdk5VWE1aQUtlOTErZVYrMEhw?=
=?utf-8?B?RjFVQmdwWXB0Qmt0ck9XN3IzRmZYWGtyV3VvN2xpb3RNWDRPVm04SVk1dTh5?=
=?utf-8?B?MmRYOExDRnpTQUg3ZFp5cWZIRmlSNnpuVDBIVXZRcGc4MXFDZFIvMW53aDRi?=
=?utf-8?B?SzZES1ZPRnR5WGl3OHNXUUtjbmF3T0h0VXdVUllYajJhaHNkd05GbEltZTM1?=
=?utf-8?B?dndTYlVGaXlxTU5SNDRTdGsvb1lVQ2VNbEY1Nm5Zc2J5Wjl0ejdmZUVHU0RL?=
=?utf-8?B?LzNUNkdIa2tjQjZUc3dWUVV6U3ZQeThvakxDTzFNN3lha1RHdmxLYkVJcjhV?=
=?utf-8?B?MS9tRDNHR3VuWWo2UzBhaW5WdmxyaGEycVJBSzFVT1dHOUpFZE5DclNQZXRC?=
=?utf-8?B?cXk0MWNONVZqbUFjam1QUlFBeDlCQTdyZ042STFhTXpvWGJoWXlCN0s4bXpX?=
=?utf-8?B?RUVkTlBHc3RtLzZvblFOOFMwb0gxUThZc2lVckNMcG5odlUwL3lsSytWaldx?=
=?utf-8?B?Q0NJYXV0enhhTkhHSlUrY0hyR0g4WGVoTGtJT1VEejIvcFhnMW44dkhYSk9s?=
=?utf-8?B?MkFid3hJM3VObUhBRDNnTnNPQXByRlc5NDVUNlJWSkRwYWFyYnFycVBpN0Yv?=
=?utf-8?B?N1NtbmU5U1VwZzBxQjlqa2lFdW5keHpZaGs1R2hDSWRZaW5leXE1cm5RMkFQ?=
=?utf-8?B?SW10aTl1V1EzWVQ3cEpxQWFRbWxKaEdackJGWmVTM1NGaDZML2hySnNKSE0v?=
=?utf-8?B?YVY0U2I5WmtZOUE1Tk1WaENCUzJmUVhUYTJDVU1MRlZyTm1LMHVEa0xPVG93?=
=?utf-8?B?UVQwUWxvRnN2UTlINkFRN0FuYzNUMGZoaEtCWjJWb2dDUkk1V0hxVGZsZThj?=
=?utf-8?B?YnpUQTFROVd0bGQxa1ZzQ3hxaGFsMU1zOVpIZTVBUHplRTEydGtOckppb1hE?=
=?utf-8?B?U2txejVzUnA1anlWcTdOWGgyOUl2aTZaalRxalptSXBaZU5jT3M2eHJoSHd6?=
=?utf-8?B?K290TkRDc25rRWM0NnNmK1JRM3BNNkJqYjBsKzVNV094MFVhajJEeURab0sy?=
=?utf-8?B?VEorSWh6aVl3OURSblV1ejlic2hJV3VqaU9VelZ3TDQ2ZEZLdVF1R2hXMUdv?=
=?utf-8?B?ajJUWUlGQmJKaDA3WVNydnozK2RFZDhTcUZrV0xZa21XeXRkcTRMdnFnQUJS?=
=?utf-8?B?ZU41OXh0NVZmWlE5cDNqVG1BZ0RsbmVPbTJhN2l0UVZ5NnIxaERiWmV0bngy?=
=?utf-8?B?bExOYTdTVy9veER6YTNJQWdTWjU3WEpack5jMC9zMVhRazdmZUxoOTZYU0Zq?=
=?utf-8?B?MUo1L3BDRDdLQzhBK3ZraEV6TnVjZjZmbGdwUlFiOWRSNmQ2YVpNb2Y1dThp?=
=?utf-8?B?bXRudDI5cFQzekVYRmZ6RGNyK01xdDBvUjdaZFRzTFRTYnZvWDdMUHZRV1pQ?=
=?utf-8?B?Q2dVR1JWdlVJRzM2NnRnbXA2UUhMN0d3MDU2dFh4dE4vMHVJSlpMRkg5enZH?=
=?utf-8?B?U3hWdDd3WkRheE0xVEZJNlJmaEVyKys5SHgzd3FvekJsWXlPbE04a01mUE5M?=
=?utf-8?B?N1dFME1oRnAvWkI3M0VzQndDOXQ4ZUphMzBMRGNFKzUrUHZmQUlXd0lWVzd0?=
=?utf-8?B?cTJITTFnNjhFWTB1VUZPTzd1dVF3SCtJaG1RbUZMQVRIRW05SHFSejZrNTNK?=
=?utf-8?B?SDRadU4wU3hQWmVkZUg2Qjd4U1R5RVBaSy9NK2xlUE9XZ2hBOWMxb1VUS3Fs?=
=?utf-8?B?ZG1CRmpJZWcwT0w3b3N2NUpBWjNNRnZ0ZHIrUGR1NEI4VDJTK0JhM1kxNzBY?=
=?utf-8?B?UTdEZ2tXTVpZMDBUSE5lUWFVRksxTmJ5aFA0c1Fuc1A2MUNLbU1weFdGd2dq?=
=?utf-8?B?M1ZleURiYnFvbWF5Q3p0K1ZtMW9FK1EzUEZYTXFmT09tSjMyVlAwb3ROZVRw?=
=?utf-8?B?bXVRS3ZTc1p3PT0=?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:KL1PR03MB7454.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(52116014)(376014)(7416014)(1800799024)(38350700014);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?eGl2TnFmVjFyWENLeGwweDMyQU9FbVk2OW1RNHg2TnUzSW1lZGtvYXFQY3g2?=
=?utf-8?B?NzZ6QUFzUUw5K3UwczErcnhFdHJ3ZnE3YXk2OFlrd0RBZ3p1MlJqZXA2YVN2?=
=?utf-8?B?MXBTOGRHSUx4L1NNWGF0eVI0ZFdrMHZHd1gzUXJRR2NhWEF3WUhXU2ViR2Zt?=
=?utf-8?B?aXlYTC9zZ0RMcEtUdG44SG1wOHcyWW9pU3dMUHByaGlaSGd4OStqWVF5Sldo?=
=?utf-8?B?MnZCSXBSb0lPTnNiVUkwUzh2ekptem5SbDZiS1F1K2IxUGpObEh1WU9NSnhJ?=
=?utf-8?B?NkI5UXppanFEZnRMWFg1ZG8vVTloMkVDQzVNUzhkcE1ianp3Y0dHT2c5bEY3?=
=?utf-8?B?ZkFqeUJiSUIrRGx1Ky9jRS8xdzI5Q3VyR1JOUFdDMHZsU2NJc3VHd3Z1a2M3?=
=?utf-8?B?YXB0NUJaOWNGUVJseFpNQmM0dEd0cjFvT2tPeUM4Mjc5RDR5dnZkUGdTS0F1?=
=?utf-8?B?MWtXcUR6cHFpT2IyTzgwNVVpd2EyalhFOTlnUUdMSWdMZ2h4eEVyd1MrYnQ1?=
=?utf-8?B?bnc3WUxGbWVOQk95a1MyT3RIeEZsM25YcSsyd0dOLzZ3NGNZMjQvLy9zUzdw?=
=?utf-8?B?aFcrUWp1QjRmRlJEdXNzNjJPK2hreU5HNTI4YWtYcU1DVkMraGdYNmpCQmtW?=
=?utf-8?B?TTMxK2h4VXZuc0lUUFBEemlLLzBaSlpESlp2RFRVTlNlWDJZRWlVa2ZRbExH?=
=?utf-8?B?VjdNNlZuOWZ2ZGNQRXBPREJpZVVuQ3Z4RlZUOWVTcmxJd0oxR1l3dFFKMlE1?=
=?utf-8?B?Q1h0UnpNKzkvUW5DakVCVHBJSUJRZTVBeWpTVWNiZXVHODMxdWZGM1V2WHF3?=
=?utf-8?B?bVpIKzA4WVBuYTB4aERYK295dDF0Rm04TXBtL2xBUmdaUlR0OUd6UkNNMGNN?=
=?utf-8?B?OXZrUXJYZmpkZ1lnN0VoaXZFcElYek8rL2NvYldjZ21BOFVPNnNYdW5DZHNL?=
=?utf-8?B?a25neUt5N3E3VEx2QWI3UjQ5YjVuY3E3d2Y5QjJrckNUSGZlTDNjV0M3Ky9l?=
=?utf-8?B?OXcrcUsreU5NUFdiNWtsNWQyNU9FckpzMXBwUTZBUzZzUm9laW9pU0NscWkx?=
=?utf-8?B?Qzc2c0NUYXhOQlkvOTdqT05HdDBHY0pWVWNhZnpIYzBWWGRtR0FjejFrakhC?=
=?utf-8?B?bVF5UUpmcGFCSlVQQ1RGRnBtMGVjRlZkWGF1NnFTdDMrckp5dU13VksyZmd3?=
=?utf-8?B?Mmg1S1BNREh1cG1sNHdvc0xTUndKdTcwRG92ODFkd2Mwbk9GUVFOeHBNU3Nz?=
=?utf-8?B?dkE2VkF2NUdXK1lBU3Rrczk3ckdhZmJsNWZWaUJFbFI0dVFPbFFIeEFGNTgw?=
=?utf-8?B?ZjRUWGRmOGNjUzh4M1BIMTZLcUg5SFZjVG9qcmNUZDI1V2FsVHhFSEtUeTRk?=
=?utf-8?B?ZnM3Y21peVNGeDFJVHFYVFQ1eFFCamRQK3dIV29IRUFyQXBxVmorTUVNRzRT?=
=?utf-8?B?eDRxZ0dZN2UyNVFaT1Z1R3lBM3FXMlAzTTFybDE4aW1NVlFQOFdtc3I1bWpK?=
=?utf-8?B?bks5UHpOcThEVWx4UmlSYXczUVptNFBBdTZHSDRZY3ZpTDVTOVNQU2lNUG82?=
=?utf-8?B?MzBUOWMydTRGdmwxOUJhbE1WUWY3RlN1VnNWbXU3dnJCY3lLVG00QnRENmZs?=
=?utf-8?B?Zjl6T2pRUzlLWU91RWJLVGI3ZFhSais2L1BReFh6V3VwV2RzaVpKRTlBUFp3?=
=?utf-8?B?ZVdCdlcvTVcwVG1IYmJ2QzNlMUdTV2FIQlZMM3lvaGVhcm52UW1MWUVpWlhS?=
=?utf-8?B?VzJRaFdZbVRDWFJGdnpVSFdxRnVMTEk2dkFzSklNZ05UcDZuMURUT0dldVkv?=
=?utf-8?B?cnN4R0wzTXpmdGpBTWxlczBzSStjYUt0a1lnRStRMWNjWFl3eWt4OXFCNFNw?=
=?utf-8?B?Z21uY3pyRkxrYTJQc3hONDFFMEJQbktxaVlCenc2dDVWd0daYTQ4TkxjMGlB?=
=?utf-8?B?T1I2RDdBQ3ZUbnNEUC9NRWFZT2RQNVd5dWRGVHVrRVRBWkdWdVhPQWtQNk1X?=
=?utf-8?B?d1ZpTk9sV3lpREE2Y3pJS0c0TExMWFFIRkp0L3VoZUtWOHFRUFFVcVNyWFNv?=
=?utf-8?B?cFg4dUZXYjBVZzRKT2xaOUpjcjl4Nm0xOGUxRjJJcVcxNVFjZ291K21mTnRZ?=
=?utf-8?B?VkoxUlE2WHpKQ1VmbjhwaGhkZHFLcWhnK3FsczNUY1B5NlJEekllUlVpSW5m?=
=?utf-8?B?TGc9PQ==?=
X-OriginatorOrg: technexion.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b3e55f9-5fc7-4e86-6d3f-08dda3fff4d4
X-MS-Exchange-CrossTenant-AuthSource: KL1PR03MB7454.apcprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2025 07:09:47.8008
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 5ee19679-b9a6-4497-8ed2-1eda849e753b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UDHJG/zYqXBq7EKUH+BLv2KHdWx+ObQ3DyzHpibxIWRGq3X1lEEbSstZJ7Hq5vaq1U+ZNUyPRyZK77GTGZPKCoS94RGzEFNtN4AfADv7hds=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR03MB8034
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

Add support for TechNexion EDM-G-IMX8M-PLUS SOM and WB-EDM-G carrier board.
Key interfaces include:
- Gigabit Ethernet
- USB 3.0
- I2S, UART, SPI, I2C, PWM, GPIO

Signed-off-by: Richard Hu <richard.hu@xxxxxxxxxxxxxx>
Signed-off-by: Ray Chang <ray.chang@xxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/freescale/Makefile | 1 +
arch/arm64/boot/dts/freescale/imx8mp-edm-g-wb.dts | 403 +++++++++++
arch/arm64/boot/dts/freescale/imx8mp-edm-g.dtsi | 839 ++++++++++++++++++++++
3 files changed, 1243 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index b6d3fe26d621..6acd2408f936 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -191,6 +191,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-dhcom-drc02.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-dhcom-pdk2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-dhcom-pdk3.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-dhcom-picoitx.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-edm-g-wb.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-icore-mx8mp-edimm2.2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-iota2-lumpy.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-edm-g-wb.dts b/arch/arm64/boot/dts/freescale/imx8mp-edm-g-wb.dts
new file mode 100644
index 000000000000..5d37a21e9e4d
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-edm-g-wb.dts
@@ -0,0 +1,403 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2024 TechNexion Ltd.
+ *
+ * Author: Ray Chang <ray.chang@xxxxxxxxxxxxxx>
+ */
+
+/dts-v1/;
+
+#include "imx8mp-edm-g.dtsi"
+
+/ {
+ compatible = "technexion,edm-g-imx8mp-wb", "technexion,edm-g-imx8mp", "fsl,imx8mp";
+ model = "TechNexion EDM-G-IMX8MP SOM on WB-EDM-G";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ led {
+ default-state = "on";
+ gpios = <&expander2 1 GPIO_ACTIVE_HIGH>;
+ label = "gpio-led";
+ };
+ };
+
+ lvds_backlight: lvds-backlight {
+ compatible = "pwm-backlight";
+ brightness-levels = <0 36 72 108 144 180 216 255>;
+ default-brightness-level = <6>;
+ pwms = <&pwm2 0 50000 0>;
+ status = "disabled";
+ };
+
+ native-hdmi-connector {
+ compatible = "hdmi-connector";
+ label = "HDMI OUT";
+ type = "a";
+
+ port {
+ hdmi_in: endpoint {
+ remote-endpoint = <&hdmi_tx_out>;
+ };
+ };
+ };
+
+ pcie0_refclk: pcie0-refclk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <100000000>;
+ };
+
+ reg_lvds_backlight_pwr: regulator-lvdsblpwr {
+ compatible = "regulator-fixed";
+ pinctrl-0 = <&pinctrl_lvds0_backlight_pwr>;
+ pinctrl-names = "default";
+ regulator-always-on;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "lvds0_bl_en";
+ gpio = <&gpio4 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ reg_lvds_pwr: regulator-lvdspwr {
+ compatible = "regulator-fixed";
+ pinctrl-0 = <&pinctrl_lvds0_pwr>;
+ pinctrl-names = "default";
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "lvds0_vdden";
+ gpio = <&gpio4 12 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ reg_pcie0: regulator-pcie {
+ compatible = "regulator-fixed";
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "PCIE_CLKREQ_N";
+ gpio = <&gpio1 13 GPIO_ACTIVE_LOW>;
+ };
+
+ reg_pwr_3v3: regulator-pwr-3v3 {
+ compatible = "regulator-fixed";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "pwr-3v3";
+ };
+
+ reg_pwr_5v: regulator-pwr-5v {
+ compatible = "regulator-fixed";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ regulator-name = "pwr-5v";
+ };
+
+ sound-hdmi {
+ compatible = "fsl,imx-audio-hdmi";
+ audio-cpu = <&aud2htx>;
+ hdmi-out;
+ model = "audio-hdmi";
+ };
+
+ sound-wm8960 {
+ compatible = "simple-audio-card";
+ simple-audio-card,bitclock-master = <&cpudai>;
+ simple-audio-card,format = "i2s";
+ simple-audio-card,frame-master = <&cpudai>;
+ simple-audio-card,name = "wm8960-audio";
+ simple-audio-card,routing = "Headphone Jack", "HP_L",
+ "Headphone Jack", "HP_R",
+ "External Speaker", "SPK_LP",
+ "External Speaker", "SPK_LN",
+ "External Speaker", "SPK_RP",
+ "External Speaker", "SPK_RN",
+ "LINPUT1", "Mic Jack",
+ "RINPUT1", "Mic Jack",
+ "Mic Jack", "MICB";
+ simple-audio-card,widgets = "Headphone", "Headphone Jack",
+ "Speaker", "External Speaker",
+ "Microphone", "Mic Jack";
+
+ simple-audio-card,codec {
+ sound-dai = <&wm8960>;
+ };
+
+ cpudai: simple-audio-card,cpu {
+ sound-dai = <&sai3>;
+ };
+ };
+
+ reg_usb_otg_vbus: usb-otg-vbus {
+ compatible = "regulator-fixed";
+ pinctrl-0 = <&pinctrl_otg_vbus>;
+ pinctrl-names = "default";
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "usb_otg_vbus";
+ gpio = <&gpio4 0 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&aud2htx {
+ status = "okay";
+};
+
+&flexcan1 {
+ status = "okay";
+};
+
+&gpio1 {
+ gpio-line-names = \
+ "", "", "", "", "", "", "DSI_RST", "", \
+ "", "", "", "", "", "", "", "", \
+ "", "", "", "", "", "", "", "", \
+ "", "", "", "", "", "", "", "";
+ pinctrl-0 = <&pinctrl_gpio1>;
+};
+
+&gpio4 {
+ gpio-line-names = \
+ "", "", "", "", "", "", "GPIO_P249", "GPIO_P251", \
+ "", "GPIO_P255", "", "", "", "", "", "", \
+ "DSI_BL_EN", "DSI_VDDEN", "", "", "", "", "", "", \
+ "", "", "", "", "", "", "", "";
+ pinctrl-0 = <&pinctrl_gpio4>;
+};
+
+&hdmi_pvi {
+ status = "okay";
+};
+
+&hdmi_tx {
+ pinctrl-0 = <&pinctrl_hdmi>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ ports {
+ port@1 {
+ hdmi_tx_out: endpoint {
+ remote-endpoint = <&hdmi_in>;
+ };
+ };
+ };
+};
+
+&hdmi_tx_phy {
+ status = "okay";
+};
+
+&i2c2 {
+ wm8960: codec@1a {
+ compatible = "wlf,wm8960";
+ reg = <0x1a>;
+ clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>;
+ clock-names = "mclk";
+ #sound-dai-cells = <0>;
+ AVDD-supply = <&reg_pwr_3v3>;
+ DBVDD-supply = <&reg_pwr_3v3>;
+ DCVDD-supply = <&reg_pwr_3v3>;
+ SPKVDD1-supply = <&reg_pwr_5v>;
+ SPKVDD2-supply = <&reg_pwr_5v>;
+ wlf,hp-cfg = <2 2 3>;
+ wlf,shared-lrclk;
+ };
+
+ expander1: gpio@21 {
+ compatible = "nxp,pca9555";
+ reg = <0x21>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ gpio-line-names = "EXPOSURE_TRIG_IN1", "FLASH_OUT1",
+ "INFO_TRIG_IN1", "CAM_SHUTTER1", "XVS1",
+ "PWR1_TIME0", "PWR1_TIME1", "PWR1_TIME2",
+ "EXPOSURE_TRIG_IN2", "FLASH_OUT2",
+ "INFO_TRIG_IN2", "CAM_SHUTTER2", "XVS2",
+ "PWR2_TIME0", "PWR2_TIME1", "PWR2_TIME2";
+ };
+
+ expander2: gpio@23 {
+ compatible = "nxp,pca9555";
+ reg = <0x23>;
+ #interrupt-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&gpio4>;
+ interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ gpio-line-names = "M2_DISABLE_N", "LED_EN", "", "",
+ "", "", "", "USB_OTG_OC",
+ "EXT_GPIO8", "EXT_GPIO9", "", "",
+ "", "CSI1_PDB", "CSI2_PDB", "PD_FAULT";
+ pinctrl-0 = <&pinctrl_expander2_irq>;
+ pinctrl-names = "default";
+ };
+
+ usb_typec: usb-typec@67 {
+ compatible = "ti,hd3ss3220";
+ reg = <0x67>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&pinctrl_hd3ss3220_irq>;
+ pinctrl-names = "default";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ hd3ss3220_in_ep: endpoint {
+ remote-endpoint = <&dwc3_out_ep>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ hd3ss3220_out_ep: endpoint {
+ remote-endpoint = <&dwc3_in_ep>;
+ };
+ };
+ };
+ };
+};
+
+&iomuxc {
+ pinctrl_csi0_pwn: csi0-pwn-grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0x9
+ >;
+ };
+
+ pinctrl_csi0_rst: csi0-rst-grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08 0x9
+ MX8MP_IOMUXC_GPIO1_IO14__CCM_CLKO1 0x59
+ >;
+ };
+
+ pinctrl_csi1_pwn: csi1-pwn-grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_RXD3__GPIO4_IO05 0x9
+ >;
+ };
+
+ pinctrl_csi1_rst: csi1-rst-grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_RXD2__GPIO4_IO04 0x9
+ MX8MP_IOMUXC_GPIO1_IO15__CCM_CLKO2 0x59
+ >;
+ };
+
+ pinctrl_expander2_irq: expander2-irqgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_TXC__GPIO4_IO11 0x140 /* GPIO_P247 */
+ >;
+ };
+
+ pinctrl_gpio1: gpio1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x16 /* DSI_RST */
+ >;
+ };
+
+ pinctrl_gpio4: gpio4grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_RXD4__GPIO4_IO06 0x16 /* GPIO_P249 */
+ MX8MP_IOMUXC_SAI1_RXD5__GPIO4_IO07 0x16 /* GPIO_P251 */
+ MX8MP_IOMUXC_SAI1_RXD7__GPIO4_IO09 0x16 /* GPIO_P255 */
+ MX8MP_IOMUXC_SAI1_TXD4__GPIO4_IO16 0x16 /* DSI_BL_EN */
+ MX8MP_IOMUXC_SAI1_TXD5__GPIO4_IO17 0x16 /* DSI_VDDEN */
+ >;
+ };
+
+ pinctrl_hd3ss3220_irq: hd3ss3220-irqgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_RXD6__GPIO4_IO08 0x41 /* GPIO_P253 */
+ >;
+ };
+
+ pinctrl_hdmi: hdmigrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_HDMI_SCL 0x1c2
+ MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_HDMI_SDA 0x1c2
+ MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_HDMI_CEC 0x10
+ >;
+ };
+
+ pinctrl_lvds0_backlight_pwr: lvds0-bl-pwrgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_TXD2__GPIO4_IO14 0x19 /* LVDS0_BL_EN */
+ >;
+ };
+
+ pinctrl_lvds0_pwr: lvds0-pwrgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_TXD0__GPIO4_IO12 0x19 /* LVDS0_VDDEN */
+ >;
+ };
+
+ pinctrl_otg_vbus: otgvbusgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x19 /* USB_OTG_PWR_EN */
+ >;
+ };
+};
+
+&lcdif3 {
+ status = "okay";
+};
+
+&pcie {
+ vpcie-supply = <&reg_pcie0>;
+ status = "okay";
+};
+
+&pcie_phy {
+ clocks = <&pcie0_refclk>;
+ clock-names = "ref";
+ fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
+ status = "okay";
+};
+
+&usb_dwc3_0 {
+ adp-disable;
+ dr_mode = "otg";
+ hnp-disable;
+ srp-disable;
+ usb-role-switch;
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ dwc3_out_ep: endpoint {
+ remote-endpoint = <&hd3ss3220_in_ep>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ dwc3_in_ep: endpoint {
+ remote-endpoint = <&hd3ss3220_out_ep>;
+ };
+ };
+ };
+};
+
+&usb_dwc3_1 {
+ dr_mode = "host";
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-edm-g.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-edm-g.dtsi
new file mode 100644
index 000000000000..f235c6aae924
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mp-edm-g.dtsi
@@ -0,0 +1,839 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2024 TechNexion Ltd.
+ *
+ * Author: Ray Chang <ray.chang@xxxxxxxxxxxxxx>
+ */
+
+#include <dt-bindings/phy/phy-imx8-pcie.h>
+#include <dt-bindings/usb/pd.h>
+#include "imx8mp.dtsi"
+
+/ {
+ chosen {
+ stdout-path = &uart2;
+ };
+
+ enet_power_en: enet-power-en {
+ compatible = "regulator-fixed";
+ pinctrl-0 = <&pinctrl_enet_pwr>;
+ pinctrl-names = "default";
+ regulator-always-on;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "enet_pwr";
+ gpio = <&gpio1 11 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ i2c_gpio_brd_conf: i2c-gpio-brd-conf {
+ compatible = "i2c-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-frequency = <100000>;
+ pinctrl-0 = <&pinctrl_i2c_brd_conf>;
+ pinctrl-names = "default";
+ scl-gpios = <&gpio4 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ sda-gpios = <&gpio4 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ };
+
+ reg_usdhc2_vmmc: regulator-usdhc2 {
+ compatible = "regulator-fixed";
+ off-on-delay-us = <12000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "VSD_3V3";
+ startup-delay-us = <100>;
+ gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ rfkill {
+ compatible = "rfkill-gpio";
+ name = "rfkill";
+ pinctrl-0 = <&pinctrl_bt_ctrl>;
+ pinctrl-names = "default";
+ radio-type = "bluetooth";
+ shutdown-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ };
+
+ wl_reg_on: wlreg-on {
+ compatible = "regulator-fixed";
+ off-on-delay-us = <20000>;
+ pinctrl-0 = <&pinctrl_wifi_ctrl>;
+ pinctrl-names = "default";
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "WL_REG_ON";
+ startup-delay-us = <100>;
+ gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ memory@40000000 {
+ reg = <0x0 0x40000000 0 0xc0000000>,
+ <0x1 0x00000000 0 0xc0000000>;
+ device_type = "memory";
+ };
+};
+
+&A53_0 {
+ cpu-supply = <&buck2>;
+};
+
+&A53_1 {
+ cpu-supply = <&buck2>;
+};
+
+&A53_2 {
+ cpu-supply = <&buck2>;
+};
+
+&A53_3 {
+ cpu-supply = <&buck2>;
+};
+
+&ecspi1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
+ num-cs = <1>;
+ pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&eqos {
+ phy-handle = <&ethphy0>;
+ phy-mode = "rgmii-id";
+ pinctrl-0 = <&pinctrl_eqos>;
+ pinctrl-names = "default";
+ snps,force_thresh_dma_mode;
+ snps,mtl-rx-config = <&mtl_rx_setup>;
+ snps,mtl-tx-config = <&mtl_tx_setup>;
+ status = "okay";
+
+ mdio {
+ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethphy0: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ eee-broken-1000t;
+ reset-assert-us = <35000>;
+ reset-deassert-us = <75000>;
+ reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ realtek,clkout-disable;
+ };
+ };
+
+ mtl_rx_setup: rx-queues-config {
+ snps,rx-queues-to-use = <5>;
+ snps,rx-sched-sp;
+
+ queue0 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0>;
+ snps,priority = <0x1>;
+ };
+
+ queue1 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <1>;
+ snps,priority = <0x2>;
+ };
+
+ queue2 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <2>;
+ snps,priority = <0x4>;
+ };
+
+ queue3 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <3>;
+ snps,priority = <0x8>;
+ };
+
+ queue4 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <4>;
+ snps,priority = <0xf0>;
+ };
+ };
+
+ mtl_tx_setup: tx-queues-config {
+ snps,tx-queues-to-use = <5>;
+
+ queue0 {
+ snps,dcb-algorithm;
+ snps,priority = <0x1>;
+ };
+
+ queue1 {
+ snps,dcb-algorithm;
+ snps,priority = <0x2>;
+ };
+
+ queue2 {
+ snps,dcb-algorithm;
+ snps,priority = <0x4>;
+ };
+
+ queue3 {
+ snps,dcb-algorithm;
+ snps,priority = <0x8>;
+ };
+
+ queue4 {
+ snps,dcb-algorithm;
+ snps,priority = <0xf0>;
+ };
+ };
+};
+
+&flexcan1 {
+ pinctrl-0 = <&pinctrl_flexcan1>;
+ pinctrl-names = "default";
+};
+
+&flexcan2 {
+ pinctrl-0 = <&pinctrl_flexcan2>;
+ pinctrl-names = "default";
+};
+
+&i2c1 {
+ clock-frequency = <100000>;
+ pinctrl-0 = <&pinctrl_i2c1>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ pmic: pmic@25 {
+ compatible = "nxp,pca9450c";
+ reg = <0x25>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <3 GPIO_ACTIVE_LOW>;
+ /* PMIC PCA9450 PMIC_nINT GPIO1_IO3 */
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pmic>;
+
+ regulators {
+ buck1: BUCK1 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <2187500>;
+ regulator-min-microvolt = <600000>;
+ regulator-name = "BUCK1";
+ regulator-ramp-delay = <3125>;
+ };
+
+ buck2: BUCK2 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <2187500>;
+ regulator-min-microvolt = <600000>;
+ regulator-name = "BUCK2";
+ regulator-ramp-delay = <3125>;
+ nxp,dvs-run-voltage = <950000>;
+ nxp,dvs-standby-voltage = <850000>;
+ };
+
+ buck4: BUCK4 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <3400000>;
+ regulator-min-microvolt = <600000>;
+ regulator-name = "BUCK4";
+ };
+
+ buck5: BUCK5 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <3400000>;
+ regulator-min-microvolt = <600000>;
+ regulator-name = "BUCK5";
+ };
+
+ buck6: BUCK6 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <3400000>;
+ regulator-min-microvolt = <600000>;
+ regulator-name = "BUCK6";
+ };
+
+ ldo1: LDO1 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <1600000>;
+ regulator-name = "LDO1";
+ };
+
+ ldo2: LDO2 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <1150000>;
+ regulator-min-microvolt = <800000>;
+ regulator-name = "LDO2";
+ };
+
+ ldo3: LDO3 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <800000>;
+ regulator-name = "LDO3";
+ };
+
+ ldo4: LDO4 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <800000>;
+ regulator-name = "LDO4";
+ };
+
+ ldo5: LDO5 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <1800000>;
+ regulator-name = "LDO5";
+ };
+ };
+ };
+};
+
+&i2c2 {
+ /* I2C_B on EDMG */
+ clock-frequency = <400000>;
+ pinctrl-0 = <&pinctrl_i2c2>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&i2c3 {
+ clock-frequency = <100000>;
+ pinctrl-0 = <&pinctrl_i2c3>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&i2c4 {
+ /* I2C_A on EDMG */
+ clock-frequency = <100000>;
+ pinctrl-0 = <&pinctrl_i2c4>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&i2c5 {
+ /* I2C_C on EDMG */
+ clock-frequency = <400000>;
+ pinctrl-0 = <&pinctrl_i2c5>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&iomuxc {
+ pinctrl-0 = <&pinctrl_hog>;
+ pinctrl-names = "default";
+
+ pinctrl_bt_ctrl: bt-ctrlgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x41 /* BT_REG_ON */
+ MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x41 /* BT_WAKE_HOST */
+ >;
+ };
+
+ pinctrl_ecspi1_cs: ecspi1csgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 0x40000
+ >;
+ };
+
+ pinctrl_ecspi1: ecspi1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK 0x82
+ MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI 0x82
+ MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO 0x82
+ >;
+ };
+
+ pinctrl_enet_pwr: enetpwrgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11 0x11
+ >;
+ };
+
+ pinctrl_eqos: eqosgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x3
+ MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x23
+ MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x91
+ MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x91
+ MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x91
+ MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x91
+ MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x91
+ MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x91
+ MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x1f
+ MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x1f
+ MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x1f
+ MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x1f
+ MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x1f
+ MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x1f
+ MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x19
+ MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x19
+ >;
+ };
+
+ pinctrl_flexcan1: flexcan1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI5_RXD2__CAN1_RX 0x154
+ MX8MP_IOMUXC_SAI5_RXD1__CAN1_TX 0x154
+ >;
+ };
+
+ pinctrl_flexcan2: flexcan2grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x154
+ MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154
+ >;
+ };
+
+ pinctrl_hog: hoggrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_HDMI_HPD 0x40000019
+ >;
+ };
+
+ pinctrl_i2c1: i2c1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001a3
+ MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001a3
+ >;
+ };
+
+ pinctrl_i2c2: i2c2grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001a3
+ MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001a3
+ >;
+ };
+
+ pinctrl_i2c3: i2c3grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c3
+ MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001c3
+ >;
+ };
+
+ pinctrl_i2c4: i2c4grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c3
+ MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c3
+ >;
+ };
+
+ pinctrl_i2c5: i2c5grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL 0x400001a3
+ MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA 0x400001a3
+ >;
+ };
+
+ pinctrl_i2c_brd_conf: i2cbrdconfgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x1c3 /* BRD_CONF_SCL, bitbang */
+ MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x1c3 /* BRD_CONF_SDA, bitbang */
+ >;
+ };
+
+ pinctrl_pcie: pciegrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO13__GPIO1_IO13 0x41 /* PCIE CLKREQ */
+ MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21 0x41 /* PCIE WAKE */
+ MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01 0x41 /* PCIE RST */
+ >;
+ };
+
+ pinctrl_pmic: pmicirqgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x41
+ >;
+ };
+
+ pinctrl_pwm1: pwm1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SPDIF_EXT_CLK__PWM1_OUT 0x116
+ >;
+ };
+
+ pinctrl_pwm2: pwm2grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI5_RXD0__PWM2_OUT 0x116
+ >;
+ };
+
+ pinctrl_pwm3: pwm3grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI5_RXC__PWM3_OUT 0x116
+ >;
+ };
+
+ pinctrl_pwm4: pwm4grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI5_RXFS__PWM4_OUT 0x116
+ >;
+ };
+
+ pinctrl_sai2: sai2grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK 0xd6
+ MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC 0xd6
+ MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK 0xd6
+ MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI2_RX_DATA00 0xd6
+ MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6
+ >;
+ };
+
+ pinctrl_sai3: sai3grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6
+ MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6
+ MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6
+ MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6
+ MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6
+ >;
+ };
+
+ pinctrl_uart1: uart1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX 0x140
+ MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX 0x140
+ MX8MP_IOMUXC_UART3_RXD__UART1_DCE_CTS 0x140
+ MX8MP_IOMUXC_UART3_TXD__UART1_DCE_RTS 0x140
+ >;
+ };
+
+ pinctrl_uart2: uart2grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x140
+ MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x140
+ MX8MP_IOMUXC_UART4_RXD__UART2_DCE_CTS 0x140
+ MX8MP_IOMUXC_UART4_TXD__UART2_DCE_RTS 0x140
+ >;
+ };
+
+ pinctrl_uart3: uart3grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD1_DATA7__UART3_DCE_RX 0x140
+ MX8MP_IOMUXC_SD1_DATA6__UART3_DCE_TX 0x140
+ MX8MP_IOMUXC_SD1_STROBE__UART3_DCE_CTS 0x140
+ MX8MP_IOMUXC_SD1_RESET_B__UART3_DCE_RTS 0x140
+ >;
+ };
+
+ pinctrl_uart4: uart4grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_ECSPI2_SCLK__UART4_DCE_RX 0x140
+ MX8MP_IOMUXC_ECSPI2_MOSI__UART4_DCE_TX 0x140
+ MX8MP_IOMUXC_ECSPI2_MISO__UART4_DCE_CTS 0x140
+ MX8MP_IOMUXC_ECSPI2_SS0__UART4_DCE_RTS 0x140
+ >;
+ };
+
+ pinctrl_usdhc1: usdhc1grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x190
+ MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d0
+ MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d0
+ MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d0
+ MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d0
+ MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d0
+ >;
+ };
+
+ pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x194
+ MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d4
+ MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d4
+ MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d4
+ MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d4
+ MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d4
+ >;
+ };
+
+ pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x196
+ MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d6
+ MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d6
+ MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d6
+ MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d6
+ MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d6
+ >;
+ };
+
+ pinctrl_usdhc2: usdhc2grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190
+ MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0
+ MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0
+ MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0
+ MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0
+ MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0
+ MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
+ >;
+ };
+
+ pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194
+ MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4
+ MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4
+ MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4
+ MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4
+ MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4
+ MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
+ >;
+ };
+
+ pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196
+ MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6
+ MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6
+ MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6
+ MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6
+ MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6
+ MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1
+ >;
+ };
+
+ pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c4
+ MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x41
+ >;
+ };
+
+ pinctrl_usdhc3: usdhc3grp {
+ fsl,pins = <
+ MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190
+ MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d0
+ MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d0
+ MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d0
+ MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d0
+ MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d0
+ MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d0
+ MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d0
+ MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d0
+ MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d0
+ MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x190
+ >;
+ };
+
+ pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194
+ MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4
+ MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4
+ MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4
+ MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4
+ MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4
+ MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4
+ MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4
+ MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4
+ MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4
+ MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x194
+ >;
+ };
+
+ pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x196
+ MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d6
+ MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d6
+ MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d6
+ MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d6
+ MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d6
+ MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d6
+ MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d6
+ MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d6
+ MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d6
+ MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x196
+ >;
+ };
+
+ pinctrl_wdog: wdoggrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0xc6
+ >;
+ };
+
+ pinctrl_wifi_ctrl: wifi-ctrlgrp {
+ fsl,pins = <
+ MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00 0x41 /* WL_REG_ON */
+ MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x41 /* WL_WAKE_HOST */
+ >;
+ };
+};
+
+&pcie {
+ pinctrl-0 = <&pinctrl_pcie>;
+ pinctrl-names = "default";
+ reset-gpio = <&gpio1 1 GPIO_ACTIVE_LOW>;
+};
+
+&pwm1 {
+ pinctrl-0 = <&pinctrl_pwm1>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&pwm2 {
+ pinctrl-0 = <&pinctrl_pwm2>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&pwm3 {
+ pinctrl-0 = <&pinctrl_pwm3>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&pwm4 {
+ pinctrl-0 = <&pinctrl_pwm4>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
+&sai2 {
+ /* AUD_B on EDMG */
+ assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <12288000>;
+ assigned-clocks = <&clk IMX8MP_CLK_SAI2>;
+ pinctrl-0 = <&pinctrl_sai2>;
+ pinctrl-names = "default";
+ fsl,sai-mclk-direction-output;
+ status = "okay";
+};
+
+&sai3 {
+ /* AUD_A on EDMG */
+ assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <12288000>;
+ assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
+ pinctrl-0 = <&pinctrl_sai3>;
+ pinctrl-names = "default";
+ fsl,sai-mclk-direction-output;
+ status = "okay";
+};
+
+&uart1 {
+ /* BT */
+ assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
+ assigned-clocks = <&clk IMX8MP_CLK_UART1>;
+ pinctrl-0 = <&pinctrl_uart1>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+ status = "okay";
+};
+
+&uart2 {
+ /* UART_A on EDMG, console */
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart2>;
+ status = "okay";
+};
+
+&uart3 {
+ /* UART_C on EDMG */
+ assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
+ assigned-clocks = <&clk IMX8MP_CLK_UART3>;
+ pinctrl-0 = <&pinctrl_uart3>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+ status = "okay";
+};
+
+&uart4 {
+ /* UART_B on EDMG */
+ assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
+ assigned-clocks = <&clk IMX8MP_CLK_UART4>;
+ pinctrl-0 = <&pinctrl_uart4>;
+ pinctrl-names = "default";
+ uart-has-rtscts;
+ status = "okay";
+};
+
+&usb3_0 {
+ status = "okay";
+};
+
+&usb3_1 {
+ status = "okay";
+};
+
+&usb3_phy0 {
+ status = "okay";
+};
+
+&usb3_phy1 {
+ status = "okay";
+};
+
+&usdhc1 {
+ /* WIFI SDIO */
+ assigned-clock-rates = <200000000>;
+ assigned-clocks = <&clk IMX8MP_CLK_USDHC1>;
+ bus-width = <4>;
+ keep-power-in-suspend;
+ non-removable;
+ pinctrl-0 = <&pinctrl_usdhc1>;
+ pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
+ pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
+ vmmc-supply = <&wl_reg_on>;
+ status = "okay";
+};
+
+&usdhc2 {
+ /* SD card on baseboard */
+ assigned-clock-rates = <400000000>;
+ assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
+ bus-width = <4>;
+ cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
+ pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
+ pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
+ vmmc-supply = <&reg_usdhc2_vmmc>;
+ status = "okay";
+};
+
+&usdhc3 {
+ /* eMMC on SOM */
+ assigned-clock-rates = <400000000>;
+ assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
+ bus-width = <8>;
+ non-removable;
+ pinctrl-0 = <&pinctrl_usdhc3>;
+ pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
+ pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
+ status = "okay";
+};
+
+&wdog1 {
+ pinctrl-0 = <&pinctrl_wdog>;
+ pinctrl-names = "default";
+ fsl,ext-reset-output;
+ status = "okay";
+};

--
2.43.0



Return-Path: <linux-kernel+bounces-674162-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 242A541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:10:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 286313AA9D1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:10:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 27B4F1FE44D;
Thu, 5 Jun 2025 07:10:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=cs.ucla.edu header.i=@cs.ucla.edu header.b="jqx3rsru"
Received: from mail.cs.ucla.edu (mail.cs.ucla.edu [131.179.128.66])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D31FB1F7904;
Thu, 5 Jun 2025 07:10:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=131.179.128.66
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749107411; cv=none; b=mIxPUHgqZMclvDAW62zg6boqTmfE6jz/jZ0Bi+RBjct/3R+CIoBmd3gSIbMZ4baQFZjZMsvu+K5X8LHhtbRvupxXjurLg7p3HSy8fUI9o118rVzgw7iE/hCUr3Jc0109HaVsxlLV7j81BLzAgQdJyhD0rXwMn+z0GBnoyFzL+Uo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749107411; c=relaxed/simple;
bh=/EhS3iHa3DPF4MPKsT0V/UOj/zPIgVbIWgFsrD5u17k=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=QAShOVnSd28v0gyXlMhTt3f5IxPxDKOegMWkyWvPBT5HYiT6BmXCOPorJto3oRi2ccbXLCRlGtmuOIXc83RbL+1UmperQAyaJDP2vyqoYGY0IyyHNfHJpplfCB72yuVyYR/Q3VbenlxmycEEIE5nz6+lzpugiOGQISnz+xND0/Y=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=cs.ucla.edu; spf=pass smtp.mailfrom=cs.ucla.edu; dkim=pass (2048-bit key) header.d=cs.ucla.edu header.i=@cs.ucla.edu header.b=jqx3rsru; arc=none smtp.client-ip=131.179.128.66
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=cs.ucla.edu
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cs.ucla.edu
Received: from localhost (localhost [127.0.0.1])
by mail.cs.ucla.edu (Postfix) with ESMTP id 6D80B3C010853;
Thu, 5 Jun 2025 00:10:03 -0700 (PDT)
Received: from mail.cs.ucla.edu ([127.0.0.1])
by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP
id JMlKYrDvSYZE; Thu, 5 Jun 2025 00:10:03 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
by mail.cs.ucla.edu (Postfix) with ESMTP id 400CD3C010858;
Thu, 5 Jun 2025 00:10:03 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 400CD3C010858
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu;
s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1749107403;
bh=4Qd52nvGfr7jmIQAnAzXun6RFm1GlLqzHLP10c1wU98=;
h=Message-ID:Date:MIME-Version:To:From;
b=jqx3rsruAduI1KhFul8QYF50IuBwjC390Ycg9t1hLNO3Sst5LufsaaIChChRMO/Ky
wLvudXXkaK7fPplCKHrnZt9jSWKQB/ajbxsjQeN2UxX+uaM038HGanrXBgSFtkdfZA
9J/NRgc+SKm4FzUnyp8urjiv0+BM2EJQdncmic4IwFLxS8s94xr0UICZfYowtfO8q5
t1nWWMQjmDZsgqSYmFUcyAYrsMsv86jn62qrhpMKVrUhQX7TwXMMFvxwGM+O5CBEy2
/X4naFvXE4MiwpJPM4SfjXkn3sptxrlwywxubjK0hCreQJhExpub7UV41dzap7fhEa
rjmOLitXRD4aA==
X-Virus-Scanned: amavis at mail.cs.ucla.edu
Received: from mail.cs.ucla.edu ([127.0.0.1])
by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP
id K5XVMBTuZY3A; Thu, 5 Jun 2025 00:10:03 -0700 (PDT)
Received: from penguin.cs.ucla.edu (unknown [47.143.215.226])
by mail.cs.ucla.edu (Postfix) with ESMTPSA id 123A83C010853;
Thu, 5 Jun 2025 00:10:03 -0700 (PDT)
Message-ID: <bc69175a-56db-4f76-b251-f560d8d32cbd@xxxxxxxxxxx>
Date: Thu, 5 Jun 2025 00:10:02 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Recent Linux kernel commit breaks Gnulib test suite.
To: Collin Funk <collin.funk1@xxxxxxxxx>
Cc: linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
selinux@xxxxxxxxxxxxxxx, Christian Brauner <brauner@xxxxxxxxxx>,
Stephen Smalley <stephen.smalley.work@xxxxxxxxx>, bug-gnulib@xxxxxxx
References: <8734ceal7q.fsf@xxxxxxxxx>
Content-Language: en-US
From: Paul Eggert <eggert@xxxxxxxxxxx>
Organization: UCLA Computer Science Department
In-Reply-To: <8734ceal7q.fsf@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu

I saw that bug last month, and filed a Fedora bug report here:

https://bugzilla.redhat.com/show_bug.cgi?id=2369561

The kernel bug breaks libxattr's attr_copy_fd and attr_copy_file
functions, among other things.


Return-Path: <linux-kernel+bounces-674163-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 82E0141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 03:11:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id B57051742AA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:11:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D34661F75A6;
Thu, 5 Jun 2025 07:11:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="fI+FwC4h"
Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46])
(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 298221F3BAC
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 5 Jun 2025 07:10:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1749107460; cv=none; b=nww9taiLyBN/VzVhhz2a2AY3WWgvfiReSZwBFfIycRM/o0XD8MMQxZytBg7W4OoLY925x56I78tVpBtU4x01b89rDAhB8vT+UBxaBXiFZ41RyugnWP26M+989Umn/PIMoWeAsjTJt9e/ymkLCQnUeGvH5XiFqQ6vZ3i4c0DB2N8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1749107460; c=relaxed/simple;
bh=885VIx6kzDrf0KfKwiUVuXwoWV8wBIF7oAVVVxA10zQ=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=NSCcjX4yWIpUzeMogWY4krJGsjT6mI/fBMVVglAjExM1wp6vVaHU6FO/rSf5J96RyqWTmHBEHvwCmPJnvf6GjFvEOYEz7SMR+wB1ciEDP3EqEEjndfXzqH9BEYELIdyhcErxNpokFb1UVbTKbcyKF+95iSkqdVk3MkEj1YSCPRc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=fI+FwC4h; arc=none smtp.client-ip=209.85.208.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com
Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-5efe8d9ebdfso1121614a12.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Thu, 05 Jun 2025 00:10:57 -0700 (PDT)
DKIM-Signature: v=1