Closed pfactum closed 1 year ago
Am Dienstag, 27. Dezember 2022, 01:48:49 CET schrieb Oleksandr Natalenko:
Hi Oleksandr,
With 6.1 kernel I see this:
Thanks for the report. I have pushed a small patch as the selected configuration is not allowed.
Ciao Stephan
Hello.
I'm not sure the patch made any difference. With this config:
CONFIG_LRNG_AUTO_SELECTED=y
CONFIG_LRNG_SHA256=y
CONFIG_LRNG_COMMON_DEV_IF=y
CONFIG_LRNG_DRNG_ATOMIC=y
CONFIG_LRNG_SYSCTL=y
CONFIG_LRNG_RANDOM_IF=y
CONFIG_LRNG_AIS2031_NTG1_SEEDING_STRATEGY=y
CONFIG_LRNG_KCAPI_IF=m
CONFIG_LRNG_HWRAND_IF=m
CONFIG_LRNG_DEV_IF=y
CONFIG_LRNG_RUNTIME_ES_CONFIG=y
CONFIG_LRNG_IRQ_DFLT_TIMER_ES=y
# CONFIG_LRNG_SCHED_DFLT_TIMER_ES is not set
CONFIG_LRNG_TIMER_COMMON=y
# CONFIG_LRNG_COLLECTION_SIZE_256 is not set
# CONFIG_LRNG_COLLECTION_SIZE_512 is not set
CONFIG_LRNG_COLLECTION_SIZE_1024=y
# CONFIG_LRNG_COLLECTION_SIZE_2048 is not set
# CONFIG_LRNG_COLLECTION_SIZE_4096 is not set
# CONFIG_LRNG_COLLECTION_SIZE_8192 is not set
CONFIG_LRNG_COLLECTION_SIZE=1024
CONFIG_LRNG_HEALTH_TESTS=y
CONFIG_LRNG_RCT_CUTOFF=31
CONFIG_LRNG_APT_CUTOFF=325
CONFIG_LRNG_IRQ=y
CONFIG_LRNG_CONTINUOUS_COMPRESSION_ENABLED=y
# CONFIG_LRNG_CONTINUOUS_COMPRESSION_DISABLED is not set
CONFIG_LRNG_ENABLE_CONTINUOUS_COMPRESSION=y
CONFIG_LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION=y
CONFIG_LRNG_IRQ_ENTROPY_RATE=256
CONFIG_LRNG_JENT=y
CONFIG_LRNG_JENT_ENTROPY_RATE=16
CONFIG_LRNG_CPU=y
CONFIG_LRNG_CPU_FULL_ENT_MULTIPLIER=1
CONFIG_LRNG_CPU_ENTROPY_RATE=8
CONFIG_LRNG_SCHED=y
CONFIG_LRNG_SCHED_ENTROPY_RATE=4294967295
CONFIG_LRNG_DRNG_CHACHA20=y
CONFIG_LRNG_DRBG=m
CONFIG_LRNG_DRNG_KCAPI=m
CONFIG_LRNG_SWITCH=y
CONFIG_LRNG_SWITCH_HASH=y
CONFIG_LRNG_HASH_KCAPI=m
CONFIG_LRNG_SWITCH_DRNG=y
CONFIG_LRNG_SWITCH_DRBG=m
CONFIG_LRNG_SWITCH_DRNG_KCAPI=m
CONFIG_LRNG_DFLT_DRNG_CHACHA20=y
CONFIG_LRNG_TESTING_MENU=y
# CONFIG_LRNG_RAW_HIRES_ENTROPY is not set
# CONFIG_LRNG_RAW_JIFFIES_ENTROPY is not set
# CONFIG_LRNG_RAW_IRQ_ENTROPY is not set
# CONFIG_LRNG_RAW_RETIP_ENTROPY is not set
# CONFIG_LRNG_RAW_REGS_ENTROPY is not set
# CONFIG_LRNG_RAW_ARRAY is not set
# CONFIG_LRNG_IRQ_PERF is not set
# CONFIG_LRNG_RAW_SCHED_HIRES_ENTROPY is not set
# CONFIG_LRNG_RAW_SCHED_PID_ENTROPY is not set
# CONFIG_LRNG_RAW_SCHED_START_TIME_ENTROPY is not set
# CONFIG_LRNG_RAW_SCHED_NVCSW_ENTROPY is not set
# CONFIG_LRNG_SCHED_PERF is not set
# CONFIG_LRNG_ACVT_HASH is not set
# CONFIG_LRNG_RUNTIME_MAX_WO_RESEED_CONFIG is not set
# CONFIG_LRNG_RUNTIME_FORCE_SEEDING_DISABLE is not set
# CONFIG_LRNG_TEST_CPU_ES_COMPRESSION is not set
CONFIG_LRNG_SELFTEST=y
# CONFIG_LRNG_SELFTEST_PANIC is not set
I get the same warning:
[ 1.239563] lrng_drng_mgr: Initial DRNG initialized triggering first seeding
[ 1.240663] lrng_es_mgr: LRNG fully operational
[ 1.240664] lrng_es_mgr: LRNG fully seeded with 311 bits of entropy
[ 1.240665] ------------[ cut here ]------------
[ 1.240665] initcall lrng_drng_make_available+0x0/0xe returned with disabled interrupts
[ 1.240670] WARNING: CPU: 13 PID: 1 at init/main.c:1316 do_one_initcall+0x1d5/0x220
[ 1.240673] Modules linked in:
[ 1.240674] CPU: 13 PID: 1 Comm: swapper/0 Not tainted 6.1.0-pf2 #1 ca5ebf14d8d93ae21b820e9e43719ac8f252fbd3
[ 1.240677] Hardware name: ASUS System Product Name/Pro WS X570-ACE, BIOS 4201 04/26/2022
[ 1.240678] RIP: 0010:do_one_initcall+0x1d5/0x220
[ 1.240680] Code: c6 4d 1b e3 98 48 89 ef e8 68 4e d9 00 fb 0f 1f 44 00 00 e9 c7 fe ff ff 48 89 ea 48 89 de 48 c7 c7 d8 73 ea 98 e8 e9 dc da 00 <0f> 0b e9 b8 fe ff ff 41 bd ff ff ff ff e9 ad fe ff ff e8 d4 71 e1
[ 1.240681] RSP: 0018:ffffb70900073eb8 EFLAGS: 00010282
[ 1.240683] RAX: 0000000000000000 RBX: ffffffff99950539 RCX: 00000000ffffdfff
[ 1.240683] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 00000000ffffffea
[ 1.240684] RBP: ffffb70900073eb8 R08: 0000000000000000 R09: 00000000ffffdfff
[ 1.240685] R10: ffff8b1bae950000 R11: 0000000000000003 R12: 0000000000000000
[ 1.240686] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 1.240686] FS: 0000000000000000(0000) GS:ffff8b1baed40000(0000) knlGS:0000000000000000
[ 1.240687] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1.240688] CR2: 0000000000000000 CR3: 0000000631010000 CR4: 0000000000350ee0
[ 1.240689] Call Trace:
[ 1.240691] <TASK>
[ 1.240693] kernel_init_freeable+0x1f0/0x22d
[ 1.240696] ? rest_init+0xd0/0xd0
[ 1.240699] kernel_init+0x1a/0x130
[ 1.240700] ret_from_fork+0x22/0x30
[ 1.240703] </TASK>
[ 1.240703] ---[ end trace 0000000000000000 ]---
Does it make any sense to you?
Thanks.
Am Mittwoch, 28. Dezember 2022, 00:59:25 CET schrieb Oleksandr Natalenko:
Hi Oleksandr,
No matter what I am doing, I cannot trigger the issue. I used your config and various kernel command line arguments processed by the LRNG.
Can you obtain the code line that triggers the issue?
gdb lrng_drng_mgr.o
list *(lrng_drng_make_available+0x0)
Thanks
Hello.
I'm not sure the patch made any difference. With this config:
CONFIG_LRNG_AUTO_SELECTED=y CONFIG_LRNG_SHA256=y CONFIG_LRNG_COMMON_DEV_IF=y CONFIG_LRNG_DRNG_ATOMIC=y CONFIG_LRNG_SYSCTL=y CONFIG_LRNG_RANDOM_IF=y CONFIG_LRNG_AIS2031_NTG1_SEEDING_STRATEGY=y CONFIG_LRNG_KCAPI_IF=m CONFIG_LRNG_HWRAND_IF=m CONFIG_LRNG_DEV_IF=y CONFIG_LRNG_RUNTIME_ES_CONFIG=y CONFIG_LRNG_IRQ_DFLT_TIMER_ES=y # CONFIG_LRNG_SCHED_DFLT_TIMER_ES is not set CONFIG_LRNG_TIMER_COMMON=y # CONFIG_LRNG_COLLECTION_SIZE_256 is not set # CONFIG_LRNG_COLLECTION_SIZE_512 is not set CONFIG_LRNG_COLLECTION_SIZE_1024=y # CONFIG_LRNG_COLLECTION_SIZE_2048 is not set # CONFIG_LRNG_COLLECTION_SIZE_4096 is not set # CONFIG_LRNG_COLLECTION_SIZE_8192 is not set CONFIG_LRNG_COLLECTION_SIZE=1024 CONFIG_LRNG_HEALTH_TESTS=y CONFIG_LRNG_RCT_CUTOFF=31 CONFIG_LRNG_APT_CUTOFF=325 CONFIG_LRNG_IRQ=y CONFIG_LRNG_CONTINUOUS_COMPRESSION_ENABLED=y # CONFIG_LRNG_CONTINUOUS_COMPRESSION_DISABLED is not set CONFIG_LRNG_ENABLE_CONTINUOUS_COMPRESSION=y CONFIG_LRNG_SWITCHABLE_CONTINUOUS_COMPRESSION=y CONFIG_LRNG_IRQ_ENTROPY_RATE=256 CONFIG_LRNG_JENT=y CONFIG_LRNG_JENT_ENTROPY_RATE=16 CONFIG_LRNG_CPU=y CONFIG_LRNG_CPU_FULL_ENT_MULTIPLIER=1 CONFIG_LRNG_CPU_ENTROPY_RATE=8 CONFIG_LRNG_SCHED=y CONFIG_LRNG_SCHED_ENTROPY_RATE=4294967295 CONFIG_LRNG_DRNG_CHACHA20=y CONFIG_LRNG_DRBG=m CONFIG_LRNG_DRNG_KCAPI=m CONFIG_LRNG_SWITCH=y CONFIG_LRNG_SWITCH_HASH=y CONFIG_LRNG_HASH_KCAPI=m CONFIG_LRNG_SWITCH_DRNG=y CONFIG_LRNG_SWITCH_DRBG=m CONFIG_LRNG_SWITCH_DRNG_KCAPI=m CONFIG_LRNG_DFLT_DRNG_CHACHA20=y CONFIG_LRNG_TESTING_MENU=y # CONFIG_LRNG_RAW_HIRES_ENTROPY is not set # CONFIG_LRNG_RAW_JIFFIES_ENTROPY is not set # CONFIG_LRNG_RAW_IRQ_ENTROPY is not set # CONFIG_LRNG_RAW_RETIP_ENTROPY is not set # CONFIG_LRNG_RAW_REGS_ENTROPY is not set # CONFIG_LRNG_RAW_ARRAY is not set # CONFIG_LRNG_IRQ_PERF is not set # CONFIG_LRNG_RAW_SCHED_HIRES_ENTROPY is not set # CONFIG_LRNG_RAW_SCHED_PID_ENTROPY is not set # CONFIG_LRNG_RAW_SCHED_START_TIME_ENTROPY is not set # CONFIG_LRNG_RAW_SCHED_NVCSW_ENTROPY is not set # CONFIG_LRNG_SCHED_PERF is not set # CONFIG_LRNG_ACVT_HASH is not set # CONFIG_LRNG_RUNTIME_MAX_WO_RESEED_CONFIG is not set # CONFIG_LRNG_RUNTIME_FORCE_SEEDING_DISABLE is not set # CONFIG_LRNG_TEST_CPU_ES_COMPRESSION is not set CONFIG_LRNG_SELFTEST=y # CONFIG_LRNG_SELFTEST_PANIC is not set
I get the same warning:
[ 1.239563] lrng_drng_mgr: Initial DRNG initialized triggering first seeding [ 1.240663] lrng_es_mgr: LRNG fully operational [ 1.240664] lrng_es_mgr: LRNG fully seeded with 311 bits of entropy [ 1.240665] ------------[ cut here ]------------ [ 1.240665] initcall lrng_drng_make_available+0x0/0xe returned with disabled interrupts [ 1.240670] WARNING: CPU: 13 PID: 1 at init/main.c:1316 do_one_initcall+0x1d5/0x220 [ 1.240673] Modules linked in: [ 1.240674] CPU: 13 PID: 1 Comm: swapper/0 Not tainted 6.1.0-pf2 #1 ca5ebf14d8d93ae21b820e9e43719ac8f252fbd3 [ 1.240677] Hardware name: ASUS System Product Name/Pro WS X570-ACE, BIOS 4201 04/26/2022 [ 1.240678] RIP: 0010:do_one_initcall+0x1d5/0x220 [ 1.240680] Code: c6 4d 1b e3 98 48 89 ef e8 68 4e d9 00 fb 0f 1f 44 00 00 e9 c7 fe ff ff 48 89 ea 48 89 de 48 c7 c7 d8 73 ea 98 e8 e9 dc da 00 <0f> 0b e9 b8 fe ff ff 41 bd ff ff ff ff e9 ad fe ff ff e8 d4 71 e1 [ 1.240681] RSP: 0018:ffffb70900073eb8 EFLAGS: 00010282 [ 1.240683] RAX: 0000000000000000 RBX: ffffffff99950539 RCX: 00000000ffffdfff [ 1.240683] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 00000000ffffffea [ 1.240684] RBP: ffffb70900073eb8 R08: 0000000000000000 R09: 00000000ffffdfff [ 1.240685] R10: ffff8b1bae950000 R11: 0000000000000003 R12: 0000000000000000 [ 1.240686] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 1.240686] FS: 0000000000000000(0000) GS:ffff8b1baed40000(0000) knlGS:0000000000000000 [ 1.240687] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1.240688] CR2: 0000000000000000 CR3: 0000000631010000 CR4: 0000000000350ee0 [ 1.240689] Call Trace: [ 1.240691] <TASK> [ 1.240693] kernel_init_freeable+0x1f0/0x22d [ 1.240696] ? rest_init+0xd0/0xd0 [ 1.240699] kernel_init+0x1a/0x130 [ 1.240700] ret_from_fork+0x22/0x30 [ 1.240703] </TASK> [ 1.240703] ---[ end trace 0000000000000000 ]---
Does it make any sense to you?
Thanks.
Ciao Stephan
Hello.
Please find the output below.
(gdb) list *(lrng_drng_make_available+0x0)
0x19dc is in lrng_drng_make_available (drivers/char/lrng/lrng_drng_mgr.c:202).
197
198 return 0;
199 }
200
201 static int __init lrng_drng_make_available(void)
202 {
203 return lrng_drng_initalize();
204 }
205 late_initcall(lrng_drng_make_available);
206
I'm also attaching a full kernel config file just in case you may spot another crucial difference.
Am Freitag, 30. Dezember 2022, 23:24:32 CET schrieb Oleksandr Natalenko:
Hi Oleksandr,
Hello.
Please find the output below.
(gdb) list *(lrng_drng_make_available+0x0) 0x19dc is in lrng_drng_make_available (drivers/char/lrng/lrng_drng_mgr.c:202). 197 198 return 0; 199 } 200 201 static int __init lrng_drng_make_available(void) 202 { 203 return lrng_drng_initalize(); 204 } 205 late_initcall(lrng_drng_make_available);
That is of no help as expected due to the +0x0 offset in the error.
I am truly not sure where the interrupts disabled message comes from :-(
206
I'm also attaching a full kernel config file just in case you may spot another crucial difference. [config.txt](https://github.com/smuellerDD/lrng/files/10326431/config.txt)
Very good, this helps. I see the WARNING. Let me debug it.
Ciao Stephan
Am Dienstag, 3. Januar 2023, 09:00:38 CET schrieb Stephan Mueller:
Hi Oleksandr,
206
I'm also attaching a full kernel config file just in case you may spot another crucial difference. [config.txt](https://github.com/smuellerDD/lrng/files/10326431/config.txt)
Very good, this helps. I see the WARNING. Let me debug it.
Issue found and fixed.
May I ask you to check it?
Ciao Stephan
Hello.
I can confirm that after applying the patch I do not see a warning message on boot.
Thank you!
Thanks for the testing!
With 6.1 kernel I see this:
Kernel config:
Please check if it is an expected behaviour.