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: <867cj04fcl.wl-maz@kernel.org>
Date: Mon, 19 Feb 2024 15:56:58 +0000
From: Marc Zyngier <maz@...nel.org>
To: Biju Das <biju.das.jz@...renesas.com>
Cc: tip-bot2@...utronix.de,
	apatel@...tanamicro.com,
	linux-kernel@...r.kernel.org,
	linux-tip-commits@...r.kernel.org,
	tglx@...utronix.de,
	geert@...ux-m68k.org,
	linux-renesas-soc@...r.kernel.org,
	x86@...nel.org
Subject: Re: [tip: irq/msi] genirq/irqdomain: Remove the param count restriction from select()

On Mon, 19 Feb 2024 15:50:36 +0000,
Biju Das <biju.das.jz@...renesas.com> wrote:
> 
> > Now that the GIC-v3 callback can handle invocation with a fwspec parameter
> > count of 0 lift the restriction in the core code and invoke select()
> > unconditionally when the domain provides it.
> 
> This patch breaks on RZ/G2L SMARC EVK as of_phandle_args_to_fwspec count()
> is called after irq_find_matching_fwspec() is causing fwspec->param_count=0
> and this results in boot failure as the patch removes the check.
> 
> Maybe we need to revert this patch or fix the fundamental issue.
> 
> Cheers,
> Biju
> ---
>  kernel/irq/irqdomain.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
> index 0bdef4f..8fee379 100644
> --- a/kernel/irq/irqdomain.c
> +++ b/kernel/irq/irqdomain.c
> @@ -448,7 +448,7 @@ struct irq_domain *irq_find_matching_fwspec(struct irq_fwspec *fwspec,
>  	 */
>  	mutex_lock(&irq_domain_mutex);
>  	list_for_each_entry(h, &irq_domain_list, link) {
> -		if (h->ops->select && fwspec->param_count)
> +		if (h->ops->select)
>  			rc = h->ops->select(h, fwspec, bus_token);
>  		else if (h->ops->match)
>  			rc = h->ops->match(h, to_of_node(fwnode), bus_token);
> 
> 

Dmitry posted his take on this at [1], and I have suggested another
possible fix in my reply.

Could you please give both patches a go?

Thanks,

	M.

[1] https://lore.kernel.org/r/20240219-gic-fix-child-domain-v1-1-09f8fd2d9a8f@linaro.org

-- 
Without deviation from the norm, progress is not possible.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ