Re: [PATCH v2] crypto: ccp - Fix the INIT_EX data file open failure

From: Tom Lendacky
Date: Fri Apr 15 2022 - 09:50:03 EST


On 4/14/22 11:23, Jacky Li wrote:
There are 2 common cases when INIT_EX data file might not be
opened successfully and fail the sev initialization:

1. In user namespaces, normal user tasks (e.g. VMM) can change their
current->fs->root to point to arbitrary directories. While
init_ex_path is provided as a module param related to root file
system. Solution: use the root directory of init_task to avoid
accessing the wrong file.

2. Normal user tasks (e.g. VMM) don't have the privilege to access
the INIT_EX data file. Solution: open the file as root and
restore permissions immediately.

Fixes: 3d725965f836 ("crypto: ccp - Add SEV_INIT_EX support")
Signed-off-by: Jacky Li <jackyli@xxxxxxxxxx>
Reviewed-by: Peter Gonda <pgonda@xxxxxxxxxx>

Looks good, just a quick question. Should there be any type of access checks before switching credentials? Should we check access to /dev/sev or such? Or is the capability to load the module enough?

Thanks,
Tom

---
Changelog since v1:
- Added Fixes tag and Reviewed-By tag.

drivers/crypto/ccp/sev-dev.c | 30 ++++++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)