Re: [PATCH v2 00/41] RPCSEC GSS krb5 enhancements

Chuck Lever III
2023-02-27T15:06:42Z

> On Feb 27, 2023, at 4:51 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>
> Hi Chuck,
>
> On Thu, Feb 23, 2023 at 5:52 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>> On Thu, Feb 23, 2023 at 5:19 PM Chuck Lever III <chuck.lever@oracle.com> wrote:
>>>> On Feb 23, 2023, at 10:16 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>>> Unable to handle kernel access at virtual address af06da84
>>
>>>> I.e. a slightly different crash.
>>>> As the difference between the two crashes is modular vs. builtin,
>>>> this looks like an out-of-bound access in the test.
>
> Just ran it on physical arm32 and arm64 (Renesas APE6EVM and
> Salvator-XS), and the test crashes there, too.
>
>>> Why not run the test suite just as I suggested?
>
> kunit_kernel.ConfigError: m68k is not a valid arch, options are
> ['alpha', 'arm', 'arm64', 'i386', 'powerpc', 'riscv', 's390', 'sparc',
> 'x86_64']
>
> Will look into adding m68k support ;-)
>
> But the issue can easily be reproduced using
> ".../tools/testing/kunit/kunit.py run --arch=arm
> --cross_compile=arm-linux-gnueabihf- --raw_output=all --kunitconfig
> ./net/sunrpc/.kunitconfig" on current upstream[1]:
>
> KTAP version 1
> 1..5
> KTAP version 1
> # Subtest: RFC 3961 tests
> 1..2
> KTAP version 1
> # Subtest: RFC 3961 n-fold
> ok 1 64-fold("012345")
> ok 2 56-fold("password")
> ok 3 64-fold("Rough Consensus, and Running Code")
> ok 4 168-fold("password")
> ok 5 192-fold("MASSACHVSETTS INSTITVTE OF TECHNOLOGY")
> ok 6 168-fold("Q")
> ok 7 168-fold("ba")
> ok 8 64-fold("kerberos")
> ok 9 128-fold("kerberos")
> ok 10 168-fold("kerberos")
> ok 11 256-fold("kerberos")
> # RFC 3961 n-fold: pass:11 fail:0 skip:0 total:11
> ok 1 RFC 3961 n-fold
> KTAP version 1
> # Subtest: RFC 3961 key derivation
> ok 1 des3-hmac-sha1 key derivation case 1
> ok 2 des3-hmac-sha1 key derivation case 2
> ok 3 des3-hmac-sha1 key derivation case 3
> ok 4 des3-hmac-sha1 key derivation case 4
> ok 5 des3-hmac-sha1 key derivation case 5
> ok 6 des3-hmac-sha1 key derivation case 6
> ok 7 des3-hmac-sha1 key derivation case 7
> ok 8 des3-hmac-sha1 key derivation case 8
> ok 9 des3-hmac-sha1 key derivation case 9
> # RFC 3961 key derivation: pass:9 fail:0 skip:0 total:9
> ok 2 RFC 3961 key derivation
> # RFC 3961 tests: pass:2 fail:0 skip:0 total:2
> # Totals: pass:20 fail:0 skip:0 total:20
> ok 1 RFC 3961 tests
> KTAP version 1
> # Subtest: RFC 3962 suite
> 1..2
> KTAP version 1
> # Subtest: RFC 3962 encryption
> ok 1 Encrypt with aes128-cts-hmac-sha1-96 case 1
> ok 2 Encrypt with aes128-cts-hmac-sha1-96 case 2
> ok 3 Encrypt with aes128-cts-hmac-sha1-96 case 3
> ok 4 Encrypt with aes128-cts-hmac-sha1-96 case 4
> ok 5 Encrypt with aes128-cts-hmac-sha1-96 case 5
> ok 6 Encrypt with aes128-cts-hmac-sha1-96 case 6
> # RFC 3962 encryption: pass:6 fail:0 skip:0 total:6
> ok 1 RFC 3962 encryption
> 8<--- cut here ---
> Unable to handle kernel paging request at virtual address 73657420 when execute
> [73657420] *pgd=00000000
> Internal error: Oops: 80000005 [#1] ARM
> CPU: 0 PID: 1 Comm: swapper Tainted: G N
> 6.2.0-12486-g85f341272fa9 #1
> Hardware name: Generic DT based system
> PC is at 0x73657420
> LR is at kunit_run_tests+0x3cc/0x5e8
> pc : [<73657420>] lr : [<c02d0e54>] psr: 20000053
> sp : f0809cc8 ip : f0809e54 fp : 00000006
> r10: c069dc30 r9 : c069dd84 r8 : f0809e54
> r7 : 00000000 r6 : 00000006 r5 : c08a8504 r4 : c08a82d0
> r3 : 73657420 r2 : 00000002 r1 : f0809e54 r0 : 00000000
> Flags: nzCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment none
> Control: 10c53c7d Table: 40004059 DAC: 00000051
> Register r0 information: NULL pointer
> Register r1 information: 2-page vmalloc region starting at 0xf0808000
> allocated at kernel_clone+0x94/0x2fc
> Register r2 information: non-paged memory
> Register r3 information: non-paged memory
> Register r4 information: non-slab/vmalloc memory
> Register r5 information: non-slab/vmalloc memory
> Register r6 information: non-paged memory
> Register r7 information: NULL pointer
> Register r8 information: 2-page vmalloc region starting at 0xf0808000
> allocated at kernel_clone+0x94/0x2fc
> Register r9 information: non-slab/vmalloc memory
> Register r10 information: non-slab/vmalloc memory
> Register r11 information: non-paged memory
> Register r12 information: 2-page vmalloc region starting at 0xf0808000
> allocated at kernel_clone+0x94/0x2fc
> Process swapper (pid: 1, stack limit = 0x(ptrval))
> Stack: (0xf0809cc8 to 0xf080a000)
> 9cc0: c06b6154 f0809d54 00000006 c01443d8 00000000 00000000
> 9ce0: 00000000 00000000 c088a8c0 c069dd1c c069dd38 c0698d6c 00000000 00000001
> 9d00: 00000000 00000000 00000001 00000000 00000000 00000000 00000000 00000000
> 9d20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9d40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9d60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9d80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9da0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9dc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9de0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9e00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9e20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9e40: 00000000 00000000 00000000 00000000 00000000 72636e00 20747079 68746977
> 9e60: 73656120 2d383231 2d737463 63616d68 6168732d 36392d31 73616320 00362065
> 9e80: 2259474f 00000029 800000d3 3ffff049 0000000c 00313601 0000004a 00000000
> 9ea0: c0894480 ff7583a2 00000004 ffffffff 00000000 c069e520 00000000 c072185c
> 9ec0: c072183c c0141eac f0809f1c c031fd5c 0251f4a2 ff7583a2 c0727f10 c08d932c
> 9ee0: c0727f14 00000002 00000005 c0804205 00000000 c072183c c0700510 c02d1160
> 9f00: c0cf534e c050f460 f0809f1c 00000005 c0727f10 c0cf5340 00000000 00000001
> 9f20: c072185c c02d2e94 c0c01100 c0727f24 c0727f10 c08d9318 c072185c c0806cd0
> 9f40: c0728750 c0cf5340 c06b9808 c06b73e0 c072185c c072183c c0700510 c07015f4
> 9f60: 00000007 00000007 00000000 c0700510 00000002 0000005d c0c5c000 c0804200
> 9f80: c0515dd8 00000000 00000000 00000000 00000000 00000000 00000000 c0515df0
> 9fa0: 00000000 c0515dd8 00000000 c0100148 00000000 00000000 00000000 00000000
> 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
> kunit_run_tests from __kunit_test_suites_init+0xc0/0x1a8
> __kunit_test_suites_init from kunit_run_all_tests+0x24c/0x41c
> kunit_run_all_tests from kernel_init_freeable+0x20c/0x258
> kernel_init_freeable from kernel_init+0x18/0x144
> kernel_init from ret_from_fork+0x14/0x2c
> Exception stack(0xf0809fb0 to 0xf0809ff8)
> 9fa0: 00000000 00000000 00000000 00000000
> 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
> Code: bad PC value
> ---[ end trace 0000000000000000 ]---
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
>
> [1] 85f341272fa9 = f3a2439f20d91893 ("Merge tag 'rproc-v6.3' of
> git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux") +
> a cherry-pick of a fix for a regression on my arm64 platforms)

I'm still not able to reproduce:

[cel@bazille odd-releases]$ tools/testing/kunit/kunit.py run --arch=arm
--cross_compile=arm-linux-gnueabihf- --raw_output=all --kunitconfig
./net/sunrpc/.kunitconfig
[10:04:14] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=arm O=.kunit olddefconfig
[10:04:18] Building KUnit Kernel ...
Populating config with:
$ make ARCH=arm O=.kunit olddefconfig
Building with:
$ make ARCH=arm O=.kunit --jobs=4
ERROR:root:gcc: error: unrecognized argument in option ‘-mabi=aapcs-linux’
gcc: note: valid arguments to ‘-mabi=’ are: ms sysv
gcc: error: unrecognized argument in option ‘-mabi=aapcs-linux’
gcc: note: valid arguments to ‘-mabi=’ are: ms sysv
gcc: error: unrecognized command-line option ‘-mlittle-endian’
gcc: error: unrecognized command-line option ‘-mlittle-endian’
gcc: error: unrecognized command-line option ‘-mtp=cp15’
gcc: error: unrecognized command-line option ‘-mtp=cp15’
gcc: error: unrecognized command-line option ‘-mfpu=vfp’
make[2]: *** [../scripts/Makefile.build:252: scripts/mod/empty.o] Error 1
make[2]: *** Waiting for unfinished jobs....
gcc: error: unrecognized command-line option ‘-mfpu=vfp’
make[2]: *** [../scripts/Makefile.build:114: scripts/mod/devicetable-offsets.s] Error 1
make[1]: *** [/home/cel/src/linux/odd-releases/Makefile:1297: prepare0] Error 2
make: *** [Makefile:242: __sub-make] Error 2

-bash: --cross_compile=arm-linux-gnueabihf-: command not found
-bash: ./net/sunrpc/.kunitconfig: Permission denied
[cel@bazille odd-releases]$ gcc --version
gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4)
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[cel@bazille odd-releases]$

What am I missing?

--
Chuck Lever