From 743c232caa71e42016b39e0246da8df74c990137 Mon Sep 17 00:00:00 2001 From: Greg Joyce Date: Wed, 27 Mar 2024 12:40:53 -0500 Subject: [PATCH] sed: update SED password when initalizing The SED key and kernel keyring were not being updated by the initialization operation. Add password update after the other initialization tasks are completed. Signed-off-by: Greg Joyce --- plugins/sed/sedopal_cmd.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/plugins/sed/sedopal_cmd.c b/plugins/sed/sedopal_cmd.c index 17c0c854de..21ebd360c2 100644 --- a/plugins/sed/sedopal_cmd.c +++ b/plugins/sed/sedopal_cmd.c @@ -169,6 +169,7 @@ int sedopal_cmd_initialize(int fd) struct opal_key key; struct opal_lr_act lr_act = {}; struct opal_user_lr_setup lr_setup = {}; + struct opal_new_pw new_pw = {}; sedopal_ask_key = true; sedopal_ask_new_key = true; @@ -218,6 +219,21 @@ int sedopal_cmd_initialize(int fd) return rc; } + /* + * set password + */ + new_pw.new_user_pw.who = OPAL_ADMIN1; + new_pw.new_user_pw.opal_key.lr = 0; + new_pw.session.who = OPAL_ADMIN1; + new_pw.session.sum = 0; + new_pw.session.opal_key.lr = 0; + new_pw.session.opal_key = key; + new_pw.new_user_pw.opal_key = key; + + rc = ioctl(fd, IOC_OPAL_SET_PW, &new_pw); + if (rc != 0) + fprintf(stderr, "Error: failed setting password - %d\n", rc); + return rc; }