summaryrefslogtreecommitdiffstats
path: root/block/sed-opal.c
diff options
context:
space:
mode:
authorJon Derrick <jonathan.derrick@intel.com>2017-03-06 10:41:04 -0500
committerJens Axboe <axboe@fb.com>2017-03-08 11:56:12 -0500
commitb0bfdfc2bf7fa85317824c6a389fc373dfcef5bc (patch)
treeaf221936dfe8891af5b67eacc48fba4c506db727 /block/sed-opal.c
parent0bc315381fe9ed9fb91db8b0e82171b645ac008f (diff)
block/sed: Fix opal user range check and unused variables
Fixes check that the opal user is within the range, and cleans up unused method variables. Signed-off-by: Jon Derrick <jonathan.derrick@intel.com> Reviewed-by: Scott Bauer <scott.bauer@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/sed-opal.c')
-rw-r--r--block/sed-opal.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/block/sed-opal.c b/block/sed-opal.c
index 1e18dca360fc..14035f826b5e 100644
--- a/block/sed-opal.c
+++ b/block/sed-opal.c
@@ -1023,7 +1023,6 @@ static int finalize_and_send(struct opal_dev *dev, cont_fn cont)
1023 1023
1024static int gen_key(struct opal_dev *dev, void *data) 1024static int gen_key(struct opal_dev *dev, void *data)
1025{ 1025{
1026 const u8 *method;
1027 u8 uid[OPAL_UID_LENGTH]; 1026 u8 uid[OPAL_UID_LENGTH];
1028 int err = 0; 1027 int err = 0;
1029 1028
@@ -1031,7 +1030,6 @@ static int gen_key(struct opal_dev *dev, void *data)
1031 set_comid(dev, dev->comid); 1030 set_comid(dev, dev->comid);
1032 1031
1033 memcpy(uid, dev->prev_data, min(sizeof(uid), dev->prev_d_len)); 1032 memcpy(uid, dev->prev_data, min(sizeof(uid), dev->prev_d_len));
1034 method = opalmethod[OPAL_GENKEY];
1035 kfree(dev->prev_data); 1033 kfree(dev->prev_data);
1036 dev->prev_data = NULL; 1034 dev->prev_data = NULL;
1037 1035
@@ -1669,7 +1667,6 @@ static int add_user_to_lr(struct opal_dev *dev, void *data)
1669static int lock_unlock_locking_range(struct opal_dev *dev, void *data) 1667static int lock_unlock_locking_range(struct opal_dev *dev, void *data)
1670{ 1668{
1671 u8 lr_buffer[OPAL_UID_LENGTH]; 1669 u8 lr_buffer[OPAL_UID_LENGTH];
1672 const u8 *method;
1673 struct opal_lock_unlock *lkul = data; 1670 struct opal_lock_unlock *lkul = data;
1674 u8 read_locked = 1, write_locked = 1; 1671 u8 read_locked = 1, write_locked = 1;
1675 int err = 0; 1672 int err = 0;
@@ -1677,7 +1674,6 @@ static int lock_unlock_locking_range(struct opal_dev *dev, void *data)
1677 clear_opal_cmd(dev); 1674 clear_opal_cmd(dev);
1678 set_comid(dev, dev->comid); 1675 set_comid(dev, dev->comid);
1679 1676
1680 method = opalmethod[OPAL_SET];
1681 if (build_locking_range(lr_buffer, sizeof(lr_buffer), 1677 if (build_locking_range(lr_buffer, sizeof(lr_buffer),
1682 lkul->session.opal_key.lr) < 0) 1678 lkul->session.opal_key.lr) < 0)
1683 return -ERANGE; 1679 return -ERANGE;
@@ -1733,14 +1729,12 @@ static int lock_unlock_locking_range_sum(struct opal_dev *dev, void *data)
1733{ 1729{
1734 u8 lr_buffer[OPAL_UID_LENGTH]; 1730 u8 lr_buffer[OPAL_UID_LENGTH];
1735 u8 read_locked = 1, write_locked = 1; 1731 u8 read_locked = 1, write_locked = 1;
1736 const u8 *method;
1737 struct opal_lock_unlock *lkul = data; 1732 struct opal_lock_unlock *lkul = data;
1738 int ret; 1733 int ret;
1739 1734
1740 clear_opal_cmd(dev); 1735 clear_opal_cmd(dev);
1741 set_comid(dev, dev->comid); 1736 set_comid(dev, dev->comid);
1742 1737
1743 method = opalmethod[OPAL_SET];
1744 if (build_locking_range(lr_buffer, sizeof(lr_buffer), 1738 if (build_locking_range(lr_buffer, sizeof(lr_buffer),
1745 lkul->session.opal_key.lr) < 0) 1739 lkul->session.opal_key.lr) < 0)
1746 return -ERANGE; 1740 return -ERANGE;
@@ -2133,7 +2127,7 @@ static int opal_add_user_to_lr(struct opal_dev *dev,
2133 pr_err("Locking state was not RO or RW\n"); 2127 pr_err("Locking state was not RO or RW\n");
2134 return -EINVAL; 2128 return -EINVAL;
2135 } 2129 }
2136 if (lk_unlk->session.who < OPAL_USER1 && 2130 if (lk_unlk->session.who < OPAL_USER1 ||
2137 lk_unlk->session.who > OPAL_USER9) { 2131 lk_unlk->session.who > OPAL_USER9) {
2138 pr_err("Authority was not within the range of users: %d\n", 2132 pr_err("Authority was not within the range of users: %d\n",
2139 lk_unlk->session.who); 2133 lk_unlk->session.who);
@@ -2316,7 +2310,7 @@ static int opal_activate_user(struct opal_dev *dev,
2316 int ret; 2310 int ret;
2317 2311
2318 /* We can't activate Admin1 it's active as manufactured */ 2312 /* We can't activate Admin1 it's active as manufactured */
2319 if (opal_session->who < OPAL_USER1 && 2313 if (opal_session->who < OPAL_USER1 ||
2320 opal_session->who > OPAL_USER9) { 2314 opal_session->who > OPAL_USER9) {
2321 pr_err("Who was not a valid user: %d\n", opal_session->who); 2315 pr_err("Who was not a valid user: %d\n", opal_session->who);
2322 return -EINVAL; 2316 return -EINVAL;