Activity log for bug #2069715

Date Who What changed Old value New value Message
2024-06-18 10:28:08 gerald.yang bug added bug
2024-06-18 10:28:14 gerald.yang linux (Ubuntu): assignee gerald.yang (gerald-yang-tw)
2024-06-18 10:28:19 gerald.yang linux (Ubuntu): status New In Progress
2024-06-18 10:28:53 gerald.yang description [Impact] Install Focal with FIPS enabled on AMD EPYC 7262 8-Core Processor, kernel panic happens during boot: [ 3.430477] ima: Allocated hash algorithm: sha1 [ 3.433358] ima: No architecture policies found [ 3.435785] evm: Initialising EVM extended attributes: [ 3.438271] evm: security.selinux [ 3.440265] evm: security.SMACK64 [ 3.442532] evm: security.SMACK64EXEC [ 3.444753] evm: security.SMACK64TRANSMUTE [ 3.446900] evm: security.SMACK64MMAP [ 3.448912] evm: security.apparmor [ 3.452277] evm: security.ima [ 3.455549] evm: security.capability [ 3.457537] evm: HMAC attrs: 0x1 [ 3.461049] PM: Magic number: 12:438:677 [ 3.463502] rtc_cmos 00:03: setting system clock to 2024-06-18T09:40:59 UTC (1718703659) [ 3.467750] Kernel panic - not syncing: random: Failed to reset DRBG (drbg_nopr_ctr_aes256): -2 [ 3.471060] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.4.0-1100-fips #110-Ubuntu [ 3.474288] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009)/LXD, BIOS 0.0.0 02/06/2015 [ 3.478191] Call Trace: [ 3.480175] dump_stack+0x6d/0x8b [ 3.482652] panic+0x114/0x2f6 [ 3.490069] fips_drbg_init+0xa7/0xbd [ 3.492169] ? chr_dev_init+0x148/0x148 [ 3.494330] do_one_initcall+0x4a/0x200 [ 3.496396] kernel_init_freeable+0x1e6/0x289 [ 3.498967] ? rest_init+0xb0/0xb0 [ 3.500965] kernel_init+0xe/0x110 [ 3.502983] ret_from_fork+0x35/0x40 [ 3.505305] Kernel Offset: 0x35c00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 3.509544] ACPI MEMORY or I/O RESET_REG. It fails to initialize DRBG, this issue doesn't happen on Intel CPU, only on some AMD EPYC series CPU. Also Jammy with FIPS enabled doesn't have this issue. [Fix] It's been fixed by this upstream commit: commit 552d03a223eda3df84526ab2c1f4d82e15eaee7a Author: Stephan M<C3><BC>ller <smueller@chronox.de> Date: Sun Nov 21 15:14:20 2021 +0100 crypto: jitter - consider 32 LSB for APT The APT compares the current time stamp with a pre-set value. The current code only considered the 4 LSB only. Yet, after reviews by mathematicians of the user space Jitter RNG version >= 3.1.0, it was concluded that the APT can be calculated on the 32 LSB of the time delta. Thi change is applied to the kernel. This fixes a bug where an AMD EPYC fails this test as its RDTSC value contains zeros in the LSB. The most appropriate fix would have been to apply a GCD calculation and divide the time stamp by the GCD. Yet, this is a significant code change that will be considered for a future update. Note, tests showed that constantly the GCD always was 32 on these systems, i.e. the 5 LSB were always zero (thus failing the APT since it only considered the 4 LSB for its calculation). Signed-off-by: Stephan Mueller <smueller@chronox.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> [Testcase] On AMD EPYC 7262 8-Core Processor, create a VM and enable FIPS can also reproduce the issue. I've backport the upstream commit to Focal FIPS kernel (5.4.0-1100.110-fips), the DRBG init failed message is gone: [ 3.267954] rtc_cmos 00:03: setting system clock to 2024-06-18T06:58:53 UTC (1718693933) [ 3.275683] random: random: DRBG (drbg_nopr_ctr_aes256) initialized! [ 3.279309] md: Waiting for all devices to be available before autodetect [Where problems could occur] This commit considers AMD EPYC CPU's RDTSC contains zero in LSB, this won't affect other cases. [Other Info] Users also reported the issue here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2045322 https://askubuntu.com/questions/1509977/fips-kernel-panics-with-failed-to-reset-drbg-during-boot BugLink: https://bugs.launchpad.net/bugs/2069715 [Impact] Install Focal with FIPS enabled on AMD EPYC 7262 8-Core Processor, kernel panic happens during boot: [ 3.430477] ima: Allocated hash algorithm: sha1 [ 3.433358] ima: No architecture policies found [ 3.435785] evm: Initialising EVM extended attributes: [ 3.438271] evm: security.selinux [ 3.440265] evm: security.SMACK64 [ 3.442532] evm: security.SMACK64EXEC [ 3.444753] evm: security.SMACK64TRANSMUTE [ 3.446900] evm: security.SMACK64MMAP [ 3.448912] evm: security.apparmor [ 3.452277] evm: security.ima [ 3.455549] evm: security.capability [ 3.457537] evm: HMAC attrs: 0x1 [ 3.461049] PM: Magic number: 12:438:677 [ 3.463502] rtc_cmos 00:03: setting system clock to 2024-06-18T09:40:59 UTC (1718703659) [ 3.467750] Kernel panic - not syncing: random: Failed to reset DRBG (drbg_nopr_ctr_aes256): -2 [ 3.471060] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.4.0-1100-fips #110-Ubuntu [ 3.474288] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009)/LXD, BIOS 0.0.0 02/06/2015 [ 3.478191] Call Trace: [ 3.480175] dump_stack+0x6d/0x8b [ 3.482652] panic+0x114/0x2f6 [ 3.490069] fips_drbg_init+0xa7/0xbd [ 3.492169] ? chr_dev_init+0x148/0x148 [ 3.494330] do_one_initcall+0x4a/0x200 [ 3.496396] kernel_init_freeable+0x1e6/0x289 [ 3.498967] ? rest_init+0xb0/0xb0 [ 3.500965] kernel_init+0xe/0x110 [ 3.502983] ret_from_fork+0x35/0x40 [ 3.505305] Kernel Offset: 0x35c00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 3.509544] ACPI MEMORY or I/O RESET_REG. It fails to initialize DRBG, this issue doesn't happen on Intel CPU, only on some AMD EPYC series CPU. Also Jammy with FIPS enabled doesn't have this issue. [Fix] It's been fixed by this upstream commit: commit 552d03a223eda3df84526ab2c1f4d82e15eaee7a Author: Stephan M<C3><BC>ller <smueller@chronox.de> Date: Sun Nov 21 15:14:20 2021 +0100     crypto: jitter - consider 32 LSB for APT     The APT compares the current time stamp with a pre-set value. The     current code only considered the 4 LSB only. Yet, after reviews by     mathematicians of the user space Jitter RNG version >= 3.1.0, it was     concluded that the APT can be calculated on the 32 LSB of the time     delta. Thi change is applied to the kernel.     This fixes a bug where an AMD EPYC fails this test as its RDTSC value     contains zeros in the LSB. The most appropriate fix would have been to     apply a GCD calculation and divide the time stamp by the GCD. Yet, this     is a significant code change that will be considered for a future     update. Note, tests showed that constantly the GCD always was 32 on     these systems, i.e. the 5 LSB were always zero (thus failing the APT     since it only considered the 4 LSB for its calculation).     Signed-off-by: Stephan Mueller <smueller@chronox.de>     Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> [Testcase] On AMD EPYC 7262 8-Core Processor, create a VM and enable FIPS can also reproduce the issue. I've backport the upstream commit to Focal FIPS kernel (5.4.0-1100.110-fips), the DRBG init failed message is gone: [ 3.267954] rtc_cmos 00:03: setting system clock to 2024-06-18T06:58:53 UTC (1718693933) [ 3.275683] random: random: DRBG (drbg_nopr_ctr_aes256) initialized! [ 3.279309] md: Waiting for all devices to be available before autodetect [Where problems could occur] This commit considers AMD EPYC CPU's RDTSC contains zero in LSB, this won't affect other cases. [Other Info] Users also reported the issue here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2045322 https://askubuntu.com/questions/1509977/fips-kernel-panics-with-failed-to-reset-drbg-during-boot
2024-06-18 10:29:01 gerald.yang nominated for series Ubuntu Focal
2024-06-18 10:29:01 gerald.yang bug task added linux (Ubuntu Focal)
2024-06-18 10:29:11 gerald.yang linux (Ubuntu Focal): assignee gerald.yang (gerald-yang-tw)
2024-06-18 10:29:15 gerald.yang linux (Ubuntu Focal): status New In Progress
2024-06-21 13:51:15 Stefan Bader linux (Ubuntu Focal): importance Undecided Medium
2024-06-21 13:51:27 Stefan Bader linux (Ubuntu Focal): importance Medium High
2024-07-11 00:49:29 gerald.yang summary DRBG initialization failed on some AMD EPYC series CPU and lead to kernel panic DRBG initialization failed on some AMD EPYC series CPU and lead to kernel panic (Focal FIPS)
2024-07-11 00:54:55 gerald.yang description BugLink: https://bugs.launchpad.net/bugs/2069715 [Impact] Install Focal with FIPS enabled on AMD EPYC 7262 8-Core Processor, kernel panic happens during boot: [ 3.430477] ima: Allocated hash algorithm: sha1 [ 3.433358] ima: No architecture policies found [ 3.435785] evm: Initialising EVM extended attributes: [ 3.438271] evm: security.selinux [ 3.440265] evm: security.SMACK64 [ 3.442532] evm: security.SMACK64EXEC [ 3.444753] evm: security.SMACK64TRANSMUTE [ 3.446900] evm: security.SMACK64MMAP [ 3.448912] evm: security.apparmor [ 3.452277] evm: security.ima [ 3.455549] evm: security.capability [ 3.457537] evm: HMAC attrs: 0x1 [ 3.461049] PM: Magic number: 12:438:677 [ 3.463502] rtc_cmos 00:03: setting system clock to 2024-06-18T09:40:59 UTC (1718703659) [ 3.467750] Kernel panic - not syncing: random: Failed to reset DRBG (drbg_nopr_ctr_aes256): -2 [ 3.471060] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.4.0-1100-fips #110-Ubuntu [ 3.474288] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009)/LXD, BIOS 0.0.0 02/06/2015 [ 3.478191] Call Trace: [ 3.480175] dump_stack+0x6d/0x8b [ 3.482652] panic+0x114/0x2f6 [ 3.490069] fips_drbg_init+0xa7/0xbd [ 3.492169] ? chr_dev_init+0x148/0x148 [ 3.494330] do_one_initcall+0x4a/0x200 [ 3.496396] kernel_init_freeable+0x1e6/0x289 [ 3.498967] ? rest_init+0xb0/0xb0 [ 3.500965] kernel_init+0xe/0x110 [ 3.502983] ret_from_fork+0x35/0x40 [ 3.505305] Kernel Offset: 0x35c00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 3.509544] ACPI MEMORY or I/O RESET_REG. It fails to initialize DRBG, this issue doesn't happen on Intel CPU, only on some AMD EPYC series CPU. Also Jammy with FIPS enabled doesn't have this issue. [Fix] It's been fixed by this upstream commit: commit 552d03a223eda3df84526ab2c1f4d82e15eaee7a Author: Stephan M<C3><BC>ller <smueller@chronox.de> Date: Sun Nov 21 15:14:20 2021 +0100     crypto: jitter - consider 32 LSB for APT     The APT compares the current time stamp with a pre-set value. The     current code only considered the 4 LSB only. Yet, after reviews by     mathematicians of the user space Jitter RNG version >= 3.1.0, it was     concluded that the APT can be calculated on the 32 LSB of the time     delta. Thi change is applied to the kernel.     This fixes a bug where an AMD EPYC fails this test as its RDTSC value     contains zeros in the LSB. The most appropriate fix would have been to     apply a GCD calculation and divide the time stamp by the GCD. Yet, this     is a significant code change that will be considered for a future     update. Note, tests showed that constantly the GCD always was 32 on     these systems, i.e. the 5 LSB were always zero (thus failing the APT     since it only considered the 4 LSB for its calculation).     Signed-off-by: Stephan Mueller <smueller@chronox.de>     Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> [Testcase] On AMD EPYC 7262 8-Core Processor, create a VM and enable FIPS can also reproduce the issue. I've backport the upstream commit to Focal FIPS kernel (5.4.0-1100.110-fips), the DRBG init failed message is gone: [ 3.267954] rtc_cmos 00:03: setting system clock to 2024-06-18T06:58:53 UTC (1718693933) [ 3.275683] random: random: DRBG (drbg_nopr_ctr_aes256) initialized! [ 3.279309] md: Waiting for all devices to be available before autodetect [Where problems could occur] This commit considers AMD EPYC CPU's RDTSC contains zero in LSB, this won't affect other cases. [Other Info] Users also reported the issue here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2045322 https://askubuntu.com/questions/1509977/fips-kernel-panics-with-failed-to-reset-drbg-during-boot BugLink: https://bugs.launchpad.net/bugs/2069715 [Impact] Install Focal with FIPS enabled on AMD EPYC 7262 8-Core Processor, kernel panic happens during boot: [ 3.430477] ima: Allocated hash algorithm: sha1 [ 3.433358] ima: No architecture policies found [ 3.435785] evm: Initialising EVM extended attributes: [ 3.438271] evm: security.selinux [ 3.440265] evm: security.SMACK64 [ 3.442532] evm: security.SMACK64EXEC [ 3.444753] evm: security.SMACK64TRANSMUTE [ 3.446900] evm: security.SMACK64MMAP [ 3.448912] evm: security.apparmor [ 3.452277] evm: security.ima [ 3.455549] evm: security.capability [ 3.457537] evm: HMAC attrs: 0x1 [ 3.461049] PM: Magic number: 12:438:677 [ 3.463502] rtc_cmos 00:03: setting system clock to 2024-06-18T09:40:59 UTC (1718703659) [ 3.467750] Kernel panic - not syncing: random: Failed to reset DRBG (drbg_nopr_ctr_aes256): -2 [ 3.471060] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.4.0-1100-fips #110-Ubuntu [ 3.474288] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009)/LXD, BIOS 0.0.0 02/06/2015 [ 3.478191] Call Trace: [ 3.480175] dump_stack+0x6d/0x8b [ 3.482652] panic+0x114/0x2f6 [ 3.490069] fips_drbg_init+0xa7/0xbd [ 3.492169] ? chr_dev_init+0x148/0x148 [ 3.494330] do_one_initcall+0x4a/0x200 [ 3.496396] kernel_init_freeable+0x1e6/0x289 [ 3.498967] ? rest_init+0xb0/0xb0 [ 3.500965] kernel_init+0xe/0x110 [ 3.502983] ret_from_fork+0x35/0x40 [ 3.505305] Kernel Offset: 0x35c00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 3.509544] ACPI MEMORY or I/O RESET_REG. It fails to initialize DRBG, this issue doesn't happen on Intel CPU, only on some AMD EPYC series CPU. Also Jammy with FIPS enabled doesn't have this issue. [Fix] It's been fixed by this upstream commit: commit 552d03a223eda3df84526ab2c1f4d82e15eaee7a Author: Stephan M<C3><BC>ller <smueller@chronox.de> Date: Sun Nov 21 15:14:20 2021 +0100     crypto: jitter - consider 32 LSB for APT     The APT compares the current time stamp with a pre-set value. The     current code only considered the 4 LSB only. Yet, after reviews by     mathematicians of the user space Jitter RNG version >= 3.1.0, it was     concluded that the APT can be calculated on the 32 LSB of the time     delta. Thi change is applied to the kernel.     This fixes a bug where an AMD EPYC fails this test as its RDTSC value     contains zeros in the LSB. The most appropriate fix would have been to     apply a GCD calculation and divide the time stamp by the GCD. Yet, this     is a significant code change that will be considered for a future     update. Note, tests showed that constantly the GCD always was 32 on     these systems, i.e. the 5 LSB were always zero (thus failing the APT     since it only considered the 4 LSB for its calculation).     Signed-off-by: Stephan Mueller <smueller@chronox.de>     Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> [Testcase] On AMD EPYC 7262 8-Core Processor, create a VM and enable FIPS can also reproduce the issue. I cherry-pick the above upstream commit to Focal FIPS kernel (5.4.0-1100.110-fips), the DRBG init failed message is gone: [ 3.267954] rtc_cmos 00:03: setting system clock to 2024-06-18T06:58:53 UTC (1718693933) [ 3.275683] random: random: DRBG (drbg_nopr_ctr_aes256) initialized! [ 3.279309] md: Waiting for all devices to be available before autodetect [Where problems could occur] This commit considers AMD EPYC CPU's RDTSC contains zero in LSB, this won't affect other cases. [Other Info] Users also reported the issue here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2045322 https://askubuntu.com/questions/1509977/fips-kernel-panics-with-failed-to-reset-drbg-during-boot