2018-04-27 16:00:30

by Mika Westerberg

[permalink] [raw]
Subject: [PATCH] thunderbolt: Handle NULL boot ACL entries properly

If the boot ACL entry is already NULL we should not fill in the upper
two DWs with 0xfffffffff. Otherwise they are not shown as empty entries
when the sysfs attribute is read.

Fixes: 9aaa3b8b4c56 ("thunderbolt: Add support for preboot ACL")
Signed-off-by: Mika Westerberg <[email protected]>
---
drivers/thunderbolt/icm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c
index 2d2ceda9aa26..aec6a82989d8 100644
--- a/drivers/thunderbolt/icm.c
+++ b/drivers/thunderbolt/icm.c
@@ -1255,7 +1255,7 @@ static int icm_ar_get_boot_acl(struct tb *tb, uuid_t *uuids, size_t nuuids)
/* Map empty entries to null UUID */
uuid[0] = 0;
uuid[1] = 0;
- } else {
+ } else if (uuid[0] != 0 && uuid[1] != 0) {
/* Upper two DWs are always one's */
uuid[2] = 0xffffffff;
uuid[3] = 0xffffffff;
--
2.17.0



2018-04-28 19:50:26

by Yehezkel Bernat

[permalink] [raw]
Subject: Re: [PATCH] thunderbolt: Handle NULL boot ACL entries properly

On Fri, Apr 27, 2018 at 6:58 PM Mika Westerberg <
[email protected]> wrote:

> If the boot ACL entry is already NULL we should not fill in the upper
> two DWs with 0xfffffffff. Otherwise they are not shown as empty entries
> when the sysfs attribute is read.
> Fixes: 9aaa3b8b4c56 ("thunderbolt: Add support for preboot ACL")
> Signed-off-by: Mika Westerberg <[email protected]>
> ---
> drivers/thunderbolt/icm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

> diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c
> index 2d2ceda9aa26..aec6a82989d8 100644
> --- a/drivers/thunderbolt/icm.c
> +++ b/drivers/thunderbolt/icm.c
> @@ -1255,7 +1255,7 @@ static int icm_ar_get_boot_acl(struct tb *tb,
uuid_t *uuids, size_t nuuids)
> /* Map empty entries to null UUID */
> uuid[0] = 0;
> uuid[1] = 0;
> - } else {
> + } else if (uuid[0] != 0 && uuid[1] != 0) {

Maybe || instead of &&?
I'd think it's enough for one of them to be non-zero to be a valid UUID.

> /* Upper two DWs are always one's */
> uuid[2] = 0xffffffff;
> uuid[3] = 0xffffffff;
> --
> 2.17.0