virt/sev-guest: Return -EIO if certificate buffer is not large enough
authorTom Lendacky <thomas.lendacky@amd.com>
Wed, 22 Feb 2023 16:39:39 +0000 (10:39 -0600)
committerBorislav Petkov (AMD) <bp@alien8.de>
Wed, 1 Mar 2023 09:17:46 +0000 (10:17 +0100)
commitdd093fb08e8f8a958fec4eef36f9f09eac047f60
treeb048e4c4d88c70fa710ed9de09342be501f4bc7b
parente02b50ca442e88122e1302d4dbc1b71a4808c13f
virt/sev-guest: Return -EIO if certificate buffer is not large enough

Commit

  47894e0fa6a5 ("virt/sev-guest: Prevent IV reuse in the SNP guest driver")

changed the behavior associated with the return value when the caller
does not supply a large enough certificate buffer. Prior to the commit a
value of -EIO was returned. Now, 0 is returned.  This breaks the
established ABI with the user.

Change the code to detect the buffer size error and return -EIO.

Fixes: 47894e0fa6a5 ("virt/sev-guest: Prevent IV reuse in the SNP guest driver")
Reported-by: Larry Dewey <larry.dewey@amd.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Larry Dewey <larry.dewey@amd.com>
Cc: <stable@kernel.org>
Link: https://lore.kernel.org/r/2afbcae6daf13f7ad5a4296692e0a0fe1bc1e4ee.1677083979.git.thomas.lendacky@amd.com
drivers/virt/coco/sev-guest/sev-guest.c