]> www.infradead.org Git - users/sagi/libnvme.git/commitdiff
nbft: Fix nbft_ssns_flags endianness test
authorTomas Bzatek <tbzatek@redhat.com>
Thu, 13 Apr 2023 15:28:42 +0000 (17:28 +0200)
committerDaniel Wagner <wagi@monom.org>
Mon, 17 Apr 2023 07:25:49 +0000 (09:25 +0200)
Missing flags endianness conversion leading to ssns_ext_info
not being parsed on s390x and armhf.

src/nvme/nbft.c

index f91d21b52894c9d72d06c9931c7e4b68a0782814..940dd8e657dbadfe84d6be9c69b3409ddd2f5f9e 100644 (file)
@@ -169,7 +169,7 @@ static int read_ssns_exended_info(struct nbft_info *nbft,
               "invalid ID in SSNS extended info descriptor");
        verify(raw_ssns_ei->version == 1,
               "invalid version in SSNS extended info descriptor");
-       verify(le16_to_cpu(raw_ssns_ei->ssns_index) == le16_to_cpu(ssns->index),
+       verify(le16_to_cpu(raw_ssns_ei->ssns_index) == ssns->index,
               "SSNS index doesn't match extended info descriptor index");
 
        if (!(le32_to_cpu(raw_ssns_ei->flags) & NBFT_SSNS_EXT_INFO_VALID))
@@ -292,7 +292,7 @@ static int read_ssns(struct nbft_info *nbft,
                goto fail;
 
        /* SSNS extended info */
-       if (raw_ssns->flags & NBFT_SSNS_EXTENDED_INFO_IN_USE) {
+       if (le16_to_cpu(raw_ssns->flags) & NBFT_SSNS_EXTENDED_INFO_IN_USE) {
                struct nbft_ssns_ext_info *ssns_extended_info;
 
                if (!get_heap_obj(raw_ssns, ssns_extended_info_desc_obj, 0,