aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/block/sed-opal.c
diff options
context:
space:
mode:
authorRevanth Rajashekar <revanth.rajashekar@intel.com>2020-03-03 12:17:00 -0700
committerJens Axboe <axboe@kernel.dk>2020-03-12 08:00:10 -0600
commit88d6041d070028ef31c52845966216004ebba3bb (patch)
treedf5b67c092c94640b5ddd86fd5d27ab1628e28b6 /block/sed-opal.c
parentblock: Document genhd capability flags (diff)
downloadwireguard-linux-88d6041d070028ef31c52845966216004ebba3bb.tar.xz
wireguard-linux-88d6041d070028ef31c52845966216004ebba3bb.zip
block: sed-opal: Change the check condition for regular session validity
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 <andrzej.jakowski@linux.intel.com> Signed-off-by: Andrzej Jakowski <andrzej.jakowski@linux.intel.com> Signed-off-by: Revanth Rajashekar <revanth.rajashekar@intel.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/sed-opal.c')
-rw-r--r--block/sed-opal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/sed-opal.c b/block/sed-opal.c
index 880cc57a5f6b..daafadbb88ca 100644
--- a/block/sed-opal.c
+++ b/block/sed-opal.c
@@ -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;
}