[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1ccfca2b-5f17-4f1e-92ae-1426c6d2352f@roeck-us.net>
Date: Mon, 23 Sep 2024 19:33:08 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Stephen Boyd <sboyd@...nel.org>
Cc: Michael Turquette <mturquette@...libre.com>,
linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org,
patches@...ts.linux.dev, kunit-dev@...glegroups.com,
linux-kselftest@...r.kernel.org, devicetree@...r.kernel.org,
Brendan Higgins <brendan.higgins@...ux.dev>,
David Gow <davidgow@...gle.com>, Rae Moar <rmoar@...gle.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J . Wysocki" <rafael@...nel.org>,
Rob Herring <robh@...nel.org>,
Saravana Kannan <saravanak@...gle.com>,
Daniel Latypov <dlatypov@...gle.com>,
Christian Marangi <ansuelsmth@...il.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Maxime Ripard <maxime@...no.tech>,
Geert Uytterhoeven <geert+renesas@...der.be>
Subject: Re: [PATCH v8 5/8] platform: Add test managed platform_device/driver
APIs
On Thu, Jul 18, 2024 at 02:05:04PM -0700, Stephen Boyd wrote:
> Introduce KUnit resource wrappers around platform_driver_register(),
> platform_device_alloc(), and platform_device_add() so that test authors
> can register platform drivers/devices from their tests and have the
> drivers/devices automatically be unregistered when the test is done.
>
> This makes test setup code simpler when a platform driver or platform
> device is needed. Add a few test cases at the same time to make sure the
> APIs work as intended.
>
> Cc: Brendan Higgins <brendan.higgins@...ux.dev>
> Reviewed-by: David Gow <davidgow@...gle.com>
> Cc: Rae Moar <rmoar@...gle.com>
> Reviewed-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Cc: "Rafael J. Wysocki" <rafael@...nel.org>
> Signed-off-by: Stephen Boyd <sboyd@...nel.org>
This patch adds another intentional warning traceback seen whenever
CONFIG_KUNIT_TEST is enabled.
sysfs: cannot create duplicate filename '/devices/platform/kunit-platform-add-2'
CPU: 0 UID: 0 PID: 421 Comm: kunit_try_catch Tainted: G N 6.11.0-mac-09967-g2ece55614b92 #1
Tainted: [N]=TEST
Stack from 015a9de0:
015a9de0 006168ac 006168ac 0158c000 026e8ea0 00c4a6b8 004bbe32 006168ac
00166cd4 005fa210 0158c000 026e8ea0 ffffffef 00c4a6b8 0067a18c 00166dc0
00c4a6b8 026e8ea0 01a6ac0e 006cb3c8 01a6ac0a 006cb3c8 00000000 00000000
0049b6de 01a6ac0a 00000000 01a6ac0a 00000000 006cb3c8 01a6ac0a 006cb3c8
01a6ac0a 015a9e78 0049b8b4 01a6ac0a 01a6ac00 01a6ac0a 0001bbfa 00321592
01a6ac0a 006cb3c8 00000000 01a6ac00 00000000 0067a18c 0002d21c 00000000
Call Trace: [<004bbe32>] dump_stack+0xc/0x10
[<00166cd4>] sysfs_warn_dup+0x52/0x64
[<00166dc0>] sysfs_create_dir_ns+0x9a/0xac
[<0049b6de>] kobject_add_internal+0xdc/0x238
[<0049b8b4>] kobject_add+0x7a/0x7e
[<0001bbfa>] insert_resource+0x0/0x1a
[<00321592>] device_add+0x104/0x588
[<0002d21c>] list_del_init+0x0/0x2a
[<0001bbfa>] insert_resource+0x0/0x1a
[<00326358>] platform_device_add+0x58/0x180
[<00326378>] platform_device_add+0x78/0x180
[<00273234>] IS_ERR_OR_NULL+0x0/0x1c
[<00270c58>] kunit_platform_device_add+0x14/0x118
[<0002d21c>] list_del_init+0x0/0x2a
[<00270c44>] kunit_platform_device_add+0x0/0x118
[<00273234>] IS_ERR_OR_NULL+0x0/0x1c
[<002733de>] kunit_platform_device_add_twice_fails_test+0x118/0x170
[<00050e44>] ktime_get_ts64+0x0/0xd8
[<00050e44>] ktime_get_ts64+0x0/0xd8
[<004b04d0>] memset+0x0/0x8c
[<0026cc3e>] kunit_try_run_case+0xa0/0x176
[<0002d21c>] list_del_init+0x0/0x2a
[<0002cfaa>] kthread_exit+0x0/0x14
[<0026e3d0>] kunit_generic_run_threadfn_adapter+0x0/0x2a
[<0026e3e6>] kunit_generic_run_threadfn_adapter+0x16/0x2a
[<0002d2d6>] kthread+0x90/0x9a
[<0002d246>] kthread+0x0/0x9a
[<0000252c>] ret_from_kernel_thread+0xc/0x14
kobject: kobject_add_internal failed for kunit-platform-add-2 with -EEXIST, don't try to register things with the same name in the same directory.
# kunit_platform_device_add_twice_fails_test: pass:1 fail:0 skip:0 total:1
ok 3 kunit_platform_device_add_twice_fails_test
# kunit_platform_device_add_cleans_up: pass:1 fail:0 skip:0 total:1
ok 4 kunit_platform_device_add_cleans_up
# kunit_platform_device: pass:4 fail:0 skip:0 total:4
I have said several times that my test system can and will not handle
intentional warning backtraces. I strongly believe that it is wrong to
expect that testbed maintainers have to keep track of intentional
backtraces. That means that I now also disabled CONFIG_KUNIT_TEST
in my testbed.
Guenter
Powered by blists - more mailing lists