Bug 1542453
| Summary: | libgcrypt-1.8.1-3 breaks gnupg2 on some systems (old kernels?) | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Panu Matilainen <pmatilai> |
| Component: | libgcrypt | Assignee: | Tomas Mraz <tmraz> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 27 | CC: | ignatenko, tmraz |
| Target Milestone: | --- | Keywords: | Regression |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | libgcrypt-1.8.3-1.fc27 libgcrypt-1.8.3-1.fc28 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-06-17 19:44:56 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Panu Matilainen
2018-02-06 11:32:47 UTC
I am afraid that without strace I am unable to fix it. I reviewed the patch again and I do not see the error. It should simply fall back to reading /dev/urandom if the syscall returns -1 and sets errno to ENOSYS. Perhaps the errno is set to something else, but to what value? I added some crude fprintf() logging to get around the strace limit, but it does seem to return ENOSYS as expected.
However dropping this last hunk of the patch makes it work:
@@ -246,9 +257,7 @@ _gcry_rndlinux_gather_random (void (*add
_gcry_post_syscall ();
}
while (ret == -1 && errno == EINTR);
- if (ret == -1 && errno == ENOSYS)
- ; /* The syscall is not supported - fallback to /dev/urandom. */
- else
+ if (1)
{ /* The syscall is supported. Some sanity checks. */
if (ret == -1)
log_fatal ("unexpected error from getrandom: %s\n",
Right, there is a logical error in the patch. I'll fix it. Just tested it, I can verify this commit fixes my case: https://src.fedoraproject.org/rpms/libgcrypt/c/e4efa24217b8586def20b1970b649f408928e839?branch=master libgcrypt-1.8.3-1.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-1ea5beb4cf libgcrypt-1.8.3-1.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-6788454ab6 libgcrypt-1.8.3-1.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-6788454ab6 libgcrypt-1.8.3-1.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-1ea5beb4cf libgcrypt-1.8.3-1.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report. libgcrypt-1.8.3-1.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report. |