Thread (56 messages) 56 messages, 5 authors, 2025-02-27

Re: [PATCH v4 07/14] of: property: Fix potential fwnode reference's argument count got out of range

From: Zijun Hu <hidden>
Date: 2025-01-11 00:40:37
Also in: lkml

On 2025/1/11 04:35, Rob Herring wrote:
On Thu, Jan 09, 2025 at 09:26:58PM +0800, Zijun Hu wrote:
quoted
From: Zijun Hu <redacted>

Currently, the maximal fwnode reference argument count supported is
8, and the maximal OF node phandle argument count supported is 16, but
of_fwnode_get_reference_args() directly assigns OF node phandle count
@of_args.args_count to fwnode reference count @args->nargs, so may cause
fwnode reference argument count got is out of range, namely, in [9, 16].

Fix by truncating @args->nargs got to 8 and warning if it > 8.

Fixes: b66548e2a9ba ("of: Increase MAX_PHANDLE_ARGS")
No, it would have been 3e3119d3088f ("device property: Introduce 
fwnode_property_get_reference_args").
agree.
Why don't we increase NR_FWNODE_REFERENCE_ARGS or rework things such 
that MAX_PHANDLE_ARGS and NR_FWNODE_REFERENCE_ARGS can't disagree?
that may involve ACPI and not sure if there are risk.

the commit you mentioned above have below commit message:

"The semantics is slightly different: the cells property is ignored on
ACPI as the number of arguments can be explicitly obtained from the
firmware interface"

let me do more investigation (^^).

perhaps, various firmware(DT|APCI|SWNODE...) may use
NR_FWNODE_REFERENCE_ARGS instead defining a MACRO such as
MAX_PHANDLE_ARGS separately.
quoted
Signed-off-by: Zijun Hu <redacted>
---
 drivers/of/property.c | 5 +++++
 1 file changed, 5 insertions(+)
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help