sed-opal: do not add same authority twice in boolean ace.
authorOndrej Kozina <okozina@redhat.com>
Wed, 5 Apr 2023 11:12:19 +0000 (13:12 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 5 Apr 2023 13:46:25 +0000 (07:46 -0600)
While adding user authority in boolean ace value
of uid OPAL_LOCKINGRANGE_ACE_WRLOCKED or
OPAL_LOCKINGRANGE_ACE_RDLOCKED, it was added twice.

It seemed redundant when only single authority was added
in the set method aka { authority1, authority1, OR }:

TCG Storage Architecture Core Specification, 5.1.3.3 ACE_expression

"This is an alternative type where the options are either a uidref to an
Authority object or one of the boolean_ACE (AND = 0 and OR = 1) options.
This type is used within the AC_element list to form a postfix Boolean
expression of Authorities."

Signed-off-by: Ondrej Kozina <okozina@redhat.com>
Tested-by: Luca Boccassi <bluca@debian.org>
Tested-by: Milan Broz <gmazyland@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Christian Brauner <brauner@kernel.org>
Link: https://lore.kernel.org/r/20230405111223.272816-2-okozina@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/sed-opal.c

index c320093..d86d3e5 100644 (file)
@@ -1798,22 +1798,6 @@ static int add_user_to_lr(struct opal_dev *dev, void *data)
        add_token_bytestring(&err, dev, user_uid, OPAL_UID_LENGTH);
        add_token_u8(&err, dev, OPAL_ENDNAME);
 
-
-       add_token_u8(&err, dev, OPAL_STARTNAME);
-       add_token_bytestring(&err, dev,
-                            opaluid[OPAL_HALF_UID_AUTHORITY_OBJ_REF],
-                            OPAL_UID_LENGTH/2);
-       add_token_bytestring(&err, dev, user_uid, OPAL_UID_LENGTH);
-       add_token_u8(&err, dev, OPAL_ENDNAME);
-
-
-       add_token_u8(&err, dev, OPAL_STARTNAME);
-       add_token_bytestring(&err, dev, opaluid[OPAL_HALF_UID_BOOLEAN_ACE],
-                            OPAL_UID_LENGTH/2);
-       add_token_u8(&err, dev, 1);
-       add_token_u8(&err, dev, OPAL_ENDNAME);
-
-
        add_token_u8(&err, dev, OPAL_ENDLIST);
        add_token_u8(&err, dev, OPAL_ENDNAME);
        add_token_u8(&err, dev, OPAL_ENDLIST);