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: <fc42ed34-e87d-4868-94bb-30554a3f6ec4@roeck-us.net>
Date: Fri, 15 Aug 2025 17:24:24 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Brian Norris <briannorris@...omium.org>
Cc: Thomas Gleixner <tglx@...utronix.de>,
 Tsai Sung-Fu <danielsftsai@...gle.com>,
 Douglas Anderson <dianders@...omium.org>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4] genirq: Add kunit tests for depth counts

On 8/15/25 10:58, Brian Norris wrote:
> On Sun, Aug 10, 2025 at 12:37:31PM -0700, Guenter Roeck wrote:
>> The new code calls irq_domain_alloc_descs(), making it dependent
>> on IRQ_DOMAIN. However, specifying that dependency directly is not
>> possible:
>>
>>   config IRQ_KUNIT_TEST
>>          bool "KUnit tests for IRQ management APIs" if !KUNIT_ALL_TESTS
>>          depends on KUNIT=y
>> +       depends on IRQ_DOMAIN
>>          default KUNIT_ALL_TESTS
>>          imply SMP
>>          help
>>
>> results in:
>>
>> *** Default configuration is based on 'defconfig'
>> error: recursive dependency detected!
>> 	symbol SMP is implied by IRQ_KUNIT_TEST
>> 	symbol IRQ_KUNIT_TEST depends on IRQ_DOMAIN
>> 	symbol IRQ_DOMAIN is selected by IRQ_DOMAIN_HIERARCHY
>> 	symbol IRQ_DOMAIN_HIERARCHY is selected by GENERIC_IRQ_IPI
>> 	symbol GENERIC_IRQ_IPI depends on SMP
>>
>> This is seen with alpha configurations such as alpha:defconfig after
>> adding the IRQ_DOMAIN dependency.
>>
>> I have no idea how to resolve this. For now I disabled IRQ_KUNIT_TEST
>> for my alpha test builds.
> 
> How about 'select'? That's the usual way IRQ_DOMAIN is managed anyway.
> 
> It builds for me, but my distro doesn't provide an Alpha QEMU, so I
> can't test it.
> 

I can try, but the irq test code fails for me all over the place, so I am
not sure if it is worth it.

 From my current upstream test results (6.17-rc1):

Build results:
	total: 162 pass: 162 fail: 0
Qemu test results:
	total: 637 pass: 637 fail: 0
Unit test results:
	pass: 640017 fail: 649

The failures are all from the irq test code. I didn't have time to analyze it.
You can find details at https://kerneltests.org/builders in the "master" column
if you have time.

Note that "imply SMP" does not make SMP mandatory. I can still disable it after
enabling IRQ_KUNIT_TEST on x86. Frankly I don't really understand what "imply"
is supposed to be useful for.

Guenter

> --- a/kernel/irq/Kconfig
> +++ b/kernel/irq/Kconfig
> @@ -148,6 +148,7 @@ config IRQ_KUNIT_TEST
>   	bool "KUnit tests for IRQ management APIs" if !KUNIT_ALL_TESTS
>   	depends on KUNIT=y
>   	default KUNIT_ALL_TESTS
> +	select IRQ_DOMAIN
>   	imply SMP
>   	help
>   	  This option enables KUnit tests for the IRQ subsystem API. These are


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ