diff options
author | Jon Derrick <jonathan.derrick@intel.com> | 2017-03-06 10:41:04 -0500 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2017-03-08 11:56:12 -0500 |
commit | b0bfdfc2bf7fa85317824c6a389fc373dfcef5bc (patch) | |
tree | af221936dfe8891af5b67eacc48fba4c506db727 /block/sed-opal.c | |
parent | 0bc315381fe9ed9fb91db8b0e82171b645ac008f (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.c | 10 |
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 | ||
1024 | static int gen_key(struct opal_dev *dev, void *data) | 1024 | static 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) | |||
1669 | static int lock_unlock_locking_range(struct opal_dev *dev, void *data) | 1667 | static 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; |