Following kernel warning has been noticed on qemu-arm64 while running kunit tests while booting Linux 6.4.0-rc1-next-20230512 and It was started from 6.3.0-rc7-next-20230420.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
This is always reproducible on qemu-arm64, qemu-arm, qemu-x86 and qemu-i386. Is this expected warning as a part of kunit tests ?
Crash log: -----------
[ 663.530868] KTAP version 1 [ 663.531545] # Subtest: Handshake API tests [ 663.533521] 1..11 [ 663.534424] KTAP version 1 [ 663.535406] # Subtest: req_alloc API fuzzing [ 663.542460] ok 1 handshake_req_alloc NULL proto [ 663.550345] ok 2 handshake_req_alloc CLASS_NONE [ 663.558041] ok 3 handshake_req_alloc CLASS_MAX [ 663.565790] ok 4 handshake_req_alloc no callbacks [ 663.573882] ok 5 handshake_req_alloc no done callback [ 663.580284] ------------[ cut here ]------------ [ 663.582129] WARNING: CPU: 0 PID: 1200 at mm/page_alloc.c:4744 __alloc_pages+0x2e8/0x3a0 [ 663.585675] Modules linked in: [ 663.587808] CPU: 0 PID: 1200 Comm: kunit_try_catch Tainted: G N 6.4.0-rc1-next-20230512 #1 [ 663.589817] Hardware name: linux,dummy-virt (DT) [ 663.591426] pstate: 22400005 (nzCv daif +PAN -UAO +TCO -DIT -SSBS BTYPE=--) [ 663.592978] pc : __alloc_pages+0x2e8/0x3a0 [ 663.594236] lr : __kmalloc_large_node+0xbc/0x160 [ 663.595548] sp : ffff80000a317bc0 [ 663.596577] x29: ffff80000a317bc0 x28: 0000000000000000 x27: 0000000000000000 [ 663.598863] x26: ffff0000c8925b20 x25: 0000000000000000 x24: 0000000000000015 [ 663.601098] x23: 0000000000040dc0 x22: ffffbf424e7420c8 x21: ffffbf424e7420c8 [ 663.603100] x20: 1ffff00001462f88 x19: 0000000000040dc0 x18: 0000000078b4155a [ 663.605582] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 663.607328] x14: 0000000000000000 x13: 6461657268745f68 x12: ffff60001913bc5a [ 663.609355] x11: 1fffe0001913bc59 x10: ffff60001913bc59 x9 : 1fffe0001913bc59 [ 663.611004] x8 : 0000000041b58ab3 x7 : ffff700001462f88 x6 : dfff800000000000 [ 663.613556] x5 : 00000000f1f1f1f1 x4 : 00000000f2f2f200 x3 : 0000000000000000 [ 663.615364] x2 : 0000000000000000 x1 : 0000000000000001 x0 : ffffbf42516818e2 [ 663.617753] Call trace: [ 663.618486] __alloc_pages+0x2e8/0x3a0 [ 663.619613] __kmalloc_large_node+0xbc/0x160 [ 663.621454] __kmalloc+0x84/0x94 [ 663.622551] handshake_req_alloc+0x74/0xe8 [ 663.623801] handshake_req_alloc_case+0xa0/0x170 [ 663.625467] kunit_try_run_case+0x7c/0x100 [ 663.626592] kunit_generic_run_threadfn_adapter+0x30/0x4c [ 663.628998] kthread+0x1d4/0x1e4 [ 663.629715] ret_from_fork+0x10/0x20 [ 663.631094] ---[ end trace 0000000000000000 ]--- [ 663.643101] ok 6 handshake_req_alloc excessive privsize [ 663.649446] ok 7 handshake_req_alloc all good [ 663.651032] # req_alloc API fuzzing: pass:7 fail:0 skip:0 total:7 [ 663.653941] ok 1 req_alloc API fuzzing [ 663.665951] ok 2 req_submit NULL req arg [ 663.674278] ok 3 req_submit NULL sock arg [ 663.682968] ok 4 req_submit NULL sock->file [ 663.694323] ok 5 req_lookup works [ 663.703604] ok 6 req_submit max pending [ 663.714655] ok 7 req_submit multiple [ 663.725174] ok 8 req_cancel before accept [ 663.733780] ok 9 req_cancel after accept [ 663.742528] ok 10 req_cancel after done [ 663.750637] ok 11 req_destroy works [ 663.751884] # Handshake API tests: pass:11 fail:0 skip:0 total:11 [ 663.753579] # Totals: pass:17 fail:0 skip:0 total:17
links: ------
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes... - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes... - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230420/tes... - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes...
-- Linaro LKFT https://lkft.linaro.org
I'm pretty sure Chuck Lever did this intentionally, but he's not on the CC list. Let's add him.
regards, dan carpenter
On Fri, May 12, 2023 at 06:15:04PM +0530, Naresh Kamboju wrote:
Following kernel warning has been noticed on qemu-arm64 while running kunit tests while booting Linux 6.4.0-rc1-next-20230512 and It was started from 6.3.0-rc7-next-20230420.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
This is always reproducible on qemu-arm64, qemu-arm, qemu-x86 and qemu-i386. Is this expected warning as a part of kunit tests ?
Crash log:
[ 663.530868] KTAP version 1 [ 663.531545] # Subtest: Handshake API tests [ 663.533521] 1..11 [ 663.534424] KTAP version 1 [ 663.535406] # Subtest: req_alloc API fuzzing [ 663.542460] ok 1 handshake_req_alloc NULL proto [ 663.550345] ok 2 handshake_req_alloc CLASS_NONE [ 663.558041] ok 3 handshake_req_alloc CLASS_MAX [ 663.565790] ok 4 handshake_req_alloc no callbacks [ 663.573882] ok 5 handshake_req_alloc no done callback [ 663.580284] ------------[ cut here ]------------ [ 663.582129] WARNING: CPU: 0 PID: 1200 at mm/page_alloc.c:4744 __alloc_pages+0x2e8/0x3a0 [ 663.585675] Modules linked in: [ 663.587808] CPU: 0 PID: 1200 Comm: kunit_try_catch Tainted: G N 6.4.0-rc1-next-20230512 #1 [ 663.589817] Hardware name: linux,dummy-virt (DT) [ 663.591426] pstate: 22400005 (nzCv daif +PAN -UAO +TCO -DIT -SSBS BTYPE=--) [ 663.592978] pc : __alloc_pages+0x2e8/0x3a0 [ 663.594236] lr : __kmalloc_large_node+0xbc/0x160 [ 663.595548] sp : ffff80000a317bc0 [ 663.596577] x29: ffff80000a317bc0 x28: 0000000000000000 x27: 0000000000000000 [ 663.598863] x26: ffff0000c8925b20 x25: 0000000000000000 x24: 0000000000000015 [ 663.601098] x23: 0000000000040dc0 x22: ffffbf424e7420c8 x21: ffffbf424e7420c8 [ 663.603100] x20: 1ffff00001462f88 x19: 0000000000040dc0 x18: 0000000078b4155a [ 663.605582] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 663.607328] x14: 0000000000000000 x13: 6461657268745f68 x12: ffff60001913bc5a [ 663.609355] x11: 1fffe0001913bc59 x10: ffff60001913bc59 x9 : 1fffe0001913bc59 [ 663.611004] x8 : 0000000041b58ab3 x7 : ffff700001462f88 x6 : dfff800000000000 [ 663.613556] x5 : 00000000f1f1f1f1 x4 : 00000000f2f2f200 x3 : 0000000000000000 [ 663.615364] x2 : 0000000000000000 x1 : 0000000000000001 x0 : ffffbf42516818e2 [ 663.617753] Call trace: [ 663.618486] __alloc_pages+0x2e8/0x3a0 [ 663.619613] __kmalloc_large_node+0xbc/0x160 [ 663.621454] __kmalloc+0x84/0x94 [ 663.622551] handshake_req_alloc+0x74/0xe8 [ 663.623801] handshake_req_alloc_case+0xa0/0x170 [ 663.625467] kunit_try_run_case+0x7c/0x100 [ 663.626592] kunit_generic_run_threadfn_adapter+0x30/0x4c [ 663.628998] kthread+0x1d4/0x1e4 [ 663.629715] ret_from_fork+0x10/0x20 [ 663.631094] ---[ end trace 0000000000000000 ]--- [ 663.643101] ok 6 handshake_req_alloc excessive privsize [ 663.649446] ok 7 handshake_req_alloc all good [ 663.651032] # req_alloc API fuzzing: pass:7 fail:0 skip:0 total:7 [ 663.653941] ok 1 req_alloc API fuzzing [ 663.665951] ok 2 req_submit NULL req arg [ 663.674278] ok 3 req_submit NULL sock arg [ 663.682968] ok 4 req_submit NULL sock->file [ 663.694323] ok 5 req_lookup works [ 663.703604] ok 6 req_submit max pending [ 663.714655] ok 7 req_submit multiple [ 663.725174] ok 8 req_cancel before accept [ 663.733780] ok 9 req_cancel after accept [ 663.742528] ok 10 req_cancel after done [ 663.750637] ok 11 req_destroy works [ 663.751884] # Handshake API tests: pass:11 fail:0 skip:0 total:11 [ 663.753579] # Totals: pass:17 fail:0 skip:0 total:17
links:
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230420/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes...
-- Linaro LKFT https://lkft.linaro.org
On May 12, 2023, at 6:32 AM, Dan Carpenter dan.carpenter@linaro.org wrote:
I'm pretty sure Chuck Lever did this intentionally, but he's not on the CC list. Let's add him.
regards, dan carpenter
On Fri, May 12, 2023 at 06:15:04PM +0530, Naresh Kamboju wrote:
Following kernel warning has been noticed on qemu-arm64 while running kunit tests while booting Linux 6.4.0-rc1-next-20230512 and It was started from 6.3.0-rc7-next-20230420.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
This is always reproducible on qemu-arm64, qemu-arm, qemu-x86 and qemu-i386. Is this expected warning as a part of kunit tests ?
Dan's correct, this Kunit test is supposed to check the behavior of the API when a too-large privsize is specified.
I'm not sure how to make this work without the superfluous warning. Would adding GFP_NOWARN to the allocation help?
Crash log:
[ 663.530868] KTAP version 1 [ 663.531545] # Subtest: Handshake API tests [ 663.533521] 1..11 [ 663.534424] KTAP version 1 [ 663.535406] # Subtest: req_alloc API fuzzing [ 663.542460] ok 1 handshake_req_alloc NULL proto [ 663.550345] ok 2 handshake_req_alloc CLASS_NONE [ 663.558041] ok 3 handshake_req_alloc CLASS_MAX [ 663.565790] ok 4 handshake_req_alloc no callbacks [ 663.573882] ok 5 handshake_req_alloc no done callback [ 663.580284] ------------[ cut here ]------------ [ 663.582129] WARNING: CPU: 0 PID: 1200 at mm/page_alloc.c:4744 __alloc_pages+0x2e8/0x3a0 [ 663.585675] Modules linked in: [ 663.587808] CPU: 0 PID: 1200 Comm: kunit_try_catch Tainted: G N 6.4.0-rc1-next-20230512 #1 [ 663.589817] Hardware name: linux,dummy-virt (DT) [ 663.591426] pstate: 22400005 (nzCv daif +PAN -UAO +TCO -DIT -SSBS BTYPE=--) [ 663.592978] pc : __alloc_pages+0x2e8/0x3a0 [ 663.594236] lr : __kmalloc_large_node+0xbc/0x160 [ 663.595548] sp : ffff80000a317bc0 [ 663.596577] x29: ffff80000a317bc0 x28: 0000000000000000 x27: 0000000000000000 [ 663.598863] x26: ffff0000c8925b20 x25: 0000000000000000 x24: 0000000000000015 [ 663.601098] x23: 0000000000040dc0 x22: ffffbf424e7420c8 x21: ffffbf424e7420c8 [ 663.603100] x20: 1ffff00001462f88 x19: 0000000000040dc0 x18: 0000000078b4155a [ 663.605582] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 663.607328] x14: 0000000000000000 x13: 6461657268745f68 x12: ffff60001913bc5a [ 663.609355] x11: 1fffe0001913bc59 x10: ffff60001913bc59 x9 : 1fffe0001913bc59 [ 663.611004] x8 : 0000000041b58ab3 x7 : ffff700001462f88 x6 : dfff800000000000 [ 663.613556] x5 : 00000000f1f1f1f1 x4 : 00000000f2f2f200 x3 : 0000000000000000 [ 663.615364] x2 : 0000000000000000 x1 : 0000000000000001 x0 : ffffbf42516818e2 [ 663.617753] Call trace: [ 663.618486] __alloc_pages+0x2e8/0x3a0 [ 663.619613] __kmalloc_large_node+0xbc/0x160 [ 663.621454] __kmalloc+0x84/0x94 [ 663.622551] handshake_req_alloc+0x74/0xe8 [ 663.623801] handshake_req_alloc_case+0xa0/0x170 [ 663.625467] kunit_try_run_case+0x7c/0x100 [ 663.626592] kunit_generic_run_threadfn_adapter+0x30/0x4c [ 663.628998] kthread+0x1d4/0x1e4 [ 663.629715] ret_from_fork+0x10/0x20 [ 663.631094] ---[ end trace 0000000000000000 ]--- [ 663.643101] ok 6 handshake_req_alloc excessive privsize [ 663.649446] ok 7 handshake_req_alloc all good [ 663.651032] # req_alloc API fuzzing: pass:7 fail:0 skip:0 total:7 [ 663.653941] ok 1 req_alloc API fuzzing [ 663.665951] ok 2 req_submit NULL req arg [ 663.674278] ok 3 req_submit NULL sock arg [ 663.682968] ok 4 req_submit NULL sock->file [ 663.694323] ok 5 req_lookup works [ 663.703604] ok 6 req_submit max pending [ 663.714655] ok 7 req_submit multiple [ 663.725174] ok 8 req_cancel before accept [ 663.733780] ok 9 req_cancel after accept [ 663.742528] ok 10 req_cancel after done [ 663.750637] ok 11 req_destroy works [ 663.751884] # Handshake API tests: pass:11 fail:0 skip:0 total:11 [ 663.753579] # Totals: pass:17 fail:0 skip:0 total:17
links:
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230420/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes...
-- Linaro LKFT https://lkft.linaro.org
-- Chuck Lever
On Fri, May 12, 2023 at 01:56:30PM +0000, Chuck Lever III wrote:
On May 12, 2023, at 6:32 AM, Dan Carpenter dan.carpenter@linaro.org wrote:
I'm pretty sure Chuck Lever did this intentionally, but he's not on the CC list. Let's add him.
regards, dan carpenter
On Fri, May 12, 2023 at 06:15:04PM +0530, Naresh Kamboju wrote:
Following kernel warning has been noticed on qemu-arm64 while running kunit tests while booting Linux 6.4.0-rc1-next-20230512 and It was started from 6.3.0-rc7-next-20230420.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
This is always reproducible on qemu-arm64, qemu-arm, qemu-x86 and qemu-i386. Is this expected warning as a part of kunit tests ?
Dan's correct, this Kunit test is supposed to check the behavior of the API when a too-large privsize is specified.
I'm not sure how to make this work without the superfluous warning. Would adding GFP_NOWARN to the allocation help?
That would silence the splat, yes.
regards, dan carpenter
On Sat, May 13, 2023 at 10:54 AM Dan Carpenter dan.carpenter@linaro.org wrote:
On Fri, May 12, 2023 at 01:56:30PM +0000, Chuck Lever III wrote:
On May 12, 2023, at 6:32 AM, Dan Carpenter dan.carpenter@linaro.org wrote: I'm pretty sure Chuck Lever did this intentionally, but he's not on the CC list. Let's add him.
regards, dan carpenter
On Fri, May 12, 2023 at 06:15:04PM +0530, Naresh Kamboju wrote:
Following kernel warning has been noticed on qemu-arm64 while running kunit tests while booting Linux 6.4.0-rc1-next-20230512 and It was started from 6.3.0-rc7-next-20230420.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
This is always reproducible on qemu-arm64, qemu-arm, qemu-x86 and qemu-i386. Is this expected warning as a part of kunit tests ?
Dan's correct, this Kunit test is supposed to check the behavior of the API when a too-large privsize is specified.
I'm not sure how to make this work without the superfluous warning. Would adding GFP_NOWARN to the allocation help?
That would silence the splat, yes.
But introduce a build failure, as GFP_NOWARN does not exist.
Gr{oetje,eeting}s,
Geert
On Jun 25, 2023, at 4:46 AM, Geert Uytterhoeven geert@linux-m68k.org wrote:
On Sat, May 13, 2023 at 10:54 AM Dan Carpenter dan.carpenter@linaro.org wrote:
On Fri, May 12, 2023 at 01:56:30PM +0000, Chuck Lever III wrote:
On May 12, 2023, at 6:32 AM, Dan Carpenter dan.carpenter@linaro.org wrote: I'm pretty sure Chuck Lever did this intentionally, but he's not on the CC list. Let's add him.
regards, dan carpenter
On Fri, May 12, 2023 at 06:15:04PM +0530, Naresh Kamboju wrote:
Following kernel warning has been noticed on qemu-arm64 while running kunit tests while booting Linux 6.4.0-rc1-next-20230512 and It was started from 6.3.0-rc7-next-20230420.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
This is always reproducible on qemu-arm64, qemu-arm, qemu-x86 and qemu-i386. Is this expected warning as a part of kunit tests ?
Dan's correct, this Kunit test is supposed to check the behavior of the API when a too-large privsize is specified.
I'm not sure how to make this work without the superfluous warning. Would adding GFP_NOWARN to the allocation help?
That would silence the splat, yes.
But introduce a build failure, as GFP_NOWARN does not exist.
This is the fix that went in:
commit b21c7ba6d9a5532add3827a3b49f49cbc0cb9779 Author: Chuck Lever chuck.lever@oracle.com AuthorDate: Fri May 19 13:12:50 2023 -0400 Commit: Jakub Kicinski kuba@kernel.org CommitDate: Mon May 22 19:24:52 2023 -0700
net/handshake: Squelch allocation warning during Kunit test
The "handshake_req_alloc excessive privsize" kunit test is intended to check what happens when the maximum privsize is exceeded. The WARN_ON_ONCE_GFP at mm/page_alloc.c:4744 can be disabled safely for this test.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org Fixes: 88232ec1ec5e ("net/handshake: Add Kunit tests for the handshake consumer API") Signed-off-by: Chuck Lever chuck.lever@oracle.com Link: https://lore.kernel.org/r/168451636052.47152.9600443326570457947.stgit@oracl... Signed-off-by: Jakub Kicinski kuba@kernel.org
diff --git a/net/handshake/handshake-test.c b/net/handshake/handshake-test.c index e6adc5dec11a..6193e46ee6d9 100644 --- a/net/handshake/handshake-test.c +++ b/net/handshake/handshake-test.c @@ -102,7 +102,7 @@ struct handshake_req_alloc_test_param handshake_req_alloc_params[] = { { .desc = "handshake_req_alloc excessive privsize", .proto = &handshake_req_alloc_proto_6, - .gfp = GFP_KERNEL, + .gfp = GFP_KERNEL | __GFP_NOWARN, .expect_success = false, }, {
Is there a platform where __GPF_NOWARN is not defined?
-- Chuck Lever
Hi Chuck,
On Sun, Jun 25, 2023 at 5:17 PM Chuck Lever III chuck.lever@oracle.com wrote:
On Jun 25, 2023, at 4:46 AM, Geert Uytterhoeven geert@linux-m68k.org wrote: On Sat, May 13, 2023 at 10:54 AM Dan Carpenter dan.carpenter@linaro.org wrote:
On Fri, May 12, 2023 at 01:56:30PM +0000, Chuck Lever III wrote:
On May 12, 2023, at 6:32 AM, Dan Carpenter dan.carpenter@linaro.org wrote: I'm pretty sure Chuck Lever did this intentionally, but he's not on the CC list. Let's add him.
regards, dan carpenter
On Fri, May 12, 2023 at 06:15:04PM +0530, Naresh Kamboju wrote:
Following kernel warning has been noticed on qemu-arm64 while running kunit tests while booting Linux 6.4.0-rc1-next-20230512 and It was started from 6.3.0-rc7-next-20230420.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
This is always reproducible on qemu-arm64, qemu-arm, qemu-x86 and qemu-i386. Is this expected warning as a part of kunit tests ?
Dan's correct, this Kunit test is supposed to check the behavior of the API when a too-large privsize is specified.
I'm not sure how to make this work without the superfluous warning. Would adding GFP_NOWARN to the allocation help?
That would silence the splat, yes.
But introduce a build failure, as GFP_NOWARN does not exist.
This is the fix that went in:
commit b21c7ba6d9a5532add3827a3b49f49cbc0cb9779 Author: Chuck Lever chuck.lever@oracle.com AuthorDate: Fri May 19 13:12:50 2023 -0400 Commit: Jakub Kicinski kuba@kernel.org CommitDate: Mon May 22 19:24:52 2023 -0700
net/handshake: Squelch allocation warning during Kunit test The "handshake_req_alloc excessive privsize" kunit test is intended to check what happens when the maximum privsize is exceeded. The WARN_ON_ONCE_GFP at mm/page_alloc.c:4744 can be disabled safely for this test. Reported-by: Linux Kernel Functional Testing <lkft@linaro.org> Fixes: 88232ec1ec5e ("net/handshake: Add Kunit tests for the handshake consumer API") Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Link: https://lore.kernel.org/r/168451636052.47152.9600443326570457947.stgit@oracle-102.nfsv4bat.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
diff --git a/net/handshake/handshake-test.c b/net/handshake/handshake-test.c index e6adc5dec11a..6193e46ee6d9 100644 --- a/net/handshake/handshake-test.c +++ b/net/handshake/handshake-test.c @@ -102,7 +102,7 @@ struct handshake_req_alloc_test_param handshake_req_alloc_params[] = { { .desc = "handshake_req_alloc excessive privsize", .proto = &handshake_req_alloc_proto_6,
.gfp = GFP_KERNEL,
.gfp = GFP_KERNEL | __GFP_NOWARN, .expect_success = false, }, {
Is there a platform where __GPF_NOWARN is not defined?
"git grep" says all of them, as you misspelled it in your question ;-)
"__GFP_NOWARN" is defined in include/linux/gfp_types.h, so it should be available everywhere.
Note the use of "__GFP_NOWARN" instead of "GFP_NOWARN". Once in a while, people do submit patches using "GFP_NOWARN"...
Gr{oetje,eeting}s,
Geert
On Fri, May 12, 2023 at 01:56:30PM +0000, Chuck Lever III wrote:
On May 12, 2023, at 6:32 AM, Dan Carpenter dan.carpenter@linaro.org wrote:
I'm pretty sure Chuck Lever did this intentionally, but he's not on the CC list. Let's add him.
regards, dan carpenter
On Fri, May 12, 2023 at 06:15:04PM +0530, Naresh Kamboju wrote:
Following kernel warning has been noticed on qemu-arm64 while running kunit tests while booting Linux 6.4.0-rc1-next-20230512 and It was started from 6.3.0-rc7-next-20230420.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
This is always reproducible on qemu-arm64, qemu-arm, qemu-x86 and qemu-i386. Is this expected warning as a part of kunit tests ?
Dan's correct, this Kunit test is supposed to check the behavior of the API when a too-large privsize is specified.
I'm not sure how to make this work without the superfluous warning. Would adding GFP_NOWARN to the allocation help?
Yes, it should.
Crash log:
[ 663.530868] KTAP version 1 [ 663.531545] # Subtest: Handshake API tests [ 663.533521] 1..11 [ 663.534424] KTAP version 1 [ 663.535406] # Subtest: req_alloc API fuzzing [ 663.542460] ok 1 handshake_req_alloc NULL proto [ 663.550345] ok 2 handshake_req_alloc CLASS_NONE [ 663.558041] ok 3 handshake_req_alloc CLASS_MAX [ 663.565790] ok 4 handshake_req_alloc no callbacks [ 663.573882] ok 5 handshake_req_alloc no done callback [ 663.580284] ------------[ cut here ]------------ [ 663.582129] WARNING: CPU: 0 PID: 1200 at mm/page_alloc.c:4744 __alloc_pages+0x2e8/0x3a0 [ 663.585675] Modules linked in: [ 663.587808] CPU: 0 PID: 1200 Comm: kunit_try_catch Tainted: G N 6.4.0-rc1-next-20230512 #1 [ 663.589817] Hardware name: linux,dummy-virt (DT) [ 663.591426] pstate: 22400005 (nzCv daif +PAN -UAO +TCO -DIT -SSBS BTYPE=--) [ 663.592978] pc : __alloc_pages+0x2e8/0x3a0 [ 663.594236] lr : __kmalloc_large_node+0xbc/0x160 [ 663.595548] sp : ffff80000a317bc0 [ 663.596577] x29: ffff80000a317bc0 x28: 0000000000000000 x27: 0000000000000000 [ 663.598863] x26: ffff0000c8925b20 x25: 0000000000000000 x24: 0000000000000015 [ 663.601098] x23: 0000000000040dc0 x22: ffffbf424e7420c8 x21: ffffbf424e7420c8 [ 663.603100] x20: 1ffff00001462f88 x19: 0000000000040dc0 x18: 0000000078b4155a [ 663.605582] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 663.607328] x14: 0000000000000000 x13: 6461657268745f68 x12: ffff60001913bc5a [ 663.609355] x11: 1fffe0001913bc59 x10: ffff60001913bc59 x9 : 1fffe0001913bc59 [ 663.611004] x8 : 0000000041b58ab3 x7 : ffff700001462f88 x6 : dfff800000000000 [ 663.613556] x5 : 00000000f1f1f1f1 x4 : 00000000f2f2f200 x3 : 0000000000000000 [ 663.615364] x2 : 0000000000000000 x1 : 0000000000000001 x0 : ffffbf42516818e2 [ 663.617753] Call trace: [ 663.618486] __alloc_pages+0x2e8/0x3a0 [ 663.619613] __kmalloc_large_node+0xbc/0x160 [ 663.621454] __kmalloc+0x84/0x94 [ 663.622551] handshake_req_alloc+0x74/0xe8 [ 663.623801] handshake_req_alloc_case+0xa0/0x170 [ 663.625467] kunit_try_run_case+0x7c/0x100 [ 663.626592] kunit_generic_run_threadfn_adapter+0x30/0x4c [ 663.628998] kthread+0x1d4/0x1e4 [ 663.629715] ret_from_fork+0x10/0x20 [ 663.631094] ---[ end trace 0000000000000000 ]--- [ 663.643101] ok 6 handshake_req_alloc excessive privsize [ 663.649446] ok 7 handshake_req_alloc all good [ 663.651032] # req_alloc API fuzzing: pass:7 fail:0 skip:0 total:7 [ 663.653941] ok 1 req_alloc API fuzzing [ 663.665951] ok 2 req_submit NULL req arg [ 663.674278] ok 3 req_submit NULL sock arg [ 663.682968] ok 4 req_submit NULL sock->file [ 663.694323] ok 5 req_lookup works [ 663.703604] ok 6 req_submit max pending [ 663.714655] ok 7 req_submit multiple [ 663.725174] ok 8 req_cancel before accept [ 663.733780] ok 9 req_cancel after accept [ 663.742528] ok 10 req_cancel after done [ 663.750637] ok 11 req_destroy works [ 663.751884] # Handshake API tests: pass:11 fail:0 skip:0 total:11 [ 663.753579] # Totals: pass:17 fail:0 skip:0 total:17
links:
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230420/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230512/tes...
-- Linaro LKFT https://lkft.linaro.org
-- Chuck Lever