Re: [PATCH 1/2] afs: Move UUID struct to linux/uuid.h

From: Arnd Bergmann
Date: Thu Jan 12 2017 - 08:16:19 EST


On Thursday, January 12, 2017 11:56:34 AM CET David Howells wrote:
> Move the afs_uuid struct to linux/uuid.h and rename it to uuid_v1.
>
> Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
>

Looks good to me, but I wonder if this part:

r = call->request;
- r->time_low = ntohl(b[0]);
- r->time_mid = ntohl(b[1]);
- r->time_hi_and_version = ntohl(b[2]);
+ r->time_low = b[0];
+ r->time_mid = htons(ntohl(b[1]));
+ r->time_hi_and_version = htons(ntohl(b[2]));
r->clock_seq_hi_and_reserved = ntohl(b[3]);
r->clock_seq_low = ntohl(b[4]);

should be considered a bugfix and split out into a
separate patch. From what I understand about the mess in UUID
formats, the time fields can either be big-endian (as defined)
or little-endian (for all things Microsoft), and you are changing
the representation from CPU-specific to big-endian, which makes
it different for x86 and most ARM at least.

Arnd