afs: Fix the afs_uuid struct to make the char-sized fields signed
authorDavid Howells <dhowells@redhat.com>
Thu, 2 Nov 2017 15:27:49 +0000 (15:27 +0000)
committerDavid Howells <dhowells@redhat.com>
Mon, 13 Nov 2017 15:38:18 +0000 (15:38 +0000)
In AFS's encoding of a UUID, the eight 'char' fields are all signed, so
represent them with __s8 rather than __u8.  This makes the compiler
sign-extend them correctly when XDR-encoding them.

Signed-off-by: David Howells <dhowells@redhat.com>
fs/afs/afs.h

index 0d837bd..2e2887a 100644 (file)
@@ -79,9 +79,9 @@ struct afs_uuid {
        __be32          time_low;                       /* low part of timestamp */
        __be16          time_mid;                       /* mid part of timestamp */
        __be16          time_hi_and_version;            /* high part of timestamp and version  */
-       __u8            clock_seq_hi_and_reserved;      /* clock seq hi and variant */
-       __u8            clock_seq_low;                  /* clock seq low */
-       __u8            node[6];                        /* spatially unique node ID (MAC addr) */
+       __s8            clock_seq_hi_and_reserved;      /* clock seq hi and variant */
+       __s8            clock_seq_low;                  /* clock seq low */
+       __s8            node[6];                        /* spatially unique node ID (MAC addr) */
 };
 
 /*