* [LTP] [PATCH 0/2] Fix tst_search_driver for x86-64 modules
@ 2022-03-15 12:25 Petr Vorel
2022-03-15 12:25 ` [LTP] [PATCH 1/2] tst_kernel: Fix search for foo-x86-64 module Petr Vorel
2022-03-15 12:25 ` [LTP] [PATCH 2/2] tst_check_driver.sh: Add test for x68_64 module Petr Vorel
0 siblings, 2 replies; 9+ messages in thread
From: Petr Vorel @ 2022-03-15 12:25 UTC (permalink / raw)
To: ltp
Petr Vorel (2):
tst_kernel: Fix search for foo-x86-64 module
tst_check_driver.sh: Add test for x68_64 module
lib/newlib_tests/shell/tst_check_driver.sh | 16 ++++++++++++----
lib/tst_kernel.c | 5 +++++
2 files changed, 17 insertions(+), 4 deletions(-)
--
2.35.1
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 9+ messages in thread
* [LTP] [PATCH 1/2] tst_kernel: Fix search for foo-x86-64 module
2022-03-15 12:25 [LTP] [PATCH 0/2] Fix tst_search_driver for x86-64 modules Petr Vorel
@ 2022-03-15 12:25 ` Petr Vorel
2022-03-16 6:34 ` xuyang2018.jy
2022-03-15 12:25 ` [LTP] [PATCH 2/2] tst_check_driver.sh: Add test for x68_64 module Petr Vorel
1 sibling, 1 reply; 9+ messages in thread
From: Petr Vorel @ 2022-03-15 12:25 UTC (permalink / raw)
To: ltp
Although modules.{builtin,dep} contain modules with both dashes and
underscores and use this consistently, there the only exception: modules
for x86_64 arch are always named x86_64 no matter whether they use
dashes or underscore for the rest. E.g. libblake2s-x86-64.
modinfo works with all 4 combinations of libblake2s[-_]x86[-_]64,
thus fix tst_search_driver() to allow the same.
before:
tst_check_driver 3 TPASS: tst_check_drivers libblake2s-x86_64 2>/dev/null passed as expected
libblake2s-x86-64tst_check_driver 3 TFAIL: tst_check_drivers libblake2s-x86-64 failed unexpectedly
after fix:
tst_check_driver 3 TPASS: tst_check_drivers libblake2s-x86_64 2>/dev/null passed as expected
tst_check_driver 3 TPASS: tst_check_drivers libblake2s-x86-64 2>/dev/null passed as expected
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
lib/tst_kernel.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/lib/tst_kernel.c b/lib/tst_kernel.c
index 6db85bff0e..ecf4b917e7 100644
--- a/lib/tst_kernel.c
+++ b/lib/tst_kernel.c
@@ -116,6 +116,11 @@ static int tst_search_driver(const char *driver, const char *file)
return -1;
}
+ /* always search for x86_64 */
+ char *fix = strstr(driver, "x86-64");
+ if (fix)
+ fix[3] = '_';
+
SAFE_ASPRINTF(NULL, &search, "/%s.ko", driver);
f = SAFE_FOPEN(NULL, path, "r");
--
2.35.1
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [LTP] [PATCH 2/2] tst_check_driver.sh: Add test for x68_64 module
2022-03-15 12:25 [LTP] [PATCH 0/2] Fix tst_search_driver for x86-64 modules Petr Vorel
2022-03-15 12:25 ` [LTP] [PATCH 1/2] tst_kernel: Fix search for foo-x86-64 module Petr Vorel
@ 2022-03-15 12:25 ` Petr Vorel
2022-07-27 13:05 ` Petr Vorel
1 sibling, 1 reply; 9+ messages in thread
From: Petr Vorel @ 2022-03-15 12:25 UTC (permalink / raw)
To: ltp
To cover problem fixed in previous commit.
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
lib/newlib_tests/shell/tst_check_driver.sh | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/lib/newlib_tests/shell/tst_check_driver.sh b/lib/newlib_tests/shell/tst_check_driver.sh
index d188b6f775..98098c07c5 100755
--- a/lib/newlib_tests/shell/tst_check_driver.sh
+++ b/lib/newlib_tests/shell/tst_check_driver.sh
@@ -4,7 +4,7 @@
TST_TESTFUNC=test
TST_SETUP=setup
-TST_CNT=3
+TST_CNT=4
TST_NEEDS_CMDS="tst_check_drivers find grep head sed"
. tst_test.sh
@@ -54,10 +54,18 @@ test3()
tst_res TINFO "check built-in module detection"
- [ -f "$f" ] || \
- tst_brk TCONF "missing '$f'"
-
+ [ -f "$f" ] || tst_brk TCONF "missing '$f'"
test_drivers $(grep -E '_[^/]+\.ko' $f | head -3)
}
+test4()
+{
+ local f="$MODULES_DIR/modules.builtin"
+
+ tst_res TINFO "check for x68_64 arch module detection"
+
+ [ -f "$f" ] || tst_brk TCONF "missing '$f'"
+ test_drivers $(grep -E '[^/]+[-_]x86[-_]64.*\.ko' $f | head -3)
+}
+
tst_run
--
2.35.1
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [LTP] [PATCH 1/2] tst_kernel: Fix search for foo-x86-64 module
2022-03-15 12:25 ` [LTP] [PATCH 1/2] tst_kernel: Fix search for foo-x86-64 module Petr Vorel
@ 2022-03-16 6:34 ` xuyang2018.jy
2022-03-16 14:11 ` Petr Vorel
0 siblings, 1 reply; 9+ messages in thread
From: xuyang2018.jy @ 2022-03-16 6:34 UTC (permalink / raw)
To: Petr Vorel; +Cc: ltp@lists.linux.it
Hi Petr
I don't understand why we must serach foo-x86-64 module, so what problem
do you meet?
I used 5.17-rc8, it still use foo-x86_64 named rule for
kernel/arch/x86/crypto/libblake2s-x86_64.ko.
If kernel has libblake2s-x86_64 module, then tst_check_driver will use
libblake2s_x86_64 to find, it should succeed.
If kernel doesn't have libblake2s-x86_64 module, then tst_ckeck_driver
will search twice ,the first time use libblake2s-x86_64 and the second
time use libblake2s_x86_64, then search failed.
Best Regards
Yang Xu
> Although modules.{builtin,dep} contain modules with both dashes and
> underscores and use this consistently, there the only exception: modules
> for x86_64 arch are always named x86_64 no matter whether they use
> dashes or underscore for the rest. E.g. libblake2s-x86-64.
>
> modinfo works with all 4 combinations of libblake2s[-_]x86[-_]64,
> thus fix tst_search_driver() to allow the same.
>
> before:
> tst_check_driver 3 TPASS: tst_check_drivers libblake2s-x86_64 2>/dev/null passed as expected
> libblake2s-x86-64tst_check_driver 3 TFAIL: tst_check_drivers libblake2s-x86-64 failed unexpectedly
>
> after fix:
> tst_check_driver 3 TPASS: tst_check_drivers libblake2s-x86_64 2>/dev/null passed as expected
> tst_check_driver 3 TPASS: tst_check_drivers libblake2s-x86-64 2>/dev/null passed as expected
>
> Signed-off-by: Petr Vorel<pvorel@suse.cz>
> ---
> lib/tst_kernel.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/lib/tst_kernel.c b/lib/tst_kernel.c
> index 6db85bff0e..ecf4b917e7 100644
> --- a/lib/tst_kernel.c
> +++ b/lib/tst_kernel.c
> @@ -116,6 +116,11 @@ static int tst_search_driver(const char *driver, const char *file)
> return -1;
> }
>
> + /* always search for x86_64 */
> + char *fix = strstr(driver, "x86-64");
> + if (fix)
> + fix[3] = '_';
> +
> SAFE_ASPRINTF(NULL,&search, "/%s.ko", driver);
>
> f = SAFE_FOPEN(NULL, path, "r");
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [LTP] [PATCH 1/2] tst_kernel: Fix search for foo-x86-64 module
2022-03-16 6:34 ` xuyang2018.jy
@ 2022-03-16 14:11 ` Petr Vorel
2022-03-18 7:40 ` Li Wang
0 siblings, 1 reply; 9+ messages in thread
From: Petr Vorel @ 2022-03-16 14:11 UTC (permalink / raw)
To: xuyang2018.jy@fujitsu.com; +Cc: ltp@lists.linux.it
> Hi Petr
> I don't understand why we must serach foo-x86-64 module, so what problem
> do you meet?
> I used 5.17-rc8, it still use foo-x86_64 named rule for
> kernel/arch/x86/crypto/libblake2s-x86_64.ko.
> If kernel has libblake2s-x86_64 module, then tst_check_driver will use
> libblake2s_x86_64 to find, it should succeed.
> If kernel doesn't have libblake2s-x86_64 module, then tst_ckeck_driver
> will search twice ,the first time use libblake2s-x86_64 and the second
> time use libblake2s_x86_64, then search failed.
tst_check_driver.sh is failing on intel based systems. Well, we could make sure
it does not try to test libblake2s-x86-64, IMHO it'd be better to make sure
tst_search_driver() works with it, because modinfo/modprobe works with it:
$ modinfo libblake2s-x86-64
name: libblake2s_x86_64
filename: (builtin)
license: GPL v2
file: arch/x86/crypto/libblake2s-x86_64
Sure, it's a corner case, but I'd still fix it.
Let's see what other think.
Kind regards,
Petr
> Best Regards
> Yang Xu
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [LTP] [PATCH 1/2] tst_kernel: Fix search for foo-x86-64 module
2022-03-16 14:11 ` Petr Vorel
@ 2022-03-18 7:40 ` Li Wang
2022-03-18 9:50 ` Petr Vorel
0 siblings, 1 reply; 9+ messages in thread
From: Li Wang @ 2022-03-18 7:40 UTC (permalink / raw)
To: Petr Vorel; +Cc: ltp@lists.linux.it
[-- Attachment #1.1: Type: text/plain, Size: 1766 bytes --]
On Wed, Mar 16, 2022 at 10:11 PM Petr Vorel <pvorel@suse.cz> wrote:
> > Hi Petr
> > I don't understand why we must serach foo-x86-64 module, so what problem
> > do you meet?
>
> > I used 5.17-rc8, it still use foo-x86_64 named rule for
> > kernel/arch/x86/crypto/libblake2s-x86_64.ko.
>
> > If kernel has libblake2s-x86_64 module, then tst_check_driver will use
> > libblake2s_x86_64 to find, it should succeed.
>
> > If kernel doesn't have libblake2s-x86_64 module, then tst_ckeck_driver
> > will search twice ,the first time use libblake2s-x86_64 and the second
> > time use libblake2s_x86_64, then search failed.
>
> tst_check_driver.sh is failing on intel based systems. Well, we could make
> sure
> it does not try to test libblake2s-x86-64, IMHO it'd be better to make sure
> tst_search_driver() works with it, because modinfo/modprobe works with it:
>
> $ modinfo libblake2s-x86-64
> name: libblake2s_x86_64
> filename: (builtin)
> license: GPL v2
> file: arch/x86/crypto/libblake2s-x86_64
>
> Sure, it's a corner case, but I'd still fix it.
> Let's see what other think.
>
Which kernel (and kmod) version did you use?
I tried locally on my rhel8 and fedora 34 but that doesn't work for me.
$ rpm -q kmod
kmod-28-2.fc34.x86_64
$ lsmod |grep libblake2s
libblake2s 16384 0
blake2s_x86_64 20480 1 libblake2s
libblake2s_generic 20480 1 blake2s_x86_64
$ modinfo libblake2s-x86-64
modinfo: ERROR: Module libblake2s-x86-64 not found.
Then I checked the Linux source code and get:
------------------
$ cat linux/arch/x86/crypto/Makefile |grep libblake2s
obj-$(if $(CONFIG_CRYPTO_BLAKE2S_X86),y) += libblake2s-x86_64.o
libblake2s-x86_64-y := blake2s-core.o blake2s-glue.o
--
Regards,
Li Wang
[-- Attachment #1.2: Type: text/html, Size: 3317 bytes --]
[-- Attachment #2: Type: text/plain, Size: 60 bytes --]
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [LTP] [PATCH 1/2] tst_kernel: Fix search for foo-x86-64 module
2022-03-18 7:40 ` Li Wang
@ 2022-03-18 9:50 ` Petr Vorel
2022-03-21 8:19 ` Li Wang
0 siblings, 1 reply; 9+ messages in thread
From: Petr Vorel @ 2022-03-18 9:50 UTC (permalink / raw)
To: Li Wang; +Cc: ltp@lists.linux.it
Hi Li,
> On Wed, Mar 16, 2022 at 10:11 PM Petr Vorel <pvorel@suse.cz> wrote:
> > > Hi Petr
> > > I don't understand why we must serach foo-x86-64 module, so what problem
> > > do you meet?
> > > I used 5.17-rc8, it still use foo-x86_64 named rule for
> > > kernel/arch/x86/crypto/libblake2s-x86_64.ko.
> > > If kernel has libblake2s-x86_64 module, then tst_check_driver will use
> > > libblake2s_x86_64 to find, it should succeed.
> > > If kernel doesn't have libblake2s-x86_64 module, then tst_ckeck_driver
> > > will search twice ,the first time use libblake2s-x86_64 and the second
> > > time use libblake2s_x86_64, then search failed.
> > tst_check_driver.sh is failing on intel based systems. Well, we could make
> > sure
> > it does not try to test libblake2s-x86-64, IMHO it'd be better to make sure
> > tst_search_driver() works with it, because modinfo/modprobe works with it:
> > $ modinfo libblake2s-x86-64
> > name: libblake2s_x86_64
> > filename: (builtin)
> > license: GPL v2
> > file: arch/x86/crypto/libblake2s-x86_64
> > Sure, it's a corner case, but I'd still fix it.
> > Let's see what other think.
> Which kernel (and kmod) version did you use?
> I tried locally on my rhel8 and fedora 34 but that doesn't work for me.
> $ rpm -q kmod
> kmod-28-2.fc34.x86_64
> $ lsmod |grep libblake2s
> libblake2s 16384 0
> blake2s_x86_64 20480 1 libblake2s
> libblake2s_generic 20480 1 blake2s_x86_64
> $ modinfo libblake2s-x86-64
> modinfo: ERROR: Module libblake2s-x86-64 not found.
=> 5.16 had blake2s_x86_64, not libblake2s_x86_64
openSUSE
* 5.17.0-rc7-26.g04b7727-default, kmod-29-8.4.x86_64
works (testing libblake2s-x86-64)
* 5.16, kmod-29-7.1.x86_64
works (testing blake2s_x86-64)
Fedora 34
* 5.13.16, kmod-29-2.fc34.x86_64
works (testing blake2s_x86-64)
> Then I checked the Linux source code and get:
> ------------------
> $ cat linux/arch/x86/crypto/Makefile |grep libblake2s
> obj-$(if $(CONFIG_CRYPTO_BLAKE2S_X86),y) += libblake2s-x86_64.o
> libblake2s-x86_64-y := blake2s-core.o blake2s-glue.o
6048fdcc5f26 ("lib/crypto: blake2s: include as built-in")
Follows: v5.16-rc8
Precedes: v5.17-rc1
...
+++ b/arch/x86/crypto/Makefile
...
-blake2s-x86_64-y := blake2s-core.o blake2s-glue.o
+blake2s-x86_64-y := blake2s-shash.o
+obj-$(if $(CONFIG_CRYPTO_BLAKE2S_X86),y) += libblake2s-x86_64.o
+libblake2s-x86_64-y := blake2s-core.o blake2s-glue.o
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [LTP] [PATCH 1/2] tst_kernel: Fix search for foo-x86-64 module
2022-03-18 9:50 ` Petr Vorel
@ 2022-03-21 8:19 ` Li Wang
0 siblings, 0 replies; 9+ messages in thread
From: Li Wang @ 2022-03-21 8:19 UTC (permalink / raw)
To: Petr Vorel; +Cc: ltp@lists.linux.it
[-- Attachment #1.1: Type: text/plain, Size: 2763 bytes --]
On Fri, Mar 18, 2022 at 5:50 PM Petr Vorel <pvorel@suse.cz> wrote:
> Hi Li,
>
> > On Wed, Mar 16, 2022 at 10:11 PM Petr Vorel <pvorel@suse.cz> wrote:
>
> > > > Hi Petr
> > > > I don't understand why we must serach foo-x86-64 module, so what
> problem
> > > > do you meet?
>
> > > > I used 5.17-rc8, it still use foo-x86_64 named rule for
> > > > kernel/arch/x86/crypto/libblake2s-x86_64.ko.
>
> > > > If kernel has libblake2s-x86_64 module, then tst_check_driver will
> use
> > > > libblake2s_x86_64 to find, it should succeed.
>
> > > > If kernel doesn't have libblake2s-x86_64 module, then
> tst_ckeck_driver
> > > > will search twice ,the first time use libblake2s-x86_64 and the
> second
> > > > time use libblake2s_x86_64, then search failed.
>
> > > tst_check_driver.sh is failing on intel based systems. Well, we could
> make
> > > sure
> > > it does not try to test libblake2s-x86-64, IMHO it'd be better to make
> sure
> > > tst_search_driver() works with it, because modinfo/modprobe works with
> it:
>
> > > $ modinfo libblake2s-x86-64
> > > name: libblake2s_x86_64
> > > filename: (builtin)
> > > license: GPL v2
> > > file: arch/x86/crypto/libblake2s-x86_64
>
> > > Sure, it's a corner case, but I'd still fix it.
> > > Let's see what other think.
>
Ah, I see. Sure, I'm fine to go with your fix :).
>
>
> > Which kernel (and kmod) version did you use?
>
> > I tried locally on my rhel8 and fedora 34 but that doesn't work for me.
>
> > $ rpm -q kmod
> > kmod-28-2.fc34.x86_64
>
> > $ lsmod |grep libblake2s
> > libblake2s 16384 0
> > blake2s_x86_64 20480 1 libblake2s
> > libblake2s_generic 20480 1 blake2s_x86_64
>
> > $ modinfo libblake2s-x86-64
> > modinfo: ERROR: Module libblake2s-x86-64 not found.
> => 5.16 had blake2s_x86_64, not libblake2s_x86_64
>
> openSUSE
> * 5.17.0-rc7-26.g04b7727-default, kmod-29-8.4.x86_64
> works (testing libblake2s-x86-64)
> * 5.16, kmod-29-7.1.x86_64
> works (testing blake2s_x86-64)
>
> Fedora 34
> * 5.13.16, kmod-29-2.fc34.x86_64
> works (testing blake2s_x86-64)
>
>
> > Then I checked the Linux source code and get:
> > ------------------
>
> > $ cat linux/arch/x86/crypto/Makefile |grep libblake2s
> > obj-$(if $(CONFIG_CRYPTO_BLAKE2S_X86),y) += libblake2s-x86_64.o
> > libblake2s-x86_64-y := blake2s-core.o blake2s-glue.o
> 6048fdcc5f26 ("lib/crypto: blake2s: include as built-in")
> Follows: v5.16-rc8
> Precedes: v5.17-rc1
> ...
> +++ b/arch/x86/crypto/Makefile
> ...
> -blake2s-x86_64-y := blake2s-core.o blake2s-glue.o
> +blake2s-x86_64-y := blake2s-shash.o
> +obj-$(if $(CONFIG_CRYPTO_BLAKE2S_X86),y) += libblake2s-x86_64.o
> +libblake2s-x86_64-y := blake2s-core.o blake2s-glue.o
>
> Kind regards,
> Petr
>
>
--
Regards,
Li Wang
[-- Attachment #1.2: Type: text/html, Size: 4069 bytes --]
[-- Attachment #2: Type: text/plain, Size: 60 bytes --]
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [LTP] [PATCH 2/2] tst_check_driver.sh: Add test for x68_64 module
2022-03-15 12:25 ` [LTP] [PATCH 2/2] tst_check_driver.sh: Add test for x68_64 module Petr Vorel
@ 2022-07-27 13:05 ` Petr Vorel
0 siblings, 0 replies; 9+ messages in thread
From: Petr Vorel @ 2022-07-27 13:05 UTC (permalink / raw)
To: ltp
Hi,
FYI patchset merged.
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-07-27 13:05 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-15 12:25 [LTP] [PATCH 0/2] Fix tst_search_driver for x86-64 modules Petr Vorel
2022-03-15 12:25 ` [LTP] [PATCH 1/2] tst_kernel: Fix search for foo-x86-64 module Petr Vorel
2022-03-16 6:34 ` xuyang2018.jy
2022-03-16 14:11 ` Petr Vorel
2022-03-18 7:40 ` Li Wang
2022-03-18 9:50 ` Petr Vorel
2022-03-21 8:19 ` Li Wang
2022-03-15 12:25 ` [LTP] [PATCH 2/2] tst_check_driver.sh: Add test for x68_64 module Petr Vorel
2022-07-27 13:05 ` Petr Vorel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.