Description of problem:
kdump to remote server results in error message
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. configure FIPS on two servers (server 1 and server 2)
2. configure kdump to save to server 1
3. enable sysrq on server 2
4. trigger dump by #echo c > /proc/sysrq-trigger on server 2
Without fips=1 in force on the boot command line, kdump works normally. With it enabled (and prelinking turned off as required), everything appears to go normally up to the point where it should begin dumping over SSH and then if fails with the below error:
Saving to remote location [user@host]
1+0 records in
1+0 records out
fips.c(153): OpenSSL internal error, assertion failed: FATAL FIPS SELFTEST FAILURE
Free memory/Total memory (free %): 72936 / 113892 ( 64.0396 )
Checking for memory holes : [100 %] fips.c(153): OpenSSL internal error, assertion failed: FATAL FIPS SELFTEST FAILURE
Excluding free pages : [100 %]
After that the machine reboots without even a partial dump.
We have set kdump to drop to shell, and ssh to host will not work either in the kdump shell (busybox?)
This was discussed on tech-list:
end quote from Tomaz M and Joe T:
I suppose the .hmac files from openssl, openssh, and fipscheck
packages are not copied to the initrd and that is the problem.
`find / -name *hmac -print` finds no files in the kexec'ed environment (there are 24 such in the actual filesystem including the various *hmac utility binaries).
Generated core to be saved to remote server with no interaction
Reassigning to distribution as I do not know who is responsible for proper creation of the kdump initramfs.
Certainly the .hmac files contained in the openssl, openssh, and fipscheck packages must be included in it.
Further info: I tried having a tarball of all the hmac-related files included in the dump initrd -- this worked, but untar'ing it at the busybox prompt did not allow SSH to succeed (same failure as before) so there appears to be more going on than just missing .hmac files.
Taking further info from comments by Baoquan He, I was able to add some more files to the initrd filesystem and finally successfully SSH to the destination system from within that environment. List is below -- this is overkill, but I figured better to include too many than not enough during testing. I'll start working on paring this down, e.g. by removing things like man pages.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.