Skip to content

Commit

Permalink
block/sed: Fix opal user range check and unused variables
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jon Derrick authored and axboe committed Mar 8, 2017
1 parent 0bc3153 commit b0bfdfc
Showing 1 changed file with 2 additions and 8 deletions.
10 changes: 2 additions & 8 deletions block/sed-opal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1023,15 +1023,13 @@ static int finalize_and_send(struct opal_dev *dev, cont_fn cont)

static int gen_key(struct opal_dev *dev, void *data)
{
const u8 *method;
u8 uid[OPAL_UID_LENGTH];
int err = 0;

clear_opal_cmd(dev);
set_comid(dev, dev->comid);

memcpy(uid, dev->prev_data, min(sizeof(uid), dev->prev_d_len));
method = opalmethod[OPAL_GENKEY];
kfree(dev->prev_data);
dev->prev_data = NULL;

Expand Down Expand Up @@ -1669,15 +1667,13 @@ static int add_user_to_lr(struct opal_dev *dev, void *data)
static int lock_unlock_locking_range(struct opal_dev *dev, void *data)
{
u8 lr_buffer[OPAL_UID_LENGTH];
const u8 *method;
struct opal_lock_unlock *lkul = data;
u8 read_locked = 1, write_locked = 1;
int err = 0;

clear_opal_cmd(dev);
set_comid(dev, dev->comid);

method = opalmethod[OPAL_SET];
if (build_locking_range(lr_buffer, sizeof(lr_buffer),
lkul->session.opal_key.lr) < 0)
return -ERANGE;
Expand Down Expand Up @@ -1733,14 +1729,12 @@ static int lock_unlock_locking_range_sum(struct opal_dev *dev, void *data)
{
u8 lr_buffer[OPAL_UID_LENGTH];
u8 read_locked = 1, write_locked = 1;
const u8 *method;
struct opal_lock_unlock *lkul = data;
int ret;

clear_opal_cmd(dev);
set_comid(dev, dev->comid);

method = opalmethod[OPAL_SET];
if (build_locking_range(lr_buffer, sizeof(lr_buffer),
lkul->session.opal_key.lr) < 0)
return -ERANGE;
Expand Down Expand Up @@ -2133,7 +2127,7 @@ static int opal_add_user_to_lr(struct opal_dev *dev,
pr_err("Locking state was not RO or RW\n");
return -EINVAL;
}
if (lk_unlk->session.who < OPAL_USER1 &&
if (lk_unlk->session.who < OPAL_USER1 ||
lk_unlk->session.who > OPAL_USER9) {
pr_err("Authority was not within the range of users: %d\n",
lk_unlk->session.who);
Expand Down Expand Up @@ -2316,7 +2310,7 @@ static int opal_activate_user(struct opal_dev *dev,
int ret;

/* We can't activate Admin1 it's active as manufactured */
if (opal_session->who < OPAL_USER1 &&
if (opal_session->who < OPAL_USER1 ||
opal_session->who > OPAL_USER9) {
pr_err("Who was not a valid user: %d\n", opal_session->who);
return -EINVAL;
Expand Down

0 comments on commit b0bfdfc

Please sign in to comment.