Skip to content

Commit

Permalink
block: sed-opal: Change the check condition for regular session validity
Browse files Browse the repository at this point in the history
This patch changes the check condition for the validity/authentication
of the session.

1. The Host Session Number(HSN) in the response should match the HSN for
   the session.
2. The TPER Session Number(TSN) can never be less than 4096 for a regular
   session.

Reference:
Section 3.2.2.1   of https://trustedcomputinggroup.org/wp-content/uploads/TCG_Storage_Opal_SSC_Application_Note_1-00_1-00-Final.pdf
Section 3.3.7.1.1 of https://trustedcomputinggroup.org/wp-content/uploads/TCG_Storage_Architecture_Core_Spec_v2.01_r1.00.pdf

Co-developed-by: Andrzej Jakowski <[email protected]>
Signed-off-by: Andrzej Jakowski <[email protected]>
Signed-off-by: Revanth Rajashekar <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
RevanthRajashekar authored and axboe committed Mar 12, 2020
1 parent 9243c6f commit 88d6041
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
1 change: 1 addition & 0 deletions block/opal_proto.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ enum opal_response_token {

#define DTAERROR_NO_METHOD_STATUS 0x89
#define GENERIC_HOST_SESSION_NUM 0x41
#define FIRST_TPER_SESSION_NUM 4096

#define TPER_SYNC_SUPPORTED 0x01
#define MBR_ENABLED_MASK 0x10
Expand Down
2 changes: 1 addition & 1 deletion block/sed-opal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1056,7 +1056,7 @@ static int start_opal_session_cont(struct opal_dev *dev)
hsn = response_get_u64(&dev->parsed, 4);
tsn = response_get_u64(&dev->parsed, 5);

if (hsn == 0 && tsn == 0) {
if (hsn != GENERIC_HOST_SESSION_NUM || tsn < FIRST_TPER_SESSION_NUM) {
pr_debug("Couldn't authenticate session\n");
return -EPERM;
}
Expand Down

0 comments on commit 88d6041

Please sign in to comment.