The incorrect error message was produced as a result of the return number being disregarded on the sev_kvm_init failure path.
For instance, when a user's failure to launch a SEV guest is caused by an incorrect IOCTL, the following message is reported: kvm: sev_kvm_init: failed to initialize ret=-25 fw_error=0 kvm: failed to initialize kvm: Operation not permitted While the error message's accurate output should be: kvm: sev_kvm_init: failed to initialize ret=-25 fw_error=0 kvm: failed to initialize kvm: Inappropriate ioctl for device Fix this by returning the return number directly on the failure path. Signed-off-by: Hyman Huang <yong.hu...@smartx.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Message-Id: <c5033954155dfe256f650fc9ca2084c688356317.1704469721.git.yong.hu...@smartx.com> --- target/i386/sev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/sev.c b/target/i386/sev.c index 96eff73001..3fef8cf163 100644 --- a/target/i386/sev.c +++ b/target/i386/sev.c @@ -1023,7 +1023,7 @@ int sev_kvm_init(ConfidentialGuestSupport *cgs, Error **errp) err: sev_guest = NULL; ram_block_discard_disable(false); - return -1; + return ret; } int -- 2.39.1