lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251106131854.0f0aa8b7@bootlin.com>
Date: Thu, 6 Nov 2025 13:18:54 +0100
From: Herve Codina <herve.codina@...tlin.com>
To: Andrea della Porta <andrea.porta@...e.com>
Cc: Bjorn Helgaas <helgaas@...nel.org>, Bjorn Helgaas <bhelgaas@...gle.com>,
 linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org, mbrugger@...e.com,
 guillaume.gardet@....com, tiwai@...e.com, Lizhi Hou <lizhi.hou@....com>
Subject: Re: [PATCH v2] PCI: of: Downgrade error message on missing of_root
 node

Hi, Andrea, Bjorn,

On Thu, 6 Nov 2025 12:04:07 +0100
Andrea della Porta <andrea.porta@...e.com> wrote:

> [+cc Herve]
> 
> Hi Bjorn,
> 
> On 18:23 Wed 05 Nov     , Bjorn Helgaas wrote:
> > [+cc Lizhi]
> > 
> > On Wed, Nov 05, 2025 at 07:33:40PM +0100, Andrea della Porta wrote:  
> > > When CONFIG_PCI_DYNAMIC_OF_NODES is enabled, an error message
> > > is generated if no 'of_root' node is defined.
> > > 
> > > On DT-based systems, this cannot happen as a root DT node is
> > > always present. On ACPI-based systems, this is not a true error
> > > because a DT is not used.
> > > 
> > > Downgrade the pr_err() to pr_info() and reword the message text
> > > to be less context specific.  
> > 
> > of_pci_make_host_bridge_node() is called in the very generic
> > pci_register_host_bridge() path.  Does that mean every boot of a
> > kernel with CONFIG_PCI_DYNAMIC_OF_NODES on a non-DT system will see
> > this message?  
> 
> This is the case, indeed. That's why downgrading to info seems sensible.
> 
> > 
> > This message seems like something that will generate user questions.
> > Or is this really an error, and we were supposed to have created
> > of_root somewhere but it failed?  If so, I would expect a message
> > where the of_root creation failed.  
> 
> Not really an error per se: on ACPI system we usually don't have DT, so
> this message just warns you that there will be no pci nodes created on it.
> Which, again, should be of no importance on ACPI.

I my last understanding, all architecture (even x86) have the DT root node
set. This node is empty on architectures that don't use DT to describe
hardware at boot (ACPI for instance).

This DT node is needed for PCI board that will be described by a DT overlay.
LAN966x for instance.

On v6.18-rc1 kernel, I successfully used my LAN966x board on a ACPI system.
This means that of_root DT node was present on my system.

> 
> The only scenario in which this message is actually an error would be on
> ACPI system that use DT as a complement to make runtime overlay work,

It is an error also if you use a PCI board that needs PCI DT nodes
(CONFIG_PCI_DYNAMIC_OF_NODES) Lan966x for instance.

> i.e. the overlay approach for RP1 on RPi5 with ACPI fw. AFAIK this fw is
> more a PoC that something really widespread and currntly the overlay
> approach is in stand-by anyway (meaning no one will use it unless some
> major changes will be made to make it work). But there may be other
> situations in which this scenario could arise, I'm thinking about Bootlin's
> LAN966x driver which also uses runtime overlay to describe thw hw.
> On ACPI system the root DT node is not created because unflatten_device_tree()
> is not called.

I am not so sure.
My LAN966x board is working on a x86 ACPI system.

I think, that if you don't want the kernel log, just set 
  CONFIG_PCI_DYNAMIC_OF_NODES = n

With CONFIG_PCI_DYNAMIC_OF_NODES = y, we need to create some nodes
and if cannot succeed to attach them to a DT tree, it is an error.
IMHO, pr_err() in that case is legit.


Best regards,
Hervé

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ